基于神经网络的分类和预测
- 一、基础知识
- (一)引言
- (二)神经网络的基本概念
- (1)神经网络
- (2)神经元
- (3)常用的激活函数(非线性映射函数)
- (4)神经网络模型
- (5)神经网络参数
- (6)神经网络训练
- (7)损失函数
- (8)流程
- (9)可能遇到的问题
- 二、适用赛题
- (一)预测类问题
- (二)分类(评价)类问题
- (三)模型选择
- (1)前馈神经网络
- (2)反馈神经网络
- (3)注意事项
一、基础知识
(一)引言
(1)两个 “集合” 通过某个 “对应法则” 将两个集合中的 “每个元素” 进行一一对应起来的关系式称为"函数"
(2)神经网络是机器学习的一种模型(方法)
思考: 神经网络用来做什么? 怎么做?
- 已知有100个鸢尾花的数据(包括花萼长度、宽度,花瓣长度、宽度),以及每个鸢尾花对应的类别
- 现在采集了一个新的鸢尾花数据(包括花萼长度、宽度,花瓣长度、宽度)该鸢尾花对应的类别如何判别?
(二)神经网络的基本概念
(1)神经网络
人工神经网络(英语:Artificial Neural Network,ANN
),简称 神经网络(Neural Network,NN
)或 类神经网络
- 神经网络由多层和多个神经元 (结点) 构成
- 神经网络由输入层、隐藏层和输出层构成
- 权重代表每个结点的重要性
(2)神经元
每个输入都有一个相关的权值(w),它是根据该输入对当前神经元的重要性来确定的,对该输入加权并与其他输入求和后,经过一个激活函数 f,计算得到该神经元的输出
其中:
- x1,……,xn-1,xn 为各个输入的分量
- w1 i, ……,xn-1 i,xn i 为各个输入分量对应的权重参数
- θi 为偏置
- f 为激活函数,常见的激活函数有Tanh,Sigmoid,Relu
- yi 为神经元的输出
可见,一个神经元的功能是求得输入向量与权向量的内积后,经一个非线性传递函数得到一个标量结果
(3)常用的激活函数(非线性映射函数)
- 如果不用激活函数,每一层输出都是上层输入的线性函数,无论神经网络有多少层,输出都是输入的线性组合,这种情况就是最原始的感知机。
- 而激活函数给神经元引入了非线性因素,使得神经网络可以任意逼近任何非线性函数,这样神经网络就可以应用到众多的非线性模型中。
- Sigmoid
由于其单增以及反函数等性质,常被用作神经网络的阈值函数
,将变量映射到(0,1),可以用来做二分类。
缺点:
- 当输入非常大或者非常小的时候,这些神经元的梯度是接近于0的,从图中可以看出梯度的趋势。
- Sigmoid 的输出不是0均值,这会导致后一层的神经元将得到上一层输出的非0均值的信号作为输入。
-
Tanh
双曲正切,将变量映射到(-1,1)。Tanh是Sigmoid的变形,与 sigmoid 不同的是,tanh 是0均值
的。因此,实际应用中,tanh 会比 sigmoid 更好。
-
Relu
修正线性单元,它的作用是如果计算出的值小于0,就让它等于0,否则保持原来的值不变,克服了前两个激活函数会出现的梯度消失问题。通常用于隐层神经元输出
。
运用:
一个由足够多的非线性单元组成的单层网络,可以近似任何具有实际意义的特征
(4)神经网络模型
(5)神经网络参数
当问题比较复杂时,感知机可能学习果不好,需要加深网络层数
多层感知机
BP神经网络
(back propagation,前馈-反向传播)
- BP神经网络等于叠加多个感知机来实现非线性可分
- 梯度下降策略:以目标的负梯度方向对参数进行调整(此外还有牛顿法、最小二乘等策略)
- 第𝑘个训练例的均方误差:
(6)神经网络训练
- 神经网络拟合某种函数,通过一些权重将一个非线性函数参数化了,我们可以通过改变这些权重来改变这个非线性函数。
- 神经网络训练的目的是找到合适的参数(即权重),使得得到的函数尽可能逼近原函数(即
损失最小
)。
(7)损失函数
1、分类
- 输出层神经元个数 :n个类别 --> n个神经元
输出的是样本所属类别的概率,这个概率值反映了预测为正类的可能性:概率越大,可能性越大。经softmax回归
处理后的输出为:
归一化的目的:
1)保证预测的概率为非负数;
2)保证各种预测结果概率之和等于1
- 损失函数:对于m个样本,softmax(
交叉熵损失
)
2、预测
- 输出层神经元个数:1个
- 损失函数:
MSE(均方误差)
(8)流程
- 准备数据集:包括训练集、验证集和测试集(82分或73分)
- 设计网络:根据需求设计网络架构
- 训练:数学建模基本采用有监督(训练集有标签)
- 测试模型效果
(9)可能遇到的问题
过拟合和欠拟合
- 过拟合:把特殊当一般(见过的天鹅都是白的,就以为天鹅只有白色的)
- 欠拟合:一般性质都没学好(“后浪”里讲述的都是年轻人,就以为年轻人都是后浪)
过拟合的原因及解决
过拟合的原因及解决
一般是训练不够
二、适用赛题
(一)预测类问题
用已有的数据来预测未来的结果,一般为回归问题,即输出值𝑦是连续的。
比如:
- 美赛2022年C题比特币和黄金投资策略,
LSTM
(Long Short-Term Memory,长短时记忆网络)进行预测- 短时交通流量预测,
小波神经网络(WNN)的时间序列
- 电力负荷预测 ,
Elman神经网络
(在BP网络上加上局部反馈层),具有延时记忆,适合动态建模
基于BP网络,加上反馈信息
(二)分类(评价)类问题
对对象进行分类,一般为离散问题,即输出值𝑦是有限个离散值
比如:
- 美赛2021年C题黄蜂传播规律和目击准确性,
卷积神经网
进行图像识别- 人体肿瘤诊断,
LVQ神经网络
,无需数据预处理,适合模式识别和优化- 柴油机故障判断,
SOM神经网络
,无标签,适合需要聚类的问题
网络模型可参考网站:一文读懂神经网络
(三)模型选择
(1)前馈神经网络
1、全连接网络(FCNN)
也称为多层感知器(Multilayer Perceptron,MLP),是最基本的神经网络架构之一。在全连接网络中,每一层的每个神经元都与前一层的所有神经元相连接,这种密集的连接方式使得网络能够学习到输入数据中的复杂非线性关系。
2、卷积神经网络(CNN)
是一种专门为处理具有类似网格结构的数据(如图像)而设计的神经网络。CNN通过卷积层、池化层和全连接层等结构,能够有效地提取图像中的局部特征和空间层次结构。
(2)反馈神经网络
1、递归神经网络(Hopfiled优化)
递归神经网络是一种专门设计来处理序列数据的神经网络。RNN通过在网络中引入循环连接,使得网络能够保留之前时间步的信息,并将其用于当前时间步的计算。
2、回馈神经网络
回馈神经网络是一种具有反馈连接的神经网络,它通过将输出或隐藏状态反馈到输入层,形成一个闭环系统。回馈神经网络可以看作是RNN的一种特殊形式。
(3)注意事项
1、数据量比较大时,可以考虑使用神经网络
2、数据量小时,优先选用决策树、支持向量机、线性回归等
完