梯度下降与正规方程

梯度下降

公式如下:

$θ_i = θ_i - α \frac{\delta}{\delta θ_i}J(θ)$

$θ_i$ 为第i个特征

$J(\theta)$ 为损失函数

$α$ 为学习率

正规方程

假如训练数据如下:

- 尺寸(平米) 卧室数 层数 楼龄(年) 价格(千刀)
$x_0$ $x_1$ $x_2$ $x_3$ $x_4$ $x_5$
1 2104 5 1 45 460
1 1416 3 2 40 232
1 1534 3 2 30 315
1 852 2 1 36 178

则第i组训练数据成特征向量$x^{(i)}$

$x^{(i)} = \left[
\begin{matrix}
x^{(i)}_0\\
x^{(i)}_1\\
x^{(i)}_2\\
⋮\\
x^{(i)}_n
\end{matrix}
\right]$

将m组训练数据组成一个矩阵$X$:

$X=\left[\begin{matrix}
{x^{(1)}}^T\\
{x^{(2)}}^T\\
⋮\\
{x^{(m)}}^T
\end{matrix}\right]=\left[\begin{matrix}
x^{(1)}_0&x^{(1)}_1&⋯&x^{(1)}_n\\
x^{(2)}_0&x^{(2)}_1&⋯&x^{(2)}_n\\
⋮\\
x^{(m)}_0&x^{(m)}_1&⋯&x^{(m)}_n
\end{matrix}\right]$ $(x_0 = 1)$

$y = \left[
\begin{matrix}
y^(1)\\
y^(2)\\
\vdots\\
y^(m)
\end{matrix}
\right]$

则$θ = (X^TX)^{-1}X^Ty$

这两种方法的区别

梯度下降 正规方程
需要选择学习率$α$ 不需要选择学习率$α$
需要许多次迭代 不需要迭代
在特征数$n$极大时依旧非常有用 特征数$n$极大时会很慢
迭代到局部近似最优值 计算出全局最优值
- 需要计算$(X^TX)^{-1}$
- 不适用于更高级的学习方法(如分类问题)
0%