編集(管理者用) | 編集 | 差分 | 新規作成 | 一覧 | RSS | FrontPage | 検索 | 更新履歴

教師あり学習 - 教師あり学習とは、訓練データと呼ばれる入力信号と教師信号のペアが複数与えられ、これを元に学習を行う手法である。

目次

教師あり学習とは、訓練データと呼ばれる入力信号と教師信号のペアが複数与えられ、これを元に学習を行う手法である。

概要

まず、訓練データを何らかの方法で収集・作成する。 例えば天気予報を行う場合であれば、過去の気象データをそのまま(あるいは加工して)使用出来る。 あるいは、次の一手問題を元にコンピュータ将棋のパラメータ調整を行う場合であれば、次の一手問題を大量に作成すれば良い。

次に、学習器(パラメータ調整の対象となるモジュール)に訓練データを与え、入力信号を受け取った際の学習器の出力が教師信号と近くなる様に、学習器内部のパラメータを修正していく(この過程を学習と言う)。

通常は一度の学習だけでは十分な精度が得られない為、何度か学習を繰り返し、精度が頭打ちになった所で学習を打ち切る。

教師あり学習の例

天気予報

入力信号として午前6時時点の天気・気温・湿度を、教師信号としてその6時間後の天気を与える事で、朝の状況を元に正午の天気を予想出来る様にする。

コンピュータ将棋における応用例

実現確率探索?

コンピュータ将棋ソフト激指?が初めて実装したアルゴリズムであり、指し手のカテゴリ毎にそれぞれ異なる遷移確率を設定し、ルートノードから探索中のノードまでの遷移確率の積(これを局面の実現確率と呼ぶ)が閾値を下回った場合に探索を終端させる手法である。

例えば、「直前に動いた敵の駒を駒得しながら取る手」の遷移確率は58〜89%、「駒損をしないで歩で王を叩く手」の遷移確率は25%となっている(コンピュータ将棋の進歩 4より)。

ここで問題になるのは、どの様にして遷移確率を計算するかという事であるが、激指では"「羽生善治実戦集」に含まれている約600局"を用いて確率を計算するという手法を用いている(http://www.logos.t.u-tokyo.ac.jp/~gekisashi/algorithm/abstract.htmlより)。

つまり、入力信号として指し手のカテゴリを、教師信号としてその手がプロの棋譜の手であったかどうかを与え、それを元に各カテゴリの遷移確率を自動調整するという手法である。

Bonanza Method

コンピュータ将棋ソフトBonanzaが初めて実装したアルゴリズム。プロ棋士等の棋譜約6万局分を元に、棋譜の指し手とコンピュータ将棋の指し手が一致する割合が高くなる様に、評価関数のパラメータを自動調整するアルゴリズムである。

この手法は、入力信号として局面を、教師信号として棋譜の手を与え、それを元に評価関数のパラメータを自動調整する手法である。

具体的には、棋譜に含まれる全局面で「棋譜の手を指した後にαβ法で探索して得た評価値>棋譜の手以外を指した後にαβ法で探索して得た評価値」となる様に、探索末端局面の特徴量(例えば駒割の場合であれば、先手と後手の駒の枚数の差)を元に評価値の勾配を計算し、上記の式を満たす方向にパラメータを修正していく。 (これはあくまで基本的な考え方であり、詳細については公式サイト(http://www.geocities.jp/bonanza_shogi/)のGPW2006発表資料・ソースコード等を参照されたい。)