zoukankan      html  css  js  c++  java
  • 5.机器学习第二周(2)

    Computing Parameters Analytically

    1 Normal Equation(正规方程)

    Gradient descent gives one way of minimizing J. Let’s discuss a second wayof doing so, this time performing the minimization explicitly and withoutresorting to an iterative algorithm. In the "Normal Equation" method, we will minimize J byexplicitly taking its derivatives with respect to the θj’s, and setting them tozero. This allows us to find the optimum theta without iteration. The normal equation formula is given below:

    $$ heta = (X^T X){-1}XT y$$

    img

    There is no need to do feature scaling with the normal equation.

    The following is a comparison of gradient descent and the normal equation:

    Gradient Descent Normal Equation
    Need to choose alpha No need to choose alpha
    Needs many iterations No need to iterate
    O ($$kn^2$$) O ($$n^2$$), need to calculate inverse of $$X^TX$$
    Works well when n is large Slow if n is very large

    With the normal equation, computing the inversion has complexity O($$n^3$$). So if we have a very large number of features, the normal equation will be slow. In practice, when n exceeds 10,000 it might be a good time to go from a normal solution to an iterative process.

    2. Normal Equation Noninvertibility

    When implementing the normal equation in octave we want to use the 'pinv' function rather than 'inv.' The 'pinv' function will give you a value of θ even if $$X^TX$$ is not invertible.

    If $$X^TX$$ is noninvertible, the common causes might be having :

    • Redundant features, where two features are very closely related (i.e. they are linearly dependent)
    • Too many features (e.g. m ≤ n). In this case, delete some features or use "regularization" (to be explained in a later lesson).

    Solutions to the above problems include deleting a feature that is linearly dependent with another or deleting one or more features when there are too many features.

  • 相关阅读:
    Android调用Webserive
    SSD算法思想和结构详解
    第五章-一起看决策树如何做出决策?
    第四章-朴素贝叶斯朴素吗?
    第三章-KNN(分类和回归算法模型)
    第二章-感知机
    第一章-统计学习方法概论
    c语言 宏定义和全局变量,认识循环语句
    运算符注意事项
    c语言的scanf函数注意事项
  • 原文地址:https://www.cnblogs.com/flysevenwu/p/6146841.html
Copyright © 2011-2022 走看看