tokyo r 2 machine learning

15
Rで機械学習 のパッケージを試す 2010/02/24 @nokuno #tokyoR ニューラルネットワーク

Upload: yoh-okuno

Post on 05-Dec-2014

6.649 views

Category:

Technology


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Tokyo R 2 Machine Learning

Rで機械学習のパッケージを試す

2010/02/24

@nokuno

#tokyoR

ニューラルネットワーク

Page 2: Tokyo R 2 Machine Learning

はじめに

ニューラルネットワーク

SVM

まとめ

目次 2

Page 4: Tokyo R 2 Machine Learning

今回扱う教師あり学習の流れ

1. 学習データ(入力と出力の組)を用意する

2. 学習プログラムに与えて学習させる

3. テストデータを用意して、予測させる

4. 予測結果を使う、または評価する

基本的な流れ 4

Page 5: Tokyo R 2 Machine Learning

機械学習アルゴリズムの一種

元ネタは脳科学("人工"ニューラルネットワーク)

分かりにくいネットワーク図で有名

こんなの

ニューラルネットワーク(NN)とは 5

Page 6: Tokyo R 2 Machine Learning

Rのニューラルネットワークのパッケージ

標準パッケージで入っている

事前にlibrary()で読み込む

nnetについて 6

サンプル実行(よく分からない)

Page 7: Tokyo R 2 Machine Learning

学習データ 7

このデータから入力 x と出力 t の関係を学習する

sin関数にノイズを加えたもの

Page 8: Tokyo R 2 Machine Learning

入力と出力をベクトル(多次元なら行列)として渡す

size : 隠れユニット数(後述)

linout : 出力を0~1に制限するかどうかデフォルトでは制限ありになる。ハマった><

学習 8

nnet.formulaはよく分からなかったので教えてください(汗

Page 9: Tokyo R 2 Machine Learning

入力: 0~1を100等分したデータ

出力: 入力を学習済みNNに与えた結果

なぜか入力をmatrixで渡さなければならない

学習時はベクトルも渡せたのに…

予測 9

Page 10: Tokyo R 2 Machine Learning

学習データを通るような予測曲線を描く

ほどよくノイズを吸収してくれている。

グラフの重ね描きメンドイ。どうにかなりません?

結果 10

Page 11: Tokyo R 2 Machine Learning

隠れユニット数は自由度を表す

考察 11

隠れユニット数:1自由度が小さすぎる

隠れユニット数:100

自由度が大きすぎる

Page 12: Tokyo R 2 Machine Learning

今回は理想の出力が分かっていると仮定して評価

予測誤差の二乗平均を取る

評価 12

隠れユニット数

誤差n=3のときが最も誤差が小さい!

Page 13: Tokyo R 2 Machine Learning

NNは入力と出力の関係を学習するもの

隠れユニット数は適切に設定する必要がある

まとめ 13

Page 14: Tokyo R 2 Machine Learning

Rでニューラルネットワークをやってみる

http://d.hatena.ne.jp/syou6162/20081222/1229923231

分かりやすいパターン認識

石井健一郎他著

大学の授業の教科書でした

公式ヘルプ

参考文献 14

Page 15: Tokyo R 2 Machine Learning

つづく?

15