首先理解一下什么是方差和偏差:类比到打靶,低方差就是每次打靶的点都比较集中在某部分,低偏差就是每次打靶都离目标较远。方差就是描述的离散程度,偏差描述的命中程度。
模型的误差:偏差+方差+不可避免的误差(数据本身的噪音)
偏差+方差和算法模型关系密切。导致偏差:如非线性数据使用线性回归,即欠拟合。导致方差:数据的扰动对模型影响很大,即模型学习过多的噪音数据。
kNN 天生高方差,非参数学习通常都是高方差的算法,因为不对数据假设。
线性回归高偏差算法,参数学习通常都是高偏差算法,对数据具有极强的假设。
大多数ML都是有相应的参数,调整相应的方差 和偏差。
kNN中的k,线性回归使用多项式回归(阶数)。
偏差和方差是矛盾的,互相制约的,降低其中一个另一个提高,所以要达到一个平衡,以找到较好的模型。
算法上主要来自方差,解决高方差手段:
1、降低模型复杂度
2、减少数据维度,降噪
3、增加样本数
4、使用验证集
5、模型正则化
模型正则化(Regularization)
以上是多项式过拟合的情况,途中曲线非常陡峭,造成这种情况的原因是参数(θ)太大,我们可以看一下系数:
模型正则化:限制参数的大小。来解决方差问题 ,怎么来限制呢