机器学习—前向传播的一般实现

可以写一个函数来实现一个密集的层,那是神经网络的单层,所以定义稠密函数,它将上一层的激活作为输入以及给定层神经元的参数w和b。看下边图片所展示的例子,把所有这些权重向量堆叠成一个矩阵,w=np.array([[1,-3,5][2,4,-6]]),这是一个二乘三的矩阵,第一列是w1,第二列是w2,第三列是w3,如果参数b1=-1,b2=1,b3=2,然后把这三个数字堆叠到一个d数组中,即b=np,array([-1,1,2]),所以,致密函数是将前一层的输入停用,这里可以是等于x的,或者从后面的层激活以及堆叠在列中的W参数,B参数也堆叠成一个一维数组,这个函数要做的是输入上一层的激活,并将输出当前层的激活,所以一步一步地完成这样做的代码,units=W.shape[1],这是代码第一单位等于w.形状1,所以这是一个二乘三矩阵,所以列数是3那等于这一层的单位数,所以units=3,看W的形状,只是找出隐藏单位数量的一种方法或者这一层的单元数,a_out=np.zeros(units),将A设置为零数组,有多少单元就有多少元素,所以在这个例子中,我们需要输出三个激活值,所以这只是将a初始化为零,[0,0,0]三个零的数组,for j in range(units):,然后,通过一个for循环来计算第一个A的第二和第三个元素,所以对于范围单位中的j,从0到单位-1,从零开始索引,像往常一样使用python,命令w=w[:,j],这是如何在Python中拉出矩阵的j列,所以第一次通过这个循环,将拉出W的第一列,所以会抽出一个w1_1,当计算第二个单元的激活时,第二次通过这个循环,拉出w2_2,以此类推第三次通过这个循环,然后通常的公式计算z=np.dot(w,a_in)+b[j]作为点积,然后计算a_out[j]=g(z),通过这个循环三次应用于z的Sigmoid函数,计算了这个激活向量的所有三个值,最后return a_out,稠密函数的作用 是输入前一层的激活,给定当前层的参数,它返回下一层的激活,所以给定稠密函数。

如何将几个密集的层按顺序串在一起呢?

为了在神经网络中实现正向支撑,需要定义x,然后可以将1的激活计算为1,所以a与w,b都是相对应的,这些都是参数,有时也称为第一个隐藏层的权重,然后你可以计算a2,需要用到a1,这是第二个隐藏层的参数或权重,然后计算a3和a4,如果这是一个有四层的神经网络,那么x的最终输出正好等于4,W使用大写,因为线性代数的符号约定之一是使用大写或大写字母表,当它指代矩阵时,小写指向量和标量,因为这是一个矩阵所以使用大写W。

相关推荐
TTGGGFF2 小时前
控制系统建模仿真(四):线性控制系统的数学模型
人工智能·算法
UXbot2 小时前
UI设计工具推荐合集
前端·人工智能·ui
kicikng2 小时前
智能体来了(西南总部)实战指南:AI调度官与AI Agent指挥官的Prompt核心逻辑
人工智能·prompt·多智能体系统
抓个马尾女孩2 小时前
为什么self-attention除以根号dk而不是其他值
人工智能·深度学习·机器学习·transformer
叫我辉哥e12 小时前
新手进阶Python:办公看板集成ERP跨系统同步+自动备份+AI异常复盘
开发语言·人工智能·python
Loo国昌2 小时前
【LangChain1.0】第五阶段:RAG高级篇(高级检索与优化)
人工智能·后端·语言模型·架构
伊克罗德信息科技2 小时前
技术分享 | 用Dify搭建个人AI知识助手
人工智能
TOPGUS2 小时前
谷歌发布三大AI购物新功能:从对话式搜索到AI代你下单
大数据·人工智能·搜索引擎·chatgpt·谷歌·seo·数字营销
Godspeed Zhao2 小时前
从零开始学AI4——背景知识3
人工智能