【机器学习课程-华盛顿大学】:2 回归 2.4 岭回归Ridge Regression

低复杂度模型有:高偏差,低方差;高复杂度模型有:低偏差,高方差。

为了在偏差和方差之间取得平衡,我们来看一种解决方法:岭回归

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

猜你喜欢

转载自blog.csdn.net/weixin_41770169/article/details/80624146