机器学习算法第三篇
- 本文目内容:岭回归算法推导
- 本文基于多元线性回归
- 数学核心向
背景:
标准方程法解线性回归时的代价函数矩阵化过程中
当x_data中数据的特征比数据的行数多时候,
无法化成下式子,因为
XTX不是满秩矩阵,无法求逆
θ=(XTX)−1XTY
岭回归概念
- 故科学家们在原代价函数中导入了偏差项
m1∑j=1nθ2,解决该问题
标准方程法代价函数⇒J(θ1,θ2...θn)=m1i=1∑m(hθ(xi)−yi)2(1)
岭回归代价函数⇒J(θ1,θ2...θn)=m1{i=1∑m(hθ(xi)−yi)2+λj=1∑nθ2}(2)
(2)式矩阵化得⇒θ=(XTX+λI)−1XTY1(3)
岭回归的优点
- 解决标准方程法中求逆问题(上面已述)
- 通过调节
λ的值可以得到更好的估计,(l2正则化分析,本文暂不展开,以后开篇专门分析)
- 解决多重公线问题(非本文内容暂不展开)
推导过程
-
推导过程指展开上述(2)式到(3)的变换过程
-
首先假设有数据Data( 上标为列号,下标为行号)
⎣⎢⎢⎢⎢⎢⎢⎡x11x12x13..x1mx21...x22...x23...........x2m...xn1xn2xn3..xnmy1y2y3..ym⎦⎥⎥⎥⎥⎥⎥⎤
令x_data=⎣⎢⎢⎢⎢⎢⎢⎡x11x12x13..x1mx21...x22...x23...........x2m...xn1xn2xn3..xnm⎦⎥⎥⎥⎥⎥⎥⎤
令y_data=⎣⎢⎢⎢⎢⎢⎢⎡y1y2y3..ym⎦⎥⎥⎥⎥⎥⎥⎤
θ=⎣⎢⎢⎢⎢⎢⎢⎡θ1θ2θ3..θn⎦⎥⎥⎥⎥⎥⎥⎤(4)
J(θ1,θ2...θn)⇒J(θ)(5)
j=1∑nθ2=(θ12+θ22+θ32+..+θn2)=θTθ(6)
yi⇒Y=⎣⎢⎢⎢⎢⎢⎢⎡y1y2y3..ym⎦⎥⎥⎥⎥⎥⎥⎤(7)
xi⇒X=⎣⎢⎢⎢⎢⎢⎢⎡x11x12x13..x1mx21...x22...x23...........x2m...xn1xn2xn3..xnm⎦⎥⎥⎥⎥⎥⎥⎤(8)
hθ(xi)⇒⎣⎢⎢⎢⎢⎢⎢⎡hθ(x1)hθ(x2)hθ(x3)..hθ(xm)⎦⎥⎥⎥⎥⎥⎥⎤=⎣⎢⎢⎢⎢⎢⎢⎡θ1x11+θ2x21+...+θnxn1θ1x12+θ2x22+...+θnxn2θ1x13+θ2x23+...+θnxn3........θ1x1m+θ2x2m+...+θnxnm⎦⎥⎥⎥⎥⎥⎥⎤=X⋅θ(9)
岭回归代价函数⇒J(θ1,θ2...θn)=m1{i=1∑m(hθ(xi)−yi)2+λj=1∑nθ2}(2)
⇒J(θ1,θ2...θn)=m1{[hθ(x1)−y1]2+[hθ(x2)−y2]2+[hθ(x3)−y3]2...+[hθ(xm)−ym]2+λ(θ12+θ22+θ32+..+θn2)}
套公式⎣⎡abc⎦⎤T⎣⎡abv⎦⎤=a2+b2+c2
所以上上式可改为
⇒J(θ)=m1⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧⎣⎢⎢⎢⎢⎡hθ(x1)−y1hθ(x2)−y2hθ(x3−y3...hθ(xm)−ym⎦⎥⎥⎥⎥⎤T⎣⎢⎢⎢⎢⎡hθ(x1)−y1hθ(x2)−y2hθ(x3−y3...hθ(xm)−ym⎦⎥⎥⎥⎥⎤+λθTθ⎭⎪⎪⎪⎪⎬⎪⎪⎪⎪⎫
⇒J(θ)=m1⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧⎝⎜⎜⎜⎜⎛⎣⎢⎢⎢⎢⎡hθ(x1)hθ(x2)hθ(x3...hθ(xm)⎦⎥⎥⎥⎥⎤−⎣⎢⎢⎢⎢⎡y1y2y3...ym⎦⎥⎥⎥⎥⎤⎠⎟⎟⎟⎟⎞T⎝⎜⎜⎜⎜⎛⎣⎢⎢⎢⎢⎡hθ(x1)hθ(x2)hθ(x3...hθ(xm)⎦⎥⎥⎥⎥⎤−⎣⎢⎢⎢⎢⎡y1−y2y3...ym⎦⎥⎥⎥⎥⎤⎠⎟⎟⎟⎟⎞+λθTθ⎭⎪⎪⎪⎪⎬⎪⎪⎪⎪⎫
将子式带入
J(θ)=m1[(Xθ−Y)T(Xθ−Y)+λθTθ]
⇒J(θ)=m1[(θTXTXθ−θTXTY−YTXθ+YTY+λθTθ]
查表求导得dθdJ(θ)=m1[2XTXθ−2XTY+λθ]
令上式等于0得(此处的λ经过减半变换)θ=(XTX−λI)−1XTY