1 基本概念

1)定义

梯度下降法,就是利用负梯度方向来决定每次迭代的新的搜索方向,使得每次迭代能使待优化的目标函数逐步减小

梯度下降法是2范数下的最速下降法。 最速下降法的一种简单形式是:x(k+1)=x(k)-a*g(k),其中a称为学习速率,可以是较小的常数。g(k)是x(k)的梯度。

梯度其实就是函数的偏导数。

2)举例

对于函数z=f(x,y),先对x求偏导,再对y求偏导,则梯度为(,)。

比如,偏导=4x,=6y。则在(2,4)点的梯度(8,24)。

2 梯度下降在线性回归中的应用

假定函数为如下形式:

cost function采用最小均方损失函数:

这个错误估计函数是对x(i)的估计值与真实值y(i)差的平方和(梯度下降要考虑所有样本)作为错误估计函数,前面乘上的1/2是为了在求导的时候,这个系数就不见了。

我们的目标是选择合适的,使得cost function的值最小。

接下来介绍梯度减少的过程,即对函数求偏导。因为是线性函数,对每个分量\theta _{i}求编导的时候,其它项为0。

更新的过程,也就是θi会向着梯度最小的方向进行减少。θi表示更新之前的值,-后面的部分表示按梯度方向减少的量,α表示步长,也就是每次按照梯度减少的方向变化多少。

一个很重要的地方值得注意的是,梯度是有方向的,对于一个向量θ,每一维分量θi都可以求出一个梯度的方向,我们就可以找到一个整体的方向,在变化的时候,我们就朝着下降最多的方向进行变化就可以达到一个最小点,不管它是局部的还是全局的。

3 梯度下降在逻辑回归中的应用
对数损失函数:
由于y 只能等于0或1,所以可以将逻辑回归中的Cost function的两个公式合并,具体推导如下:
故逻辑回归的Cost function可简化为:
注意中括号中的公式正是对逻辑回归进行最大似然估计中的最大似然函数,对于最大似然函数求最大值,从而得到参数(\theta\)的估计值。反过来,这里为了求一个合适的参数,需要最小化Cost function,也就是:
minθJ(θ)

而对于新的变量x来说,就是根据hθ(x)的公式输出结果:

与线性回归相似,这里我们采用梯度下降算法来学习参数θ,对于J(θ):

目标是最小化J(θ),则梯度下降算法的如下:

对J(θ)求导后,梯度下降算法如下:

注意,这个算法和线性回归里的梯度下降算法几乎是一致的,除了hθ(x)的表示不同。

4 参考文献:

梯度下降算法,http://blog.sina.com.cn/s/blog_62339a2401015jyq.html

梯度下降法,http://deepfuture.iteye.com/blog/1593259

斯坦福大学机器学习第六课“逻辑回归,http://52opencourse.com/125/coursera%E5%85%AC%E5%BC%80%E8%AF%BE%E7%AC%94%E8%AE%B0-%E6%96%AF%E5%9D%A6%E7%A6%8F%E5%A4%A7%E5%AD%A6%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%AC%AC%E5%85%AD%E8%AF%BE-%E9%80%BB%E8%BE%91%E5%9B%9E%E5%BD%92-logistic-regression

BP算法浅谈,http://blog.csdn.net/pennyliang/article/details/6695355

5 收获

1)了解了梯度的概念;

2) 复习了导数公式、偏导数的概念;

3)对梯度下降公式进行了推导,掌握更牢固。

梯度下降原理及在线性回归、逻辑回归中的应用相关推荐

  1. 梯度下降原理及线性回归代码实现(python/java/c++)

    "梯度下降"顾名思义通过一步一步迭代逼近理想结果,当达到一定的精度或者超过迭代次数才退出,所以所获得的结果是一个近似值.在其他博客上面基本都有一个通俗的比喻:从山顶一步步下山.下面 ...

  2. 线性回归 逻辑回归

    分类就是到底是1类别还是0类别. 回归就是预测的不是一个类别的值,而是一个具体的值,具体借给你多少钱哪? 一.回归分析 回归分析(英语:Regression Analysis)是一种统计学上分析数据的 ...

  3. 线性回归+逻辑回归+过拟合+模型评估笔记

    笔记 什么是线性回归 具体的内容 参数计算 什么是逻辑回归?(什么问题) 具体的内容(怎么解决的?) 建立预测函数(线性回归再套一个函数) Sigmoid函数(Logistic函数) 损失函数 逻辑回 ...

  4. 吴恩达深度学习 —— 2.9 逻辑回归中的梯度下降法

    这一节讨论怎么计算偏导数来实现逻辑回归的梯度下降法,它的核心关键点是其中有几个重要法公式用于实现逻辑回归的梯度下降法. 这里将使用导数流程图来计算梯度,必须承认,用导数流程图来计算逻辑回归的梯度下降有 ...

  5. 逻辑回归中的梯度下降法

    梯度下降法:该算法是一个一阶最优化算法,通过向函数上当前点对应梯度(或近似梯度)的反方向的规定步长距离点进行迭代搜索找到一个函数的局部极小值. 以一元函数为例说明梯度下降法: w的更新会朝着成本函数J ...

  6. 小白也能懂--逻辑回归中损失函数的难点理解

    写下此文是因自己在学习的过程中对逻辑回归的损失函数定义有所疑惑,查了诸多资料才得以理解,因此在此记录下来,一是为来日忘却时能够回来查阅,二是希望为有同样困惑的伙伴提供一点帮助. 1. 逻辑回归(Log ...

  7. 逻辑回归中的损失函数的解释

    1.Logistic Regression(逻辑回归) 逻辑回归是机器学习中的一个非常常见的模型, 逻辑回归模型其实仅在线性回归的基础上,套用了一个逻辑函数. 逻辑回归可以看做是两步,第一步和线性回归 ...

  8. 理解逻辑回归中的ROC曲线和KS值

    1.回归和分类任务 分类和回归都属于监督学习(训练样本带有信息标记,利用已有的训练样本信息学习数据的规律预测未知的新样本标签) 分类预测的结果是离散的(例如预测明天天气-阴,晴,雨) 回归预测的任务是 ...

  9. 理解逻辑回归中的后验概率和损失函数

    一.理解后验概率 在LR中, 后验概率 .很多人不禁会问,为什么要这么计算?  这里通过对后验概率的推导,并结合sigmod,来谈谈自己的看法. 首先,由贝叶斯公式得                 ...

最新文章

  1. jdk 环境配量配置
  2. 苹果公司开发Overton机器学习平台,它到底是什么?
  3. Centos下Linux下解决root用户Operation not permitted
  4. SpringBoot的整合————一些常用工具类依赖及用法总结
  5. 保存到redis的字符串类型出现斜杆_深入浅出Redis:这次从Redis底层数据结构开始...
  6. k8s+jenkins
  7. 安徽大学836数字电路与逻辑设计考研历年真题库资料
  8. Heckman 两阶段法及与工具变量法的区别
  9. Soui Button学习一
  10. 怎么样学习Java?
  11. mro python_Python进阶-继承中的MRO与super
  12. git使用报错:fatal: Couldn‘t find remote ref master的解决方法
  13. 全球首发!惯性导航导论(剑桥大学)第三部分
  14. SVPWM的一些理解
  15. 如何解决报错500的问题
  16. 3blue1brown线性代数的本质笔记
  17. 晶体管是什么,它的作用有哪些
  18. c++多线程调用python脚本
  19. win7提示“Windows资源管理器已经停止工作”有什么好的解决办法
  20. matlab实现航班进离场排序,航班离场排序问题的遗传算法设计

热门文章

  1. 读取Excel表格数据到DataGridView中
  2. 阶段-关口系统-stage2立项分析阶段---学习记录
  3. lk启动流程详细分析
  4. 慕课网初识python_初识Python笔记
  5. war项目主页跳转找不到_找不到优秀的开源项目?快来看看 11 月入选的码云 GVP...
  6. Vue实例里this的使用
  7. Linux集群架构(下)——DR模式、keepalived+LVS
  8. 交叉编译Open***-2.4.3
  9. JS_ECMA基本语法中的几种封装的小函数-1
  10. WCF传送大数据时的错误“ 超出最大字符串内容长度配额”