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

本文通过对比Underfit、Pretty well与Overfitting三种情况,深入解析过拟合现象,介绍了如何通过正则化避免过拟合,包括修改损失函数、调整参数以及在梯度迭代和正则方程解法中的应用。

什么是过拟合 (Overfitting)

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

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

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

正则化 (Regularization)

我们对之前的损失函数进行改造,引入一个正则化参数 λ\lambdaλ
我们在原有的损失函数上面增加:
λ∑j=1nθj2\lambda\sum_{j=1}^n\theta_j^2λj=1nθj2
最新的损失函数变成:
J(θ)=12m[∑i=1m(hθ(x)−y)2+λ∑j=1nθj2]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≤11-\alpha\frac{\lambda}{m} \leq 11α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θ
θ=(XTX)XTY\theta=(X^TX)X^TYθ=(XTX)XTY
使用正则化之后:
θ=(XTX+λ[0⋯0⋮1⋮0⋯1])XTY\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,矩阵满足Rn∗nR^{n*n}Rnn

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

logistic

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值