#Regulation
(1) 过拟合问题
- ⭐️对过拟合的理解:
-
本质可以理解成数据集噪声对整个数据拟合时造成的泛化性下降。
比如让机器来识别甜甜圈,一开始提供的特征为圆的、中间有一个空洞,这时机器就会对甜甜圈进行一个基本的判断。但是,当又加入特征,比如带有黑色的(黑巧克力)之后,机器反而对甜甜圈的识别率下降了,当有一个白巧克力的甜甜圈出现时,机器就会识别不出来,最终导致机器只是完美的通过了每个数据点但是却无法进行预测。
-
对于机器来说,样本一方面具有共性的特征,另一方面又具有特性的特征,就好像甜甜圈的颜色本身对“是否为甜甜圈?”这个命题没有影响,甜甜圈本身的颜色就是它的特性,如果机器在学习过程中太“在意”这个特征时就会导致过拟合现象的产生。
- 下面从数学函数角度来说明:
- 对于Liner Regression问题

对于图1来说这是欠拟合状态,对于图2来说,这是比较好的拟合状态,对图三来说,这是过拟合状态。
- 对于Logistic Regression问题
- 过拟合问题的解决方案:
1️⃣ 由过拟合产生的原因可以提出第一种解决方法,精挑细选特征,尽量减少非共性特征的数量。
2️⃣ 使用正则化方法,对机器的学习进行一定的限制。
(2) 代价函数
- 对于这个函数来说,只要使θ3与θ4的值足够小就不会对函数的拟合产生太大影响了,因此这里可以考虑给θ3与θ4添加一个惩罚项。
例如:J(θ)=2m1[i=1∑m(hθ(x(i))−y(i))2+1000θ32+1000θ42]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tPyl87bG-1574592081312)(1.png)]
- 当不知道哪个θ是产生过拟合的原因时,就对所有的θ进行惩罚,让所有的θ值都减小。
J(θ)=2m1[i=1∑m(hθ(x(i))−y(i))2+λj=1∑nθj2]
λ 称为正则化参数,并且要注意,惩罚是从θ1开始的,一般不对θ0进行惩罚。
-
注意:参数 λ 的选择要合适,否则会导致最后θ1,…,θn都被惩罚到接近0,最后就是一条直线了。
(3)线性回归的正则化
- 梯度下降
- Repeat {
θ0:=θ0−αm1i=1∑m(hθ(x(i))−y(i))
θj:=θj−αm1[i=1∑m((hθ(x(i))−y(i))⋅xj(i))+λθj]
} (i=1,2,…,n)
- 整理后可得:
θj:=(1−mαλ)θj−αm1i=1∑m((hθ(x(i))−y(i))⋅xj(i))
可以看出,由于λ,α,m均为正值,θj必定是减小的。
- 正规方程

矩阵的尺寸为(n+1)∗(n+1)
(4)逻辑回归的正则化
- 代价函数
J(θ)=m1i=1∑m[−y(i)log(hθ(x(i)))−(1−y(i))log(1−hθ(x(i)))]+2mλj=1∑nθj2
- 求导后的梯度下降函数为
Repeat until convergence{
θ0:=θ0−am1i=1∑m((hθ(x(i))−y(i))x0(i))
θj:=θj−a[m1i=1∑m(hθ(x(i))−y(i))xj(i)+mλθj]
for j=1,2,...n
}
- matlab代码
function[jVal,gradient]=costFunction(theta)
jVal=[J的函数的表达式];
gradient=一个初始值;
gradient(1)=∂θ0∂J(θ);
gradient(2)=∂θ1∂J(θ);
…
gradient(n+1)=∂θn∂J(θ);
相关文章: