学習 ホールドアウト検証と交差検証
機械学習の分野では、作り上げた計算手順の良し悪しをきちんと測ることがとても大切です。そのために、「ホールドアウト検証」という方法がよく使われます。この方法は、持っている全ての情報を「学習用」と「確認用」の二つに分けることから始まります。
例えるなら、試験勉強のようなものです。教科書を使って勉強するのが「学習用」の情報を使う段階です。そして、実際に試験を受けて実力を試すのが「確認用」の情報を使う段階です。ホールドアウト検証では、計算手順に「学習用」の情報だけを与えて覚えさせます。ちょうど、教科書の内容だけを使って勉強するのと同じです。
学習が終わったら、「確認用」の情報を使って、計算手順がどれくらいきちんと覚えたかを調べます。これは、試験を受けて点数を出すのと同じです。計算手順は「学習用」の情報しか見ていないので、「確認用」の情報に対する結果は、全く知らない情報に直面した時の結果を反映していると考えられます。
このように、「確認用」の情報で試すことで、計算手順の本当の力、つまり新しい情報にも対応できる力を測ることができるのです。この力は「汎化性能」と呼ばれます。未知の問題に対する点数が良ければ、教科書の勉強方法が優れていたと言えるように、汎化性能が高ければ、その計算手順は新しいデータにも上手く対応できると言えるでしょう。
ホールドアウト検証は、この試験勉強と試験の関係によく似ています。「学習用」の情報は教科書、「確認用」の情報は試験問題、そして計算手順の良し悪しは試験の点数にそれぞれ例えることができます。このように、全く新しいデータに対する性能を評価することで、その計算手順がどれくらい信頼できるかを判断することができるのです。
