zoukankan      html  css  js  c++  java
  • Normal Equation

    一、Normal Equation

     我们知道梯度下降在求解最优参数( heta)过程中需要合适的(alpha),并且需要进行多次迭代,那么有没有经过简单的数学计算就得到参数( heta)呢?

     下面我们看看Ng 4-6 中的房价预测例子:

     其中( m = 4, n = 4 )。在机器学习中,线性回归一般都增加额外的一列特征(x_0 = 1),其中我们特征矩阵(X)和值向量(y)分别为:

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

    egin{bmatrix}460\ 232\ 315\178end{bmatrix}

     而我们的参数( heta)为:

    egin{bmatrix} heta_0\ heta_1\ heta_2\ ...\ heta_nend{bmatrix}

     那最终的参数( heta)应该为:

    ( heta = (X^TX)^{-1}X^Ty)

     

    二、证明

     我们知道单位矩阵(E)有一个性质:

    ( A imes A^{-1} = A^{-1} imes A = E )

      首先:

    ( y = X cdot heta )

     左右同时乘(X^T):

    (X^Ty = X^TX cdot heta)

     左右再同时乘(X^TX^{-1}):

    ((X^TX)^{-1}X^Ty = (X^TX)^{-1}X^TX cdot heta)

     而我们已知矩阵的逆乘以矩阵得到单位矩阵(E):

    ((X^TX)^{-1}X^Ty = heta)

    三、和梯度下降作比较

     Normal Equation有一个好处:不需要进行Feature scaling,而Feature scaling对于梯度下降是必须的

     如何来选择使用哪种方法么呢?一般如果特征维度不超过1000的话,Normal Equation还是可选的。

     此外,如果((X^TX)^{-1})不可逆怎么办?

      1)确保不存在冗余特征,比如

      因为(1m = 3.28feet),所以(x_1 = (3.28)^2 * x_2),我们知道线性代数中出现这种线性相关的情况,其行列式值为0,所以不可逆,我们只需确保不会出现冗余特征即可。 

      2)特征数量(n)过多,而样本数量(m)过少:解决方法为删除一部分特征,或者增加样本数量。

     

    四、说明

     此文参考:https://blog.csdn.net/artprog/article/details/51172025

  • 相关阅读:
    vue自定义指令
    ZOJ Problem Set–2104 Let the Balloon Rise
    ZOJ Problem Set 3202 Secondprice Auction
    ZOJ Problem Set–1879 Jolly Jumpers
    ZOJ Problem Set–2405 Specialized FourDigit Numbers
    ZOJ Problem Set–1874 Primary Arithmetic
    ZOJ Problem Set–1970 All in All
    ZOJ Problem Set–1828 Fibonacci Numbers
    要怎么样调整状态呢
    ZOJ Problem Set–1951 Goldbach's Conjecture
  • 原文地址:https://www.cnblogs.com/always-fight/p/9777052.html
Copyright © 2011-2022 走看看