机器学习-正则

来源:互联网 发布:胎儿b超数据 编辑:程序博客网 时间:2024/06/06 00:22

1.正则
正则化的目的是为了防止过拟合,具体怎么实现的:
这里写图片描述

给定一组房价数据–>拟合出一条曲线来描述房价数据–>根据这条曲线对房价进行预测。这个曲线变量(特征)可以是一维,二维,多维。参数越多学习能力越强。但是并不是参数越多越好,参数的多少要收到数据的约束。
那么这条曲线是否能合理预测房价呢? 对现有的数据学习不足(没有学习到数据的特征)称为欠拟合(underfitting),代价函数可能非常大。或者学习过度了(记住了,过拟合了,没有了泛化能力,就跟学习太死板只会做见过的题,一旦变换下题型就不会做了)称为过拟合(overfitting)代价函数可能非常接近于 0 或者就为 0。

数据太少,变量太多造成过拟合。过拟合如何解决?
这里写图片描述
1.减少特征个数
保留重要的特征,减少不重要的特征。
2.正则化
保留所有的特征,但是减少其权重
怎么来约束参数呢,用的就是loss function,通过真实值和通过模型预测的值的差值来表达模型的好坏。
这里写图片描述
让损失函数最小,但是这个函数没有对参数做到惩罚,想要的是能表征那个参数对最后的损失函数做出的贡献大的话就降低这个参数值。
这里写图片描述
这个函数就加入了对参数的惩罚。但是存在的问题是:
我们并不知道那个参数应该受到惩罚,如何选择关联度更好的参数,如何缩小参数的数目等等,对每个参数做的惩罚都是一样的
这里写图片描述
这就导致了不合理的惩罚。所以后来就引入了自动选择正则化参数 λ 。
http://www.cnblogs.com/jianxinzhou/p/4083921.html