パターン認識と機械学習(PRML) Hackathon #1 という、集まって各自思い思いに好きなものを作る(ん?)*1という Hackathon があったので、のこのこ行ってきた。 せっせと実装して、 19時くらいから各自の作ったものを軽く発表。 PRML に直接関係ないことをやってはる人の話が面白くて、なんかくやしい。 みなさんがどのようなことをやられていたかは、naoya_t さんがまとめてはるので、そちらで。 id:tsubosaka さんと tb_yasu さんが話してはった LSH はちょっこり気になるところ。iVoca でそろそろレコメンドしたいな、とか思っているので、使えるのかも? id:Cryolite さんと id:smly さんが iris と adult dataset をパーセプトロンで分類させてみて、やっぱ線形分離じゃあないっぽいね、的な話をされていたので、帰っ
ニューラルネットワークの簡単な関数近似プログラムを先日書いたので、今は画像認識プログラムを書いてますが、ものすごく簡単なバージョンが出来上がったので晒しておきます。 C++で画像解析部分を作って、Rで訓練データの学習、テストデータの判定をしています。 MNISTの手書き文字から学習データ準備 まずは、インプットとなる画像のデータですが、定番のMNISTの手書き数値データを使います。 元々のIDXフォーマットというフォーマットは再利用性が無さそうなので、http://www.cs.toronto.edu/~roweis/data.htmlから既にJPEG化されたものを引っ張ってきてそれを解析します。 OpenCVを使って2値化+CSV出力する簡単なプログラム。 #include "cv.h" #include "highgui.h" #include <stdio.h> #include <
で、1変数の関数近似がうまくいったので、調子にのって2変数の関数近似にもチャレンジしてみました。 2変数のsinc関数を、ニューラルネットワークの誤差伝播法を使って近似する(しようとする)ものです。 library(animation) #number of training data N <- 30 #number of hidden unit s <- 5 #learning rate parameter l <- 0.01 #standard deviation of training data sd <- 0.05 #count of loop LOOP <- 10000 #frame interval of animation movie INTERVAL <- 0.1 #total time of animation movie TOTAL <- 20 #initialize
機械学習・パターン認識方面の勉強初めてから4ヶ月ほど立ちました。最近はnaoya_tさん主催のPRML読書会に参加させて頂いています。 来週末8/29の第6回読書会ではニューラルネットワークの章の発表を担当することになったので、Rを使ってサンプルプログラムを組んでみました。参考にしたのはPRML5.1〜5.3の範囲で、sin関数からサンプリングした点データをニューラルネットワークを使って誤差逆伝播法で学習し、元のsin関数を近似します。 学習前の初期状態が以下の図。赤字が元の関数(線)およびサンプルデータ(点)で青字がニューラルネットワークの出力です。 で、学習後の状態が以下です。 いい感じに再現できています。 以下ソースコード。 library(animation) #number of training data N <- 50 #number of hidden unit s <-
[ 連載 ] フリーソフトによるデータ解析・マイニング第 23 回 R とWEKAによるニューラルネットワーク 1 .ニューラルネットワークとは 我 々人間の脳には約 140 億個のニューロン(神経細胞)があり、それぞれのニューロンはある 規則に従い結合され神経回路を形成していると言われている。 大脳皮質の薄い切片を肉眼で見えるように処理したものを図 1 に示す。こうして見えるのは 神経細胞の 2%に過ぎないそうである。 図1 神経細胞の結合状況の標本 (J. Leroy Conel, The Postnatal Development of The Human Cerebral cortex, Vol. VI. Harvard Univ. Press, 1959) 神経細胞が結ばれた神経回路をモデル化したものを人工ニューラルネットワーク、通常略し てニューラルネットワークと呼
! $ ! $ # ( " ( ( !" & ( ' , ( !" ! & ! ' # "( $# " $& $" ( !" " $' $" ( - $ #& - " ! *! - ! ' %!! ( ' % ( ! '& - $ ' ( !" ( ' * ( ! '& - $ ' #! & #" " ( !" , ( !" ! & ! ' % ( !" ! & & - $ ' # ( ' % ( ! '& - $ ' ## & * ( ! '& - $ ' ' ' - ' - ' % ) & - $ ' #% # ! ) & - $ ' " % ( !" ! ! & - $ ' #!" , ( !" ! ! ! ' & %( ! ! " ( !" ) , ( !" ! ! ! ' ) $ ' & & + ' & " "% * ( & !+ ' ' !" & ! ! " ' ! autho
先週休んでしまったので、4章終わってしまってます。。。というわけで上巻最後の章、ニューラルネットワークです。1月、遅くとも2月にはPRMLの上巻終わっちゃいそうなんだけど、その後どうしようかなー。 SVMとの関連の付近5.1の前の付近。SVMとNNは全く別物と思っていたんだけど、そういうわけではないらしい。 SVMとNNの比較 トレードオフだよ!!! モデル モデル作成の速度 テストデータとかを回す時の速度 SVM 目的関数が常に凸になるので、最適化が比較的簡単。 データが増えると負荷も増えて大変になってしまう。 NN 尤度関数がもはやモデルパラメータの凸関数とならない。そういうわけで最適化が大変。 新規データをすばやく処理できるという利点がある。 フィードフォワードネットワーク関数式(5.1) が分かりずらかったりしたんだけど、基底関数に関して線形になっているということ。P226の最後の
ニューラルネットワークについて プログラム データの準備 モデル式の作成 結果の表示 予測値を得たい ヘッセ行列の固有値を見る ニューラルネットワークを可視化する 追記 nnetとかをもうちょっと 最適化とかヘッセ行列がらみの話 ニューラルネットワークについて先週のPRMLでNNことニューラルネットワークについて勉強を始めました。PRMLは主に理論についての本なので、「ふーん」という感じなんですが、読書会後に「NNって(一定制約の元で)任意の関数に近似できることが証明されてるんだぜ?」とか言われると中二病患者の俺としては「?!NNってすごくね?てか、そんなすごいんだったらNNだけでいらなくね?他のモデルいらなくね?」とか思ってしまいます。しかし、直後に あくまで近似。どれくらいの精度かはものによる 近似できないものも存在する*1 と教えてもらったので、他のモデルもちゃんと勉強する価値がある
Erkki Oja Erkki Oja is Professor of Computer Science and Engineering at Aalto University, School of Science and Technology. He is Director of the Computational Inference (COIN) Research Centre at Aalto and Past Chairman of the Research Council for Natural Sciences and Engineering of the Academy of Finland. Teaching activities Course From Data to Knowledge, Period II (autumn) Course Principles of P
ニューラルネットワーク入門 Copyright(c)1996 Akira Iwata & Toshiyuki Matubara (Iwata Laboratory Nagoya Institute of Technolgy) 0 はじめに 学習の進め方 1 神経細胞とニューラルネットワーク 神経細胞 ニューロンモデル ニューロンモデルの数式化 ネットワークモデル まとめ 2 階層型ネットワーク 2.1 パーセプトロン パーセプトロン パーセプトロンの動作と学習 パーセプトロン学習のシミュレーション パーセプトロンの限界 まとめ 2.2 バックプロパゲーション学習 最急降下法 前向き演算 後向き演算1(出力層から中間層) 後向き演算2(中間層から入力層) BPのシミュレーション BPシミュレータ まとめ 2.3 その他の階層型ネットワーク ネオ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く