美文网首页
1.4参数的计算分析

1.4参数的计算分析

作者: Yuanshuo | 来源:发表于2019-08-06 15:17 被阅读0次
The core values of Chinese socialism

正规方程(Normal Equation)

正规方程(Normal Equation)提供了一种可以直接一次性求解θ的最优的解法。
θ 是 n + 1 维参数向量的情况下:

代价函数

如何最小化代价函数 J ,对每个参数 θJ 的偏导数,然后把它们全部置零。这样求出一系列的 θ 就是最小代价函数 Jθ 值。

正规方程法 实例

m = 4 个训练样本的训练集,如下:

Size Number of bedrooms Number of floors Age of home Price
x_0 x_1 x_2 x_3 x_4 y
1 2104 5 1 45 460
1 1416 3 2 40 232
1 1534 3 2 30 315
1 852 2 1 36 178

构建矩阵 X ,这个矩阵包含了训练样本的所有特征向量:

X = \begin{bmatrix} 1 & 2104 & 5 & 1 & 45 \\ 1 & 1416 & 3 & 2 & 40 \\ 1 & 1534 & 3 & 2 & 30 \\ 1 & 852 & 2 & 1 & 36 \end{bmatrix}

对 y 做类似的事:

y = \begin{bmatrix} 460 \\ 232 \\ 315 \\ 178 \end{bmatrix}

最后通过如下方程计算使得代价函数最小化的 θ :

θ = (X^{T}X)^{-1}X^{T}y

一般情况下,假设有 m 个训练样本:

(x^{(1)},y^{(1)}),…,(x^{(m)},y^{(m)})

n 个特征向量:

x^{(i)} = \begin{bmatrix} x_{0}^{(i)} \\ x_{1}^{(i)} \\ x_{2}^{(i)} \\ … \\ x_{n}^{(i)} \end{bmatrix} \in \mathbb{R}^{n+1}

构建矩阵 X :

X = \begin{bmatrix} (x^{(1)})^{T} \\ (x^{(2)})^{T} \\ (x^{(3)})^{T} \\ … \\ (x^{(m)})^{T} \\ \end{bmatrix} = \begin{bmatrix} x_{0}^{(1)} & x_{1}^{(1)} & x_{2}^{(1)} & … &x_{n}^{(1)} \\ x_{0}^{(2)} & x_{1}^{(2)} & x_{2}^{(2)} & … &x_{n}^{(2)} \\ x_{0}^{(3)} & x_{1}^{(3)} & x_{2}^{(3)} & … &x_{n}^{(3)} \\ … \\ x_{0}^{(m)} & x_{1}^{(m)} & x_{2}^{(m)} & … &x_{n}^{(m)} \\ \end{bmatrix}

矩阵 X 是一个 m*(n+1) 维矩阵。

向量 y :

y = \begin{bmatrix} y^{1} \\ y^{2} \\ … \\y^{m} \\ \end{bmatrix}

最后,矩阵 X 和向量 y,可以通过计算:

θ = (X^{T}X)^{-1}X^{T}y

来得到 θ 。

使用Octave来执行正规方程

θ = (X^{T}X)^{-1}X^{T}y

该方程在Octave中的语句如下:

pinv(X'*X)*X'*y

梯度下降法 VS 正规方程

假设有 m 个特征量和 n 个特征量:

梯度下降算法 正规方程法
需要选择一个学习速率 α 不需要选择一个学习速率 α
需要多次迭代 不需要多次迭代
当 n 很大时也能良好运行 当 n 很大时,运行会很慢(复杂度:O(n^3))

通常 n < 10000 的情况下,建议使用正规方程。

相关文章

网友评论

      本文标题:1.4参数的计算分析

      本文链接:https://www.haomeiwen.com/subject/ojgidctx.html