机器学习(二)线性模型—线性回归
2.1 线性回归
2.1.1 基本形式:
给定样本x=(x1,x2,...,xd)x=(x1,x2,...,xd),线性模型通过如下方式计算预测值:
f(x)=w1x1+w2x2+...+wdxd+b=w⋅x+b(1)(1)f(x)=w1x1+w2x2+...+wdxd+b=w⋅x+b
目标函数:
w∗,b∗=argmin(w,b)∑i=1m(f(xi)−yi)2=argmin(w,b)∑i=1m(yi−w⋅xi−b)2(2)w∗,b∗=argmin(w,b)∑i=1m(f(xi)−yi)2(2)=argmin(w,b)∑i=1m(yi−w⋅xi−b)2
改写成矩阵乘法形式:
w∗=argminw((y−Xw)T(y−Xw))(3)(3)w∗=argminw((y−Xw)T(y−Xw))
求导:
d((y−Xw)T(y−Xw))=d(y−Xw)T(y−Xw)+(y−Xw)Td(y−Xw)=d(Xw)T(y−Xw)−(y−Xw)TdXw=tr(−2(y−Xw)TXdw)(4)d((y−Xw)T(y−Xw))=d(y−Xw)T(y−Xw)+(y−Xw)Td(y−Xw)=d(Xw)T(y−Xw)−(y−Xw)TdXw(4)=tr(−2(y−Xw)TXdw)
故:
∂loss∂w=2XT(Xw−y)(5)(5)∂loss∂w=2XT(Xw−y)
令(5)(5)等于0可得解析解:
w∗=(XTX)−1XTy(6)(6)w∗=(XTX)−1XTy
值得注意的是XTXXTX往往不是满秩矩阵
2.1.2 概率角度:
假设我们的真实值与误差函数存在高斯误差,error服从为均值为0,精度为ββ的高斯分布即:
y=y(x,w)+error(7)(7)y=y(x,w)+error
p(y|x,w,β)=N(y|y(x,w),β−1)(8)(8)p(y|x,w,β)=N(y|y(x,w),β−1)
E(y|x)=∫yp(y|x)dx=y(x,w)(9)(9)E(y|x)=∫yp(y|x)dx=y(x,w)
似然函数可以写为:
p(y|X,w,β)=∏n=1NN(yn|wxn,β−1)(10)(10)p(y|X,w,β)=∏n=1NN(yn|wxn,β−1)
对数似然为:
lnp(y|X,w,β)=N2lnβ−N2ln(2π)−βED(w)(11)(11)lnp(y|X,w,β)=N2lnβ−N2ln(2π)−βED(w)
其中:
ED(w)=12∑n=1N(yn−wxn)2(12)(12)ED(w)=12∑n=1N(yn−wxn)2
从概率角度看,最小二乘法做了一个最大似然估计
2.1.3 正则化:
在原损失函数中加入正则化项Ω(w)Ω(w),可得:
loss=12(y−Xw)T(y−Xw)+Ω(w)(13)(13)loss=12(y−Xw)T(y−Xw)+Ω(w)
当Ω(w)=λ2|w|Ω(w)=λ2|w|,称为Lasso回归,无法直接求导可采用坐标下降的方式
当Ω(w)=λ2wTwΩ(w)=λ2wTw,称为Ridge回归,w∗=(λI+XTX)−1XTyw∗=(λI+XTX)−1XTy
2.1.4 相关问题总结
- L1、L2 为什么能够降低过拟合?
从概率角度看,最小二乘法我们不知道参数具体的先验分布,采用最大似然估计。L1、L2采用最大后验估计,L1相当于给模型加入了拉普拉斯先验,L2给模型加入了高斯先验,表明我们对参数有一定的先验知识,使用观测数据来修正我们的先验。
从参数的角度,L1使得有些权重变为0 在做的是特征选择,删除那些不重要的可能导致过拟合的参数;而L2将得到较小的参数,若参数很大,样本稍微变动一点,值就有很大偏差,这当然不是我们想看到的,相当于降低每个特征的权重。
L1为什么能进行特征选择(得到稀疏解),L2为什么能得到光滑解(值较小)?
L1投影到坐标轴上是菱形,损失函数主体是个凸函数,它的等高线均匀地向外扩散。二者切点往往在坐标轴上取到,最优解在坐标轴上取到,而圆形的L2正则的切点一般是在圆周上,能够压缩参数的大小,并不容易得到稀疏解。
L1不可导怎么进行模型的优化?
可以使用坐标轴下降的方法进行优化:- 延着坐标轴的方向进行参数的更新,不依赖于梯度
- 每次更新固定m-1个参数,只对一个参数进行优化,求局部极小值点
- 对于可微凸函数,如果参数的一个解在对于函数在某个坐标轴上能达到最小值,那么这个参数就是f的全局最小点
- 坐标轴下降法在每次迭代中在当前点处沿一个坐标方向进行一维搜索 ,固定其他的坐标方向,找到一个函数的局部极小值。而梯度下降总是沿着梯度的负方向求函数的局部最小值