精华内容
下载资源
问答
  • PCA中total variance的解释

    千次阅读 2013-01-16 11:50:00
    最近在看LMNN论文时, 发现作者做实验起始步骤中首先用PCA对高纬度sample features进行降维处理时, 提到如何...这里total variance是啥意思呢? google了一下, 以下这篇文章有很好解释: http://support.sas

                 最近在看LMNN的论文时, 发现作者做实验的起始步骤中首先用PCA对高纬度sample features进行降维处理时, 提到如何选取目标低纬度的值, 其提供的方法是: "account for 95% of its total variance." 


    这里的total variance是啥意思呢? google了一下, 以下这篇文章有很好的解释:

    http://support.sas.com/publishing/pubcat/chaps/55129.pdf


    其中有这样一段话:

    What is meant by “total variance” in the data set?  To understand the meaning of “total
    variance” as it is used in a principal component analysis, remember that the observed
    variables are standardized in the course of the analysis.  This means that each variable is
    transformed so that it has a mean of zero and a variance of one.  The “total variance” in the
    data set is simply the sum of the variances of these observed variables.  Because they have
    been standardized to have a variance of one, each observed variable contributes one unit of
    variance to the “total variance” in the data set.  Because of this, the total variance in a
    principal component analysis will always be equal to the number of observed variables
    being analyzed.  For example, if seven variables are being analyzed, the total variance will
    equal seven.  The components that are extracted in the analysis will partition this variance: 
    perhaps the first component will account for 3.2 units of total variance; perhaps the second
    component will account for 2.1 units.  The analysis continues in this way until all of the
    variance in the data set has been accounted for.


    其中指出: the total variance in a principal component analysis will always be equal to the number of observed  variables。 从后面提供的例子也可以知道, 其考虑的是特征根排序后的权值大小, 比如原始输入的feature space维度为20, 经过PCA后可以计算所有的20个特征根(降序排列), 然后找出前N个总和刚好大于所有20个特征根总和的95%, 此时的N就是所需要降维的目标值。

    展开全文
  • 偏差 Bias 偏差指是由所有采样得到大小为m训练数据集训练出所有模型输出平均值和真实模型输出之间偏差。...Bagging是Bootstrap Aggregate简称,意思就是再抽样,即每一次从原始数据中根据

    偏差 Bias

    偏差指的是由所有采样得到的大小为m的训练数据集训练出的所有模型的输出的平均值和真实模型输出之间的偏差。

    方差 Variance

    方差指的是由所有采样得到的大小为m的训练数据集训练出的所有模型的输出的方差。方差通常是由于模型的复杂度相对于训练样本数m过高导致的,比如一共有100个训练样本,而我们假设模型是阶数不大于200的多项式函数。由方差带来的误差通常体现在测试误差相对于训练误差的增量上。

    Bagging

    Bagging是Bootstrap Aggregate的简称,意思就是再抽样,即每一次从原始数据中根据均匀概率分布有放回的抽取和原始数据大小相同的样本集合,样本点可能出现重复,然后对每一次产生的训练集构造一个分类器,再对分类器进行组合。

    Bagging是减小方差的优化。假设有n个完全独立的模型,每个方差为σ2\sigma^2,也就是说Var(Xi)=σ2Var(X_i)=\sigma^2,那么
    Var(1ni=1nXi)=1n2Var(i=1nXi)=σ2nVar(\frac{1}{n}\sum_{i=1}^nX_i)=\frac{1}{n^2}Var(\sum_{i=1}^n{X_i})=\frac{\sigma^2}{n}
    但是Bagging的过程中有放回,假设单模型的相关系数是p,那么
    Var(1ni=1nXi)=pσ2+(1p)σ2nVar(\frac{1}{n}\sum_{i=1}^nX_i)=p\sigma^2+(1-p)\frac{\sigma^2}{n},随着n增大,最终趋向于pnσ2\frac{p}{n}\sigma^2,因此Bagging会是减小方差的优化

    P值

    P值(P value)就是当原假设为真时,比所得到的样本观察结果更极端的结果出现的概率。如果P值很小,说明原假设情况的发生的概率很小,而如果出现了,根据小概率原理,我们就有理由拒绝原假设,P值越小,我们拒绝原假设的理由越充分。总之,P值越小,表明结果越显著。但是检验的结果究竟是“显著的”、“中度显著的”还是“高度显著的”需要我们自己根据P值的大小和实际问题来解决。

    展开全文
  • 中间有夹杂原文与中文,是想说这些专有名词最好也要熟悉, 毕竟论文都还是以英文为主, 有时候英语确实能更直观感受到意思 正文 我们要如何得知一个模型跑出来效果好不好?就取决于模型预测能力以及在...

    Bias偏差 and Variance方差

    以下内容依照原文有修改一些, 加上一些自己的理解让初学更好去记忆
    中间有夹杂原文与中文,是想说这些专有的名词最好也要熟悉, 毕竟论文都还是以英文为主的, 有时候英语确实能更直观的感受到意思

    正文

    我们要如何得知一个模型的跑出来的效果好不好?就取决于模型的预测能力以及在测试集上的泛化能力

    假如今天我们要预测一下中国人喜欢复联4的人多还是喜欢玩具总动员4的人多, 我们去了上海大街上随机访问了100位, 其中44人表示喜欢玩具总动员4, 40位表示更喜欢复联4, 而有16位表示没意见, 基于这个访问, 我们就能断定全中国喜欢玩具总动员的人更多吗?

    显然是不行 ! 如果我们今天去到北京或者广州其他地方, 答案都有可能不同,我们能观察到这次预测的"“不一致性”, 就说明了前次的访问没办法代表我们的最佳预测

    这也很像多个平行宇宙, 在另一个时空的宇宙中, 每个人虽然都存在但想法可能不同, 甚至命运也不同

    那么重点来了
    一个模型能够在最终测试上可以将错误率降到最低, 那说明这个模型是work的, 我们就要面对这个error好好的考究一番, 究竟error是什么? 只是单纯的差值就会影响模型效率吗?

    下面我们对error要有更深的理解才可以
    了解敌人才能战胜

    Error = sum of all(实际-预测)

    我们把每一次预测错误值总和起来, 公式如

    L(x,y)=k=1N(yf(x)) L(x, y )=\sum_{k=1}^{N}(y-f(x))

    Error = Reducible Error + Irreducible Error

    用公式表达

    Err(x)=(f(x)1ki=1kf(xi))2+σε2k+σε2Err(x) = \left(f(x) -\frac{1}{k}\sum_{i=1}^{k}f(x_i)\right)^2 + \frac{\sigma_{\varepsilon}^{2}}{k} + \sigma_{\varepsilon}^{2}

    Err(x) = Bias^2 + Variance + Irreducible error

    也就是说Error主要是由两大块差值所组成的
    这里的Irreducible error是无法降低的无论你应用什么样的演算法, 通常是由unknown的变量所造成, 我觉得这种error可以理解为无论一个艺人明星, 做的在棒拍了在多部大片, 还是会有人不认同不喜欢, 你没有办法让全世界的人都喜欢你

    所以剩下 Reducible Error 是我们要面对的

    Reducible error 是由由bias + Variance所组成

    这两个因素就是造成我们模型 underfitting 以及 overfitting 的主要原因

    如果我们能把bias 以及 Variance都降到很低, 那对模型来说肯定是好的

    Bias(偏差)

    Bias 就是你平均预测值以及实际值的差异, 如果平均预测值与实际值相差甚远, 就表示Bias非常高, Bias过高的时候导致演算法会忽略掉输入与输出变量之间的关联性, 当你的model有很高的bias,就说明你的模型太过简单,无法准确的获取input的信息造成 underfitting 问题, 所以无论在训练集或者在测试集都没有很好的表现(high error, low acc)

    PS. 我们能理解bias为平均误差, 而不只是单一次预测的error

    Variance(方差)

    Variance也是一种误差,而Variance的值大小取决于你的样本数大小, 也就是公式中的k值

    σε2k\frac{\sigma_{\varepsilon}^{2}}{k}

    是发生在每一次不同data训练时产生的, 而Variance过大的时候也就是我们熟知的过拟合(overfitting)问题

    在这里插入图片描述

    从图表中可以清楚的看到

    1. high bias :线段简单, 根本无法拟合这些预测数据点

    2. Just fit :可以拟合大部分的预测数据点

    3. High Varience:几乎拟合了所有的预测数据点,让model本身变的最复杂,过拟合就是这个意思,在这个数据集上表现的很好, 但只要一碰上 新面孔就表现的却场

    就好比平时熟悉的异性对象打打闹闹的,但 一看见没见过的顶级美女走来就紧张的语无伦次

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    可以清楚看到左上角 Low Varience and Low Bias是我们最希望模型达到的效果,数据点正中红心

    其余三个点

    • High Bias Low Variance: Models有着还不错的相容性(点聚合), 但是预测精度不佳

    • High Bias High Variance : Model 预测精度不好又没有很好的一致性(inconsistent)(点分散)

    • Low Bias High variance:Models 有着不太令人满意的预测精度也没有很好的一致性(点分散)

    我们可以得出一些结论

    • 对于Variance来说, 简单的model, 较不容易受到data的影响:举个极端例子, 将model定义为 f(x) = c, 则不管输入什么样的data, output就是c, 尽管找再多的dataset训练的结果还是一样c, 此时Variance就是0 , 所以相反的 model的复杂程度提高了的话, 输出的就不只是c, 也会随着input data的不同, 输出也会各式各样, 也就是上图看见的点非常的分散
    • 对于Bias来说, 简单的model,bias偏大, 复杂的model, bias偏小:我们可以这样理解, 简单的model所产生的function space范围比较小,在没有包含target(红心)的情况下, 怎么train也不会让bias变小,而 复杂的model产生的范围更大, function space也许有包含target, 但training data不够多, 所以每次找出来的点都不同, 就会分散 如下图:

    在这里插入图片描述

    • 总结上述两个点,
      • 当model简单的时候, Variance比较小, Bias偏大,就是underfitting
      • 当model复杂的时候, Variance比较大, Bias偏小, 就是overfitting
      • 必须找到一个平衡点兼顾Variance以及Bias

    所以我们如何从结果去判断我们当前的训练是否有过高的bias 或者是 Variance呢?

    High bias:

    • High training error

    • Validation error or test error is same as training error

      就是无论在训练及测试上都表现的奇差

    High Variance:

    • low training error

    • high validation and test error

      白话一些就是你在训练集上跑的很好, 但是面对从未跑过的测试集时,错误率竟然高的多

    经过分析确认你的模型问题出在哪之后, 该怎么做呢? 以下几个思路可以走走

    High bias solution:

    • 增加更多输入的特征(就是改你的网络, 说明你的model根本没办法抓到特征啊!!)
    • 利用建构多项式特征来增加feature的复杂度(sklearn包可以了解)
    • 减少正则化(Regularization)

    High Variance solution:说白点就是为了解决过拟合(overfitting)问题

    • 增加训练集样本数, 但我知道听起来简单, 实际上很难,那么数据增强也是可以的啊
    • 减少输入的特征 (Dropout, relu…)
    • 增加正则化(Regularization)

    总结:

    这是一个鱼与熊掌不得兼得的故事, 模型没有办法在同一个时间段拥有两种复杂程度的(例如同时有两种参数量的model可以应付不同状况,这是目前做不到的),我们能做的就是在bias 以及 Variance之间找到一个绝佳的平衡点, 让模型训练过程不会出现underfitting跟overfitting的问题






    参考资料:

    http://scott.fortmann-roe.com/docs/BiasVariance.html

    https://towardsdatascience.com/understanding-the-bias-variance-tradeoff-165e6942b229

    https://medium.com/datadriveninvestor/bias-and-variance-in-machine-learning-51fdd38d1f86

    https://stats.stackexchange.com/questions/135960/difference-between-bias-and-error

    台大李宏毅油管视频

    展开全文
  • Variance Shadow Mapping(译)

    千次阅读 2011-09-05 20:19:30
    注:翻译只求意思准确,省略了一些不太相关内容,如有错误烦请指正,原文:http://developer.download.nvidia.com/whitepapers/2007/SDK10/VarianceShadowMapping.pdf
     
    

    注:翻译只求意思准确,省略了一些不太相关的内容,如有错误烦请指正,原文:http://developer.download.nvidia.com/whitepapers/2007/SDK10/VarianceShadowMapping.pdf

                                         Variance Shadow Mapping

                                               Author:Kevin Myers kmyers@nvidia.com

                                              译:清风 http://www.cppblog.com/zzxhang/

     

    Motivation:

         在Dx10级别的硬件下VSM能被完美支持,如果不能对fp32纹理过滤,算法就只能在fp16精度下完成,这是不够的,会让计算在数值上变得不稳定,此外当渲染阴影图时还可以打开multisample anti-aliasing(MSAA)改善生成的阴影图质量

     

    How Does It Work?

        Shadow maps首先在光源视角上把场景的深度信息渲染到一张纹理中去。完成后这张纹理就包含了所有最靠近光源的像素片段。之后渲染场景时我们就可以查询这张纹理用于判断当前进行着色的像素片段是不是被阴影图上的像素片段遮挡了。通过Percentage-closer filtering(PCF)进行一定数量的纹理查询可以得到软阴影。

        PFC的问题在于没有一个好的方法能对深度值进行预采样,如果你武断地对深度图进行一些特定的采样方法,如anisotropic filtering或者mip-mapping,那么你得到的深度值就不是一个正确的遮挡值,而是好几个可能的遮挡值的平均值,用这个值来进行判断就会造成图像失真。

     

    Summary of the Algorithm:

        你可以在由William Donnelly 和 Andrew Lauritzen完成的最原始的VSM论文http://www.punkuser.net/vsm/中看到细致的算法理论阐述。

        简单地说,VSM的作者在研究中进行PCF得到的是在PCF采样区域中深度值大于我们当前渲染像素深度的像素的百分比的一个边界值,换句话说我们在拿一个单独的深度值和采样区域的整体分布进行比较,我们想知道的是在这个区域中有多少百分比的深度值是大于这个单独的深度值的,我们只关心采样区域深度分布的百分率而不是单独的采样值,通过切比雪夫不等式,我们能用平均值(或者说期望E(x))和分布的方差求出这个百分比的边界值。


        

       平均值是很容易通过深度图得到的,我们可以通过mip-mapping或者separable blur在shader中过滤得到,方差也一样很简单,通过平均值E(x)和平方的平均值E(x2)就能算出来:

    就象我们之前说的那样,平均值是很容易得到的,而平方的平均值我们可以只需要把深度图的格式改为双通道纹理并把深度的平均值渲染进第二个通道。在照亮场景前我们仍然可以随意进行一些过滤,之后简单的一次纹理查询就可以计算出平均值和方差。

    VSM Shader:

    这是在DrawScene.fx的shader代码:

    float2 VSM_FILTER( float2 moments, float fragDepth ) 

                      

                              float2 lit = (float2)0.0f; 

                              float E_x2 = moments.y; 

                              float Ex_2 = moments.x * moments.x; 

                              float variance = E_x2 - Ex_2; 

                              float mD = moments.x - fragDepth; 

                              float mD_2 = mD * mD; 

                              float p = variance / (variance + mD_2); 

                              lit.x = max( p, fragDepth <= moments.x ); 

     

                              … 

                              return lit; //lit.x == VSM calculation 

                      }


        首先注意最后的max语句,如果当前片段的深度值小于或者等于平均深度值,即t<=E(x),那么方程1已经不适用了,图2展示了如果我们不做t >= E(x)的限制从切比雪夫方程中得到的结果,注意在场景中模糊区域是怎样从被照亮区域到阴影区域的,如果你对此有困惑,先想想导致方差改变的因素是什么,分布区域包含值域的范围越广,方差的值就越大,深度值范围的剧烈变化(如轮廓区域)会使得方差的值变得比较大,在图3中你能更清楚地看到这一点,轮廓区域是方差迅速增加的地方,回头看我们的方程这些区域会使得我们方程的结果趋向于1,在轮廓的另一边方差会迅速减少,此时影响方程值继续增大的因素就是另一个变量了(t – E(x)),在图4中这个变量的值用绿色来形象化显示,注意跟阴影区域相反的颜色变化是怎么发生的,当靠近轮廓边缘时采样的深度值越来越接近像素片段深度值,(t – E(x))迅速减少。

      
           
             
          

    Performance:

       当加上separable blur后VSM的效果真的很炫,这是用1024x1024的VSM在GeForce 8800 GTX上用1024 x 768的分辨率跑例子程序的结果:

       

    Integration:

       把已经在用shadow map的程序改成用VSM还是比较简单的,首先深度图必须变为R32G32F格式的纹理用来存深度值和深度值的平方,当写深度进纹理时我们不必使用投影后的深度值,直接把像素点和光源的线性距离作为深度值更好。最后在shader中必须把原先的光照算法改成使用VSM中的数学方法计算阴影。

       当深度复杂性很高的时候VSM存在光照溢出(light bleeding)的错误,最初的VSM论文中证明了当遮挡体和接收体都比较平坦的时候VSM算法能计算得很正确,但如果情况不是那样,剧烈的方差变化可能会导致方程返回一个错误的结果,照亮了不该照亮的地方。

       精度也是一个需要控制的问题,就算使用fp32的精度仍然可能不够因为我们要存贮深度的平方值,在例子程序你可以通过改变光源距离(滑块控制)看到这个问题,当光源距离增加时遮挡体的深度值也越来越大,然后我们深度值的平方很快就遇到了精度问题。通过改变深度值的缩放值能一定程度上减轻这个问题,实际上在大多数场景中都可以通过把光源视锥体的大小限制在一定范围内控制这个问题。

        由于在VSM中处理的是Z值的分布而不是一个简单的深度测试,因此VSM的一个改进是不再需要z-offset来避免Z值过于靠近而产生的Z-fighting问题(译者:但是仍然需要一个varance-offset…)

     



    译者: 本人把dx sample中的shadow map改成了使用VSM,1024 X 1024的shadow map,3 x 3 PCF,下面是VSM版和原版的效果图对比(为了突出阴影做了些改动):

    dx sample:


    vsm:

    展开全文
  • 统计学cv值是什么意思_什么是CV值

    千次阅读 2021-01-17 15:51:28
    【提问】 老师您好,我知道什么是CV值,第二是标准曲线,计算K值。最好举例谢谢。【回答】学员cdc8341,您好!...常用是标准差系数,用CV(Coefficient of Variance)表示。CV(Coefficient of Variance):标准差与...
  • "Variance reduction for policy gradient with action-dependent factorized baselines." arXiv preprint arXiv:1803.07246 (2018). (ICLR 2018)特色Baseline 是 policy gradient 类方法一个重要减小方...
  • Error = Bias + VarianceError反映的是整个模型的准确度,Bias反映的...BIAS是偏离率的意思,即信号检测估计理论中常用的一种参数。Variance是方差,方差是各个数据与其算术平均数的离差平方和的平均数。Generalizatio
  • 初次看到这两个单词 Covariance, Contravariance也许很茫然, 先解释一下这两个单词的由来, variance是"型变"的意思, 表示两个源类型的关系是如何影响它们派生出来的复杂类型的关系. con + variance 表示"共同变化", ...
  • Bagging主要在优化variance(即模型鲁棒性) ...bagging:Boostrap Aggregating 意思是重采样 然后在每个样本上训练出来模型取平均值 Boosting:是迭代算法,每一次迭代都根据上一次迭代预测结果对样
  • 偏差和方差理解

    千次阅读 2019-08-08 17:40:49
    首先引出来一个机器学习试题: Adaboost可以降低方差 ...Bagging是Bootstrap Aggregating 简称,意思就是再取样 (Bootstrap) 然后在每个样本上训练出来模型取平均,所以是降低模型的variance. Bagging 比...
  • EIGRP几个问题

    2013-12-24 07:51:42
    就是eigrp几条命令解释.智能非等价负载均衡,路由单播更新,eigrp带宽...举个例子E-B-A之间metric:30E-C-A之间metric:20E-D-A之间metric:45基本eigrp选路是E-C-A具有最小metric值路由,使用variance...
  • 方差按照字面的意思是先平方再求差,也就是x2i−x2xi2−x2x_{i}^{2}-x^{2} 而(xi−x)2/(n−1)(xi−x)2/(n−1)(x_{i}-x)^{2}/(n-1)应该叫差方。 可能有人有这样的理解,但是我的理解是从方差的作用去理解。 方:...
  • 这句话表达另一层意思是,模型评估指标方差(variance)较大,即可认为模型过拟合。另外,无论监督学习还是非监督学习,均存在过拟合问题。 1.2 如何判断是否过拟合  一般来讲,判断...
  • 意思是当anchor_sizes为32,aspect_ratios=0.5时候,N=32</em>32*0.5=512个吗? 这些锚点xmin,xmax,ymin,ymax是根据什么生成呢?而且这512个是按照...
  • 1、等价负载均衡 当到达目的地有多条路径时...只有eigrp可以做非等价负载均衡,意思是,到达同一目的地有多条路径,而它们度量值不一样时,可以做非等价负载均衡,可以通过设置variance值来进行不等价负载均衡,即...
  • 我默认你知道ANOVA是什么意思,所以我就不解释了。关于ANOVA扫盲,我推荐看https://en.wikipedia.org/wiki/Analysis_of_variance​en.wikipedia.org直接入题,我认为,ANOVA就是线性回归分析下...
  • 之后,我们通过画出学习曲线来观察训练集误差和交叉验证集误差,确定是否有高bias问题,或者高variance问题,或 者什么别问题。这样,我们就可以决定是否需要获取更多训练样本,或者加入更多特征,或者其他...
  • 理解 Bias-Variance tradeoff(先说一下tradeoff的意思:就是折中的意思,这里是说)如果你上过机器学习或者统计学课程,这是一个非常重要的概念。当我们允许一个模型非常复杂的时候(比如,增加每一棵树的深度d...
  • Stationary Series 平稳序列平稳序列有三个基本标准:1、序列均值(mean)不应该是时间函数(意思是不应该随时间变化),而应该是一个常数。下面左图满足这个条件,而右图均值受时间变化影响。2、序列方差...
  • 零均值单位方差

    2014-12-05 10:30:00
    这几天在看文章时候,看到这么一段话: “First, we normalize thegrayscale intensity in the eye region for each of...意思就是第一步对眼睛区域进行零均值单位方差。第一次知道还有这玩意。。 经过查阅mat...
  • Bagging是Bootstrap Aggregating 简称,意思就是再取样 (Bootstrap) 然后在每个样本上训练出来模型取平均,所以是降低模型的variance. Bagging 比如Random Forest 这种先天并行算法都有这个效果。Boosting 则...
  • 1、序列均值(mean)不应该是时间函数(意思是不应该随时间变化),而应该是一个常数。下面左图满足这个条件,而右图均值受时间变化影响。 2、序列方差(variance)不应该是时间函数。这种特性称为...
  • 3.error的意思与bias接近。 4.std dev(standard Deviation):标准差与标准偏差 标准差公式: 公式(1) 标准偏差公式: 公式(2) 标准偏差是从样本估计中来的(卡方分布),标准偏差是标准差的无偏估计。 在实际...
  • 第四周--Googlenet-v2

    2020-07-10 11:10:07
    1:文字回答:Batch Normalization 层中的加减乘除是什么意思? 答:减均值除以标准差乘以权重...Standardization:首先对m个x进行 Standardization,得到 zero mean unit variance的分布x。scale and shift:然后再对
  • 欠拟合 under fitting 欠拟合(under fitting),这个问题另一个术语叫做 ...过度拟合(over fitting),另一个描述该问题术语是 高方差(High variance)。 过拟合问题经常会在模型过度复杂或训练数据较少...
  • 作用:过滤方差低的特征值 1.定义及API 方差越小,特征值越...threshold=10的意思是当方差小于10被1剔除。说明相关性比较高 from sklearn.feature_selection import VarianceThreshold import pandas as pd def v...
  • C#协变和抗变

    千次阅读 2012-02-16 21:26:52
    比如,把方法赋值给委托,意思是,用这个方法作为委托构造函数参数。 MSDN里面有句话是: .NET Framework 3.5 and Visual Studio 2008 introduced variance support for matching method signatures with ...

空空如也

空空如也

1 2
收藏数 35
精华内容 14
关键字:

variance的意思