机器学习笔记(五)--神经网络

神经元网络:M-P神经元模型

神经元接收来自其他n个神经元传递过来的信号,这些信号通过有权重的连接进行传递,神经元接收到的总输入值将与神经元的阈值进行对比,通过激活函数的处理产生神经元的输出。

感知机与多层网络

感知机 :由两层神经元组成 ,输入层传递信号给输出层,输出层是M-P神经元。只有输出层进行激活函数处理,拥有一层功能神经元。不能解决异或、非线性可分的问题。

多层网络:隐藏层和输出层均拥有激活函数的功能神经元。

PS:常见的神经网络是层级结构,即每层神经元与下一层神经元互连,神经元之间不存在同层连接,也不存在跨层连接,也称为多层前馈神经网络。前馈是指网络拓扑结构上不存在环或者回路。

神经网络的学习过程,就是学习连接权值和阈值的过程。

误差逆传播算法(BP)

不仅可以用于多层前馈神经网络,还可以用于其他类型的神经网络(如:训练递归神经网络)

BP是迭代学习算法,在每一轮迭代中采用广义的感知机学习规则对参数进行更新估计。基于梯度下降策略,以目标的负梯度方向对参数进行调整,由于强大的表示能力,因此用以过拟合。

标准的BP算法,每次仅针对一个训练样例更新连接权和阈值。

累积BP算法,直接针对累积误差最小化,读取整个训练集之后对参数更新。

存在的问题:如何设置隐层神经元的个数。实际中,往往通过试错法调整。

解决过拟合的策略:早停、正则化

全局最小和局部极小

跳出局部最小的方法:

  • 利用多组不同参数值初始化多个神经元网络,相当于从多个初始点开始搜索。
  • 模拟退火
  • 随机梯度下降
  • 遗传算法

跳出局部极小的技术大多是启发式,理论上缺乏保障。

常见的其他神经网络:

  • RBF径向基函数网络;
  • ART自适应谐振理论网络,属于竞争性学习网络,是无监督学习,可塑性稳定性好;
  • SOM自组织映射网络,属于竞争性学习网络,是无监督学习;
  • 联级相关网络,即结构自适应网络
  • Elman网络,属于递归神经网络,允许网络有环形结构。
  • Boltzmann网络,基于能量的模型,属于递归神经网络

深度学习

一般复杂模型训练效率低,容易陷入过拟合,深度学习使得训练数据大幅增加,降低过拟合风险。

增加隐藏层数目比增加隐藏层神经元更有效,多层神经网络难以直接利用BP算法,因为误差在多个隐藏层传递,使得处于发散而不能收敛的状态。无监督逐层训练时多隐藏层网络训练的主要方法,即预训练+微调,另一种方法是权值共享,即让一组神经元使用相同的连接权。

相关推荐
正义的彬彬侠1 小时前
sklearn.datasets中make_classification函数
人工智能·python·机器学习·分类·sklearn
belldeep1 小时前
python:用 sklearn 转换器处理数据
python·机器学习·sklearn
杜若南星1 小时前
保研考研机试攻略(满分篇):第二章——满分之路上(1)
数据结构·c++·经验分享·笔记·考研·算法·贪心算法
正义的彬彬侠2 小时前
CatBoost 中对分类特征进行目标变量统计编码 公式解析
人工智能·机器学习·集成学习·boosting·catboost
Chef_Chen2 小时前
从0开始学习机器学习--Day22--优化总结以及误差作业(上)
人工智能·学习·机器学习
华清元宇宙实验中心2 小时前
【每天学点AI】前向传播、损失函数、反向传播
深度学习·机器学习·ai人工智能
宋一诺333 小时前
机器学习—高级优化方法
人工智能·机器学习
龙的爹23333 小时前
论文 | The Capacity for Moral Self-Correction in LargeLanguage Models
人工智能·深度学习·机器学习·语言模型·自然语言处理·prompt
墨绿色的摆渡人4 小时前
用 Python 从零开始创建神经网络(六):优化(Optimization)介绍
人工智能·python·深度学习·神经网络
phoenix@Capricornus4 小时前
矩阵的对角化&特征值分解
图像处理·线性代数·机器学习·矩阵