深度学习入门笔记(3)——用梯度下降进行参数更新

在这里插入图片描述
首先是对感知器的简单回顾,假设现有的训练集为 D,共有 n 个训练数据,每个数据都有 m 个输入特征和一个输出标签。一个 epoch 就是遍历一次整个训练集,对于每一个训练数据,都计算其预测、计算误差、更新参数。

在这里插入图片描述
在一个 epoch 中,每次针对一个训练数据进行参数更新的方法,称为在线方法或者随机梯度下降;而在一个 epoch 中将参数在每个训练数据上需要更新的值记录下来,最后叠加在一起再对参数进行更新的方法,称为批量方法。
在这里插入图片描述
最常用的是这两种方法的折中方法:小批量方法。它的优点有三个:

1、选择子集而不是单个训练数据,可以利用向量化来进行并行计算,加快计算速度;

2、相比于单个训练数据,子集的噪声更加小;

3、批量方法也拥有以上两个优点,但是训练数据集一般都非常大,用整个批量的速度太慢,且适当的噪声可以帮助我们跳出局部最小值。

在这里插入图片描述
用感知器的视角来看待线性回归,就相当于是用恒等函数作为激活函数。

在这里插入图片描述
线性回归有闭式解,但是对大型数据集的矩阵进行求导也是非常困难的,此时梯度下降就派上用场了。

在这里插入图片描述
将线性回归的(随机)梯度下降方法与感知器的学习方法进行比较,可以发现它们十分相似,区别只在于:感知器的激活函数是阈值函数,线性回归的激活函数是恒等函数;感知器直接用误差进行参数更新,线性回归则用负梯度值进行参数更新。

在这里插入图片描述
线性回归的随机梯度下降方法,既可以用向量化的方法求梯度然后用负梯度值更新参数,也可以用 for 循环的方法求偏导数然后用负偏导数值更新参数,显然前者更优。

在这里插入图片描述
假设线性回归中使用的凸损失函数是平方误差函数,则其一定存在全局最小值,通过梯度下降可以求得这个值,而更新步骤会同时受到学习率和梯度的影响,学习率决定步长,梯度决定陡峭程度,方向一定是负梯度方向(求最小值)

在这里插入图片描述
平方损失函数,推导该损失函数对各个权重的偏导数,写在一起即梯度。记住线性回归中的激活函数就是恒等函数,所以导数等于 1。推导过程中使用了两次链式法则。

在这里插入图片描述
使用均方误差作为损失函数,推导过程同理,就是多求了个平均值而已。

在这里插入图片描述
最后看下 Adaline,感知器的激活函数是阈值函数,线性回归的激活函数是恒等函数,而 Adaline 的激活函数是恒等函数,但它后面也接上了阈值函数(相当于恒等函数 + 阈值函数)。

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值