zoukankan      html  css  js  c++  java
  • 吴恩达机器学习笔记——梯度下降算法(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)

  • 相关阅读:
    爬虫示例
    S20_DAY23--课堂笔记
    python--常用模块之正则
    S20_DAY22--课堂笔记
    win10系统重装
    CCF 命令行选项
    CCF 任务调度
    CCF 出现次数最多的数
    CCF ISBN
    CCF 最大的矩形
  • 原文地址:https://www.cnblogs.com/z1174299705/p/8807907.html
Copyright © 2011-2022 走看看