过拟合现象
为了得到一致假设而使假设变得过度复杂称为过拟合。想像某种学习算法产生了一个过拟合的分类器,这个分类器能够百分之百的正确分类样本数据(即再拿样本中的文档来给它,它绝对不会分错),但也就为了能够对样本完全正确的分类,使得它的构造如此精细复杂,规则如此严格,以至于任何与样本数据稍有不同的文档它全都认为不属于这个类别。简言之,就是与样本拟合的很好,但是不能很好的预测实际的情况。
线性回归的过拟合现象:
逻辑回归的过拟合现象:
解决方案
减少特征量
- 人工检查变量,决定哪些更加重要,哪些应该舍弃。
- 模型选择算法:为了自动的完成“人工检查变量”
正则化
正则化思想是保留所有的特征量,只改变参数 θ \theta θ的大小,通过惩罚一些参数得到更为简单的假设函数。
以线性回归为例:
我们可以把代价函数写成这样:
J
(
θ
)
=
1
2
m
Σ
i
=
1
m
(
h
θ
(
x
(
i
)
−
y
(
i
)
)
2
)
+
λ
Σ
j
=
1
n
θ
j
2
J(\theta)= \frac{1}{2m}\Sigma_{i=1}^m(h_\theta(x^{(i)}-y^{(i)})^2) +\lambda\Sigma_{j=1}^n\theta_j^2
J(θ)=2m1Σi=1m(hθ(x(i)−y(i))2)+λΣj=1nθj2
注:
θ
j
\theta_j
θj的序号从1开始而不是从0开始,
λ
\lambda
λ叫做正则化参数是一个整数。
λ
\lambda
λ的目的是为了平衡两个目标。
- 第一个目标就是我们想要训练,使假设更好地拟合训练数据。
- 第二个目标是我们想要保持参数值较小
求解
仍然有两种方法:
- 梯度下降
- 代数方法: θ = ( X τ X + λ X ) − 1 X τ Y \theta = (X^{\tau} X+\lambda X)^{-1} X^{\tau} Y θ=(XτX+λX)−1XτY ( E 为 单 位 矩 阵 ) (E为单位矩阵) (E为单位矩阵)