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

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

相关推荐
9i编程1 分钟前
16G 内存带不动 Milvus:用 opencode 重写私文简搜聊天版(上篇)
人工智能·openai·ai编程
愚公搬代码5 分钟前
【愚公系列】《WorkBuddy从上手到变现》017-用AI Agent实现公众号自动化运营(从1个号到矩阵:规模化的可能和边界)
运维·人工智能·自动化·小龙虾·workbuddy
6曦轩6 分钟前
AI 第一次强到被自己人喊停:它可能自主黑入你的系统
人工智能
GrowthRadar10 分钟前
海外广告精细化投放:支持曝光量估算的素材监测工具深度对比
大数据·人工智能·移动广告情报工具·广告素材监测工具·海外广告情报
奈斯先生Vector14 分钟前
2026 开发者效能革命:基于创源AIGC 与开源生态的工程化实践、安全沙箱与代码智能体协同
人工智能·算法·架构·prompt·aigc
等一朵映山红17 分钟前
深入理解 OpenCV 卷积与滤波:高斯、中值、双边滤波对比
人工智能·opencv·计算机视觉
znhb9921 分钟前
焦化厂如何做好脱硫脱硝的精准控制?
大数据·人工智能
别动我齐刘海24 分钟前
“三层同步审计”判定掉帧缺失
c语言·c++·人工智能·深度学习·学习·机器学习·机器人
专注数据的痴汉39 分钟前
「数据下载」武汉统计年鉴(2009-2025)
大数据·人工智能·信息可视化
wuyk5551 小时前
第1章:无刷电机核心原理与运行机制
c语言·开发语言·stm32·单片机·嵌入式硬件·机器学习