浏览量: 72 次浏览

Where the erroe come from

2019年7月13日 0 作者 Nie Hen

Bias 和 Variance

有两个决定因素:Bias 和 Variance
bias :度量了某种学习算法的平均估计结果所能逼近学习目标的程度;(一个高的偏差意味着一个坏的匹配)
variance :则度量了在面对同样规模的不同训练集时分散程度。(一个高的方差意味着一个弱的匹配,数据比较分散)

首先 Error = Bias + Variance
Error反映的是整个模型的准确度,Bias反映的是模型在样本上的输出与真实值之间的误差,即模型本身的精准度,Variance反映的是模型每一次输出结果与模型输出期望(平均值)之间的误差,即模型的稳定性,数据是否集中。
方差是多个模型间的比较,而非对一个模型而言的;偏差可以是单个数据集中的,也可以是多个数据集中的

bias variance

模型简单时 Variance较小,相反模型复杂时,Variance较大散布较开

different model-- Variance =525*350

模型简单时,Bias不太准确比较小,模型复杂的时候,Bias较为准确 比较大

different model make in  Bias =525*400
错误来源于variance很大就是overfitting 过拟合
错误来源于Bias很大就是 undfering 欠拟合

enter description here =525*400

解决方法

Cross-Validation(交叉验证)
一种方法叫做K-fold Cross Validation (K折交叉验证), K折交叉验证,初始采样分割成K个子样本,一个单独的子样本被保留作为验证模型的数据,其他K-1个样本用来训练。交叉验证重复K次,每个子样本验证一次,平均K次的结果或者使用其它结合方式,最终得到一个单一估测。(cross-validation是k为2的情况)
当K值大的时候,我们会有更少的Bias(偏差), 更多的Variance。
当K值小的时候,我们会有更多的Bias(偏差), 更少的Variance。

K-fold cross validation =525*350
High bias解决方案:
1)与领域专家交流来获取更多信息,据此增加更多熟人特征
2)以非线性方式对现有特征进行组合
3)使用更复杂模型,比如神经网络中的层等
High Variance解决方案:
如果问题是由于我们过度高估模型复杂度而导致的high-Variance,那么可以把一些影响小的特征去掉来降低模型复杂度。此时也无需收集更多数据。

参考