概述
低复杂度模型有:高偏差,低方差;高复杂度模型有:低偏差,高方差。
为了在偏差和方差之间取得平衡,我们来看一种解决方法:岭回归
Ridge Regression岭回归:一种当使用多特征时的控制过拟合的方法
一、引入Ridge Regression的背景
1、多项式回归的过拟合:
高阶多项式:
过拟合的一个典型症状:w参数值很大
2、线性回归模型的过拟合更常见:
(1)特征维度:特征维度对拟合的影响,样本需要包含多种特征组合下的代表
(2)样本数:样本数越少,越容易发生过拟合
3、理想的全代价公式:
模型能够很好的拟合数据;模型参数幅度较小;
在两者之间找到均衡。
(1)第一项:对数据的拟合程度
(2)第二项:模型参数幅度
二、Ridge Regression
1、Ridge Regression公式
2、bias和variance的均衡:lamda控制模型复杂度
当lamda = 0时,代价函数退化为RSS,为w的高阶多项式,很有可能出现过拟合:低bias,高variance
当lamda = 无穷时,此时只有w=0才能有cost,此时模型:高bias,低variance
3、给定lamda时,模型的cost计算
(1)重新写cost定义公式
RSS
w^2:
将2个合并在一起,就是Ridge Regression的cost函数:
(2)计算梯度
(3)解法一:梯度=0
加上lamda后,使得w更加归一化
(4)解法2:梯度下降
三、原回归模型和岭回归模型对比
原模型:
岭回归:
四、k次交叉验证
大致思想:将数据分为K个子样本,每次取一个子样本用来,取余下的K-1个子样本用来训练。训练后,验证,计算出验证错误率。重复K次,将K次错误率平均,得到一个总体的错误率。可以通过整体错误率,估计当前整体数据用于建模的错误率。
一般有5次交叉验证、10次交叉验证。
取使得上述平均误差CV(lamda)最小时的lamda最为最终的lamda。
五、测试
- 过拟合问题
对于小数据集来说,k交叉验证比普通的设定1个验证集的误差小。
- 计算量问题
- 时间消耗问题
全遍历一次数据集得到1个lambda,全遍历一次数据集需要计算N次LOO,时间为:N*Cost(N-1, D)
得到L个lambda,时间为:LN*Cost(N-1, D)
L=100, N=1000000, Cost(N-1, D)=1s,带入7的式子,因此时间消耗为:100000000s 约等于 3year
全遍历一次数据集得到1个lambda,全遍历一次数据集需要计算k次,1次计算为1s,全遍历一次数据集时间为:ks
得到100个lambda,时间为:100ks = 3600s,则:k=36
最后
以上就是糟糕航空为你收集整理的【机器学习课程-华盛顿大学】:2 回归 2.4 岭回归Ridge Regression的全部内容,希望文章能够帮你解决【机器学习课程-华盛顿大学】:2 回归 2.4 岭回归Ridge Regression所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复