什么是过拟合问题
- 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=1∑m(hθ(x(i))−y(i))2+λj=1∑mθ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=1∑m(hθ(x(i))−y(i))2+λj=1∑mθ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=1∑m(hθ(x(i))−y(i))x0(i)θj:=θj−α[m1i=1∑m(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=1∑m(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))T⎦⎥⎥⎥⎥⎤y=⎣⎢⎢⎢⎢⎡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=1∑my(i)loghθ(x(i))+(1−y(i))log(1−hθ(x(i))]+2mλj=1∑mθ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=1∑m(hθ(x(i))−y(i))x0(i)θj:=θj−α[m1i=1∑m(hθ(x(i))−y(i))xj(i)+mλθj]
本文介绍了过拟合问题及其解决方案,包括减少特征数量和应用正则化技术。详细探讨了正则化在线性回归和逻辑回归中的应用,并提供了基于梯度下降和正规方程的具体实现。

2277

被折叠的 条评论
为什么被折叠?



