• 締切済み

統計Rを使ったニューラルネットの入力方法は?

統計Rソフトを使ってニューラルネット(フィードフォワードニューラルネット)を行いたいのですが、 nnet, pridictという関数があります。 入力値は0から1の間に標準化する必要があるのでしょうか? 現在、何も加工せず入力しておりますが、きちんと予測されているようです。 (標準化しない入力例:4,10、2、7、・・・) 疑問点は以下の2点です 統計Rでは 1)入力は標準化(0~1)にしなくてよいのか? 統計Rでは関数内部で標準化している? 2)そのままの値と、標準化した時の予測値に違いはあるのか?何が違うのか? 以上、業務で必要なので困っています。よろしくお願いします

みんなの回答

回答No.1

 統計Rソフトとはどういう物なのか?正体を知りません。 >R基本統計関数マニュアル >http://cran.r-project.org/doc/contrib/manuals-jp/Mase-Rstatman.pdf  関数の使い方が分かれば良い、という意味での質問であればマニュアルを見つけてきました。  業務で使用しているならば先輩や同僚に指導してもらうなど。  これ以上のことは私にはわかりません。

参考URL:
http://cran.r-project.org/doc/contrib/manuals-jp/Mase-Rstatman.pdf
ponkiti555
質問者

お礼

情報ありがとうございます。 拝見したのですが、まだ解決できませんでした。 もう少し調査してみたいと思います

関連するQ&A

  • ニューラルネットにおける学習について

    学習とは,サンプルから確率分布を推測することであるそうですが, (http://watanabe-www.pi.titech.ac.jp/~swatanab/kogi4-22.pptの3枚目) ニューラルネットワーク(NN)で学習して得られた関数は,確率分布なのですか? 確率分布なら[0,1]しか値をとらないですが,たとえば,多項式をNNで学習して得られた 関数は,1以上の値をとりますよね? そこで, 学習の定義が違うのか,それとも,NNが確率分布を扱わないものだからなのでしょうか? ニューラルネットは,2乗誤差E=1/2Σ(f(x;w) - Y)^2 を最小化する ように学習していることからニューラルネットは最尤法であると考えていいのでしょうか? また,最尤法でなく,例えばベイズ法を適用したものはあるのでしょうか? 長くなりましたが,回答よろしくお願いします.

  • ニューラルネットワーク

    0~9までの7セグメントディスプレイで表す数字を識別するニューラルネットワークを作成したいのですがなかなかわからないので質問したい所存です。 7セグメントを1~7のノードに割り振り中間層に10個のノード8~17でつなぎ出力するノードを18~27として18から0~9まで出力するようにしたいのですが、やり方としてまず、 27個のノードの結合関係を隣接行列で表す。 つぎに内部状態と重みのとる値の範囲を示す。 そしてそのニューラルネットワークに入力を与え、出力を計算する手順を説明するとのことなのですが。 よろしければアドバイス等お願いいたします。

  • ニューラルネットの教師あり学習について質問です。

    最近誤差逆伝搬法を用いたニューラルネットについて プログラムを組んで実装してみようと思ったのですが あまり理解できていない部分があるのでよろしくお願いします。 私が作りたいのはフォントの違う数字画像の認識を 3つの特徴量(a,b,c)、3層のニューラルネット、 閾値関数にシグモイド関数、教師有り学習で作りたいのですが、 私の理解があっているかわからないのでご指摘をお願いします。 ・入力層は特徴量が3つなのでニューロンは3つ(a,b,cを入力)。 ・中間層は任意でいいということなので10つ。 ・出力層は数字が0~9までなので10つ。 教師ベクトルの与え方なのですが 出力層(0~9番とします)において各数字に対応する番号のニューロンは1、それ以外は0、 つまり 出力層の0番の教師ベクトルは{1,0,0,0,0,0,0,0,0,0} 1番目の教師ベクトルは{0,1,0,0,0,0,0,0,0,0} 9番目の教師ベクトルは{0,0,0,0,0,0,0,0,0,1} (シグモイド関数のため正確には0、1にはなりませんが・・) とあらかじめ決めておき、 教師ベクトルの学習の際は 0の画像ならば出力層は{1,0,0,0,0,0,0,0,0,0}^T となるように誤差逆伝搬を用いて中間層・出力層の重みの修正を行い、 同様に1~9の教師画像も対応する出力の番号以外0となるように 学習を行い、 識別を行いたい画像の特徴量を入力した際は 重みの修正は行わず 10この出力の誤差が最小となる教師ベクトルが第一候補、 誤差が最大となる教師ベクトルが第10候補 ということでよろしいのでしょうか? でもそうすると重みの値が一番最後に学習した教師ベクトルに 対応する重みになっているから ニューラルネット自体を10個つ用意する必要が ありますよね・・・? いま一つ理解できていないのでよろしくお願いします。

  • 統計解析ソフトRで次の数字(値)を予測するには

    統計解析ソフトRで次の数字を予測することが出来るでしょうか?例えば、サイコロの次の値やルーレットの次の値などです。

  • ニューラルネットワークの重みの行列について

    ニューラルネットワーク(誤差逆伝播)では、重みを行列で表現して、行列計算を何回となくやっていくという風なプログラムになっていくと思います。”重み”というとどうしても重み付き平均が連想され、足して1になるようにする、というイメージにとらわれてしまうのですが、そのような制約はないということでもいいのでしょうか。足して1にならないということは増幅とか減衰が生じることを許容するということになりますが。 もし、それでOKならば、多くのテキストにみられる”重み”という言葉で説明しない方がいいのではないかと思いますが。そのあと、シグモイド関数で変換されたりするので、和の値が一定などの制約は必要なしなのだろうと思いますが。また、その”重み”の値も変化していくのでそうなのかなと思いますが。ニューラルネットワークはある意味、システムのルールさえ守っていれば融通無碍という風にも見えます。 また、ニューラルネットワークでは行きついた先が最適解である保証は取れるということになるでしょうか。行き当たりばったりを何回も繰り返すという印象をもってしまいます。あるいは別のタイプになりますが、乱数による総当たり戦の最終勝者を探すというような感じあります。そうすると乱数の発生の仕方に依存したりするように思えてきます。

  • 4階層型ニューラルネット(逆伝播法)

     現在、実験のために4階層型のニューラルネットを作成しているのですが上手く収束しません。使用は入力層、中間層2層、出力層の計4層です。  各変数はo1が入力ユニットからの出力、o2とo3は中間層ユニットの出力、o4が出力層ユニットの出力です。w43,w32,w21はそれぞれの結合強度です。biasはそのままバイアスです。変数の前にdがついてるものは変化を表したものです。etaは学習率、alphaは慣性項係数です。この値と中間層ユニット数を変更してみても収束しませんでした。  問題があるのは逆伝播法での結合強度の更新です。以下にそのルーチンを示しますのでお気づきの点がありましたらお願いします。特に問題があるのは中間層~入力層間についてだと思うのですが。。  ご意見お願いします。また、よろしければ4層以上のニューラルネットについてのサイトがあればお願いします。

  • R言語で統計分析を始めたい

    カテゴリ違いかもしれませんが、 ここなら適切な回答を頂けると思い質問します。 本日ちょっとした出来事がありまして統計分析とR言語に強烈な興味をもちました。 しかし、残念ながら中学の数学もろくにできないような人間ですので 統計学を学ぶにはどの位のレベルの数学知識が必要かが知りたいです。 今目標としているのは財務省が発表している輸出入貿易統計を使って 今後どの国に何を輸出したらよいかという指標を自分で算出したいと思います。 データ参照元↓(財務省統計ページ) http://www.e-stat.go.jp/SG1/estat/List.do?lid=000001100843 こういった予測をするのに必要な数学レベルを教えてください そこから統計分析、R言語と進んで行けたらと思います。 よろしくお願いします。 余談ですが英語が読めたりコピペでVBAプログラムを多少作る事はできます。

  • 統計的有意

    生産関数から求めた切片や係数を使って弾力性などを計算してますが、この(弾力性など)統計的有意性を標準誤差で求めようと思います。 もとになる切片や係数の値の標準誤差からどのように計算してよいのかわかりません。関連論文では、ここまで求めたものがみあたらないので困っています。 また参考文献などありましたら教えてください。 よろしくお願いします。

  • ニューラルネットワークの正規化されたデータを元に戻すには

    ニューラルネットワークで正規化し、パラメータを求めた後、パラメータの正規化をもとに戻したいのですが、方法が分かりません。 以下は、私がやっている途中を示します。 たとえば、データの入力が年齢と身長、出力が体重のデータがあるとします。 年齢x1  身長x2   体重y 21    160     55 24    172     63 私は、正規化するために  x1’=(x1-ave(x1))/std(x1)  x2’=(x2-ave(x2))/std(x2)  y’=(y-ave(y))/std(y) として正規化しました。aveは平均、stdは標準偏差 ニューラルネットとしては、次の式で表される三層パーセプトロンを利用しています。  f=W0+Σ{Wj*hj} Σはj=1からJまで  (中間層-出力層)  hj=sigmoid(Σ{Wjk*xk’}) Σはk=1,2  (入力層-中間層)  Error=(f-y’)*(f-y’) 入力層のバイアスはなしで、中間層のバイアスはありを考えています。 活性化関数は、中間層がシグモイド関数、出力層が線形関数です。 正規化したxとyに対して各wを求めるプログラムは作れたのですが、 ここからどうやってwの正規化を解除すればよいか分かりません。 正規化する方法は載っているサイトはいくつかあるのですが、解除する 方法が載っているのは見つかりませんでした。 回答よろしくお願いします。

  • 統計ソフトRで等高線図を描くには

    お世話になります。 統計ソフトRで等高線図を書きたいと考えています。 データは(X,Y,Z)で与えられています。 グラフの横軸をx座標、縦軸をy座標として、z座標を等高線で示したいのですが、どのようにすればよいでしょうか? contour関数を使えば可能だと思うのですが、どのように記述すればよいかがわかりません。 不明な点はお尋ねいただければ詳しく説明いたします。

専門家に質問してみよう