R语言中B-P神经网络的函数主要集中在neuralnet 和nnet两个包中
一neuralnet包中的neuralnet函数
neuralnet(输出变量~输入变量,data=,hidden,threshold=0.01,stepmax=100000,err.fac=误差函数名,linear.output=T,learningrate=学习率,algorihm=算法名)
解释:
hidden 用于确定隐节点数,默认为1,表示一个隐层包含一个隐节点,
hidden = c(3,2,1),表示三个隐层,每个隐层分别含有3,2,1个隐节点
threshold 迭代终止条件。当权重最大调整小于指定值(默认0.01)时迭代终止
stepmax 迭代终止条件。当迭代次数达到指定次数(默认100000次)时迭代终止
err.fac 损失函数的形式,“ssc”误差平方 (regression)“ce”表示交互熵(classfication)
linear.output 激活函数是否线性,默认sigmoid
learningrate 指定学习率。当algorithm指定为“backpop”时需指定该参数为一常数
algorithm 指定算法。 “backpop”传统的b-p反向传播网络 “rprop+”或“rprop-”为弹性bp算法, 分别表示权重回溯或不回溯
结果显示:
response:各观测输出变量的实际值
net.result:各观测输出变量的预测值
weights:各节点的权重列表
result.matrix: 迭代终止时,各个节点权重,迭代次数,损失函数值,权重最大调整量
startweighs: 各个节点的初始权重,该函数以(-1,+1)的正态分布随机生成,要使每次结果相同
需设定随机数种子为一常数
二,ROC曲线确定二分类问题的概率分割值
R的ROCR包提供了计算和绘制ROC曲线的一系列函数prediction和performance
注:再使用prediction时候需避免冲突,因为neuralnet和ROCR包中均有函数prediction
model <- prediction(概率向量,对应的类别)
roc <- performance(model,measure="",x.measure="")
参数measure表示曲线的纵坐标,有“auc” “acc” “tpr” "fpr" "cutoff"等
plot(roc)
'