前面提到的线性回归,但实际上很多问题是不能用一根直线来区分的。
有时需要曲线来拟合我们的数据,那么这是我们就可以考虑多项式回归。
比如一个二次方模型quadratic model:
$$h_{\theta}(x) = \theta_0 + \theta_1 x + \theta_2 x^2 $$
或 三次方模型 cube function:
$$h_{\theta}(x) = \theta_0 + \theta_1 x + \theta_2 x^2 + \theta_3 x^3 $$
拟合效果如下:
- 上例中,只有一个feature即size,对该参数实行多项式计算;注意,quadratic model最后会下行,而cube function 最后会上行。
其实还可以用另一个模型,拟合的更好: $h_{\theta}(x) = \theta_0 + \theta_1 x + \theta_2 x^{\frac{1}{2}} $.
通常我们要观察数据( 图形是一个直观的观察方式 ),然后才能决定用什么样的模型。
这里面也要考虑特征feature的选择:洞察问题,选择最佳的features。
- 有时还需要对特征进行组合:若原始feature是房屋的长,宽,这显然不是很好的特征,把他们组合新生成一个特征:面积。
注意:我们采用多项式回归模型,在运行梯度下降算法前,特征缩放非常有必要。
正规方程normal equation
- 某些情况,能够直接求解”最佳”$\theta$
- 前面我们一直用梯度下降法找到使cost function 最小化的参数。
- 对于线性回归等(凸问题,存在全局最优解),用正规方程normal equation能直接得出答案,即直接求解导数为0的值下式:
$$\frac{\partial}{\partial \theta_j} J(\theta_j) = 0$$
对于训练集特征矩阵为$\boldsymbol{X}$(包含了$\boldsymbol{x}_0=1$), 得到的解向量为:
$$\theta = (\boldsymbol{X}^{\mathrm{\top}} \times \boldsymbol{X})^{-1} \times \boldsymbol{X}^{\mathrm{\top}} \times \boldsymbol{y}$$
- 对于不可逆矩阵(如feature间相关,或者特征数大于训练集数等),正规方程不能用。
- 梯度下降与正规方程的比较: