吴恩达机器学习——第8章 正则化

1、目的

1.1 过拟合的定义

过拟合:指的是模型对训练集数据过度匹配,而对于新数据不能正确预测的情况。

1.2 正则化

正则化是用来解决模型过拟合问题的一种思路。

基本思路是在保留所有特征的基础上,减小参数的大小(参数指的是 θ θ θ)。这样每个特征对于预测结果的权重都会减少。

原因是过拟合是由于多项式对曲线影响过大造成的(多项式指的就是 x 3 , x 4 x^3,x^4 x3,x4这种,通过减小 θ \theta θ就能降低这些多项式对结果的影响。

与之相对应的另一种优化思路是:把不能帮助我们正确预测结果的特征去掉,剩下的特征都是对预测结果起到关键作用的特征。可以手工去除,也可以通过模型帮我们去除。该方式不是本文的重点。

2、原理

回忆一下线性回归的代价函数:
J ( θ ) = 1 2 m ∑ i = 1 m ( h θ ( x i ) − y i ) 2 J(θ)=\frac{1}{2m}\sum_{i=1}^m(h_θ(x^{i})-y^{i})^2 J(θ)=2m1i=1m(hθ(xi)yi)2

正则化的目标是保证 J ( θ ) J(θ) J(θ)最小的情况下 θ θ θ最小,为了使 θ θ θ变小,我们把代价函数变成如下的形式:
J ( θ ) = m i n θ 1 2 m [ ∑ i = 1 m ( h θ ( x i ) − y i ) 2 + 10000 θ 1 2 + 10000 θ 2 2 + 10000 θ 3 2 + . . . . . . ] J(θ)=min_θ\frac{1}{2m}\left[\sum_{i=1}^m(h_θ(x^{i})-y^{i})^2+10000θ_1^2+10000θ_2^2+10000θ_3^2+ ......\right] J(θ)=minθ2m1[i=1m(hθ(xi)yi)2+10000θ12+10000θ22+10000θ32+......]
简写为:
J ( θ ) = m i n θ 1 2 m [ ∑ i = 1 m ( h θ ( x i ) − y i ) 2 + λ ∑ j = 1 n θ j 2 ] J(θ)=min_θ\frac{1}{2m}\left[\sum_{i=1}^m(h_θ(x^{i})-y^{i})^2+\lambda\sum_{j=1}^nθ_j^2\right] J(θ)=minθ2m1[i=1m(hθ(xi)yi)2+λj=1nθj2]

可以看到,如果想 J ( θ ) J(θ) J(θ)最小的情况下θ最小,则 λ \lambda λ就要变大;

λ \lambda λ非常大的情况下,θ就只能是0了,则模型就成了一条直线了。

3、应用到线性回归

3.1 梯度下降

线性回归的梯度下降公式为:
repeat{
θ 0 = θ 0 − α 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) θ_0=θ_0-α\frac{1}{m}\sum_{i=1}^m(h_θ(x^{(i)})-y^{(i)}) θ0=θ0αm1i=1m(hθ(x(i))y(i))
θ j = θ j − α 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) ∗ x j ( i ) θ_j=θ_j-α\frac{1}{m}\sum_{i=1}^m(h_θ(x^{(i)})-y^{(i)})*x^{(i)}_j θj=θjαm1i=1m(hθ(x(i))y(i))xj(i)
}

根据第2章的介绍,特征正则化后梯度下降的公式变成了:
repeat{
θ 0 = θ 0 − α 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) θ_0=θ_0-α\frac{1}{m}\sum_{i=1}^m(h_θ(x^{(i)})-y^{(i)}) θ0=θ0αm1i=1m(hθ(x(i))y(i))
θ j = θ j − [ α 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) ∗ x j ( i ) + λ m θ j ] θ_j=θ_j-\left[α\frac{1}{m}\sum_{i=1}^m(h_θ(x^{(i)})-y^{(i)})*x^{(i)}_j+\frac{\lambda}{m}θ_j\right] θj=θj[αm1i=1m(hθ(x(i))y(i))xj(i)+mλθj]
}
等价于:
repeat{
θ 0 = θ 0 − α 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) θ_0=θ_0-α\frac{1}{m}\sum_{i=1}^m(h_θ(x^{(i)})-y^{(i)}) θ0=θ0αm1i=1m(hθ(x(i))y(i))
θ j = ( 1 − λ m ) θ j − α 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) ∗ x j ( i ) θ_j=(1-\frac{\lambda}{m})θ_j-α\frac{1}{m}\sum_{i=1}^m(h_θ(x^{(i)})-y^{(i)})*x^{(i)}_j θj=(1mλ)θjαm1i=1m(hθ(x(i))y(i))xj(i)
}

由于 λ m \frac{\lambda}{m} mλ是个正数,则 1 − λ m < 1 1-\frac{\lambda}{m}<1 1mλ<1,所以调整后的 θ j θ_j θj比之前要小。这样就能得到比之前小的参数 θ θ θ.

3.2 正规方程

正规方程的表达式为:

θ = ( X T ∗ X ) − 1 ∗ X T ∗ y θ=(X^T*X)^{-1}*X^T*y θ=(XTX)1XTy

正则化后变成了:

θ = ( X T ∗ X + [ 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 ] ) − 1 ∗ X T ∗ y θ=(X^T*X + \left[\begin{matrix}0&0&0&0&0\\0&1&0&0&0\\0&0&1&0&0\\0&0&0&1&0\\0&0&0&0&1\end{matrix}\right])^{-1}*X^T*y θ=(XTX+0000001000001000001000001)1XTy

注意,新增的加数是一个矩阵,这个矩阵的维度与X有关联,上述表达式只是为了表示方便才写成固定的矩阵;

这个矩阵与单位矩阵只差[1,1]这个坐标,其它的都是一样的。

4、应用到逻辑回归

应用到逻辑回归的方式与线性回归完全一致,这里就不细说了。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值