R语言神经网络

来源:未知 发布于 2019-10-04  浏览 次  

  根据数据类型的不同,对一个问题的建模有不同的方式。在机器学习或者人工智能领域,人们首先会考虑算法的学习方式。在机器学习领域,有几种主要的学习方式。将算法按照学习方式分类是一个不错的想法,这样可以让人们在建模和算法选择的时候考虑能根据输入数据来选择最合适的算法来获得较好的结果。

  监督式学习:在监督式学习下,输入数据被称为“训练数据”,每组训练数据有一个明确的标识或结果,如对防垃圾邮件系统中“垃圾邮件”“非垃圾邮件”,对手写数字识别中的“1“,”2“,”3“,”4“等。在建立预测模型的时候,监督式学习建立一个学习过程,将预测结果与“训练数据”的实际结果进行比较,不断的调整预测模型,直到模型的预测结果达到一个预期的准确率。监督式学习的常见应用场景如分类问题和回归问题。常见算法有逻辑回归(Logistic Regression)和反向传递神经网络(Back Propagation Neural Network)

  在非监督式学习中,数据并不被特别标识,学习模型是为了推断出数据的一些内在结构。常见的应用场景包括关联规则的学习以及聚类等。常见算法包括Apriori算法以及k-Means算法。

  在此学习方式下,输入数据部分被标识,部分没有被标识,这种学习模型可以用来进行预测,但是模型首先需要学习数据的内在结构以便合理的组织数据来进行预测。应用场景包括分类和回归,算法包括一些对常用监督式学习算法的延伸,这些算法首先试图对未标识数据进行建模,在此基础上再对标识的数据进行预测。如图论推理算法(Graph Inference)或者拉普拉斯支持向量机(Laplacian SVM.)等。

  一个计算模型,要划分为神经网络,通常需要大量彼此连接的节点 (也称 ‘神经元’),并且具备两个特性:每个神经元,通过某种特定的输出函数 (也叫激励函数 activation function),计算处理来自其它相邻神经元的加权输入值;

  神经元之间的信息传递的强度,用所谓加权值来定义,算法会不断自我学习,调整这个加权值。在此基础上,神经网络的计算模型,依靠大量的数据来训练,还需要:

  成本函数 (cost function):用来定量评估根据特定输入值,计算出来的输出结果,离正确值有多远,结果有多靠;

  学习的算法 ( learning algorithm ):这是根据成本函数的结果,自学,纠错,最快地找到神经元之间最优化的加权值;

  neuralnet包的改进在于提供了弹性反向传播算法和更多的激活函数形式。

  但以上各包均围绕着BP网络,并未涉及到神经网络中的其它拓扑结构和网络模型。而新出炉的RSNNS包则在这方面有了极大的扩充。

  mlp意指多层感知器,RSNNS包中其它重要的网络形式还包括: dlvq(动态学习向量化网络), rbf(径向基函数网络), elman(elman神经网络), jordan(jordan神经网络), som(自组织映射神经网络), art1(适应性共振神经网络)等等

  BP(Back Propagation)神经网络 是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层(input)、隐层(hide layer)和输出层(output layer)。

  decay经元输入权重的一个修改偏正参数,表明权值是递减的(可以防止过拟合);

  data(algae)#海藻数量数据,含200个水样,每个记录由11个变量组成,season、size和speed为名义变量,其余为所观测水样的不同化学参数,参数为连续变量。

  #处理NA值的方法,这个函数用一个欧式距离的变种来找到距离任何个案最近的K个邻居。填补缺失值的方法可以是k个邻居的中位数,或者众数以及加权均值。

  #使用nnet命令,参数规定隐层单元个数为10,权重调整速度为0.1,较大迭代次数为1000次,线性输入。

  支持向量机SVM是九十年代中期发展起来的新的机器学习技术,与传统的神经网络NN技术不同,SVM是以统计学习理论SLT为基础,NN是以传统统计学理论为基础。传统统计学的前提条件是要有足够多的样本,而统计学习理论是着重研究小样本条件下的统计规律和学习方法的,它为机器学习问题建立了一个很好的理论框架。

  n.neurons是个数值向量,包含在每个层的神经元的数目,第一个数是输入神经元的数量,最后是输出神经元的数量,其余的都是隐藏层神经元的数量;

  momentum.global全局的动量值(有的学习算法需要设置这个值貌似是步长);

  train(net, P, T, error.criterium, report, show.step, n.shows)函数:神经网络训练函数。对于一个给定的数据集(训练集),此功能修改的神经网络的权重和偏差的近似的训练集中存在的变量之间的关系。这些可以满足一些需要,即拟合非线性函数。

  report表示训练函数是否保持安静(或应在训练过程中提供图形/文字信息);香港老地方开奖结果最快开奖

平特杀一码公式| 万众图库手机黑白图库| 香港赛马会资料网站| 手机开奖最快的网站| 正版刘伯温平特一肖| 本港台现场报码| 现场开马最快开奖结果| 济公网心水论坛| 香港挂牌彩图之最全篇| 生财有道图库开奖结1l|