BP(Back Propagation)神经网络 是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层(input)、隐层(hide layer)和输出层(output layer)。 下面用R语言中的nnet程序包进行分类算例和回归算例,第一个例子是对河流的化学属性对其中的藻类进行回归预测,第二个例子是著名的鸢尾花算例。 #首先读入程序包并对数据进行清理 #神经网络还需要对数据进行标准化 #计算相对误差 再来看看处理分类数据的表现,利用iris数据来判断花的种类 model.nnet <-nnet(species ~="" .,="" linout="F,size" =="" 10,="" decay="0.01,">-nnet(species> pre.forest setosa versicolor virginica setosa 50 0 0 versicolor 0 49 0 virginica 0 1 50 其预测只有一个错误,效果不错 支持向量机SVM是九十年代中期发展起来的新的机器学习技术,与传统的神经网络NN技术不同,SVM是以统计学习理论SLT为基础,NN是以传统统计学理论为基础。传统统计学的前提条件是要有足够多的样本,而统计学习理论是着重研究小样本条件下的统计规律和学习方法的,它为机器学习问题建立了一个很好的理论框架。 实践表明,建立在SLT之上支持向量机不仅结构简单,而且技术性能尤其是推广能力明显提高,能够解决好大量现实中的小样本学习问题,它是一个全新的神经网络技术。 library(e1071) model.svm <- svm(a1~.,="" norm.data)="">-> model.svm <-svm(species ~="" .,data="iris)">-svm(species> 多元自适应回归样条(MARS) library(earth) model.mars <-earth(species ~="" .,data="iris)">-earth(species> 本文转载自:数据科学与R语言
|
|