机器学习-随机梯度下降

这篇博客介绍了机器学习中的随机梯度下降算法。首先解释了符号含义,如训练样本数量、输入输出变量等。接着详细阐述了梯度下降算法,包括误差计算和参数更新,并指出完全梯度下降在大数据集上的效率问题。最后,讨论了随机梯度下降,它通过每次仅使用一个样本更新参数,虽然精度可能降低,但显著提高了计算速度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



一、符号解释

M 训练样本的数量

x 输入变量,又称特征

y 输出变量,又称目标

(x, y) 训练样本,对应监督学习的输入和输出

表示第i组的x  

表示第i组的y

h(x)表示对应算法的函数

是算法中的重要参数(向量)

表示参数为的函数,以下考虑线性回归,所以表述为:

二、梯度下降算法

表示函数计算输出的结果,用y表示期望的输出值

-y表示误差,若我们有m组训练样本,在训练过程中,我们希望误差越小越好,所以来调整参数

使得

其中二分之一是使得运算更加简便,采用误差的平方来计算,对于所有的样本,误差之和最小的参数就是我们要得到的结果。

我们称上述式子为,我们要不断修改参数,使的值尽可能小

初始时候,我们设定

接下来不断改变

更新,其中手动设置的学习速率参数。

通过对J函数求偏导数,我们求得J的梯度,即J下降最快的方向,通过这个方向更新参数,使得J的函数值越来越小。

计算当m=1时,只有1组训练样本时:


当有m组样本时,把每一组的效果累加起来:

有其中后一部分便是的结果。

由于每次更新参数,都遍历了一次所有的样本数据,这样做属于完全梯度下降,具有更高的准确性,却在遍历m集合上花费了大量的时间,当训练集合很大是,这种方法是很浪费时间的,所以引出随机梯度下降。

三、随机梯度下降算法:

Repeat:

对于j从1到m:


对于每一次更新参数,不必遍历所有的训练集合,仅仅使用了一个数据,来变换一个参数。这样做不如完全梯度下降的精确度高,可能会走很多弯路,但整体趋势是走向minmum。

这样做可以节省更多的时间,算法更快

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值