机器学习 单变量线性回归 (2)梯度下降法

本文详细介绍了如何使用梯度下降算法求解单变量线性回归问题中的参数,通过直观的山地比喻阐述了算法流程,并提供了具体计算步骤。学习率的选择对结果至关重要,最终目标是确定权重参数以最小化代价函数。

机器学习 单变量线性回归之梯度下降法

一、前言

根据上一篇文章《机器学习 单变量线性回归 (1)背景介绍》中的推理,单元线性回归问题变成了求 w 0 w_0 w0 w 1 w_1 w1两个变量的值,使得代价函数 J ( w 0 , w 1 ) J(w_0,w_1) J(w0,w1)最小。

梯度下降是一个用来求函数最小值的算法,我们将使用梯度下降算法来求出代价函数 J ( w 0 , w 1 ) J(w_0,w_1) J(w0,w1)的最小值。

二、算法思想

  • 存在函数 J ( w 0 , w 1 , … , w n ) J(w_0,w_1,\dots,w_n) J(w0,w1,,wn)
  • 确定 w 0 , w 1 , … , w n w_0,w_1,\dots,w_n w0,w1,,wn的值,使得函数 J J J最小

流程:

  • 初始化 w 0 , w 1 , … , w n w_0,w_1,\dots,w_n w0,w1,,wn,取任意值即可,如 w 0 = 0 , w 1 = 0 , … , w n = 0 w_0=0,w_1=0,\dots,w_n=0 w0=0,w1=0,,wn=0
  • 不断改变 w 0 , w 1 , … , w n w_0,w_1,\dots,w_n w0,w1,,wn的值,降低 J ( w 0 , w 1 , … , w n ) J(w_0,w_1,\dots,w_n) J(w0,w1,,wn),直到我们找到 J J J全局最小值局部最小值

为了更加容易理解,我们取n=1,即 J ( w 0 , w 1 ) J(w_0,w_1) J(w0,w1) J ( w 0 , w 1 ) J(w_0,w_1) J(w0,w1)函数有两个变量,故此函数图是三维的。假设如下图所示,想象成你站在山上的某个位置( w 0 , w 1 w_0,w_1 w0,w1初始值决定的位置),想要尽快走下山(尽快找到 J J J的最小值)。
在这里插入图片描述

那么你首先会360°观察四周,哪个方向的坡度最陡,然后往前走一段,停下再360°观察四周往最陡的方向走去。。。直到来到一个最低点,四周的坡度都是朝上的了。
在这里插入图片描述
如果初始位置是另一个点,还有可能来到局部最低点,如下图所示:
在这里插入图片描述

三、算法实现

J ( w 0 , w 1 ) J(w_0,w_1) J(w0,w1)中的 w 0 , w 1 w_0,w_1 w0,w1分别求偏导,求导相关知识可参考《导数与偏导》。
重复以下计算:
w 0 = w 0 − η ∗ ∂ ∂ w 0 J ( w 0 , w 1 ) = w 0 − η ∗ ∂ ∂ w 0 1 2 m ∑ i = 1 m [ w 0 + w 1 x ( i ) − y ( i ) ] 2 = w 0 − η ∗ 1 m ∑ i = 1 m ( w 0 + w 1 x ( i ) − y ( i ) ) w_0 = w_0-η*\frac{∂}{∂w_0}J(w_0,w_1)=w_0-η*\frac{∂}{∂w_0}\frac1{2m}\sum_{i=1}^m[w_0 + w_1x^{(i)}-y^{(i)}]^2=w_0-η*\frac1{m}\sum_{i=1}^m(w_0 + w_1x^{(i)}-y^{(i)}) w0=w0ηw0J(w0,w1)=w0ηw02m1i=1m[w0+w1x(i)y(i)]2=w0ηm1i=1m(w0+w1x(i)y(i))

w 1 = w 1 − η ∗ ∂ ∂ w 1 J ( w 0 , w 1 ) = w 1 − η ∗ ∂ ∂ w 1 1 2 m ∑ i = 1 m [ w 0 + w 1 x ( i ) − y ( i ) ] 2 = w 1 − η ∗ 1 m ∑ i = 1 m ( w 0 + w 1 x ( i ) − y ( i ) ) x ( i ) w_1 = w_1-η*\frac{∂}{∂w_1}J(w_0,w_1)=w_1-η*\frac{∂}{∂w_1}\frac1{2m}\sum_{i=1}^m[w_0 + w_1x^{(i)}-y^{(i)}]^2=w_1-η*\frac1{m}\sum_{i=1}^m(w_0 + w_1x^{(i)}-y^{(i)})x^{(i)} w1=w1ηw1J(w0,w1)=w1ηw12m1i=1m[w0+w1x(i)y(i)]2=w1ηm1i=1m(w0+w1x(i)y(i))x(i)

η η η称之为学习率,控制梯度下降时每一段走的距离。
一直迭代计算,直到 w 0 , w 1 w_0,w_1 w0,w1变化很小为止,代表已经达到最小值或者局部最小值了,此时 w 0 , w 1 w_0,w_1 w0,w1确定下来。

上文中的 h ( 𝑥 ) = w 0 + w 1 x ℎ(𝑥) = w_0 + w_1x h(x)=w0+w1x也可确定,输入房子面积,即可输出预测房价。

四、参考资料

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值