首先要清楚为什么使用特征缩放。见下面的例子
对各变量特征缩放后绘制出来的损失函数J(θ)明显收敛更快,这也是为什么需要特征缩放的原因了。
\[ \begin{equation} x_i := \frac{x_i}{x_\max - x_\min} \end{equation} \]
每个输入值除以(max - min)
\[ \begin{equation} x_i := \frac{x_i - μ_i}{s_i} \end{equation} \]
μi: 均值
si: max - min
Normal Equation \[ \begin{equation} θ = (X^T·X)^{﹣1}·X·Y \end{equation} \]
具体推理过程详见掰开揉碎推导Normal Equation
与梯度下降方法进行比较
梯度下降 | 正规方程式 |
---|---|
需要选择步长α | 不需要选择步长α |
需要迭代训练很多次 | 一次都不需要迭代训练 |
O(kn2) | O(n3,计算(XT·X)-1需要花费较长时间 |
即使数据特征n很大,也可以正常工作 | n如果过大,计算会消耗大量时间 |
当XT·X不可逆时,很显然此时正规方程将不能正常计算,常见原因如下:
补充: