- ベストアンサー
GA,共進化,NNについて
最近興味があり,GA,共進化,NNについて勉強してみようと 思ったのですが,NNについては少々理解することができたの ですが,GAと共進化についてなにがなんなのかさぱり理解で きません. とにくにこの二つの違いもなんなのか良く分かりません. そこで,誰かこの二つの違いや内容について詳しく教えてい ただける方はいないでしょうか. よろしくお願いいたします.
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
GAは,適者生存の概念を用いた計算手法で,少々乱暴な 言い方をすれば,「関数の最適化」です.つまり,関数 値f(x)が最小となるような解xを発見するという原理で す.これは,基本的にニューラルネットでも同じです. GAは所謂,文字列操作を行って最適解を発見する組み合 わせ探索法であり,ニューラルネット(階層型)は関数 の勾配に沿って坂道を下るように求める数値探索です. たとえば,ある実数xを二進数表現すれば,数ビットの 文字列になりますね.そのような文字列(x')を何種類か 用意し,値はランダムに決めます.そして, ●関数f(x')の値が大きいx'は消去,低いものは増殖 (選択淘汰) ●適当なx'を二つ選んで,文字列の一部分を入れ替える .(交叉) ●ある文字列x'のビットを強制的に反転させる.これ は,非常に稀なケースとして行います(突然変異) このような文字列操作を繰り返すことで,x'は次々と 新しい値へと変化して行きます.新たに生成されたx'は 以前のx'よりも優秀かもしれせん.優秀であれば,選択 淘汰の効果で次々と増殖して行きますし,優秀でなけれ ば,次々と消去されていきます.つまり,最終的には x'は関数fの最小値へ収束するというワケです. GAが適しているのは,まさに「組み合わせ最適化問題」 です.巡回セールスマン問題やナップザック問題のよう なものです.スケジューリングのようなOR方面への実用 例もありますが,残念ながら詳細は知りません. ですから,移動ロボットの最小経路探索のようなものは あまり適してません.出来ないことはないでしょうけ ど.(他の学習論との融合であれば,その限りではあり ませんが). ニューラルネット(階層型)に適しているのは,パター ン認識でしょう.たとえば,ある人の音声を録音し, その音声スペクトルから誰であるかを特定したり,筆跡 から誰が書いたものか特定したりする場合に適してま す.音声や筆跡データをx,人物のラベルをyとすると y=Φ(x)となるような写像Φを学習で求めるようなもので す. 強化学習は確率オートマトンですが,状態の遷移確率 に対して,ある評価関数(報酬の総和)を最大化する という基準で学習させていくものです.つまり, 定常状態(s1) -> 動作(a1) -> 定常状態(s2) -> .... と続いていくような場合に有効です.報酬は,定常状態 と動作のペアに対して定義します.たとえば,移動ロ ボットの経路探索を考えると,経路をいくつかの離散的 な領域で分割して,ある領域(s1)から別の領域へ移動 (a1)したときに,その移動が良かった場合は遷移確率P(s1,a1) の値を増やし,そうでないときは減らします. 最終的には評価関数を最大となるような行動系列の確率 が高くなります.かなり大雑把ですけど・・・オセロな どのように,状態->動作->状態->...と続いていくもの に対して有効だと思います. 共進化は具体的に言えば,計算機を二台使って同じ関数 の最小値問題を解くようなものです.ただし,一方の 計算機が出した答えが優秀であれば,他方の計算機に ペナルティを与え,もっと良い解を見つけるように, お尻を叩きます.そうすることで,二つの計算機の 間で競争原理が働き,一台で計算するよりも良い解を 見つけ易くなります.つまり,共に進化します.評価関 数の与え方に工夫が必要です. あれれ,長くなってしまいました.確かこんな感じだっ たと思いますが,一部ちょっと自信がありません.間違 ってたら,ごめんなさいね.
その他の回答 (3)
- Nickee
- ベストアンサー率15% (14/93)
No.2のNickeeです。 え~と。GAの長所としては大局的探索に優れて、ローカルミニマムに陥りにくいと言われています。NNはローカルミニマムに陥りやすいが、学習し終えた成果としてはGAよりも優れているってのが特徴かな。GAのプログラムは組みやすいというのもあります。 強化学習においては、自分は使ったことないのでわからないのですが、読んだ感じでいくと、フィードバックの学習だから、非常にプログラムを組みやすいけれども、性能はよくないと思います。だからロボットなどによく使われているのではないかと思っています。文字認識などは100%の正解率が必要ですけれども、自分の位置情報などの探索などは100%もいらないと思うからです。(強化学習をやっている人が読むと違うっていうかもしれない) この分野は非常に広くて、すべてを理解しきってないのですが。。。 データの分類分けの可視化でいくと、自己組織化マップが有用ではないかと思っています。これは、どのクラスとどのクラスが似ているのか人目でわかります。 あとは、判別木がありますけど、これは、どの属性が利いているのかが、わかるということ。ただし、性能は良くないように思われます。 あとはホップフィールドのネットワークですかねえ。これは、分類わけというより、想起になります。これを適用する問題として、文字認識と巡回セールス問題とかに適用しています。性能としては、微妙ですね。(自分の感想として) しまった!!ニューラルネットワークの分野に戻ってきてしまった。 と言うことで、ニューラルネットワークにいろいろあって、いいホームページを知っているので参考URLにアクセスして見て下さい。 あとは、この分野に関わることで、ファジー理論やオートマトンがあるので、興味があったら勉強されて損はないと思います。 また、何かあったらかきこしてください。わかる範囲で答えます。ちなみにちょっと用事があって今日から4日ほど出るので、その間は応答できません。では、
- Nickee
- ベストアンサー率15% (14/93)
NNについて専門にやっています。 GAは、簡単にいうと、遺伝子を生成して、優秀な遺伝子だけを残すという方法をとっています。そうすると、優秀な遺伝子情報が解にはならないが、準最適解にあるという手法です。詳しいことは"遺伝的アルゴリズムとは"とかで検索をかけるとたくさん出てくると思います。わからないことがあったら、かきこしてください。わかる範囲で教えます。 あと、共進化は初めて聞いたのでわかりかねます。(学生ってことで許してください。(笑)
専門外でダイレクトな回答ではありませんが、以下の参考URLサイトは参考になりますでしょうか? 「遺伝的アルゴリズム(GA)・遺伝的プログラミング(GP)とは何か?」 ◎http://www.athome.co.jp/academy/biology/bio06.html (共進化) ご参考まで。
補足
NNやGAとは機械学習にもちいらていますよね? 学習には他にも強化学習などあるようですが, どういう場合にどういう方法が適しているとか ってうのはご存知ですか? もしご存知でしたら教えて頂けないでしょうか.