【机器学习02】梯度下降

【机器学习02】梯度下降

梯度下降是一个用来求函数最小值的算法,我们将使用梯度下降算法来求出代价函数J(w,b)J(w, b)J(w,b)的最小值。
梯度下降背后的思想是:开始时我们随机选择一个参数的组合(θ_0,θ_1,…,θ_n ),计算代价函数,然后我们寻找下一个能让代价函数值下降最多的参数组合。我们持续这么做直到到到一个局部最小值(local minimum),因为我们并没有尝试完所有的参数组合,所以不能确定我们得到的局部最小值是否便是全局最小值(global minimum),选择不同的初始参数组合,可能会找到不同的局部最小值。

在这里插入图片描述

梯度下降算法更新步骤

1. 重复直到收敛

Repeat until convergence \text{Repeat until convergence} Repeat until convergence

2. 更新公式

w=w−α∂∂wJ(w,b) w = w - \alpha \frac{\partial}{\partial w} J(w, b) w=wαwJ(w,b)
b=b−α∂∂bJ(w,b) b = b - \alpha \frac{\partial}{\partial b} J(w, b) b=bαbJ(w,b)

3. 同步更新

temp_w=w−α∂∂wJ(w,b) \text{temp\_w} = w - \alpha \frac{\partial}{\partial w} J(w, b) temp_w=wαwJ(w,b)
temp_b=b−α∂∂bJ(w,b) \text{temp\_b} = b - \alpha \frac{\partial}{\partial b} J(w, b) temp_b=bαbJ(w,b)
w=temp_w w = \text{temp\_w} w=temp_w
b=temp_b b = \text{temp\_b} b=temp_b

在这里插入图片描述

4. 强调内容
  • 学习率α\alphaα 控制每次更新的步长。
  • 导数:偏导数表示成本函数在当前参数下的变化率。
  • 同时更新:必须同时更新 wwwbbb

向量表示
在这里插入图片描述

进阶

在这里插入图片描述

梯度下降算法更新步骤-进阶

1. 单特征

w=w−α1m∑i=1m(fw,b(x(i))−y(i))x(i) w = w - \alpha \frac{1}{m} \sum_{i=1}^{m} (f_{w,b}(x^{(i)}) - y^{(i)}) x^{(i)} w=wαm1i=1m(fw,b(x(i))y(i))x(i)
b=b−α1m∑i=1m(fw,b(x(i))−y(i)) b = b - \alpha \frac{1}{m} \sum_{i=1}^{m} (f_{w,b}(x^{(i)}) - y^{(i)}) b=bαm1i=1m(fw,b(x(i))y(i))

2. 多特征

wj=wj−α1m∑i=1m(fw⃗,b(x⃗(i))−y(i))xj(i) w_j = w_j - \alpha \frac{1}{m} \sum_{i=1}^{m} (f_{\vec{w},b}(\vec{x}^{(i)}) - y^{(i)}) x_j^{(i)} wj=wjαm1i=1m(fw,b(x(i))y(i))xj(i)
b=b−α1m∑i=1m(fw⃗,b(x⃗(i))−y(i)) b = b - \alpha \frac{1}{m} \sum_{i=1}^{m} (f_{\vec{w},b}(\vec{x}^{(i)}) - y^{(i)}) b=bαm1i=1m(fw,b(x(i))y(i))

3. 同步更新
  • 单特征:同时更新 wwwbbb
  • 多特征:同时更新 wjw_jwjj=1,…,nj = 1, \dots, nj=1,,n)和 bbb
4. 示例
  • 初始化:w=0w = 0w=0b=0b = 0b=0
  • 学习率:α=0.1\alpha = 0.1α=0.1
  • 更新后:w=0.5w = 0.5w=0.5b=0.3b = 0.3b=0.3
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值