您可以自由地共享和演绎本文稿, 只需遵守开源协议[CC By 4.0]
如果这篇文章帮助到你, 可以请我喝一杯咖啡~
我们将讨论的范围扩大到多元情况。在多元情况下,每一个属性-标记组将扩展为:
$(x_1, x_2, …, x_i, …, x_n, y)$
而线性预测函数将扩展为:
$h(\vec{X}) = \theta_0 + \theta_1 x_1 + \theta_2 x_2 + … + \theta_n x_n$
如果我们令$x_0 = 1$,则:
$h(\vec{X}) = \theta_0 x_0 + \theta_1 x_1 + \theta_2 x_2 + … + \theta_n x_n$
如果我们定义向量
$\vec{X} = (x_0, x_1, x_2, …, x_i, …, x_n)$
$\vec{\Theta} = (\theta_0, \theta_1, \theta_2, …, \theta_i, …, \theta_n)$
则预测函数可以表示为:
$h(\vec{X}) = \vec{\Theta}^T \vec{X}$
梯度下降算法
多元线性回归的梯度下降算法与一元线性回归算法的形式类似。
特征缩放
如果一个问题中的不同属性具有悬殊的取值:”若其中一个特征具有非常广的范围,那两点间的差异就会被该特征左右”。因此我们需要通过某种算法来将不同属性值放缩至相近的取值范围。
常用的方法是:”均值归零,范围归一”,即统计学上最一般的归一化方法:
如果一个属性值$x_i$的均值为$\mu_i$,其标准差(有时也使用极差)为$S_i$,我们对其进行如下的缩放:
对属性值矩阵中所有的行(j):
$x_{ji} \leftarrow \frac{x_{ji} - \mu_i}{S_i}$
如此,我们可以将所有的特征值取值归一化,以便能更高效地使梯度下降算法收敛。