我在 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
我正在尝试重新计算拟合值,例如第一笔交易的拟合值是 0.025014924。
我在每个隐藏节点上使用 sigmoid 函数,我理解为 1/(1+exp(-a)) 其中 a=每个输入变量的加权值的总和。
我已经玩了几个小时了,我很困惑。无论我做什么,我都无法重新计算拟合值。有任何想法吗?linout 参数是否会改变计算?