[机器学习]overfitting 和regularization

overfitting,见下图。就是说,你的model太好了,好到只对training data有用,而test data可能并不待见。
[机器学习]overfitting 和regularization_第1张图片

原因就是如图所说,太多feature,可能这些feature是冗余的呢。

怎么解决这个问题i?
首先想到的可能是 减少feature!但这个得人工来整。

其次,换一个角度看问题(世界可能大不一样)。如果像上图那个overfitting的例子一样,theta3和theta4非常小,甚至为0,也可以一定程度上缓解overfitting。
如下图,我们通过1000这个系数来使theta3和theta4在min CostFunction的时候变得非常小。最后得到的曲线就是粉色的那条
[机器学习]overfitting 和regularization_第2张图片

于是,我们可爱的前辈们证明了下面的式子(证明是个头疼的问题,可以参考台湾大学 林轩田教授的 《机器学习基石》课程)
[机器学习]overfitting 和regularization_第3张图片
[机器学习]overfitting 和regularization_第4张图片

这里引入一个参数 lambda。lambda的选择至关重要,一个好的lambda可以避免overfitting。同时,如果lambda特别大,theta就会整体取值为0,导致underfit

J(theta)加入 regularization项之后,其偏微分也要跟着改变,直接影响GD算法计算theta的迭代式

这里注意一点:我们的lambda是不作用在 theta0上的,因为x0=1是我们人为加上的
[机器学习]overfitting 和regularization_第5张图片

在逻辑回归中,也有类似的效果
[机器学习]overfitting 和regularization_第6张图片

[机器学习]overfitting 和regularization_第7张图片

你可能感兴趣的:(机器学习)