梯度下降

梯度下降是一个用来求函数最小值的算法,我们将使用梯度下降算法来求出代价函数J(θ0,θ1)J(\theta_0,\theta_1)J(θ0​,θ1​)的最小值。
这里可以想象一下下山的画面

假如你正站立在你想象的公园这座红色山上,在梯度下降算法中,我们要做的就是旋转 360 度,看看我们的周围,并问自己要在某个方向上,用小碎步尽快下山。这些小碎步需要朝什么方向?如果我们站在山坡上的这一点,你看一下周围,你会发现最佳的下山方向,你再看看周围,然后再一次想想,我应该从什么方向迈着小碎步下山?然后你按照自己的判断又迈出一步,重复上面的步骤,从这个新的点,你环顾四周,并决定从什么方向将会最快下山,然后又迈进了一小步,并依此类推,直到你接近局部最低点的位置(局部最优)。
批量梯度下降的公式:

其中α\alphaα是学习率它决定了我们沿着能让代价函数下降程度最大的方向向下迈出的步子有多大,在批量梯度下降中,我们每一次都同时让所有的参数减去学习速率乘以代价函数的导数。

在梯度下降算法中,还有一个更微妙的问题,梯度下降中,我们要更新θ0\theta_0θ0​和θ1\theta_1θ1​ ,当 j= 0和j = 1时,会产生更新,所以你将更新J(θ0)J(\theta_0)J(θ0​)和J(θ1)J(\theta_1)J(θ1​)。实现梯度下降算法的微妙之处是,在这个表达式中,如果你要更新这个等式,你需要同时更新θ0\theta_0θ0​和θ1\theta_1θ1​,更新方法如下图所示:

梯度算法是做什么的,更新过程的意义

梯度下降算法

让我们看看这条红色直线的斜率,就是这条刚好与函数曲线相切的这条直线,这条直线的斜率正好是这个三角形的高度除以这个水平长度,现在,这条线有一个正斜率,也就是说它有正导数,因此,我得到的新的θ0\theta_0θ0​, θ1\theta_1θ1​更新后等于θ1\theta_1θ1​减去一个正数乘以α\alphaα。假设 θ1\theta_1θ1​在左边的时候,我得到的新的θ0\theta_0θ0​, θ1\theta_1θ1​更新后等于θ1\theta_1θ1​减去一个负数数乘以α\alphaα,最终的目的就是求最小值。
其中α\alphaα是学习速率,相当于下山的时候迈的步子,当然如何选取一个合适的学习速率是非常重要的:1.如果α\alphaα太小了,即我的学习速率太小,结果就是只能这样像小宝宝一样一点点地挪动,去努力接近最低点,这样就需要很多步才能到达最低点,所以如果α\alphaα太小的话,可能会很慢,因为它会一点点挪动,它会需要很多步才能到达全局最低点。
2.如果α\alphaα太大,那么梯度下降法可能会越过最低点,甚至可能无法收敛,下一次迭代又移动了一大步,越过一次,又越过一次,一次次越过最低点,直到你发现实际上离最低点越来越远,所以,如果α\alphaα太大,它会导致无法收敛,甚至发散。

梯度下降的线性回归

梯度下降算法和线性回归算法比较如图:

对我们之前的线性回归问题运用梯度下降法,关键在于求出代价函数的导数,即:

这种算法也称为批量梯度下降(因为在每次一次更新中,都要对m个训练样本求和)。

吴恩达机器学习笔记三相关推荐

  1. 吴恩达机器学习笔记三之逻辑回归

    本节目录: 分类问题 假说表示 判定边界 代价函数 高级优化 多类别分类 1.分类问题 在分类问题中,我们尝试预测的是结果是否属于某一个类(例如正确或错误).分类问 题的例子有:判断一封电子邮件是否是 ...

  2. 吴恩达机器学习笔记第一周

    第一周 吴恩达机器学习笔记第一周 一. 引言(Introduction) 1.1 欢迎 1.2 机器学习是什么? 1.3 监督学习 1.4 无监督学习 二.单变量线性回归(Linear Regress ...

  3. 吴恩达机器学习笔记整理(Week6-Week11)

    1. Week 6 1.1 应用机器学习的建议(Advice for Applying Machine Learning) 1.1.1 决定下一步做什么 到目前为止,我们已经介绍了许多不同的学习算法, ...

  4. 【经典】吴恩达——机器学习笔记001

    [经典]吴恩达--机器学习笔记001 机器学习(Machine Learning)笔记001 学习地址:[中英字幕]吴恩达机器学习系列课程 文字版参考及PPT来源:Coursera-ML-Andrew ...

  5. 吴恩达机器学习笔记整理(Week1-Week5)

    吴恩达机器学习笔记整理 1. Week1 1.1 什么是机器学习(What is Machine Learning) 1.2机器学习算法分类 1.3 单变量线性回归(Linear Regression ...

  6. 吴恩达机器学习笔记55-异常检测算法的特征选择(Choosing What Features to Use of Anomaly Detection)

    吴恩达机器学习笔记55-异常检测算法的特征选择(Choosing What Features to Use of Anomaly Detection) 对于异常检测算法,使用特征是至关重要的,下面谈谈 ...

  7. 吴恩达机器学习笔记:(四)矩阵、多元梯度下降

    吴恩达机器学习笔记 矩阵基础知识 矩阵逆运算 矩阵的转置 实践乘法 多元梯度下降 特征缩放 学习率α 矩阵基础知识 矩阵逆运算 矩阵的转置 实践乘法 多元梯度下降 特征缩放 学习率α 学习率的选择:

  8. 吴恩达机器学习笔记:(一)机器学习方法简介

    吴恩达机器学习笔记 Supervised Learning(监督学习) Unsupervised Learning(无监督学习) clustering 聚类算法 market segments 市场细 ...

  9. 吴恩达机器学习笔记week8——神经网络 Neutral network

    吴恩达机器学习笔记week8--神经网络 Neutral network 8-1.非线性假设 Non-linear hypotheses 8-2.神经元与大脑 Neurons and the brai ...

最新文章

  1. 干货丨机器学习必备:前20名Python人工智能和机器学习开源项目
  2. 【Android 逆向】Android 系统文件分析 ( /proc/pid 进程号对应进程目录 | oom_adj | maps | smaps | mem | task | environ )
  3. HDU 4883 Best Coder Round 2 TIANKENG’s restaurant 解读
  4. 拼多多发布“3.8女神节”数据:超过70%女性自购鲜花
  5. tde数据库加密_在其他服务器上还原启用了透明数据加密(TDE)的数据库
  6. 服务器主动发送fin信号,tcp 服务器向客户端发送FIN
  7. eclipse调试linux内核,Ubuntu下使用Eclipse+CDT+UML调试linux内核
  8. linux 设备驱动之8250串口驱动分析
  9. 雪花算法详解及存在问题
  10. 190107每日一句
  11. 如何把软件Origin切换变成中文显示?
  12. java操作txt文件目录
  13. 戴维解惑——用iTestin云测做测试怎样拿大奖
  14. Excel2016通过宏生成拼音码
  15. 广东省考计算机面试题,广东省考面试心得 -电脑资料
  16. 凑辣荷丶换怂档屯览破擦丶笛丶北
  17. mysql8多值索引(Multi-Valued Indexes)使用方法和性能测试
  18. Linux 打包压缩-文件打包-打包工具【tar】命令使用简介
  19. IBM推出蓝色基因二代产品蓝色基因/P(转)
  20. 第一个小程序 – 百纯起名

热门文章

  1. 吹牛的资本之Hibernate框架,五分钟搞定Hibernate...
  2. 加码自动驾驶,四维图新开启长期战争
  3. Qt使用workflow
  4. 渲染时间过长?这些参数设置学起来
  5. EES 思宇框架升级 RTM 2.0
  6. wps文字退格会删掉文字_wps文档中第一行字后面有很多空格,可是第二行就是上不来,按删除键就会把第一行字删了,为什么...
  7. Cocos2d-x事件分发机制概述
  8. STM32fxx 按键
  9. Redis指令详解-HLL相关指令
  10. 教师管理系统的设计与实现