b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

r语言 支持向量机分类_支持向量机原理_envi支持向量机分类(6)

电脑杂谈  发布时间:2017-02-15 05:02:50  来源:网络整理

break

Delta<-err*sigmoid(out_out)*(1-sigmoid(out_out))

delta<-(matrix(net.w2[,1:(length(net.w2[1,])-1)]))%*%Delta*sigmoid(hid_out)*(1-sigmoid(hid_out));

dWex<-Delta%*%t(out_input1)

dwex<-delta%*%t(sampinex)

if(i==1){

net.w2<-net.w2 a*dWex;

net.w1<-net.w1 a*dwex;

}

else{

net.w2<-net.w2 (1-mc)*a*dWex mc*dWexold;

net.w1<-net.w1 (1-mc)*a*dwex mc*dwexold;

}

dWexold<-dWex;

dwexold<-dwex;

}

testd_s<-testd

testd_s[,1]<-testd[,1]-mean(testd[,1])

testd_s[,2]<-testd[,2]-mean(testd[,2])

testd_s[,1]<-testd_s[,1]/sd(testd_s[,1])

testd_s[,2]<-testd_s[,2]/sd(testd_s[,2])

inex<-rbind(t(testd_s),rep(1,150-ntrainnum))

hid_input<-net.w1%*%inex

hid_out<-sigmoid(hid_input)

out_input1<-rbind(hid_out,rep(1,150-ntrainnum))

out_input2<-net.w2%*%out_input1

out_out<-sigmoid(out_input2)

out_out1<-out_out

out_out1[out_out<0.5]<-0

out_out1[out_out>=0.5]<-1

rate<-sum(out_out1==test1)/length(test1)

分类正确率为:0.9333333,是一个不错的学习器。这里需要注意的是动量因子mc的选取,mc不能过小,否则容易陷入局部最小而出不去,在本例中,如果mc=0.5,分类正确率仅为:0.5333333,学习效果很不理想。

四、R中的神经网络函数

单层的前向神经网络模型在包nnet中的nnet函数,其调用格式为:

nnet(formula,data, weights, size, Wts, linout = F, entropy = F,

softmax = F, skip = F, rang = 0.7,decay = 0, maxit = 100,

trace = T)

参数说明:

支持向量机原理_r语言 支持向量机分类_envi支持向量机分类

size, 隐层结点数;

decay, 表明权值是递减的(可以防止过拟合);

linout, 线性输出单元开关;

skip,是否允许跳过隐层;

maxit, 最大迭代次数;

Hess, 是否输出Hessian值

适用于神经网络的方法有predict,print和summary等,nnetHess函数用来计算在考虑了权重参数下的Hessian矩阵,并且检验是否是局部最小。

我们使用nnet函数分析Vehicle数据。随机选择半数观测作为训练集,剩下的作为测试集,构建只有包含3个节点的一个隐藏层的神经网络。输入如下程序:


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-32507-6.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 汤姆克鲁斯
      汤姆克鲁斯

      也不敢再找事羞辱我们

    每日福利
    热点图片
    拼命载入中...