机器学习_1.3(线性回归之梯度下降+总结)

在前两篇中我们讨论了线性回归和代价函数,其中大致给出了算法的具体思路,其中最主要的还是通过代价函数来获取假设函数中的θj的值,并以此来确定假设函数。

接下来我们来看梯度下降算法

梯度下降算法

不仅仅局限于线性回归的代价函数,还可以解决更一般的函数J(θ1,θ2……θ(n-1)θ(n)),接下来我们为了方便起见,先来讨论J(θ1,θ2)的情况。

现在我们有一个这样的代价函数的模型:

在这里插入图片描述

在梯度下降算法中,我们要做的就是环视当前选定点的周围看看有没有更低的点,让我们尽快走到最低的地方去。

在这里插入图片描述

会拿到这样一条路径,如果你向左边偏移一些,你可能会获得另一条不同的路径,我们把这些解称作为局部最优解。这是梯度下降算法的一个特点。

接下来我们来看梯度下降算法的定义:

在这里插入图片描述

“:=”是一个赋值操作,我们在这个过程中需要同步更新θ1和θ2的值,就像下面的四个步骤一样
“α”是一个被称为学习效率的数字,你可以理解成每次向下迈步,你的步伐是多大,α越大,你就会越快取到最小的值。
Θ每次都是减去 α乘上代价函数对于θj的偏导数,你可以理解成斜率,没问题。

我们来讨论一个变量,也就是代价函数坐标二维的情况。

在这里插入图片描述

我们随机初始化一个点,需注意“α”永远是一个正数,此时斜率是一个正数,在我们循环对θ1进行更新的时候,理所应当会越来越趋向局部最小值所在的方向,并且所采取的步幅也会越来越小。

代价函数和梯度下降结合得到线性回归算法。

在这里插入图片描述
在这里插入图片描述
我们从最右侧的红点出发,利用公式不断对θj进行更新,那么我们的假设函数也会不断对应的进行修改,当我们的代价函数J越来越接近最优解假设函数h(x)也会更好的拟合训练样本。

称作“batch梯度下降”,每次下降我们都遍历了整个训练集合,因为我们对偏导进行了求解。

总结

在这三篇中,我们讨论了第一个机器学习的算法——线性回归,我们来做一个小结:首先我们确定了我们的训练样本(有监督学习)之后,对数据利用简单函数复合对数据内容提出一个假设函数h(x),h(x)中有多个θj需要我们求解,此时引入代价函数,让代价函数取得最低点的所有θj的取值便是假设函数中θj的值,紧接着我们需要对代价函数利用梯度下降算法步步迭代,最终拿到θj的最小值。

恭喜你学习了第一个机器学习算法。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值