• 吴恩达机器学习笔记——梯度下降算法(1)


           在单变量线性回归问题中,主要有两个功能函数,分别为假设函数(Hypothesis)和代价函数(Cost Function),

    其中假设函数为线性函数,本文中设为hθ(x) = θ0 + θ1*x;

    其代价函数为J(θ0,θ1) = 1 / ( 2 * m ) * Σ(h(x(i)) - y(i))2

    x(i):训练集中的第i组数据

    y(i):训练集中的第i组结论

           我们需要解决的问题是在单变量线性回归问题中,确定θ的值使代价函数取得最小值,而我们知道J(θ)在二维(如果是多维取偏导数)中的取值类似于弓形,如下图所示,所以我们使用梯度下降算法逐步迭代找出使得J(θ)值最小时候的θ值。

    梯度下降算法的描述可以表示为:

    其中α为学习速率,可以控制步伐。

    需要注意的是,算法中的两个theta值必须保证同时更新,梯度下降算法求得的是局部最优解。

    以此类推,多元线性回归问题梯度下降算法的过程如下:

    Hypothesis:

      hθ(x) = θTx = θ0x0 + ...+θnxn

    Parameters:

      θ01,...,θn

    Cost Function:

      J(θ0,θ1,...,θn) = 1 / ( 2 * m ) * Σ(hθ(x(i)) - y(i))2

    Gradient Descent:

       ,即

      Repeat{

        θj := θj - α * (1/m)Σ(hθ(x(i)) - y(i)) * xj(i)

      }(j = 0,1,2,...,n)

  • 相关阅读:
    第08组 Alpha冲刺 (2/6)
    第08组 Alpha冲刺 (1/6)
    结对编程作业
    第01组 Alpha冲刺总结
    第01组 Alpha冲刺(6/6轮)
    第01组 Alpha冲刺(6/6)
    第01组 Alpha冲刺(5/6)
    第01组 Alpha冲刺(5/6轮)
    第01组 Alpha冲刺(4/6)
    第01组 Alpha冲刺(3/6)
  • 原文地址:https://www.cnblogs.com/z1174299705/p/8807907.html
Copyright © 2020-2023  润新知