Rでのニューラルネットワーク出力の解釈


8

私は自分のデータのニューラルネットワークを作成することができました。しかし、R出力の解釈についてはよくわかりません。次のコマンドを使用してニューラルネットワークを作成しました。

> net=nnet(formula = category~iplen+date_time, size=0,skip=T,lineout=T)
# weights:  3
initial  value 136242.000000 
final  value 136242.000000 
converged

次に、次のコマンドを使用して出力を確認しました。

    > summary(net)
a 2-0-1 network with 3 weights
options were - skip-layer connections 
 b->o i1->o i2->o 
 0.64 -0.46  0.15

上記の出力から、次のニューラルネットワークの図を結論付けることができますか? ネット

2番目の質問は、この図がどれほど有用であるかをどのように知ることができるかです。つまり、独立変数からカテゴリー番号(ターゲット変数)を見つけたかったのです。では、このネットワークが本当にカテゴリ(ターゲット変数)を予測するのに役立つかどうかをどのように判断できますか 最終的な出力は何ですか、またはそれを見つける方法は?

上記のnネットワークから次の出力を結論付けることはできますか?:

category= -0.46(iplen)+0.15(date_time)+0.64

よろしく、

回答:


6

あなたの解釈は正しいようです。predictいくつかのデータを呼び出し、計算結果をと比較することで、自分で確認できますpredict。最初にスプレッドシートでこれを行い、次にメタプログラミングを使用してRニューラルネットワークを計算しました。

ちなみに、Rパッケージneuralnetは素晴らしい図を描画しますが、どうやらそれは回帰のみをサポートしています(分類ではないですか?)。


アンドリュー、返事ありがとう。もう1つ、方程式について説明したいと思います。nnet出力から、category = -0.46(iplen)+0.15(date_time)+0.64です。これを、次のように線形回帰を行った後に作成できる回帰方程式と比較できます:lm(category〜iplen + date_time)そして、線形回帰方程式は次のようになります:category =ß1(iplen)+ß2(date_time)+ SS0

完全に明確ではありませんが、neuralnetパッケージで「linear.output = FALSE」を設定することで分類できます。ref
Tsjolder氏2016

「iter 130値119841.088094」および「最終値136242.000000」行の意味は何ですか?それらの数は何ですか?
skan

1
@skan:これは勾配降下法の最適化です
Andrew

5

次のコードを使用してnnet結果をプロットすることもできます

install.packages("devtools")
library(devtools)
source_url('https://gist.githubusercontent.com/fawda123/7471137/raw/466c1474d0a505ff044412703516c34f1a4684a5/nnet_plot_update.r')

#plot each model
plot.nnet(net)

参照:https : //beckmw.wordpress.com/tag/nnet/


うーん、それは面白いですが、私の場合はうまくプロットしません(重み情報を入れたくないようです)。それでも、ツールを増やすことは、ツールを減らすことよりも優れています。
ケン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.