マイロ将棋(5)検証データ

機械学習では教師データを元に学習を行いますが、正しく学習できているのかとか、どのくらい学習が進んでいるのかを確認するために検証データというものを使います。教師データと同じようなデータを別に用意し、このデータは学習には使いません。そしてある程度学習が進んだところで、検証データを用いて値の予測をし、どのくらい実際の値に近いかどうかを確認します。

マイロ将棋ではマイロ将棋0.1で作成した1000局面分のデータを検証データとして使っています。検証データは、1局面毎の盤面の情報とその局面から対局した時の勝率の情報を持っています。機械学習で学習したモデルで局面の勝率を求めることができます。検証データのそれぞれの局面で勝率を求める検証データの勝率と求めた勝率にどのくらいの差があるのかを確認します。値が実際より大きい場合や小さい場合があるので、検証データとの差を二乗した値を1000局面分合計し、参考値として確認しています。例えば、1000局面分すべての局面で差が0.25あったとします。この場合だと1局面分は0.25×0.25=0.0375です。1000局面分を合計すると37.5になります。1000局面分すべての局面で差が0.1あったとします。この場合だと1局面分は0.1×0.1=0.01で、1000局面分を合計すると10です。

学習がうまく進むと予測値が実際の値に近づいていき、誤差は小さくなっていきます。逆に、誤差が小さくならないときは学習がうまく進んでいないことがわかります。