机器学习从零开始系列【第五话】过拟合与正则化

什么是过拟合 (Overfitting)

来看三张图:分别是 【Underfit (High bias)】 【Pretty well】【Overfitting】
overfitting
如果有太多特征features会导致它想法设法去适应我们的训练集,甚至会出现cost=0或者很接近0的情况。
如果我们想摆脱这种overfitting的状况,就必须简化Hypothesis的模型,对后面无关的x3,x4进行一定的惩罚。

在这里插入图片描述
我们对损失函数进行一定的改造,在后面加上 1000 ∗ θ 3 2 + 1000 ∗ θ 4 2 1000*{\theta_3}^2+1000*{\theta_4}^2 1000θ32+1000θ42,这样一来可以让 θ 3 {\theta_3} θ3 θ 4 {\theta_4} θ4的值变得非常小。

但在实际上操作中,我们并不知道谁的相关性比较大谁比较小,这时候,我们就需要正则化来控制这个度了。

正则化 (Regularization)

我们对之前的损失函数进行改造,引入一个正则化参数 λ \lambda λ
我们在原有的损失函数上面增加:
λ ∑ j = 1 n θ j 2 \lambda\sum_{j=1}^n\theta_j^2 λj=1nθj2
最新的损失函数变成:
J ( θ ) = 1 2 m [ ∑ i = 1 m ( h θ ( x ) − y ) 2 + λ ∑ j = 1 n θ j 2 ] J(\theta)=\frac{1}{2m} [\sum^m_{i=1}(h_{\theta}(x)-y)^2+\lambda\sum_{j=1}^n\theta_j^2] J(θ)=2m1[i=1m(hθ(x)y)2+λj=1nθj2]
λ \lambda λ 起到两个作用:

  • 让 Hypothesis 更好的拟合
  • 让参数尽量的小

λ \lambda λ 越大,结果参数越小,所以 λ \lambda λ 不能取得过大,导致除了 θ 0 \theta_0 θ0 外的参数都很小,趋近于0的话就变成一条扁平的直线了。
too min

在梯度迭代中体会正则化的意义

我们之前的梯度迭代公式:

θ j : = θ j − α ∂ J ( θ 0 , θ 1 , θ 2 , . . . , θ n ) ∂ θ j \theta_j:=\theta_j-\alpha\frac{\partial J(\theta_0,\theta_1,\theta_2,...,\theta_n)}{\partial\theta_j} θj:=θjαθjJ(θ0,θ1,θ2,...,θn)

使用正则化之后:
θ j : = θ j ( 1 − α λ m ) − α ∂ J ( θ 0 , θ 1 , θ 2 , . . . , θ n ) ∂ θ j \theta_j:=\theta_j(1-\alpha\frac{\lambda}{m})-\alpha\frac{\partial J(\theta_0,\theta_1,\theta_2,...,\theta_n)}{\partial\theta_j} θj:=θj(1αmλ)αθjJ(θ0,θ1,θ2,...,θn)
我们已知 1 − α λ m ≤ 1 1-\alpha\frac{\lambda}{m} \leq 1 1αmλ1,所以它的意义就相当于: θ j ∗ 0.95 \theta_j*0.95 θj0.95,(假如是0.95),大概这样的放缩作用,这样的好处是能让 θ \theta θ在梯度变化中能够取到更多可能的数值。

正则方程解法中的正则化

Set ∂ J ( θ 0 , θ 1 , θ 2 , . . . , θ n ) ∂ θ j = 0 \frac{\partial J(\theta_0,\theta_1,\theta_2,...,\theta_n)}{\partial\theta_j}=0 θjJ(θ0,θ1,θ2,...,θn)=0 to solve θ \theta θ
θ = ( X T X ) X T Y \theta=(X^TX)X^TY θ=(XTX)XTY
使用正则化之后:
θ = ( X T X + λ [ 0 ⋯ 0 ⋮ 1 ⋮ 0 ⋯ 1 ] ) X T Y \theta=(X^TX+\lambda\begin{bmatrix} 0 & \cdots & 0 \\ \vdots & 1 & \vdots \\ 0 & \cdots & 1 \end{bmatrix} )X^TY θ=(XTX+λ00101)XTY
除了对角线(除第一个是0外)是1,其余都是0,矩阵满足 R n ∗ n R^{n*n} Rnn

分类问题(逻辑回归 Logistic regression)中的正则化

logistic

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值