教師信号は重みやスレッショルドを更新していくだけで教師信号自体は学習しないんでしょうか?
完璧な教師信号があるなら最初からそれを使えばよくないですか?例えばand演算を学習させるネットワーク
とか学習させる必要あるのかなと。
そこらへんがよく分らないのでニューラルネットワーク
を使ったプログラム組んだ事ある人教えて下さい。
ニューラルネットワークにおける教師信号について
Re: ニューラルネットワークにおける教師信号について
組んだことはありませんが
ニューラルネットワークって,機械学習の分野のやつですよね?
扱いたい問題が何かによると思いますが,
もし仮に「完璧な教師信号」なるものが手元に存在し,
「常にそれと照らし合わせれば最適な答えが得られる」 ということであれば
ネットワークの学習とかは おっしゃるとおり,必要ないのかもしれません.
機械学習でやりたいことって,手元には有限の(入力の取りえる範囲全てを網羅できない)教師データしかない状態で,
未知の入力にも対応できるような学習を行う ということなんじゃないでしょうか.
(膨大な教師データをそのまま保持して入力と照らし合わせる のではなくて
教師データからなんらかの法則を学び取りそれを保持する.)
ニューラルネットワークって,機械学習の分野のやつですよね?
扱いたい問題が何かによると思いますが,
もし仮に「完璧な教師信号」なるものが手元に存在し,
「常にそれと照らし合わせれば最適な答えが得られる」 ということであれば
ネットワークの学習とかは おっしゃるとおり,必要ないのかもしれません.
機械学習でやりたいことって,手元には有限の(入力の取りえる範囲全てを網羅できない)教師データしかない状態で,
未知の入力にも対応できるような学習を行う ということなんじゃないでしょうか.
(膨大な教師データをそのまま保持して入力と照らし合わせる のではなくて
教師データからなんらかの法則を学び取りそれを保持する.)
Re: ニューラルネットワークにおける教師信号について
確かにそうじゃないとニューラルネットワークの意味ないですよね。
将棋のプログラムには使われているそうですがやっぱり難しいんですかね。
将棋のプログラムには使われているそうですがやっぱり難しいんですかね。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: ニューラルネットワークにおける教師信号について
私も詳しくないですがニューラルネットワークにはWikipediaにも有るように色んなバリエーションが有るようです。
「ニューラルネットワーク - Wikipedia」
http://ja.wikipedia.org/wiki/%E3%83%8B% ... C%E3%82%AF
教師信号を必要としないものもあります。
ここなんかどうですか?
「ニューラルネットワーク入門 ~目次~」
http://www-ailab.elcom.nitech.ac.jp/lec ... /menu.html
将棋とニューラルネットワークのサンプル
「ニューラルネットで遊びましょ - 序盤編 | と金倶楽部」
http://www.tokinclub.com/dp/node/964
「ニューラルネットワーク - Wikipedia」
http://ja.wikipedia.org/wiki/%E3%83%8B% ... C%E3%82%AF
教師信号を必要としないものもあります。
ここなんかどうですか?
「ニューラルネットワーク入門 ~目次~」
http://www-ailab.elcom.nitech.ac.jp/lec ... /menu.html
将棋とニューラルネットワークのサンプル
「ニューラルネットで遊びましょ - 序盤編 | と金倶楽部」
http://www.tokinclub.com/dp/node/964
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: ニューラルネットワークにおける教師信号について
> 完璧な教師信号があるなら最初からそれを使えばよくないですか?
手書きの文字を識別させたい場合などを考えて下さい。
この場合、何組かの手書き文字が教師信号になると思いますが、
教師信号では文字の識別はできませんし、完璧な教師信号も存在しません。
and演算を学習させるプログラムを作ったことはないですが、
ニューラルネットワークの学習についての最もシンプルな例のつもりなのかもしれません。
例がシンプルすぎるので、例の意味をつかむのに失敗していませんか?
手書きの文字を識別させたい場合などを考えて下さい。
この場合、何組かの手書き文字が教師信号になると思いますが、
教師信号では文字の識別はできませんし、完璧な教師信号も存在しません。
and演算を学習させるプログラムを作ったことはないですが、
ニューラルネットワークの学習についての最もシンプルな例のつもりなのかもしれません。
例がシンプルすぎるので、例の意味をつかむのに失敗していませんか?
Re: ニューラルネットワークにおける教師信号について
ざっくりと書くと、解が分かっている問題については教師あり学習を選択し、
解が分かっていない or データに意味を見出したい場合は教師なし学習を選択することになります。
参考ですが教師あり学習と、教師なし学習で有名なものを挙げておきます。
【教師あり学習】
・BP
http://ja.wikipedia.org/wiki/%E3%83%90% ... 7%E3%83%B3
【教師なし学習】
SOM
http://ja.wikipedia.org/wiki/%E8%87%AA% ... 9%E5%83%8F
例として文字"あ"を認識をする場合、
BPとSOMでは以下のようになります。
・BP
教師信号として"あ”を示すデータを用意。
教師信号を用いて"あ"という文字を学習。
→ 結果的に"あ"という文字を認識する識別機が作成される。
未知の文字を作成した識別機に入力して"あ"かどうか判別。
・SOM
さまざまな文字を示すデータを用意。
用意したデータを使用して学習。
→ 結果的に文字ごとにクラスタリングされる。
未知の文字がどこにクラスタリングされるかで"あ"かどうか判別。
それぞれ判別精度を上げるためにBPにSA(Simulated Annealing)を適用したり、
SOMのマップをトーラスや球にしたりと工夫は様々です。
今回の例では解が存在することが自明なので
教師あり学習を選択する方が良いですが
判別方法やデータに関連性があるのか不明な場合には
教師なし学習を使用します。
解が分かっていない or データに意味を見出したい場合は教師なし学習を選択することになります。
参考ですが教師あり学習と、教師なし学習で有名なものを挙げておきます。
【教師あり学習】
・BP
http://ja.wikipedia.org/wiki/%E3%83%90% ... 7%E3%83%B3
【教師なし学習】
SOM
http://ja.wikipedia.org/wiki/%E8%87%AA% ... 9%E5%83%8F
例として文字"あ"を認識をする場合、
BPとSOMでは以下のようになります。
・BP
教師信号として"あ”を示すデータを用意。
教師信号を用いて"あ"という文字を学習。
→ 結果的に"あ"という文字を認識する識別機が作成される。
未知の文字を作成した識別機に入力して"あ"かどうか判別。
・SOM
さまざまな文字を示すデータを用意。
用意したデータを使用して学習。
→ 結果的に文字ごとにクラスタリングされる。
未知の文字がどこにクラスタリングされるかで"あ"かどうか判別。
それぞれ判別精度を上げるためにBPにSA(Simulated Annealing)を適用したり、
SOMのマップをトーラスや球にしたりと工夫は様々です。
今回の例では解が存在することが自明なので
教師あり学習を選択する方が良いですが
判別方法やデータに関連性があるのか不明な場合には
教師なし学習を使用します。
Re: ニューラルネットワークにおける教師信号について
すいません。
「http://d.hatena.ne.jp/nowokay/20080701/1214915017」
このページにjavaプログラムが書かれているいますが表示結果で
識別面が曲線ですが、どうやって曲線引いてるんでしょうか?プログラム見てもよくわからなくて。
「http://d.hatena.ne.jp/nowokay/20080701/1214915017」
このページにjavaプログラムが書かれているいますが表示結果で
識別面が曲線ですが、どうやって曲線引いてるんでしょうか?プログラム見てもよくわからなくて。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: ニューラルネットワークにおける教師信号について
リンクと認識されないので直しておきます。ライティング さんが書きました:すいません。
「http://d.hatena.ne.jp/nowokay/20080701/1214915017」
このページにjavaプログラムが書かれているいますが表示結果で
識別面が曲線ですが、どうやって曲線引いてるんでしょうか?プログラム見てもよくわからなくて。
さて、どういうモノを聞きたいのかよくわかりませんが曲線描画というような描画はしていないと思います。
createGraph()がピクセル単位での描画を担当している様ですので、そこからデバッガで追いかけてほしいです。
解析を私がするのも変なので、追いかけ方をレクチャーしますよ。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。