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

可以写一个函数来实现一个密集的层,那是神经网络的单层,所以定义稠密函数,它将上一层的激活作为输入以及给定层神经元的参数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。

相关推荐
网安情报局1 分钟前
如何选择合适的AI大模型:快快云安全AI大模型聚合平台全解析
人工智能·网络安全·ai大模型
yongyoudayee12 分钟前
业务语义模型:AI CRM从“能用”到“好用”的技术分水岭
大数据·人工智能
我的世界洛天依17 分钟前
官宣|VFrame 企划正式成立:九州合唱团登场,九州网络用 RVC 重构跨 IP 虚拟歌手音乐生态
人工智能·电脑
木雷坞17 分钟前
视觉算法环境 Docker 镜像拉取失败排查
运维·人工智能·docker·容器
ACCELERATOR_LLC19 分钟前
【DataWhale组队学习】DIY-LLM Task6 评估与基准测试
人工智能·深度学习·大模型·模型评估
我就是妖怪22 分钟前
Kimi K2.6 新手快速上手与实战指南
大数据·人工智能
Elcker22 分钟前
企业级RAG应用构建手册
人工智能·rag
蝎子莱莱爱打怪24 分钟前
小孩儿才做选择!Hermes 和OpenClaw 我都要!
人工智能·后端·github
imbackneverdie24 分钟前
sci期刊示意图、流程图、机制图怎么画?
人工智能·ai·aigc·科研绘图·ai工具·科研工具·ai生图
直奔標竿27 分钟前
SpringAI + RAG + MCP + Agent 零基础全栈实战(完结篇)| 27课完整汇总,Java开发者AI转型必看
java·开发语言·人工智能·spring boot·后端·spring