重新计算神经网络的预测值

时间:2012-07-21 22:57:28

标签: r neural-network

我在R中使用nnet包获得以下代码来获取权重和预测值:

test <- read.csv('ScaledData.csv',header=TRUE,sep = ",")

ANNtrain <- nnet(Price ~ Sqft + Bedrooms + Bathrooms,test[1:650,],size=2, maxit=5000, linout=TRUE)

ANNtrain$wts

ANNtrain$fitted.values

所以我最终得到了这些权重:

b->h1   2.3681687
i1->h1  -0.3898256
i2->h1  1.3565967
i3->h1  -1.8423163
b->h2   1.4826518
i1->h2  0.6584391
i2->h2  0.8964167
i3->h2  -1.3290192
b->o    1.0835755
h1->o   -4.977095
h2->o   4.2466241

我正在尝试重新计算拟合值,例如第一笔交易的拟合值为.025014924。

我在每个隐藏节点上使用sigmoid函数,我理解为1 /(1 + exp(-a))其中a =每个输入变量的加权值之和。

我已经玩了几个小时了,我很难过。无论我做什么,我都无法重新计算拟合值。有任何想法吗? linout参数是否会改变计算?

1 个答案:

答案 0 :(得分:1)

sigmoid function不是特定功能。它是一类功能。这个类的实例是e。 G。 logistic function 1/(1+exp(-a))hyperbolic tangent

当你设置linout=TRUE时,你选择身份函数(f(a) = a)作为输出层的激活函数,i。即你实际上在输出层没有激活功能。