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

news/2024/12/26 2:08:25/

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


http://www.ppmy.cn/news/1544885.html

相关文章

机器学习,生成式Ai ,LLM大模型,人工智能,他们之间的关系是什么?有什么不同?

这些概念都是现代计算机科学和人工智能领域的重要组成部分,它们之间既有联系,也有区别。以下是它们的关系和不同之处: 人工智能 (AI) 人工智能是一个广义的概念,指的是计算机系统能够执行通常需要人类智能才能完成的任务&#x…

MySQL数据库的使用

一 关系数据库基本概念 关系数据库是一种使用关系模型来组织和管理数据的数据库。它使用了一种称为表的结构来存储数据,并通过表之间的关系来描述数据之间的联系。每个表由一组行和列组成,每一行代表一个记录,每一列代表一个属性。关系数据…

Go:接口和反射

接口 定义 在传统的面向对象的语言中,是会存在类和继承的概念的,但是Go并没有 那Go如何实现类似的方法呢?它提供了接口的概念,可以实现很多面向对象的特性 接口定义会实现一组方法集,但是这些方法不包含实现的代码…

【机器学习导引】ch4-决策树

基本流程 两个需要解决的问题 属性顺序: 问题:哪些属性在前面,哪些属性在后面?这个问题指的是在处理数据或进行排序时,需要确定属性的排列顺序,以便更好地进行数据处理或分析。 属性选择: 问题…

C++中,如何找到一个vector中最大的元素

动态规划中,经常需要找到一个线性表中最大的元素,C 最常用的是vector,而不是 C 中的数组,虽然结构更加复杂,但是用起来更方便。就连 C 创始人 Bjarne Stroustrup 都推荐使用vector,如下是《A Tour of C Thi…

什么是分布式光伏发电?设备构成、应用形式讲解

分布式光伏发电系统,又称分散式发电或分布式供能,是指在用户现场或靠近用电现场配置较小的光伏发电供电系统,以满足特定用户的需求,支持现存配电网的经济运行,或者同时满足这两个方面的要求。 分布式光伏发电由哪些设备…

python-21-理解python切片这一概念

python-21-理解python切片这一概念 一.简介 在python基础系列还有一个概念,python切片,切片这一使用频率特别多,大量python实例、真实项目中也是频繁出现,所以把这一概念单独整理出来,以便大家学习和复习&#xff01…

golang 中map使用的一些坑

golang 中map使用的一些坑 1、使用map[string]interface{},类型断言[]int失败 接收下游的数据是用json转为map[string]any go a : "{\"a\":\"1\",\"b\":[123]}" var marshal map[string]any json.Unmarshal([]byte(a), &…