質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
R

R言語は、「S言語」をオープンソースとして実装なおした、統計解析向けのプログラミング言語です。 計算がとても速くグラフィックも充実しているため、数値計算に向いています。 文法的には、統計解析部分はS言語を参考にしており、データ処理部分はSchemeの影響を受けています。 世界中の専門家が開発に関わり、日々新しい手法やアルゴリズムが追加されています。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Q&A

解決済

1回答

3661閲覧

Rにて手書き数字MNISTをnnetで学習させたい

npn21

総合スコア13

R

R言語は、「S言語」をオープンソースとして実装なおした、統計解析向けのプログラミング言語です。 計算がとても速くグラフィックも充実しているため、数値計算に向いています。 文法的には、統計解析部分はS言語を参考にしており、データ処理部分はSchemeの影響を受けています。 世界中の専門家が開発に関わり、日々新しい手法やアルゴリズムが追加されています。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

0グッド

0クリップ

投稿2016/06/26 15:40

###前提・実現したいこと
Rにて手書き数字データMNISTをnnetで学習させたいと考えています。
サイトを参考に実行してみましたが、エラーが出てしまいうまくいきません。

###発生している問題・エラーメッセージ

There were 40 warnings (use warnings() to see them) > warnings() 警告メッセージ: 1: In min(x) : no non-missing arguments to min; returning Inf 2: In max(x) : no non-missing arguments to max; returning -Inf 3: In min(x) : no non-missing arguments to min; returning Inf 4: In max(x) : no non-missing arguments to max; returning -Inf 5: In min(x) : no non-missing arguments to min; returning Inf 6: In max(x) : no non-missing arguments to max; returning -Inf 7: In min(x) : no non-missing arguments to min; returning Inf 8: In max(x) : no non-missing arguments to max; returning -Inf 9: In min(x) : no non-missing arguments to min; returning Inf 10: In max(x) : no non-missing arguments to max; returning -Inf 11: In min(x) : no non-missing arguments to min; returning Inf 12: In max(x) : no non-missing arguments to max; returning -Inf 13: In min(x) : no non-missing arguments to min; returning Inf 14: In max(x) : no non-missing arguments to max; returning -Inf 15: In min(x) : no non-missing arguments to min; returning Inf 16: In max(x) : no non-missing arguments to max; returning -Inf 17: In min(x) : no non-missing arguments to min; returning Inf 18: In max(x) : no non-missing arguments to max; returning -Inf 19: In min(x) : no non-missing arguments to min; returning Inf 20: In max(x) : no non-missing arguments to max; returning -Inf 21: In min(x) : no non-missing arguments to min; returning Inf 22: In max(x) : no non-missing arguments to max; returning -Inf 23: In min(x) : no non-missing arguments to min; returning Inf 24: In max(x) : no non-missing arguments to max; returning -Inf 25: In min(x) : no non-missing arguments to min; returning Inf 26: In max(x) : no non-missing arguments to max; returning -Inf 27: In min(x) : no non-missing arguments to min; returning Inf 28: In max(x) : no non-missing arguments to max; returning -Inf 29: In min(x) : no non-missing arguments to min; returning Inf 30: In max(x) : no non-missing arguments to max; returning -Inf 31: In min(x) : no non-missing arguments to min; returning Inf 32: In max(x) : no non-missing arguments to max; returning -Inf 33: In min(x) : no non-missing arguments to min; returning Inf 34: In max(x) : no non-missing arguments to max; returning -Inf 35: In min(x) : no non-missing arguments to min; returning Inf 36: In max(x) : no non-missing arguments to max; returning -Inf 37: In min(x) : no non-missing arguments to min; returning Inf 38: In max(x) : no non-missing arguments to max; returning -Inf 39: In min(x) : no non-missing arguments to min; returning Inf 40: In max(x) : no non-missing arguments to max; returning -Inf

###該当のソースコード

R

1# MNISTのトレーニングデータ読み込み 2train <- read.csv("MNIST/train.csv") 3train[,"label"] <- as.factor(train[,"label"]) 4 5# 42000件のデータを40000件のトレーニングデータと2000件のテストデータに分割 6training.index <- 1:40000 7mnist.train <- train[training.index,] 8mnist.test <- train[-training.index,] 9 10# トレーニングデータをニューラルネットで学習 11mnist.nnet <- nnet(label ~ ., size=3, data=mnist.train, MaxNWts=4000) 12# weights: 2395 13initial value 10623.019233 14iter 10 value 7643.225165 15iter 20 value 7193.715233 16iter 30 value 7126.619016 17iter 40 value 7061.769417 18iter 50 value 7024.126638 19iter 60 value 6908.916549 20iter 70 value 6849.994496 21iter 80 value 6753.666635 22iter 90 value 6671.239935 23iter 100 value 6639.331857 24final value 6639.331857 25stopped after 100 iterations 26 27# テストデータを使って評価 28mnist.result <- predict(mnist.nnet, mnist.test, type="class") 29table(mnist.test$label, mnist.result, dnn = c("Actual", "Predicted")) 30< table of extent 0 > 31↑ここの結果がイマイチ? 32 33# テストデータの正解、予測を表示 34range <- 1:20 35view_train(mnist.test, range) 36< table of extent 10 x 0 > 37 ↑ここの結果がイマイチ? 38 39# テストデータの正解、予測を表示 40range <- 1:20 41view_train(mnist.test, range) 42There were 40 warnings (use warnings() to see them)

###参考にさせていただいたサイト
http://totech.hateblo.jp/entry/2016/04/11/093802

###補足情報(言語/FW/ツール等のバージョンなど)
R-3.3.1、Rstudio 0.99.902

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

質問に記載されているソースコードで実行してみたら,エラーは出ずに結果を得ることができました.

一応,ソースコードを載せておきます.このコードで実行してもエラーは出るでしょうか?

R

1library(nnet) 2 3# 関数の定義 4view_train <- function(train, range = 1:20) { 5 par(mfrow=c(length(range)/4, 5)) 6 par(mar=c(0,0,0,0)) 7 for (i in range) { 8 m <- matrix(data.matrix(train[i,-1]), 28, 28) 9 image(m[,28:1]) 10 } 11} 12 13view_label <- function(train, range = 1:20) { 14 matrix(train[range,"label"], 4, 5, byrow = TRUE) 15} 16 17# MNISTのトレーニングデータ読み込み 18train <- read.csv("MNIST/train.csv") 19train[,"label"] <- as.factor(train[,"label"]) 20 21# 42000件のデータを40000件のトレーニングデータと2000件のテストデータに分割 22training.index <- 1:40000 23mnist.train <- train[training.index,] 24mnist.test <- train[-training.index,] 25 26# トレーニングデータをニューラルネットで学習 27mnist.nnet <- nnet(label ~ ., size=3, data=mnist.train, MaxNWts=4000) 28 29# テストデータを使って評価 30mnist.result <- predict(mnist.nnet, mnist.test, type="class") 31table(mnist.test$label, mnist.result, dnn = c("Actual", "Predicted")) 32 33# テストデータの正解、予測を表示 34range <- 1:20 35view_train(mnist.test, range) 36view_label(mnist.test, range) 37matrix(mnist.result, 4, 5, byrow = TRUE) 38 39##### 結果 ##### 40# truth 41# [,1] [,2] [,3] [,4] [,5] 42#[1,] "2" "3" "9" "7" "8" 43#[2,] "3" "4" "1" "0" "9" 44#[3,] "7" "9" "1" "3" "7" 45#[4,] "6" "2" "2" "1" "8" 46 47# predict 48# [,1] [,2] [,3] [,4] [,5] 49#[1,] "1" "3" "3" "7" "7" 50#[2,] "3" "4" "1" "6" "7" 51#[3,] "4" "4" "1" "6" "7" 52#[4,] "6" "2" "2" "1" "7"

投稿2016/06/26 17:03

t-kaneko

総合スコア61

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

npn21

2016/06/27 03:14

t-kanekoさん ありがとうございます! いただいたソースコードを実行したところ、エラー解消されました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問