小白的机器学习学习笔记(九)----欠拟合,过拟合,正则化

一、欠拟合和过拟合

什么是欠拟合呢?上左图是分类问题的欠拟合,上右图是回归问题的欠拟合,可以看出欠拟合就是拟合的效果欠佳,高偏差,训练集的很多样本点压根就不在拟合的直线或曲线上,或没有很好的被分类。造成欠拟合的很大的可能性是先入为主的臆断假设函数或决策边界的类型导致。如何解决欠拟合呢?可以通过增加多项式特征或其他特征项来完善假设函数或决策边界以达到更好的拟合效果。

什么是过拟合呢?上左图是分类问题的过拟合,上右图是回归问题的过拟合,可以看出过拟合就是拟合效果过于好,高方差,训练集给的样本所有点都被假设函数完美而又千方百计的拟合,或者被决策边界十分有意的分开,这样的结果会造成测试集的样本输入得不到好的预测值。造成过拟合很大的可能性是特征太多,所以可以通过删减部分特征的方法来缓解过拟合,但这样会丧失部分信息。正则化就可以在不删减特征量的前提下解决过拟合。

二、正则化

举个例子来说,回归问题拟合时,如果h(x)=k1x1+k2x2^2+k3x3^3+k4x4^4为过拟合,且h(x)=k1x1+k2x2^2为最佳拟合,我们可以通过改变优化函数或优化目标解决这一过拟合问题:goal=min(J(k)+1000k3+1000k4),为实现目标,k3与k4应该尽量趋于0,与最佳拟合假设函数近似相同,即在不删减特征量的基础上通过改变参数的影响程度来实现解决过拟合。

但在实际问题中,我们却无法准确确定哪些参数要作处理,所以我们将目标改为:

minJ(k),  J(k)=1/(2*m)*[\sum (h(x^i)-y^i+\lambda \sum ki^2](线性回归)

                   J(k)=-[1/m*\sum y^ilogh(x^i)+(1-y^i)log(1-h(x^i)))]+\lambda /2*m\sum Ki^2(Logistic回归)

\lambda作为正则化参数,要负责平衡两个目标:既要更好拟合样本点又要保证参数尽量小,从而使函数模型尽量简单,以避免过拟合

\lambda过大,所有参数都会趋于0,这样就会变成欠拟合,是一次失败的拟合,偏差过高。

下面我们分别介绍线性回归与Logistic回归的正则化。

1、线性回归的正则化

梯度下降公式的改变:

K0=K0-\alpha *1/m*\sum (h(x^i)-y^i)x0^i

Kj=Kj-\alpha *[1/m*\sum (h(x^i)-y^i)xj^i+\lambda /m*Kj]

即:Kj=Kj(1-\alpha *\lambda /m)-\alpha *1/m*\sum (h(x^i)-y^i)xj^i

正规方程公式的改变:

K=(X^TX+\lambda*A )^-^1X^Ty    其中A是除第一个对角元是0的单位矩阵

2、Logistic回归的正则化

梯度下降公式的改变:

除此处h(x)意义与线性回归不同外,公式改变相同

                                                                                                                                               BY   ZJQ

猜你喜欢

转载自blog.csdn.net/qq_41641805/article/details/81604168