梯度下降
公式如下:
$θ_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}$ |
- | 不适用于更高级的学习方法(如分类问题) |