【机器学习】一题看懂反向传播与梯度下降

这里写自定义目录标题

  • 一题看懂反向传播与梯度下降
    • 从PayPal的一道填空题说起
    • 梯度下降
    • 反向传播算法

一题看懂反向传播与梯度下降

接下来一段时间可能会好好看一下机器学习了,加油鸭(ง •_•)ง

从PayPal的一道填空题说起

今天刷牛客,看到了如下一道题:

以神经网络使用了如下结构:输入层有三个节点,隐藏层有一层且有两个节点,输出层有一个节点。隐藏层使用relu作为输出函数,输出层的损失函数为 1 2 ( y − y ^ ) 2 \frac{1}{2}(y-\hat{y})^2 21(yy^)2,其中 y y y是真实值, y ^ \hat{y} y^是预测值。

输入层到隐藏层的第一个节点中,参数为 [ 1 , 1 , 1 ] [1,1,1] [1,1,1],截距为 0.1 0.1 0.1;到第一个节点中,参数为 [ − 1 , − 1 , − 1 ] [-1,-1,-1] [1,1,1],截距为 0.1 0.1 0.1

隐藏层到输出层的参数为 [ 1 , 1 ] [1,1] [1,1],截距为 0.1 0.1 0.1

请问:

  1. 对于输入 [ 0.3 , 0.2 , 0.4 ] [0.3,0.2,0.4] [0.3,0.2,0.4],其预测结果为 (1) ?
  2. 在反向传播中,假设学习率为 0.1 0.1 0.1,且真实值为 1.0 1.0 1.0,在该轮BP后,使用梯度下降去更新参数,请问一下参数会被更新为:隐藏层到输出层的参数 [ ( 2 ) , ( 3 ) ] [ (2) , (3) ] [(2),(3)],截距 (4) 。

梯度下降

想象一个被随机放在群山中的登山者,在一个看不见前路的黑夜,在对地形一无所知的情况下,他如何最快速的从所在位置找到其能找到的最低点呢?

答案是,从所在位置朝下降坡度最大的方向迈步,每迈出一步,判断一下当前位置下降坡度最大的方向,并迈出下一步,直至到达不存在下降坡度的地方。

【机器学习】一题看懂反向传播与梯度下降_第1张图片

回到当前的问题,这里的山就是损失函数,登山者就是模型中的参数,随机放入山中指的是,参数初始为随机值。

找到最低点就是找到最小的损失函数,而登山者的迈步就是不断修改参数值,对任意参数 w w w
w n + 1 = w n − Δ w w^{n+1} =w^n-\Delta w wn+1=wnΔw
而寻找最大的下降坡度就是计算函数相对于某个参数的梯度,向梯度下降最为明显的方向移动,以前面含两个参数的损失函数为例,对于第n次计算
w n + 1 = w n − η ∂ L ∂ w ∣ w = w n w^{n+1} =w^n-\eta\frac{\partial L}{\partial w}|_{w=w^n} wn+1=wnηwLw=wn
b n + 1 = b n − η ∂ L ∂ b ∣ b = b n b^{n+1} =b^n-\eta\frac{\partial L}{\partial b}|_{b=b^n} bn+1=bnηbLb=bn
公式中的 η \eta η为学习率(learning rate)。

反向传播算法

你可能感兴趣的:(统计学习)