前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >吴恩达机器学习笔记10-10分钟理解梯度下降法

吴恩达机器学习笔记10-10分钟理解梯度下降法

作者头像
讲编程的高老师
发布2020-08-14 10:21:30
7800
发布2020-08-14 10:21:30
举报
文章被收录于专栏:讲编程的高老师

本文是吴恩达《机器学习》视频笔记第10篇,对应第1周第10个视频。

“Linear regression with one variable——Gradient descent”

01

视频

02

笔记

概述:

本视频介绍如何通过梯度下降法求线性模型代价函数的最小值,但是要注意的是,梯度下降法可以用来求很多函数的最小值。

问题描述:

  • 假设我们有一个函数 , 我们希望通过调整 来让 最小。

算法:

  • 给 赋个初值;
  • 不停的改变 ,使代价函数变小;
  • 直到代价函数变的非常小,达到我们的预期,结束;

当然,这个参数可以很多,我们为了让问题简化,先只看两个参数的情况。

问题的图形化描述:

大家想一下,这不就是下图这样一个在三维空间中的面么?

如果我们把自己想象成上图中凹凸不平的面上的一个小小的点。从十字叉那个点出发,我们应该往哪边走,才有可能到达最低点呢?

如果我们有上帝视角,可以很轻松看到哪个点是最低点。但“不识庐山真面目,只缘身在此山中”,我们该怎么办呢?这个时候,我们肯定想拿一个高度计,每走一步都希望高度在降低,然后尽快到达山下,可能会走出下面图中的轨迹。

如果我们起始点往右边偏一点,同样的办法可能会得到不一样的路径。

当然,可能会收敛到不同的局部最优解那里。

梯度下降算法描述

有了图形的感性认识,我们来看看它的算法描述。

我们把问题进一步简化,把它看成是二维平面上的代价函数J,这个时候我们的模型就简化成只有一个参数

,如下面的图,在图中涂抹的那个点,如果这个点处的导数小于0,我们知道往前走就是下降的,就继续往前直到导数为0,我们就到达了一个局部最低点。当然,如果步子迈的大一点,就会快一点到达局部最低,不过也更可能步子太大了;如果步子小一点呢,收敛的速度就会慢一点。

如果扩展到三维空间,我们就把导数换成偏导数,如下图

上面的式子,如果认真分析一下,它是很好玩的。因为这个事,它本质上和我们在一个山坡上怎样一点一点挪到山底这件事是一样的。

更深入的理解梯度下降,需要一点点微积分的知识。

那,梯度下降法具体该怎么应用呢?后面的两个视频会继续深挖。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-07-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 讲编程的高老师 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 问题的图形化描述:
  • 梯度下降算法描述
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档