1 概述
线性回归(Linear Regression)是一种通过属性的线性组合来进行预测的线性模型,其目的是找到一条直线或者一个平面或者更高维的超平面,使得预测值与真实值之间的误差最小化。
2 单变量线性回归
在初中时,我们知道线性函数 y = k x + b y=kx+b y=kx+b
单变量线性回归模型 h θ ( x ) = θ 0 + θ 1 x h_\theta(x)=\theta_0+\theta_1x hθ(x)=θ0+θ1x, θ 0 , θ 1 \theta_0, \theta_1 θ0,θ1被称为模型参数。如果我们知道 θ 0 , θ 1 \theta_0, \theta_1 θ0,θ1,就能对任意的 x x x进行预测了。任何机器学习过程如下图所示:
代价函数:
J ( θ 0 , θ 1 ) = 1 2 m Σ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 J(\theta_0, \theta_1)=\frac{1}{2m}\Sigma^m_{i=1}(h_\theta(x^{(i)})-y^{(i)})^2 J(θ0,θ1)=2m1Σi=1m(hθ(x(i))−y(i))2
目标就是最小化代价函数: m i n J ( θ 0 , θ 1 ) minJ(\theta_0, \theta_1) minJ(θ0,θ1)
下面是代价函数 J ( θ 0 , θ 1 ) J(\theta_0, \theta_1) J(θ0,θ1)与 θ 0 , θ 1 \theta_0, \theta_1 θ0,θ1之间的关系
从图中可以看出,当 θ 0 , θ 1 \theta_0, \theta_1 θ0,θ1处于代价函数的最小值时,得到最优的拟合结果。
求代价函数 J ( θ 0 , θ 1 ) J(\theta_0, \theta_1) J(θ0,θ1)的最小值,可以有两种方法:
1 最小二乘法:
针对单变量线性回归,具有线性关系,为了获得代价函数 J ( θ 0 , θ 1 ) J(\theta_0, \theta_1) J(θ0,θ1)的最小值,可以利用 J ( θ 0 , θ 1 ) J(\theta_0, \theta_1) J(θ0,θ1)分别对 θ 0 , θ 1 \theta_0, \theta_1 θ0,θ1求导,令其导数为0,然后再得到 θ 0 , θ 1 \theta_0, \theta_1 θ0,θ1的值,根据导数的性质,此时得到的 θ 0 , θ 1 \theta_0, \theta_1 θ0,θ1就是模型的最优值。
{ ∂ ∂ θ 0 J ( θ 0 , θ 1 ) = 1 m Σ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) = 1 m Σ i = 1 m ( θ 0 + θ 1 x ( i ) − y ( i ) ) = 0 ∂ ∂ θ 1 J ( θ 0 , θ 1 ) = 1 m Σ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) x ( i ) = 1 m Σ i = 1 m ( θ 0 + θ 1 x ( i ) − y ( i ) ) x ( i ) = 0 \{\begin{matrix} \frac{\partial}{\partial\theta_0}J(\theta_0,\theta_1)=\frac{1}{m}\Sigma^m_{i=1}(h_\theta(x^{(i)})-y^{(i)})=\frac{1}{m}\Sigma^m_{i=1}(\theta_0+\theta_1x^{(i)}-y^{(i)})=0 \\ \frac{\partial}{\partial\theta_1}J(\theta_0,\theta_1)=\frac{1}{m}\Sigma^m_{i=1}(h_\theta(x^{(i)})-y^{(i)})x^{(i)}=\frac{1}{m}\Sigma^m_{i=1}(\theta_0+\theta_1x^{(i)}-y^{(i)})x^{(i)}=0 \end{matrix} {
∂θ0∂J(θ0,