3. 机器学习中为什么需要梯度下降_机器学习中,梯度下降算法的问题引入

0f440e0b1743ddfcb30b63b2f3c479f5.gif 82ab5158c812cfadafca6e8e1461e4d9.png

来源 | 动画讲编程

今天讲解的内容是梯度下降算法。 梯度下降算法在机器学习中的应用十分广泛,该算法的最主要目的是通过迭代的方法找到目标函数的最小值,经常用来解决线性回归和逻辑回归等相关问题。本节课主要讲解梯度下降算法解决一元线性回归问题,包括四个部分,问题引入、数学理论、算法实现、上机实验

7dda44898c72adc70f3808110c5753a5.png

问题引入 7f49572922b6af354419f1d15d5280d8.png 来看一个生活中的例子。在买房的时候,房屋价格是人们最关心的问题,都希望买到性价比高的房子。有很多特征影响房屋的价格,例如面积、地理位置、交通、楼层、绿化程度等等。其中面积与房价最为相关。 d0c8060b4bfab518f278f796982f2b4d.png

f775f7915864a60d36aef2f81724f666.png

数学理论 来看一组数据,数据包括8套房屋的面积和成交价格的对应关系。 例如,0号房子面积为50平米,成交价为280万。那么是否可以根据这组数据,找到房子面积和成交价格的对应关系,从而未来利用这个关系,根据面积,计算出价格呢?为了更明显的观察出面积和价格之间的关系,将这组数据标记在坐标系中,其中横坐标表示面积,纵坐标表示价格。 de4c1c522461028d7dcc2efea1531983.png 可以发现,这些离散的点之间存在着线性关系,我们可以使用一条直线来描述这种线性关系,使得这些点尽量均匀的分布在直线两侧。因为通过一条直线近似表示自变量与因变量的关系,所以被称为线性回归。而只有一个自变量,面积影响因变量价格,所以是一元线性回归。 084dbef184adb2fa713bbe6a03e32ad2.png 我们使用平面上的直线来描绘一元线性回归的线性关系。直线方程hθ(x)=θ0 + θ1x,其中x代表面积,hθ(x)代表预测的房价,方程有两个参数,截距θ0和斜率θ1,当θ0和θ1 取不同的值时,可以得到不同的直线方程hθ(x)。后面就要找出最合适的θ0和θ1,使得直线hθ(x)最好的描绘出面积和价格的关系。 a9e3803508a710adf0142c0c9c2b7be3.png

a40346263d647b44b35588ff8409cc37.png

算法实现 尝试画出几组直线表示房屋面积和房价。例如,当θ0 = 0 ,θ1 = 4 时,得到图像1,很明显,斜率偏小,截距偏小。修改θ0 = 10,θ1 = 5,得到图像2,这条直线就基本符合面积和价格的关系了。 21a72ecbcef75320ad52296f5bcfec93.png 在此基础上,我们可以继续调整,挑选出一条最合适的直线。但是这时又出现一个问题,在调整过程中,直线变化不大,很难通过直观感受判断哪条直线最符合面积和房价之间的关系。 71d16f6bcc703a91bc237587b37d697f.png 这时就需要使用均方误差来精确的选出最合适的直线,即最合适的θ0和θ1。 均方误差,MSE,mean square error,是反映真实值与预测值之间差异程度的一种度量。在样例数据中,真实房价与预测房价之间的差异程度,就可以使用均方误差来衡量。均方误差越小,说明用来预测的直线就越合适。 15a557fae1e9296308c39038a9608268.png 假如有m个样本,每个样本为平面中的一个点,第i个样本表示为xi,yi。例如,表中有8个样本,m=8,x代表面积,y代表价格,x0=50,y0=290,x1=60,y1=305。预测直线为hθ(x)=θ0+θ1x,那么hθ(x0),hθ(x1),hθ(xi)分别为第0个,第1个,第i个样本的预测值。这里如果我们选定了某个预测直线,那么θ0,θ1也就确定了,从而根据直线公式和房屋面积,也可以将样本的预测值计算出来。 4a0366d0cdca3ec4d527de540e789739.png 均方误差的公式为,m分之sigema i= 1累加至m  h θ xi 减 yi 差的平方,其中m为样本的个数, h θ xi 为第i个样本的直线预测值,yi为第i个样本的真实值。那么均方误差公式即求m个样本的直线预测值与真实值差的平方和,再取平均。 ae349835dc2f6cb7cdaacde14457650b.png

d35168648b7fbfdff54d652a9cc07653.png

上机实验

例如,假如预测直线的θ0 =10,θ1 = 5,即h(x) = 5x +10。那么8个样本,根据面积,可以计算预测价格为260,310,360,410,460,510,560,610。通过均方误差公式,得到均方差为268.75。不同的θ0和θ1会计算得到不同的均方差,均方差越小,θ0和θ1就越合适。 19868eee43d05c3781fdaad34a0d26e3.png 在此基础上,定义代价函数J(θ)为1/2倍的均方误差,由于样本的个数m,每个样本的横坐标x和纵坐标y都是已知的,所以代价函数J(θ)中的未知数为直线方程的截距θ0与斜率θ1。那么问题就转化为,求出一组θ0和θ1,使得代价函数J(θ)取得最小值。 af938af195308a72b8a68affe394c391.png 例如,表格中有3个样本,x0,y0,x1,y1,x2,y2。预测直线为hθ(x)=θ0+θ1x,那么将J(θ)展开得到关于θ0与θ1的二元表达式。即求J(θ0,θ1)中使取得最小值θ0,θ1。 cc3bf0ee12be15f3d0f3477f764859b7.png 那么如何求出θ0和θ1呢?就可以使用本节课要讲的梯度下降算法了。至此,梯度下降算法的引入就讲完了,我们下节课再见。

9f10fe3558816db0a5d0cf2141b918b5.png

95048fd2520095923410c9e9868c4b78.png

更多精彩推荐

  • 微信群总有人发广告?用Python写一个自动化机器人消灭他

  • Cognitive Inference:认知推理下的常识知识库资源、常识推理测试评估与中文实践项目索引

  • 滴滴AI Labs负责人叶杰平离职!CTO 张博接任

  • 一年翻 3 倍,装机量 6 亿台的物联网操作系统又放大招!

  • 谷歌软件工程师薪资百万,大厂薪资有多高?
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值