2021-01-22

神经网络

人工神经网络模仿大脑神经网络,我们人滴大脑里面呢有很多很多个神经元,他们之间相互连接,构成神经网络,那在人工神经网络出现之前的人工智能其实是一种假智能,因为我们知道它内部是怎样运作的,它只是很复杂的程序而已,但是真正的神经网络我们是无法知道它到底是怎么学习,怎么做出预测的。

大脑结构越简单的话智商就越低,那人工神经网络结构越复杂就越强大,深度神经网络就是指emm层数很多的神经网络吧,深度学习就是训练深度神经网络的过程(为什么我要入这个坑呢(还不是换了课题)…我只是想混到毕业去朝九晚五啊)
输入
训练神经网络首先是输入,每个被输入到神经网络的数据都叫做一个特征,比如图片输入,6464的图片红绿蓝三个矩阵转换成为一个向量可以是6464*3 × 1的列向量,那就有12288个特征,将像素的矩阵转化为一个特征向量作为神经网络的输入。
预测
将数据输入到神经网络之后,神经网络如何进行预测呢,预测的过程其实只是基于一个简单的公式:z = dot(w,x) + b。x代表着输入特征向量,假设只有3个特征,那么x就可以用(x1,x2,x3)来表示。w表示权重,它对应于每个输入特征,代表了每个特征的重要程度。b表示阈值,用来影响预测结果。z就是预测结果。dot()函数表示将w和x进行向量相乘。那么公式展开后就变成了z = (x1 * w1 + x2 * w2 + x3 * w3) + b。【逻辑回归】其实在实际使用当中不是直接使用逻辑回归的,还会加上激活函数。
准确与否
在做预测之后,神经网络肯定需要检查预测的对不对呀,那样才能对自身进行调整,促进学习,就和我们一样学一堆结果考试还贼垃圾(T^T怪我自己)神经网络判断预测结果是否准确就用到了一个叫做损失函数的东西。损失函数的指越小,说明预测结果越准确。对于单个样本定义损失函数,那对于整个训练集的训练精度,实际上就是对单个样本“损失”累加求平均值,针对整个训练集的损失函数称为成本函数,值越大越不准确。从上述公式可以看出来预测是否准确与w、b有关。
学习
当发现预测不准确的时候,想办法让预测变得更准确的过程就叫做学习。学习的目的就是找到合适的w、b使得损失函数结果更小,采用的是梯度下降算法,通过梯度下降找到最合适的w、b值。神经网络的计算是一个前向传播以及反向传播的过程,向前传播计算出预测结果以及损失,再通过反向传播计算出损失函数关于每一个参数(w、b)的偏导数,并对这些参数进行梯度下降,然后用新的参数进行新一轮的前向传播,这样不停地进行前向反向传播来训练(更新)参数使得损失函数值更小,预测更准确。
梯度下降
假设损失函数J是一个关于实数w的函数(实际上损失函数J是一个关于w、b的凸函数,而且w是一个向量或着一组实数而不是一个实数),梯度下降是通过重复执行w‘=w-r * dw这个公式来改变w的值,w’是新的w值,r是学习率,dw是偏导数(是w关于损失函数J的偏导数)因为我们是要一步一步找到使得J达到最小值时候的w值的,所以需要控制好w改变的一个度,不然一下变的太多了就过了J最小值的点了,所以用r来控制w改变的步进。
计算逻辑回归的偏导数
逻辑回归虽然被称为回归,但是它实际上是一种分类模型,而且常用于二分类,当然也可以用于多分类。前面讲梯度下降时候反向传播求导的时候是单个样本,而且对于不同的损失函数前向传播公式都不同,那么反向传播求导也是不一样的。单个的样本损失函数求导更新w、b等参数,前面说到成本是所有损失函数值的均值,那么整个的偏导也就是每个样本的偏导数的平均值。
向量化
向量化会大大节约时间
(好样的 我的人工智能之路至少在开学之前 应该就止于此 从开始到结束竟然只有一周 插入了一个新任务 希望能顺利写完综述再回来继续学习 QAQ )

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值