单变量线性回归
简单线性回归
假设样本中有
m
组数据
(x(1),y(1)),(x(2),y(2)),…,(x(m),y(m))
预测函数
hθ(x)=θ0+θ1x
代价函数
J(θ0,θ1)=12m∑i=1m(hθx(i)−y(i))2
目标求解
(θ0,θ1)=argminθ0,θ1J(θ0,θ1)
比较常用的方法就是梯度下降法。梯度与方向导数密切相关,是从泰勒级数的展开来证明的,比较简单,这里就不推导了。具体算法过程:
temp0=θ0−α∂∂θ0J(θ0,θ1)
temp1=θ1−α∂∂θ1J(θ0,θ1)
θ0=temp0
θ1=temp1
注意
多元线性回归:
多元线性回归是由单变量线性回归延伸而来的。多变量线性回归中的
m
组数据
表示如下:(x(1)1,x(1)2,…,x(1)n,y(1)),(x(2)1,x(2)2,…,x(2)n,y(2)),…,(x(m)1,x(m)2,…,x(m)n,y(m))
预测函数
hθ⃗ (x⃗ )=θ⃗ Tx⃗ =θ0+θ1x1+θ2x2+…+θnxn
其中,
θ⃗ =(θ0,θ1,…,θn)T
,
x⃗ =(1,x1,x2,…,xn)T
代价函数
J(θ⃗ )=12m∑i=1m(hθ⃗ x⃗ (i)−y(i))2
目标求解
θ⃗ =argminθ⃗ J(θ⃗ )
梯度下降法
多元线性回归依然可以用梯度下架你敢发进行求解,只不过是在高维空间的梯度下降,不再是三维空间那么地可视化。具体算法过程:
temp0=θ0−α∂∂θ0J(θ⃗ )
temp1=θ1−α∂∂θ1J(θ⃗ )
…
tempn=θn−α∂∂θnJ(θ⃗ ))
θ0=temp0
θ1=temp1
…
θn=tempn
最小二乘
另外一个求解多元线性回归的方法是最小二乘法。具体推导如下:
整个预测过程可以用方程组表示为
x⃗ (1)Tθ⃗ =y(1)
x⃗ (2)Tθ⃗ =y(2)
…
x⃗ (m)Tθ⃗ =y(m)
将方程组表示成矩阵的形式,
Xθ⃗ =y⃗
其中,
矩阵X=[x⃗ (1)T;x⃗ (2)T;…;x⃗ (m)T]
,可以求解得到
θ⃗ =(XTX)−1XTy⃗
最小二乘的几何意义
对方程组进行变换,令
x⃗ i=(xi(1)xi(2)…xi(m))T
y⃗ =(y(1)y(2)…y(m))T
那么
y⃗ =θ0x⃗ 0+θ1x⃗ 1+…+θnx⃗ n
其实,上式基本上是没有解的。但是,我们可以找到一个使得代价函数最小的解。代价函数最小的几何意义在于
在
x⃗ 0x⃗ 1…x⃗ n
所张成的线性子空间中,寻找一点,使得这一点到
y⃗
的距离最短。很显然,这一点就是
y⃗
的投影,这也是最小二乘法求解的精髓所在。
那么,最小二乘实际上就是
把数据的每一个特征作为一个维度,计算出每个特征对于最终输出的权重
θ⃗
最小二乘与梯度下降法的选择
当数据的特征
n
超过一定界限时,最小二乘中矩阵的求逆运算将会变得十分复杂,此时一般会选择梯度下降法。至于这个界限,可以选择
105
~
106
作为参考。
多项式回归
多项式回归可以转变为多元线性回归,核心在于用已知的特征组合出新的特征。预测函数,例如
hθ⃗ (x⃗ )=θ0+θ1x1+θ2x21+θ3x1−−√
其中每一项都是可以计算出的。
至于多项式中应该选择怎样的高次项,就需要根据大概形状进行一个初次的选择。此外,也要根据实际情况,比如,房屋总价随着面积增长一般是不会减少的,所以此时应该二次项是不够的,还需要一个三次项。
在多项式回归中,特征的缩放将会变得尤其重要,因为其中含有同一特征的不同次项,他们的范围是不同的,但是由于是同一特征,不可能进行不同size的缩放的。