我正在尝试在 Excel 中使用一些简单的输入数据对 nnet 包的工作方式进行逆向工程。这是我采取的步骤
导入虚拟数据:
test <- read.csv('dataScaled.csv',header=TRUE,sep = ",")
训练网络:
anntrain <- nnet(Price ~ Sqft + Bedrooms + Bathrooms,test[1:650,],size=2, maxit=5000,linout=TRUE)
获取 ANN 的权重:
anntrain$wts
输出:[1] -2.12443010 6.68900321 0.85338018 -0.73329823 -3.95336239 7.91917321 [7] -5.38893137 4.05941771 -0.02062346 0.26584364 0.32881053
获取训练网络的拟合值:
anntrain$fitted.values
这将输出我认为是训练网络对我在上面训练的 650 笔交易中的每笔交易的缩放价格预测。通过使用 sigmoid 函数使用上述权重重新计算来证明拟合值。
我的困惑是它输出 11 个重量值。如果我只有 3 个输入、2 个隐藏节点和 1 个输出,那不应该等于只有 8 个权重吗?3个额外的重量是什么?