吴恩达机器学习——代价函数与梯度下降

洛叶飘 发表于 2022/01/12 18:21:58 2022/01/12
【摘要】 续上篇在上一篇文章《吴恩达机器学习课程——单变量线性回归》中,我们了解了线性回归的基本概念以及代价函数的数学表达式。今天继续来研究一下这个数学函数。 代价函数的图像在线性回归中,我们假设其函数为:h(x) = ax + b,我们假设b = 0,则假设函数为:h(x) = ax代价函数为:对于固定的测试数据集合,其中的m, x(1…m),y(1…m)都是固定的,也就是说,J(a)是一个以a为...

续上篇

在上一篇文章《吴恩达机器学习课程——单变量线性回归》中,我们了解了线性回归的基本概念以及代价函数的数学表达式。今天继续来研究一下这个数学函数。

img

代价函数的图像

在线性回归中,我们假设其函数为:h(x) = ax + b,我们假设b = 0,则假设函数为:

h(x) = ax

代价函数为:

image-20220112162923346

对于固定的测试数据集合,其中的m, x(1…m),y(1…m)都是固定的,也就是说,J(a)是一个以a为自变量,J(a)值为因变量的函数,自然,我们就可以画出其函数图像。

若只有一个自变量a,则可以使用平面直角坐标系表示(a, J(a))的图像关系,通常情况下,其图像如下所示:

image-20220112163127238

上图左侧是h(x)的图像,右侧是对应每一个可能的取值a,即图中的θ1,J(θ1)的取值图像。

当不忽略b的取值时,代价函数为J(θ0,θ1),其图像很有可能是类似下图的3D曲面图与等高线图:

image-20220112164003170

梯度下降: Gradient descent

梯度下降:一种可以自动找到使代价函数J(θ0,θ1)最小的θ0,θ1的算法。

其思路是:

  1. start with some θ0,θ1, 以某些取值开始,通常令θ0 = 0,θ1 = 0 ;
  2. 不断的改变θ0,θ1的值,降低J(θ0,θ1)
  3. 直到找到一个最小值(可能是全局最小值,也可能是局部最小值)

第一次选择的起始点不同,得到的局部最小值可能不同。

其搜索路径如下图:

image-20220112164518256

梯度下降算法的定义:

image-20220112165727419

其中,

convergence: 收敛
“:=” 表示赋值;
α表示学习率(learning rate),用来控制梯度下降时我们迈出多大的步子,如果α很大,梯度下降就很迅速,我们会用大步子下山;如果α很小,那么我们会迈着很小的小碎步下山。

image-20220112172253401 表示其导数项。

对这个方程,你需要**同步更新(simultaneously update)(θ0,θ1)。吴恩达老师特意强调了,在更新θ0,θ1时,必须同步更新,以下更新方式是错误的:

image-20220112172108297

无论导数正负,都可以将变化趋势向最低点靠近:

image-20220112173100466

不同的α值的搜索效果如下图所示:如果太小会造成搜索过慢,如果太大则有可能不收敛失败。

image-20220112173150810

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区),文章链接,文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:cloudbbs@huaweicloud.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。