神经网络的介绍与模型搭建


前言

提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。


提示:以下是本篇文章正文内容,下面案例可供参考

一、神经网络的全连接层

对于线性函数 h=relu(X@W+b)的图形解释如下:
在这里插入图片描述
令输出h是一个两行两列的矩阵,输入X是一个两行三列的矩阵,权值W是一个三行两列的矩阵,偏置b为0,激活函数为relu函数。当且仅当只看输入x0,x1,x2,则对应的模型部分的图形解释如图:
在这里插入图片描述
完全符合矩阵运算,其输入需要经过relu函数进行判定,即公式 h=relu(X@W+b)
在此基础上增加输入值数量和隐藏层h1,h2,h3…hn.即构成简单的多层神经网络结构的模型。如图所示:
在这里插入图片描述
在这里插入图片描述

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。

二、激活函数

激活函数是用来控制数据输出的,模拟生物的神经元则解释为激活函数为细胞核,当给与细胞的刺激(输入)不同时,细胞做出的反应(输出)不同。通过激活函数,可以让神经网络模型解决非线性问题,且一个合适的激活函数可以让模型快速收敛,以得到合适的解。以下简单介绍三个广泛运用的激活函数。
在这里插入图片描述
在这里插入图片描述

三,误差计算

前面已经讲解了神经网络的基本模型,那么对于模型的输出结果是如何进行衡量和优化的呢?这便是下面讲述的重点——损失(误差)函数loss
对于有监督神经网络来说,我们将模型的输出称为预测值,将被预测物体的事实称为真实值,预测值越逼近真实值,则模型越好,而衡量的标准称为loss。
以下给出常用的二种loss:
MSE(mean square error)
分为两种,一种的平方差均值,另一种是2范数。
y是真实值(ground-truth) out为预测值(prob)
在这里插入图片描述
CEL(cross entropy loss)交叉熵
常用于分类问题。p,q为不同的事件。在这里插入图片描述
熵的意义:一件事的熵越大,则该事件的惊喜度越低,该事件越稳定越确定。
在这里插入图片描述
总的来说,优化神经网络的过程就是让loss变小的过程,即不断更新loss的过程。

四,梯度下降

介绍了优化神经网络的标准,即loss。而优化loss最常见的方法便是梯度下降法。梯度是一个向量,是函数在每个方向的导数的组合。梯度的方向代表函数值增大的方向,梯度的长度代表函数增大的速度。所以,loss减少的过程就是函数向梯度减少的方向进行更新的过程。令loss为平方差均值,f(x)为线性感知机模型WX+b,即:
在这里插入图片描述
W’和b’分别向梯度相反的方向更新,目的是使W’* x + b’-> y,而使得loss变小。lr是学习步长(learning rate)通过lr控制更新的步长,lr的设置要合理,若过大则很容易产生梯度震荡而得不到最优解,而lr过小会导致训练速度过慢,训练不容易收敛。在这里插入图片描述
如图3-4-1所示,若参数lr过小,模型更新时每次向最小值的点移动的距离很小,模型的训练时间越长,且若loss函数复杂可能会造成梯度收敛困难。
如图3-4-2所示,若参数lr过大,模型更新时每次向最小值的点移动的距离很大,可能造成权值更新的来回震荡,而得不到最优解(最小值)。
设置lr的一个较好的方式是——learning rate decay。即刚因为起始点可能距离最优解较远,lr可以设置的较大(如0.01),随着模型更新次数的迭代,lr也逐渐减少,便于求得最优解,如图3-4-3所示。

在这里插入图片描述

五,反向传播

通过以上介绍我们已经建立了一个简单的神经网络模型,且探讨的如何求得最优解的方法,接下我们将探讨如何更新模型的权值,使模型得到自我优化。一个最经典的方法就是反向传播。在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

总结

本章依次讲解了神经网络模型的建立,激活函数,误差分析,梯度下降和反向传播,这五部组合起来就是完整的BP神经网络模型

猜你喜欢

转载自blog.csdn.net/qq_39297053/article/details/109234514