ML 七、过拟合问题及其解决 正则化

本文介绍了过拟合问题及其解决方案,包括减少特征数量和应用正则化技术。详细探讨了正则化在线性回归和逻辑回归中的应用,并提供了基于梯度下降和正规方程的具体实现。

什么是过拟合问题

  • underfit 欠拟合:先入为主,有很强的偏差 high bias
  • just right
  • overfit 过拟合:高方差 high variance——有太多的特征值(阶次太高),对于训练集拟合的很好(为了完美拟合训练集,函数变得很扭曲),但是无法泛化(generalize)到新的样本(new examples)中
    在这里插入图片描述

如果出现过拟合,我们该怎么解决

  • 尽量减少选取变量的数量 reduce number of features——选择哪些特征变量舍弃、哪些保留
  • 正则化 regularization——保留所有特征变量,但是减少量级or 参数θj\theta_jθj的大小 (当有很多特征变量,每个都对于y有些影响)

正则化是怎样运行的

J(θ)=12m∑i=1m(hθ(x(i))−y(i))2+λ∑j=1mθj2 J(\theta) = \frac{1}{2m}\sum_{i = 1}^m (h_\theta(x^{(i)})- y^{(i)})^2+\lambda\sum_{j = 1}^m \theta_j^2 J(θ)=2m1i=1m(hθ(x(i))y(i))2+λj=1mθj2

加上一个惩罚项,能让θj\theta_jθj尽可能小,最后得到的拟合曲线更加平滑

线性回归的正则化

推导了两种算法

  • 基于梯度下降的
  • 基于正规方程的
加上一项

加上所有参数的平方,乘以系数λ\lambdaλ
J(θ)=12m∑i=1m(hθ(x(i))−y(i))2+λ∑j=1mθj2 J(\theta) = \frac{1}{2m}\sum_{i = 1}^m (h_\theta(x^{(i)})- y^{(i)})^2+\lambda\sum_{j = 1}^m \theta_j^2 J(θ)=2m1i=1m(hθ(x(i))y(i))2+λj=1mθj2

如何实现

θ0:=θ0−α1m∑i=1m(hθ(x(i))−y(i))x0(i)θj:=θj−α[1m∑i=1m(hθ(x(i))−y(i))xj(i)+λmθj] \theta_0:=\theta_0 - \alpha\frac{1}{m}\sum_{i = 1}^m(h_\theta(x^{(i)})-y^{(i)})x_0^{(i)}\\ \theta_j:=\theta_j - \alpha[\frac{1}{m}\sum_{i = 1}^m(h_\theta(x^{(i)})-y^{(i)})x_j^{(i)}+\frac{\lambda}{m}\theta_j]\\ θ0:=θ0αm1i=1m(hθ(x(i))y(i))x0(i)θj:=θjα[m1i=1m(hθ(x(i))y(i))xj(i)+mλθj]

移项后:
θj:=θj(1−αλm)−α1m∑i=1m(hθ(x(i))−y(i))xj(i) \theta_j:=\theta_j(1-\alpha\frac{\lambda}{m}) - \alpha\frac{1}{m}\sum_{i = 1}^m(h_\theta(x^{(i)})-y^{(i)})x_j^{(i)} θj:=θj(1αmλ)αm1i=1m(hθ(x(i))y(i))xj(i)

从直观上理解,就是每次参数θj\theta _jθj 乘以比1小的数,然后进行之前相同的梯度下降的操作

使用正规方程

X=[(x(1))T...(x(M))T]y=[y(1)...y(M)] X = \begin{bmatrix} (x^{(1)})^T \\ .\\.\\.\\ (x^{(M)})^T \end{bmatrix} \quad y = \begin{bmatrix} y^{(1)} \\ .\\.\\.\\ y^{(M)} \end{bmatrix} X=(x(1))T...(x(M))Ty=y(1)...y(M)

对于X,每一行表示一个单独的训练样本

Y是训练集中所有数据的标签

之前我们发现
θ=(XTX)−1XTy \theta = (X^TX)^{-1}X^Ty θ=(XTX)1XTy

加上正规化后

θ=(XTX+λ[011..1])−1XTy \theta = (X^TX + \lambda \begin{bmatrix} 0\\&1\\&&1\\&&&.\\&&&&.\\&&&&&1 \end{bmatrix} )^{-1}X^Ty θ=(XTX+λ011..1)1XTy

注意:

  • 原来正规方程需要考虑是否可逆的问题
  • 加上正规化后,不会有这个问题,

logistic回归的正则化

两种算法

  • 梯度下降
  • 更高级的优化算法
加上一项,

J(θ)=−[1m∑i=1my(i)loghθ(x(i))+(1−y(i))log(1−hθ(x(i))]+λ2m∑j=1mθj2 J(\theta) = -[\frac{1}{m}\sum_{i = 1}^my^{(i)}logh_\theta(x^{(i)})+(1-y^{(i)})log(1-h_\theta(x^{(i)})] + \frac{\lambda}{2m}\sum_{j = 1}^m \theta_j^2 J(θ)=[m1i=1my(i)loghθ(x(i))+(1y(i))log(1hθ(x(i))]+2mλj=1mθj2

如何实现

重复:
θ0:=θ0−α1m∑i=1m(hθ(x(i))−y(i))x0(i)θj:=θj−α[1m∑i=1m(hθ(x(i))−y(i))xj(i)+λmθj] \theta_0:=\theta_0 - \alpha\frac{1}{m}\sum_{i = 1}^m(h_\theta(x^{(i)})-y^{(i)})x_0^{(i)}\\ \theta_j:=\theta_j - \alpha[\frac{1}{m}\sum_{i = 1}^m(h_\theta(x^{(i)})-y^{(i)})x_j^{(i)}+\frac{\lambda}{m}\theta_j] θ0:=θ0αm1i=1m(hθ(x(i))y(i))x0(i)θj:=θjα[m1i=1m(hθ(x(i))y(i))xj(i)+mλθj]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值