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

可以写一个函数来实现一个密集的层,那是神经网络的单层,所以定义稠密函数,它将上一层的激活作为输入以及给定层神经元的参数w和b。看下边图片所展示的例子,把所有这些权重向量堆叠成一个矩阵,w=np.array(\[1,-3,52,4,-6]),这是一个二乘三的矩阵,第一列是w1,第二列是w2,第三列是w3,如果参数b1=-1,b2=1,b3=2,然后把这三个数字堆叠到一个d数组中,即b=np,array(-1,1,2),所以,致密函数是将前一层的输入停用,这里可以是等于x的,或者从后面的层激活以及堆叠在列中的W参数,B参数也堆叠成一个一维数组,这个函数要做的是输入上一层的激活,并将输出当前层的激活,所以一步一步地完成这样做的代码,units=W.shape1,这是代码第一单位等于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)+bj作为点积,然后计算a_outj=g(z),通过这个循环三次应用于z的Sigmoid函数,计算了这个激活向量的所有三个值,最后return a_out,稠密函数的作用 是输入前一层的激活,给定当前层的参数,它返回下一层的激活,所以给定稠密函数。

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

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

相关推荐
罗西的思考10 分钟前
【轻量化复刻大模型 / KIMI K3】AttnRes 模块交互式演示
人工智能·算法·机器学习
stormzhangV35 分钟前
涨薪 50% 怎么做到的?
人工智能·面试·aigc
老金带你玩AI1 小时前
如何在5分钟之内创建Grok Bot的超级团队
人工智能
程序员cxuan1 小时前
离谱,AI 大佬顺手搓了个 YouTube ,而我顺手给他搓了个中文插件
人工智能·后端·程序员
zixu_star2 小时前
上下文工程:Prompt、记忆和上下文如何管理?
人工智能·prompt
ZONGYUAN-ROOT2 小时前
【3D仿真数据集】从“能生成”到“能用”:面向工业仿真的3D资产自治自愈流水线全链路落地
人工智能
深蓝AI2 小时前
Gemini Decisions API 来了:一次前向打分取代逐字解码,校准误差 0.0250 才是 agent 分支调用的真门槛
人工智能·后端
深蓝AI2 小时前
Meta 开源用了八年的设计系统 astryx:连坐两天 GitHub 总榜第一,组件库开始写给 agent 的说明书
前端·人工智能
量化分析码农3 小时前
股票API 日线、周线、月线与分钟级返回结构差异:一份统一解析代码
人工智能
这个DBA有点耶3 小时前
MCP隔离层+行级语义审计+输出校验:AI访问数据库的安全边界拆解
数据库·人工智能·ai编程