3. 线性回归 Linear Regression
- pdf版本下载地址:https://pan.baidu.com/s/1geJNGiB
- html版本下载地址:https://pan.baidu.com/s/1nu6Kn4d
这一节介绍线性回归LinearRegression的原理以及它的推导过程。简单的从数学原理角度分析一下,并不是统计学角度。因此在一些公式里面会忽略误差项。另外对于统计学里面的t检验,F检验,显著性之类的也一概不论。
1 基本形式
线性回归作为回归(Regression)里面最基本的一种算法,应用很多,比如预测明天的股票价格,广告点击率的预测,做推荐算法等等。当然了,线性回归不一定做的好……
- 首先给定一批训练数据: D={(xi,yi)}Ni
我们试图从这些训练数据当中学习到一个预测函数: f(x)=wTx+b ,使得通过这个模型预测得到的数值尽可能的接近 y 。
- 那么这里的
w 和 b 如何确定呢?
2 原理推导
- 定义平方误差为我们的损失函数(最小二乘法):
L(f)=L(w,b)=∑i=1N(yi−(w⋅xi+b))2 - 很显然:
w∗,b∗=argminw,b∑i=1N(yi−(w⋅xi+b))2
那么 w∗,b∗ 如何计算呢? 梯度下降(Gradient Descent)!
首先计算梯度:∇L=⎡⎣∂L∂w∂L∂b⎤⎦=[∑ni=12(yi−(b+wxi))(−xi)∑ni=12(yi−(b+wxi))(−1)] 然后得到解:
⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪w=∑i=1Nyi(xi−x¯)∑i=1Nx2i−1m(∑i=1Nxi)2b=1m∑i=1N(yi−wxi)
3 更一般的形式
将 b 组合到
w 上,得到 w^=[w,b] 。并且将数据集、标签值都表示成矩阵形式,那么:- w^∗=argminw^(y−Xw^)T(y−Xw^)
- 同样地,对其求导,当
XTX
非奇异时:
w^∗=(XTX)−1XTy - 然而, XTX 不一定满秩,这个时候会出现多个解。这个时候取哪一个解需要一些其他的规则。
-
XTX
不可逆的解决办法:
- 删除掉一些冗余的特征,使得 XTX 可逆
- 加入正则化项,成为lasso回归或岭回归
4 简单的推广
除了以上的简单形式,线性回归还有一些变体。比如说对数线性回归,就是把 y 值取一个对数然后做线性回归。还有的会对特征
x 做一个转换,比如说把二维空间中的特征转化到五维空间中再做线性回归。但这些方法本质上还是线性回归。我们把他们统称为广义线性模型(Generalized Linear Model)。有以下的形式:- g(y)=wTx+b
- y=wTg(x)+b
- 很显然:
w∗,b∗=argminw,b∑i=1N(yi−(w⋅xi+b))2