美文网首页
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