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

  • 相关阅读:
    《算法笔记》8.1小节——搜索专题->深度优先搜索(DFS)
    [xdoj]1303jlz的刷题黑科技
    [xdoj]1299&1300朱神的烦恼 朱神的序列
    [洛谷]p1996约瑟夫环 &xdoj1311
    [xdoj] 1310 DSKer的卡牌游戏
    [xdoj] 1301&1302 数字计数 数字计数的复仇
    随手快递app开发第十六天
    随手快递app开发第十五天
    随手快递app开发第十四天
    随手快递app开发第十三天
  • 原文地址:https://www.cnblogs.com/always-fight/p/9777052.html
Copyright © 2011-2022 走看看