机器学习(选修)(持续更新)

Gradient Descent

1、一般我们会得到一组参数 ,它是由很多组weight和bias组成的。

2、首先,我们在处理数据的时候,会选择一个初始化参数

3、其次,我们计算每个与w的偏微分,把他们组成矩阵的形式,如下图:

这个就是我们所求的梯度(gradient)。

4、然后,我们将选定的初始参数减去我们的梯度乘于学习率,就得到了我们新的参数,如下图:

5、我们一直按照2、3、4的方式持续计算,不断更新我们的参数 。

以上就是我们的梯度下降算法(Gradient Descent),下一步我们将其扩展到神经网络(neural network),寻求一个计算梯度更加有效的算法------反向传播(Backprogation)。

反向传播(Backprogation)

1、反向传播的核心就是链式法则(chain rule),如果有听过宋浩老师的高数课的话,就是他的洋葱法则。

2、首先,我们定义一个损失函数(就是将每个Loss值做累加),如下图:

3、其次,我们做损失函数关于参数w的偏微分(参数b也同理),就相当于每次Loss值对w的偏微分的累加和,为了更简单的进行计算,我们拿出一组,如下图:

这就相当于在整个神经网络(neural network)里面,拿出一个神经元(neural)出来,如下图:

4、因为w会影响z,z会影响c,所以我们就可以将z做为一个中间变量,将c对w的偏微分分为z对w的偏微分乘于c对z的偏微分,如下图:

z对w的偏微分称之为forwardpass,c对z的偏微分称之为backwardpass。

5、我们先求forwardpass,如下图:

实际上forwardpass就是我们的输入值,下一步我们应该求backwardpass了。

Backward pass

1、因为z对a(激活函数)有影响,a对c有影响,所以我们可以吧c对z的偏微分写为a对z的偏微分乘于c对a的偏微分,从上面给绿色方框里面的内容,我们可以很直观的得出a对z的偏微分等于激活函数的导数。

2、下面就是要求c对a的偏微分了,根据上面forwardpass中的知识我们可以很清楚的求出z'对a的偏微分等于w3,z''对a的偏微分等于w4。

3、但是c对z'的偏微分和c对z''的偏微分怎么求呢?首先,我们假设已知以上两个值,我们把他们带进去,我们就可以得到c对z的偏微分了,如下图:

然后我们将这个式子看作一个新的神经元(但是并不在我们的神经网络里面),如下图:

4、 现在我们的问题就是怎么算c对z'的偏微分和c对z''的偏微分,假设现在蓝色方框里面的就是我们最后一个hidden layer ,也就是y1和y2就是我们的输出。

然后我们就可以将c对z'的微分写成y1对z'的微分乘于c对y'的微分了,同理c对z''的微分同理,如下图:

只要知道组后的激活函数是多少我们就可以很轻松的求出y1对z'的微分,只要知道我们采用的那种Loss(cross entropx或mean square error)我们就可以求出c对y1的微分。

以上现在已经不成问题了,问题是我们如果想知道的不是最后一层呢?

5、其实很简单我们就从最后的输出层开始计算,根据后一项计算前一项,一层一层递进,如下图:

总结:反向传播(backprogation)------back pass,就是一个建立一个反向的神经网络的过程。

相关推荐
酌沧10 分钟前
AI做美观PPT:3步流程+工具测评+避坑指南
人工智能·powerpoint
狂师15 分钟前
啥是AI Agent!2025年值得推荐入坑AI Agent的五大工具框架!(新手科普篇)
人工智能·后端·程序员
星辰大海的精灵17 分钟前
使用Docker和Kubernetes部署机器学习模型
人工智能·后端·架构
victory043119 分钟前
SpiceMix enables integrative single-cell spatial modeling of cell identity 文章解读
人工智能·深度学习
新智元23 分钟前
半数清华,8 位华人 AI 天团集体投奔 Meta!奥特曼:砸钱抢人不如培养死忠
人工智能·openai
新智元26 分钟前
全球顶尖 CS 论文惊爆 AI「好评密令」!哥大等 14 所高校卷入,学术圈炸锅
人工智能·openai
l0sgAi31 分钟前
vLLM在RTX50系显卡上部署大模型-使用wsl2
linux·人工智能
DDliu31 分钟前
花半个月死磕提示词后,我发现:真正值钱的不是模板,是这套可复用的结构化思维
人工智能
腾讯云开发者31 分钟前
AI 浪潮下的锚与帆:工程师文化的变与不变 | 架构师夜生活
人工智能
JoernLee32 分钟前
机器学习算法:支持向量机SVM
人工智能·算法·机器学习