1. 过拟合 :过多地学习数据,千方百计想拟合训练数据。
(1)回归任务中的过拟合:
(2)分类任务中的过拟合
2. 解决过拟合的方法:可通过减少特征数量、增加数据集、实施正则化、模型训练早停等。
3. 回归中的正则化:以L2正则化为例
右下图中的蓝线明显过拟合,当在损失函数中添加1000*(θ3**2)+ 1000*(θ4**2)时,由于要最小化损失函数,这会使θ3和
θ4趋近于0,故拟合出来的模型复杂度会降低。(θ3*x**3 + θ4*x**4)= 0。
正则化的线性回归模型损失函数如下,目标是最小化J。模型越复杂,即对训练集的拟合越充分,中括号中的第一个项(预测值和真实值差的平方和)就越小,但是第二项正则化项就越大,这在一定程度上解释了添加正则化项能降低模型复杂度,减少了过拟合。
4. 分类中的正则化:以逻辑回归L2正则化为例
同理,模型越复杂,即分类的边界越复杂,损失函数中括号中的第一个项(原逻辑回归的损失函数)就越小,但是第二项正则化项就越大,这在一定程度上解释了添加正则化项能降低模型复杂度,减少了过拟合。
5. L2正则化:以岭回归(ridge regression为例)
(1)直接求θ的表达式
不考虑1/2m, 写成矩阵形式有
J(θ) =(y-Xθ)T(y-Xθ) + λθTθ,
J对θ求导并令其等于0,有
-Xθ(y-Xθ) + 故可得 θ 的表达式为
θ = (XTX + <span font-family:"微软雅黑",sans-serif;"="">λE)-1XTy
(2) 梯度下降法求解θ
θ = θ - alpha*d(J)/d(θ) #在使得损失函数减小的梯度方向改变θ值
6. L1和L2正则化的区别
正则化其实和“带约束的目标函数”是等价的,二者可以互相转换。关于这一点,我试着给出公式进行解释:
针对上图(左图),可以建立数学模型如下:
通过拉格朗日乘子法,可以变为如下形式,其中-λm是一个常值,与优化目标无关,可忽略,这就等价于
L2正则化后的损失函数。
本来解空间是全部区域,但通过正则化添加了一些约束,使得解空间变小了,甚至在个别正则化方式下,解变得稀疏了。这一点不得不提到一个图,相信我们都经常看到这个图,但貌似还没有一个特别清晰的解释,这里我尝试解释一下,图如下:
这里的w1,w2都是模型的参数,要优化的目标参数,那个红色边框包含的区域,其实就是解空间,正如上面所说,这个时候,解空间“缩小了”,你只能在这个缩小了的空间中,寻找使得目标函数最小的w1,w2。左边图的解空间是圆的,是由于采用了L2范数正则化项的缘故,右边的是个四边形,是由于采用了L1范数作为正则化项的缘故,大家可以在纸上画画,L2构成的区域一定是个圆,L1构成的区域一定是个四边形。
再看看那蓝色的圆圈,再次提醒大家,这个坐标轴和特征(数据)没关系,它完全是参数的坐标系,每一个圆圈上,可以取无数个w1,w2,这些w1,w2有个共同的特点,用它们计算的目标函数值是相等的!那个蓝色的圆心,就是实际最优参数,但是由于我们对解空间做了限制,所以最优解只能在“缩小的”解空间中产生。
蓝色的圈圈一圈又一圈,代表着参数w1,w2在不停的变化,并且是在解空间中进行变化(这点注意,图上面没有画出来,估计画出来就不好看了),直到脱离了解空间,也就得到了图上面的那个w*,这便是目标函数的最优参数。
对比一下左右两幅图的w*,我们明显可以发现,右图的w*的w1分量是0,有没有感受到一丝丝凉意?稀疏解诞生了!是的,这就是我们想要的稀疏解,我们想要的简单模型。L1比L2正则化更容易产生稀疏矩阵。
本文参考:
参考吴恩达老师的机器学习教程
文章http://www.360doc.com/content/18/0531/19/56231676_758584858.shtml