人工神经网络总结

人工神经网络是一种应用类似于大脑神经突触联接的结构进行信息处理的数学模型,在这种模型中,大量的节点(或神经元)之间相互联接构成网络,即“神经网络”,以达到处理信息的目的,神经网络通常需要进行训练,训练的过程就是网络进行学习的过程,训练改变了网络节点的连接权值,是其具有分类的功能,经过训练的网络就可用于对象的识别。

 

目前神经网络已有上百种不同的模型,常见的有BP网络,径向基RBF网络,Hopfield网络,随机神经网络,竞争神经网络等,但是目前的神经网络仍普遍存在收敛速度慢,计算量大,训练时间长和不可解释等缺点。

 

深度学习与神经网络

建立,模拟人脑进行分析学习的神经网络,模仿人脑的机制来解释数据;

通过结合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示

 

神经网络曾经崩溃原因:
容易过拟合,参数难以调整需要技巧;

训练速度缓慢;

层次较少(<=3)情况下效果并不比其他方法更优;

 

深度学习框架:

采用了神经网络相似的分层结构,系统由包括输入错,隐层,输出成组成的多层网络,

只有相邻结点之间有连接,同一层以及跨层结点直接相互无连接;

 

深度学习训练过程:
两步:

训练一层网络

调优,使原始表示x向上生成的高级表示r和该高级表示r向下生成的x’尽可能一直(改变我想的和现在一致,改变现实和我想的一致);

训练过程:
使用自下上升非监督学习(从底层开始,一层一层往顶层训练);

自顶向下监督学习(通过带标签的数据训练,训练自顶向下传输,对网络协调)

 

深度置信网络DBN(deep belief networks)无监督

深度学习,基于多层神经网络架构的学习方法

使深度学习与半监督无监督方法结合,提升性能;

深度学习指的是对深层架构进行训练并调整里面的参数来完成机器学习任务

深度架构由许多层非线性运算完成,神经网络许多隐层;

 

BP算法

迭代算法

随机设定初值,计算当前网络的输出,根据当前输出和lable直接的差去改变前面各层的参数,直到收敛;

问题

梯度越来越稀疏,从顶层越往下,误差校正信号越老越小;

收敛到局部最优,尤其是从远离最优区域开始的时候(随机值初始化导致);

一般只能用有标签的数据训练,但大部分数据没有标签;

 

KNN全监督

K-Nearest Neighbors 算法,找出与未知样本x距离方法,它存放样本,看这k个样本中多数属于哪一类,就把x归为那一类,k近邻方法是一种懒惰学习方法,它存放样本,直到需要分类时才进行分类,如果样本集比较复杂,可能会导致很大的计算开销,因此无法应用到实时性很强的场合。

优点:简单有效;重复训练的代价较低,计算时间和空间线性与训练集的规模,比较适合于样本容量比较大的类域的自动分类;

缺点:懒散学习方法(懒散学习方法基本不学习);输出的可理解性不强;

在分类时有个明显不足,当样本不平衡时,如一个类的样本容量很大,而其他类样本容量很小时,有可能导致当输入一个新样本时,该样本的k个邻居中大容量类的样本占多数,该算法只计算“最近的”邻居样本,当某一类的样本数量很大,那么或者这类样本并不接近目标样本,数量并不能影响运行结果(可以采用权值的方法来改进);

计算量较大(常用解决方法,事先对已知样本点进行剪辑,事先去除对分类作用不大的样本);

 

支持向量机

可以解决小样本情况下的机器学习问题,可以提高泛化能力,可以解决高维问题,可以解决非线性问题,可以避免神经网络结构选择和局部极小点问题;

缺点:对缺失数据敏感,对非线性问题没有通用解决方案,必须谨慎选择kernel function处理

对多分类问题,以二元为基础,通过组合原则,构造多类分类器;

一对一分类ovo,每两个之间相互分类,投票最多位所属类;存在不可分区域

一对多分类ovr。

 

总结

机器学习本质上是分类算法,包括SVM分类,BP神经网络,KNN等

首先初始化权值(通过随机方式),给予实际输入理想输出,以及活化函数(SVM核函数),通过建立网络(BP算法),设定多层次,不断修正调整(BP算法包括反馈方式)改变权值,训练出在误差允许范围内的一组权值,对当前训练数据得到较好效果,同时输入检测;

 

机器学习,一个学习的过程,通过算法和程序使机器能够对输入的训练数据输出一个较好的结果,然后再通过测试数据判断学习效果,对BP算法又包括泛化(对新的测试数据检测)和回想(对训练数据检测)。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
人工神经网络(Artificial Neural Network,ANN)是一种受到人脑神经系统启发的模型,能够模拟人类大脑的学习和决策过程。MATLAB是一个强大的数值计算工具,对于ANN的研究和应用具有丰富的支持。 首先,MATLAB提供了丰富的神经网络工具箱,可以方便地构建和训练ANN模型。用户可以使用这些工具箱来定义网络结构、选择适当的激活函数和损失函数等。同时,MATLAB还提供了各种常用的训练算法,如反向传播算法、遗传算法等,可以帮助用户快速训练和优化ANN模型。 其次,MATLAB拥有强大的数据处理和可视化能力,可以辅助ANN的数据预处理和结果分析。用户可以使用MATLAB进行数据的清洗、归一化等处理,还可以通过绘制图表、绘制决策边界等方式对ANN的训练结果进行可视化展示。 此外,MATLAB还支持与其他工具和平台的集成,用户可以将MATLAB中训练好的ANN模型导出为C/C++代码,应用于嵌入式系统或其他平台上。同时,MATLAB还提供了API和外部接口,方便用户与其他编程语言(如Python、Java等)进行交互,实现更灵活的应用。 总结起来,MATLAB作为一款功能强大的数值计算工具,在ANN的研究和应用中发挥着重要的作用。它提供了丰富的神经网络工具箱、强大的数据处理和可视化功能,以及与其他工具和平台的集成能力,为用户提供了便捷的ANN建模、训练与应用的环境。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值