【机器学习】一题看懂反向传播与梯度下降
这里写自定义目录标题
一题看懂反向传播与梯度下降
接下来一段时间可能会好好看一下机器学习了,加油鸭(ง •_•)ง
从PayPal的一道填空题说起
今天刷牛客,看到了如下一道题:
以神经网络使用了如下结构:输入层有三个节点,隐藏层有一层且有两个节点,输出层有一个节点。隐藏层使用relu作为输出函数,输出层的损失函数为,其中是真实值,是预测值。
输入层到隐藏层的第一个节点中,参数为,截距为;到第一个节点中,参数为,截距为。
隐藏层到输出层的参数为,截距为。
请问:
- 对于输入,其预测结果为 (1) ?
- 在反向传播中,假设学习率为,且真实值为,在该轮BP后,使用梯度下降去更新参数,请问一下参数会被更新为:隐藏层到输出层的参数,截距 (4) 。
梯度下降
想象一个被随机放在群山中的登山者,在一个看不见前路的黑夜,在对地形一无所知的情况下,他如何最快速的从所在位置找到其能找到的最低点呢?
答案是,从所在位置朝下降坡度最大的方向迈步,每迈出一步,判断一下当前位置下降坡度最大的方向,并迈出下一步,直至到达不存在下降坡度的地方。
回到当前的问题,这里的山就是损失函数,登山者就是模型中的参数,随机放入山中指的是,参数初始为随机值。
找到最低点就是找到最小的损失函数,而登山者的迈步就是不断修改参数值,对任意参数,
而寻找最大的下降坡度就是计算函数相对于某个参数的梯度,向梯度下降最为明显的方向移动,以前面含两个参数的损失函数为例,对于第n次计算
公式中的为学习率(learning rate)。