ホールドアウト検証

記事数:(2)

学習

ホールドアウト検証と交差検証

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

ホールドアウト検証と交差検証

機械学習の分野では、作った模型がどれほど役に立つかを確かめることがとても大切です。そのための方法の一つに、ホールドアウト検証というものがあります。ホールドアウト検証は、持っているデータを学習用とテスト用の2つに分けて使う方法です。 まず、集めたデータを2つのグループに分けます。ほとんどのデータは学習用として、模型の訓練に使います。残りのデータはテスト用として、訓練が終わった模型を試すために取っておきます。例えば、集めたデータを82の割合で分けるとすると、8割のデータで模型を鍛え、残りの2割で模型の実力を測ることになります。 この方法の利点は、手順が簡単で、計算に時間がかからないことです。しかし、注意すべき点もあります。学習用のデータに特定の特徴ばかりが含まれていると、模型がその特徴に偏って学習してしまうことがあります。これは、特定のデータに過剰に適応した結果、それ以外のデータにはうまく対応できない状態になり、過学習と呼ばれます。例えるなら、特定の地域の問題ばかり解いた生徒が、他の地域の問題が解けなくなるようなものです。 また、テスト用のデータの特徴に偏りがあると、模型の本当の実力を正しく測れないことがあります。これは、特定の地域の問題だけで生徒の能力を判断するようなもので、全体像を把握できません。ですから、データを学習用とテスト用に分ける際には、それぞれのグループが全体のデータの特徴をよく表しているように注意深く行う必要があります。偏りなくデータを分けることで、模型の真価をより正確に見極めることができます。