神经网络
### 神经网络(Neural Network)
**作用**:神经网络是一种模拟人类神经系统的计算模型,能够从大量数据中学习模式和规律,用于分类、回归、聚类等多种任务。
**能干什么**:具有强大的非线性建模能力和自适应性,可以处理复杂的输入输出关系。
**一般拿来分析的问题**:
- **模式识别**:如手写数字识别、图像分类等。
- **预测建模**:如股票价格预测、销售预测等。
- **分类任务**:如垃圾邮件分类、客户信用评分等。
- **聚类分析**:如客户细分、基因表达数据分析等。
### 卷积神经网络(Convolutional Neural Network,CNN)
**作用**:CNN是一种专门用于处理具有网格结构数据(如图像、视频)的神经网络,通过卷积层自动提取数据中的特征。
**能干什么**:擅长捕捉数据中的局部特征和空间层次结构,减少参数数量,提高模型的效率和准确性。
**一般拿来分析的问题**:
- **图像分类**:识别图像中的物体类别。
- **目标检测**:在图像中定位和识别多个物体。
- **图像分割**:将图像分割成不同的区域或部分。
- **视频分析**:对视频中的动作、行为等进行识别和分析。
### 循环神经网络(Recurrent Neural Network,RNN)
**作用**:RNN是一种能够处理序列数据的神经网络,通过引入循环结构,使得网络能够记忆之前的信息。
**能干什么**:适合处理具有时间依赖性的数据,能够对序列中的每个元素进行建模。
**一般拿来分析的问题**:
- **时间序列预测**:如股票价格预测、天气预报等。
- **自然语言处理**:如文本生成、机器翻译、情感分析等。
- **语音识别**:将语音信号转换为文字。
- **音乐生成**:生成音乐序列。
### 长短时记忆网络(Long Short-Term Memory,LSTM)
**作用**:LSTM是一种特殊的RNN,通过引入门控机制,能够更好地处理长期依赖问题。
**能干什么**:在处理具有长期依赖关系的序列数据时表现出色,能够有效避免梯度消失问题。
**一般拿来分析的问题**:
- **时间序列预测**:特别是具有长期趋势和季节性变化的数据。
- **自然语言处理**:如文本生成、机器翻译、问答系统等。
- **语音识别**:处理语音信号中的长期依赖关系。
- **生物信息学**:如蛋白质序列分析、基因表达数据分析等。
在数学建模比赛中,这些神经网络模型可以根据具体问题的特点和数据类型进行选择和应用,以实现更好的建模效果。
神经网络基础¶
输入输出层的节点数固定,中间层可自由指定。每个连接线对应一个不同的权重(其值称为权值),这是需要训练得到的。
神经元模型是一个包含输入,输出与计算功能的模型。输入可以类比为神经元的树突,输出可类比为神经元的轴突,计算则可类比为细胞核。
卷积神经网络¶
RGB颜色模型中,单个矩阵就扩展成了有序排列的三个矩阵,也可以用三维张量去理解。
其中的每一个 矩阵 又叫这个图片的一个 channel(通道),宽, 高, 深来描述。
为了实现 平移不变性,卷积神经网络(CNN)等可以捕捉到图像中的局部特征而不受其位置的影响。
卷积¶
卷积操作就是用一个可移动的小窗口来提取图像中的特征,这个小窗口包含了一组特定的权重,通过与图像的不同位置进行卷积操作,网络能够学习并捕捉到不同特征的信息。
a. 步长stride:每次滑动的位置步长。
b. 卷积核的个数:决定输出的depth厚度。同时代表卷积核的个数。
c. 填充值zero-padding:在外围边缘补充若干圈0,为了总长能被步长整除。
架构¶
1、输入层
输入层接收原始图像数据。图像通常由三个颜色通道(红、绿、蓝)组成,形成一个二维矩阵,表示像素的强度值。
2、卷积和激活
卷积层将输入图像与卷积核进行 卷积操作。然后,通过应用激活函数(如ReLU)来引入非线性。这一步使网络能够学习复杂的特征。
3、池化层
池化层通过 减小特征图的大小 来减少计算复杂性。它通过选择池化窗口内的最大值或平均值来实现。这有助于提取最重要的特征。
4、多层堆叠
CNN通常由多个卷积和池化层的堆叠组成,以逐渐提取更高级别的特征。深层次的特征可以表示更复杂的模式。
5、全连接和输出
最后,全连接层将提取的特征映射转化为网络的最终输出。这可以是一个 **分类标签、回归值**或其他任务 的结果。
循环神经网络与长短时记忆神经网络¶
RNN-理论介绍¶
循环神经网络(RNN) 是一种用于处理 序列 数据的神经网络,它具有时间递归的结构,可以将前一个时间步的输出作为当前时间步的输入。
RNN会记忆之前的信息,并利用之前的信息影响后面节点的输出。
网络结构上:
RNN隐藏层之间的节点是有连接的,隐藏层的输入不仅包括输入层的输出, 还包括上一时刻隐藏层的输出。
RNN可以看做同一个神经网络结构(输入层-隐藏层-输出层)在时间序列上被复制多次的结果。
总结:
卷积神经网络在不同的 空间位置 共享参数,循环神经网络是在不同的 时间位置 共享参数。
RNN的问题:
无法很好的处理很长的序列数据。随着间隔不断增大,RNN会彻底丧失学习到连接远信息的能力。
RNN与其他网络唯一的区别:
在于它每个时刻都有一个输出!(故总损失=所有时刻/部分时刻上的损失函数总和)
LSTM-理论介绍¶
不会导致长时间前的有效信息被忽略,只有一部分信息需要长期记忆,让神经网络学会遗忘特定的信息。
架构¶
- 存储单元(cell)
- 输入门
- 遗忘门
- 输出门
遗忘门:
当遇到 句号 时,遗忘门会意识到句子中的上下文发生了改变,并忽略当前神经元中存储的状态信息。让循环神经网络“遗忘”之前没有用到的信息。
“门”结构:
就是一个使用Sigmod神经网络和一个按位做乘法的运算。