「機械学習と深層学習」の書籍を引き続きやってみる。
- 作者: 小高知宏
- 出版社/メーカー: オーム社
- 発売日: 2016/05/21
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (4件) を見る
今回は3.1章の蟻コロニー最適化法をやってみる。蟻のフェロモンに従って距離を最適化していく手法で、ランダム性と群知能により徐々に最適解を見つけていく手法だ。 これは遺伝的アルゴリズムとかそういうのに雰囲気が似ている。
これ、作っていて気がついたのだが、初期値に左右されすぎる。書籍のサンプルコードをそのまま実行しても、書籍に書いてある通りにはならなかった。
*mstep 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 17.200000 50: 8.77 9.05 8.87 8.99 9.09 8.86 8.92 1.10 8.92 9.25 0.78 0.50 0.68 0.55 0.45 0.69 0.63 8.45 0.62 0.29
縦方向が蟻の種類、横方向が各蟻がどのような選択をしたのかを示しているが、この場合理想的な回答はすべて0側選ぶのが正しい。 そうすると評価値は最小で10.0になる。
しかしここでは7ステップ目がすべて1になり、悪い方向の結果が伝搬してしまっている。群知能は人間の多数決と同じで、間違っていたとしてもそれが多数であるとそれが答えになってしまうという特徴があるらしい。