例子

假设:
我们有一个代价函数,我们想要获得最小值。
首先定义两个参数值为0,然后改变两个参数值取减少代价函数的值

在梯度算法中,想象自己在红色山顶(最高处),每走一步想下降速度最快的地方移动,然后再环顾四周,找到下降速度最快的方向移动。周而复始最后走到谷底。这就完成了一次梯度算法。

数学原理

看看背后的深层数学原理

本课程中
:=表示赋值的意思

=表示做等价判断或者声明

等式右边的是一个偏导数的计算

其中的参数阿尔法表示的是学习速度(learn rate),也就是下山所迈出的步子。

计算机实现的就是这两个过程,同时更新0,1两个参数值
而右边的则是错误表示。没有做到同步更新
梯度下降——同步更新

我们继续将参数变成一个。在阿尔法取正数时,我们所做的目的都是让参数取到最小。该偏导数的值可正可负,都会引导参数趋向最小值。

接下来我们谈谈参数阿尔法。在之前的例子中,阿尔法表示的是速率下降的快慢,也就是下山的步伐。上下两个例子分别列举了小,大两种情况。

太小时变化的过慢
太大会出现变化错误,不会找到最小的参数值——不会收敛(converge)甚至发散(diverge)

给出一个例子,假如说比较时参数达到了一个局部最低点。这时偏导数图像为一条水平直线也就是0.
之后梯度下降算法就维持到这一点。这也就是我们想要的结果。

这样就解释了即使学习速率阿尔法不变时,梯度下降算法也可以收敛到局部最低点。
从起始点向局部最小值收敛的过程中,偏导数的值在逐渐变小,梯度下降会自动采取较小的幅度,实际上就没有必要另外减小阿尔法,最终趋于局部最小收敛。

做到这里也就发现,梯度算法也不仅仅是在解决线性回归,而是在解决最小化任何代价函数J(x),
接下来我们要做的就是把他变为我们要处理的线性回归身上。
为两个参数求偏导得到下面两个式子。
在普通的代价函数中我们一看到,初始值不同后,我们趋向会是不同的局部最小值。
但是在线性代价函数中,会出现一个碗形结构——凸函数(convex function)。无论你初始值设在哪里都可以收敛到真实最小值
在我们列出假设函数与代价函数图像,进行线性回归梯度下降。当代价函数越往中心移动时,假设函数越拟合真实情况

这是我学习到的第一个机器学习算法称为——batch梯度下降算法
batch算法意味着每一次梯度下降,我们都在遍历整个训练集的样本。
后续课程会展示其他不同的梯度下降算法,有些是遍历部分样本的。

学到这里真的太辛运看到吴恩达老师的入门视频了,真的国外的教学视频由浅入深,照顾小白,不是应试教育的急功近利。不再是那些沙雕的python调库垃圾。谢谢吴老师!

机器学习(3)——梯度下降相关推荐

  1. 《机器学习》 梯度下降

     <机器学习> 梯度下降 2012-09-21 17:46 2712人阅读 评论(0) 收藏 举报 matrixc 参照<机器学习>这本书的第4.4.3节. 一.解决目标及 ...

  2. 吴恩达机器学习笔记-梯度下降

    通过前面的文章我们现在已经有了假设函数$h_\theta(x)$并知道如何度量这个函数与数据的符合程度,即代价函数$J(\theta_0,\theta_1)$取得最小值.那么现在要做的,就是如何去预估 ...

  3. 【机器学习】梯度下降的Python实现

    作者 | Vagif Aliyev 编译 | VK 来源 | Towards Data Science 梯度下降是数据科学的基础,无论是深度学习还是机器学习.对梯度下降原理的深入了解一定会对你今后的工 ...

  4. 机器学习中梯度下降法和牛顿法的比较

    在机器学习的优化问题中,梯度下降法和牛顿法是常用的两种凸函数求极值的方法,他们都是为了求得目标函数的近似解.在逻辑斯蒂回归模型的参数求解中,一般用改良的梯度下降法,也可以用牛顿法.由于两种方法有些相似 ...

  5. 机器学习中为什么需要梯度下降_机器学习 —— 多元梯度下降

    一.多维特征 前面所述的房价预测的线性模型,只用到了一维特征,即size,房屋尺寸,要用这个特征量来预测房屋价格: 当数据集的信息不止一种时,便有了多维特征,比如: 上图有四个X,即四个特征,来预测房 ...

  6. 唐宇迪​​机器学习实战——梯度下降求解逻辑回归(理论基础+源代码实现)

    问题的提出 符号问题,这里的lg就是指log2,你的理解是正确的!在计算机科学中有些符号的使用跟我们在数学中使用的有区别.比如有时候log用来表示自然对数(以e为底数).希望对你有帮助! 首先计算机科 ...

  7. Gradient Descen-univariate(吴恩达机器学习:梯度下降在线性模型的应用)

    梯度下降算法在Linear Regression中的应用 文章目录 梯度下降算法在Linear Regression中的应用 单变量(univariate) 题目:预测利润 处理Training se ...

  8. Gradient Descen-multivariate(吴恩达机器学习:梯度下降在线性模型的应用)

    梯度下降算法在Linear Regression中的应用 文章目录 梯度下降算法在Linear Regression中的应用 多变量(multivariate) 题目:预测房价 数据标准化 处理Tra ...

  9. 机器学习之--梯度下降和最小二乘法算线性回归

    o1 = 0 o2 = 0 o3 = 0 a = 0.002 x = [1,3,5,3,5,7,2,6,7,3,6,9,4,8,9,6,5,3,3,2,7,1,1,1,2,2,2,3,3,3,4,4, ...

  10. 机器学习(二)梯度下降

    在上一节(线性回归)中介绍,在线性回归中参数值θ\thetaθ是不一定可以求出的,但是可以通过梯度下降的方式可求. 在微积分里面,对多元函数的参数求偏导数,把求得的各个参数的偏导数以向量的形式写出来, ...

最新文章

  1. caffe 下一些参数的设置
  2. Linux综合大作业
  3. 可可肉的奋斗(第一天)2012-12-24
  4. KMP算法---字符串匹配
  5. asp.net运行机制
  6. System.Linq捉虫记 | 论变量命名的重要性
  7. C++学习之路 | PTA乙级—— 1048 数字加密 (20 分)(精简)
  8. 4.3.1 jQuery基础(2)
  9. 201771010101白玛次仁《面向对象程序设计(java)》第十二周实验总结
  10. 《Android 面试指南》
  11. 帅地鸽了大半年,一个专注于面试、基础知识、算法的小破站上线了
  12. 电脑浏览器打不开html文档,电脑浏览器打不开本地html文件
  13. 用Visual C#.NET编写服务器日期控件
  14. YII框架源码分析(百度PHP大牛创作-原版-无广告无水印)
  15. K3终极折腾记<一>
  16. OSPF路由器类型 ABR与ASBR路由聚合区别
  17. 人工智能-语音交互-NLP自然语言(三) 语法-敲黑板
  18. Linux基础知识------账号和权限管理
  19. 洛谷P1789 【Mc生存】插火把
  20. 操作系统知识总结与常见面试题(持续更新)

热门文章

  1. 信号与系统matlab pdf,信号与系统及MATLAB实现.pdf
  2. python学习之路:python连接阿里云ODPS
  3. zookeeper-3.4.14+codis-3.2.0集群部署(详细版)
  4. GUI Toggle
  5. (红帽系统)redhat7.2 相关服务器配置
  6. 统计所有n阶方阵(n>0)中既满足自反性规则又满足对称性规则的方阵数量(注:矩阵元素值仅为0或1)
  7. 应用内接入激励广告全步骤教程,助力流量高效变现
  8. 【算法】A-star 算法摘录整合
  9. Compile IceE under Android NDK
  10. 金融帝国实验室(Capitalism Lab)官方中文整合包(MOD模组/专业XGQ)_v8.0.15(2022.04.03更新)