- 博客(21)
- 收藏
- 关注
原创 深层神经网络,深层网络中的前向传播,核对矩阵的维数,深层表示的原因,深层网络中的后向传播,搭建神经网络块
对于L层神经网络(L-layer NN),其结构包含L−1个隐藏层与1个输出层。对于单个训练样本,输入向量\(\mathbf{x}\)维度为\((n^{[0]},1)\),第\(l\)层权重矩阵\(\mathbf{W}^{[l]}\)和偏置向量\(\mathbf{b}^{[l]}\)的维度分别为\((n^{[l]},n^{[l-1]})\)和\((n^{[l]},1)\),其中\(l=1,\dots,L\),\(n^{[l]}\)表示第\(l\)层神经元数量,且输入层维度\(n^{[0]}=n_x\)。
2025-05-16 09:57:02
919
原创 神经网络概览,神经网络的表示,神经网络的输出,多样本向量化,激活函数,非线性激活函数,激活函数的导数,神经网络的梯度下降,随机初始化
若将线性函数作为神经网络激活函数,网络输出将始终为输入x的线性组合,致使网络丧失对非线性复杂关系的建模能力,违背神经网络的设计初衷,因此隐藏层激活函数需采用非线性函数。如上图,隐藏层有4个神经元,其前一层输入层包含3个特征(即3个神经元),则隐藏层权重维度为(4,3),对应常数项维度为(4,1);输出层有1个神经元,其前一层隐藏层有4个神经元,则输出层权重维度为(1,4),对应常数项维度为(1,1)。之所以叫两层神经网络,是因为通常我们只会计算隐藏层输出和输出层的输出,输入层是不用计算的。
2025-05-10 23:26:18
570
原创 python报错ValueError: math domain error
这里的原因市1-a被认为可能是负的了,但是实际上a的取值范围是0-1,1-a不可能是负的。这里应该是math包里面存在的bug吧,如果换成np.log()函数就不会有上面的问题了。引入numpy包,将math.log()换成了np.log()。1.在不确定正负的情况下,还可以加入abs(),强制转换成正数。
2025-04-29 18:29:26
131
原创 神经网络,神经网络的监督学习,深度学习的兴起与应用
如果你训练一个稍大一点的神经网络,比如一个中型神经网络(下图中的蓝色曲线),它在某些数据上的性能也会更好;第一,你需要训练一个足够大的神经网络,以利用海量数据的优势,并且你还需要大量的数据。这样,当输入有特征但无标签的未知数据时,我们就可以通过已有的关系获得未知数据的标签,也就是基于新数据进行预测。结构化数据是指每个特征,比如房屋面积、卧室数量或者用户年龄,都有非常明确的含义,结构化数据主要代表数据库中的数据。这里的特征可能是图像中的像素值或者文本中的单个单词,没有明确的含义。这就是一个基本的神经网络。
2025-04-29 14:40:58
467
原创 深度学习笔记打卡计划
今天开始正式开始深度学习的打卡和python代码的学习,后续会发送一系列的文章,一个是为了进行学习中记笔记,实现更高效的学习,还有就是为了提升自己的写作能力。同时,如果我的文章对别人有帮助的话,那也是非常有意义的。
2025-04-29 14:26:25
292
原创 二分类,逻辑回归,代价函数,梯度下降,正向传播,反向传播,向量化,广播
取值越小,w和b每次更新的幅度则越小。正向传播指的是在神经网络中,信息从输入层开始,经过各隐藏层的计算处理,最终到达输出层并得到预测输出结果的过程。那对于m个样本,我们定义Cost function,Cost function是m个样本的Loss function的平均值,反映了m个样本的预测输出与真实样本输出y的平均接近程度。接下来对该损失函数(Loss function)展开分析,损失函数主要用于衡量预测结果与真实值之间误差的程度,在理想情况下,损失函数的值越小,则表明模型的预测效果越优。
2025-04-29 13:35:42
982
原创 中断与定时器总结
对于单片机来讲,在程序的执行过程中,由于某种外界的原因,必须终止当前执行的程序,而去执行相应的处理程序,待处理结束后,再回来继续执行被终止的程序,这个过程叫中断。中断是为使单片机具有对外部或内部随机发生的事件实时处理而设置的,中断功能的存在,很大程度上提高了单片机处理外部或内部事件的能力。它也是单片机最重要的功能之一,是我们学习单片机必须要掌握的。中断的出现代表我们可以完成许多事情,排列一些程序发生的顺序。
2022-10-16 20:12:25
5391
1
原创 51单片机学习笔记——第十三天:中断和定时器(三)
实验板上搭载的是11.059 2 MHz的晶振,且单片机为12T的STC89C52,那么机器周T=1/F=1/(11.059 2 MHz/12)=12/11.059 2 μs。设为x次,则xX(12/11.0592)=10 000,则x=9 216,这个数是要在初值基础上累加的值,初值=65 536-9 216= 56320(0xDC00),这样TH0= 0xDC,TL0=0x00或者TH0=(65 536-9 216)/256,TL0=(65 536-9 216)% 256。TMOD|=0X01;
2022-09-27 17:45:48
513
原创 51单片机学习笔记——第十二天:中断和定时器(二)
4.TCON寄存器: IE0为外部中断0的请求标志位,由单片机内部自动配置,无触发时,IE0=0,当有触发时,IE0=1,由单片机自动发出请求。在开发板上,P32是外部中断0的触发口,并且连接在按键K3上;3.TCON寄存器:IT0为外部中断0的触发方式控制位,需要设置为IT0=1(通常为低电平触发)2.IE寄存器:EX1/EX0分别为外部中断1/0的中断允许,需要设值为EX1=1。void exti0() interrupt 0 //外部中断0中断函数。if(KEY3==0)//再次判断K3键是否按下。
2022-09-26 14:46:45
1219
原创 51单片机学习笔记——第十一天:中断和定时器(一)
PS=1,串行口中断为高优先级中断:PS=0,串行口中断为低优先级中断。PT1为定时器/计数器T1中断优先级控制位,PT0为定时器/计数器T0的中断优先级控制位,PX1为外部中断1中断优先级控制位,PX0为外部中断0中断优先级控制位,控制同上PS一样。IE0为外部中断0的请求标志位,由单片机内部自动配置,无触发时,IE0=0,当有触发时,IE0=1,由单片机自动发出请求。1.前四位TF1/TR1/TF0/TR0是与定时器/计数器有关的,后四位IE1/IT1/IE0/IT0与外部中断有关。
2022-09-25 20:27:45
1328
原创 51单片机学习笔记——第十天:直流电机
该电路的特点如下: ULN2003 的每一对达林顿都串联一个 2.7K 的基极电阻,在 5V 的工作电压下它能与 TTL 和 CMOS 电路 直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。ULN2003 工作电压高,工作电流大,灌电流可达 500mA,并且能够在关态时承受 50V 的电压,输出还 可以在高负载电流并行运行。#define DC_MOTOR_RUN_TIME 5000 //定义直流电机运行时间为5000ms。今天是学习51单片机的第十天,今天学习了直流电机。
2022-09-22 22:07:11
400
原创 51单片机学习笔记——第九天:LED点阵显示数字与取模软件的使用
将LED点阵左边第一列设置为0,即LED阴极为低电平,其余列为1,即高电平,即P0=0x7f。//LED点阵显示数字0的行数据。需要注意的是:这里是纵向取模,横向我们设置的是0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f。
2022-09-21 23:37:43
2824
原创 51单片机学习笔记——第八天:74HC595与LED点阵
/将LED点阵上边第一行设置为1,即LED阳极为高电平,其余行为0,即低电平。4.P3^4=SER是串行输入引脚,可以对其赋值来控制A1-A8的高低电平,比如需要A1-A8全为高,可以赋值SER=0xff。//将LED点阵左边第一列设置为0,即LED阴极为低电平,其余列为1,即高电平。//移位寄存器时钟上升沿将端口数据送入寄存器中。//移位寄存器时钟上升沿将端口数据送入寄存器中。//存储寄存器时钟上升沿将前面写入到寄存器的数据输出。//存储寄存器时钟上升沿将前面写入到寄存器的数据输出。
2022-09-20 23:41:23
1023
原创 51单片机学习笔记——第七天:IO扩展(串转并)-74HC595
官方描述:当 MR 为高电平,OE 为低电平时,数据在 SHCP 上升沿进入移位寄存器,在 STCP 上升沿输出到并行端口。74595 的数据端: QA--QH: 八位并行输出端,可以直接控制数码管的 8 个段。74595 的控制端说明: /SCLR(10 脚): 低点平时将移位寄存器的数据清零。SCK(11 脚):上升沿时数据寄存器的数据移位。) RCK(12 脚):上升沿时移位寄存器的数据进入数据存储寄存器,下降沿时存储寄 存器数据不变。//存储寄存器时钟上升沿将前面写入到寄存器的数据输出。
2022-09-19 23:19:40
1371
原创 51单片机学习笔记——第六天:矩阵按键
换句话说:首先给P1口赋值0xf7(0b1111 0111),这样就是只有第一列是低电平,检测P1口是否变化,变化了读取P1的值,如果是0xe7(0b1110 0111),则表明按下的是S1;首先需要注意的,这个矩阵按键与独立按键不同的是,独立按键一端接单片机的I/O口,一端接地,所以我们只需要检测I/O口是否有低电平,就能确定是否按下。switch(KEY_MATRIX_PORT)//保存第一列按键按下后的键值。switch(KEY_MATRIX_PORT)//保存第四列按键按下后的键值。
2022-09-16 16:46:42
1122
原创 51单片机学习笔记——第五天:独立按键
实验板上有四个独立按键,分别对应的端口是key1=P31 key2=P30 key3=P32 key4=p33.if(key==1&&(KEY1==0||KEY2==0||KEY3==0||KEY4==0))//任意按键按下。else if(KEY1==1&&KEY2==1&&KEY3==1&&KEY4==1) //无按键按下。1,3脚和2,4脚是初始导通的,并且在外观上是长边,然后1,2脚和3,4脚初始不导通的,外观上是短边。//LED1状态翻转。//使用宏定义独立按键按下的键值。
2022-09-15 11:56:37
1390
2
原创 51单片机学习笔记——第四天:数码管
首先,利用74HC138和三个I/O口控制八个com口,因为这八个数码管都是阴极数码管,所以我们只需要对三个I/O口就能控制显示哪一个数码管,比如我们要显示第一个数码管,就需要锁定LED8,那么LED8在74HC138里为Y7,对照真值表就可以P22=1,P23=1,P24=1。然后利用74HC245控制显示的数字,u8 gsmg_code[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,51单片机上只有32个I/O口,可板子上安装了许多器件,所以I/O口不够用。
2022-09-14 22:27:01
904
原创 51单片机学习笔记——第三天:数码管
静态显示的特点是每个数码管的段选必须接一个 8 位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。首先,数码管是由多个发光二极管组成的,按组成发光二极管的数目可以分为7段数码管和8段数码管,其中8段数码管比7段数码管会多一个小数点。同理,共阴极数码管,共同接口COM接到低电平,如果某个端口为高电平,则那个端口亮。共阳极数码管,共同接口COM接到5V高电平,如果某个端口接低电平,则那个端口亮。按照发光二极管单元的连接方式,可分为共阳极数码管和共阴极数码管。
2022-09-13 17:01:19
3077
原创 51单片机学习笔记——第一天:点灯
大家好!今天开始打卡的第一天,之前出于兴趣学过一些单片机知识,所以第一天很快学会了点灯和蜂鸣器的使用,学习笔记如下:
2022-09-12 07:02:33
585
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人