0 引言
Stuttgart Neural Network Simulator(SNNS)是德国斯图加特大学开发的优秀神经网络仿真软件,为国外的神经网络研究者所广泛采用。斯图加特神经网络模拟器(SNNS)是一个图书馆。包含许多标准的神经网络实现方法及函数。这个包包装了SNNS功能,使其可以在r中使用'RSNNS'低级接口,访问SNNS的所有的算法功能和灵活性。此外,该包包含一个方便的高层接口,所以最常见的神经网络拓扑和学习算法可以无缝地集成到R中。
1 常用函数
confusionMatrix(targets, predictions)
参数:targets:正确的目标值。
predictions:针对目标的方法的相应预测。
混淆矩阵:混淆矩阵显示了类x有多少次真正的被分类为x类。一个完美的方法应该会生成一个对角矩阵,所有不在对角线上的值都是错误的。
decodeClassLabels(x, valTrue = 1, valFalse = 0)
参数:valTrue:细节段落
这个函数的作用是将数值型或者分类类型的输入值转换为二元矩阵存储。
mlp(x, y, size = c(5), maxit = 100, initFunc = "Randomize_Weights", initFuncParams = c(-0.3, 0.3), learnFunc = "Std_Backpropagation", learnFuncParams = c(0.2, 0), updateFunc = "Topological_Order", updateFuncParams = c(0), hiddenActFunc = "Act_Logistic", shufflePatterns = TRUE, linOut = FALSE, outputActFunc = if (linOut) "Act_Identity" else "Act_Logistic", inputsTest = NULL, targetsTest = NULL, pruneFunc = NULL, pruneFuncParams = NULL, ...)
参数:
mlp():mlp是全连通前馈网络,创建和训练多层感知器,执行前馈反向传播神经网络算法。
#size:隐层数;learnFunc:初始化函数;
#learnFuncParams:初始化函数的参数,设置学习率(0.1-1间,它指定梯度下降步宽)、
#最大输出误差(输出和目标值之间的差值被视为零误差,而不是反向传播,用于防止过拟合)、;
#inputsTest:输入矩阵测试网络;
size 隐藏层数
maxit 学习的最大迭代次数
initFunc 初始化函数
initFuncParams 初始化函数参数设置
hiddenActFunc 隐层的激活函数
outputActFunc 输出单元的激活函数
splitForTrainingAndTest(x, y, ratio = 0.15)
参数:将数据分为训练集和测试集,
ratio是训练和测试集的比率,默认是15%的数据用于测试
normTrainingAndTestSet(x,dontNormTargets = TRUE, type = "norm")
参数:标准化训练集和测试集
对于分类问题,正则化无意义,但是回归问题有必要。默认不正则化
2 总结
RSNNS包中其它重要的网络形式还包括: dlvq(动态学习向量化网络), rbf(径向基函数网络), elman(elman神经网络), jordan(jordan神经网络), som(自组织映射神经网络), art1(适应性共振神经网络)等等。为了形式才写的总结,昨天一个小学弟的帮忙才接触到这个,学一学吧,总有好处。
importance(坚持)>importance(努力)~~~