Skip to content

多元梯度下降法

多元梯度下降

Hypothesis: \(h_\theta(x)=\theta^Tx=\theta_0x_0+\theta_1x_1+\theta_2x_2+\ldots+\theta_nx_n\)
Parameters: \(\theta_0,\theta_1,\ldots,\theta_n\)
Cost function: $\(J(\theta)=\frac{1}{2m}\sum^{m}_{i=1}(h_\theta(x^{(i)})-y^{(i)})^2\)$
Gradient descent:
Repeat { $\(\theta_j:=\theta_j-\alpha\frac{\partial}{\partial\theta_j}J(\theta_0,\ldots,\theta_n)\)$
} (simultaneously update for every \(j=0,\ldots,n\))
New algorithm (\(n\geq1\))
Repeat { $\(\theta_j:=\theta_j-\alpha\frac{1}{m}\sum^{m}_{i=1}(h_\theta(x^{(i)})-y^{(i)})x^{(i)}_j\)$
} (simultaneously update \(\theta_j\) for \(j=0,\ldots,n\))

特征缩放(Feature scaling)

让特征在相近的数量级上,可以提高梯度下降的速度,在数量级相差大的情况下,等值线是椭圆,梯度下降速度慢。
因此,可以对特征进行缩放,让它们在相同数量级。
在进行特征缩放时,目的通常是让特征的取值在近似\(-1\leq x_i \leq 1\) 范围内。

均值归一化(Mean normalization)

\(\frac{x_i-\mu_i}{s_i}\) 代替 \(x_i\) 让特征值在零的周围。
\(\mu\) - \(x\) 的平均值
\(s\) - 极差(或标准差)

学习率(Learning rate)

确保梯度下降正常工作,可以绘制梯度下降每步迭代后的曲线,正常情况每一次迭代后 \(J(\theta)\) 下降。
\(J(\theta)\) 上升或反复升降,可以使用更小的 \(\alpha\) 值。

多项式回归

特征是可以自由选择的,不一定是直线,可以使用多项式运算。