k-分割交差検証

記事数:(2)

学習

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

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

k分割交差検証で精度向上

機械学習では、作った模型がどのくらい役に立つかを調べることが大切です。模型作りに使える資料は限られているため、その資料をうまく使って模型の良し悪しをきちんと評価しなければなりません。そこで分割検証というやり方が役に立ちます。分割検証は、限られた資料をいくつかの組に分け、模型の訓練と試しに使う方法です。 具体的には、例えば資料全体を五つの組に分けるとします。まず、五つの組のうちの一つを試しに使う資料として取っておきます。残りの四つの組を模型の訓練に使います。訓練が終わったら、取っておいた資料で模型を試します。これが一巡目です。次に、別の組を試し用の資料として取っておき、残りの四つの組で模型を訓練します。そして、取っておいた資料で模型を試します。これを五回繰り返すと、全ての組が一度ずつ試しに使われたことになります。それぞれの試しで模型の成績が分かりますので、五回の成績の平均を全体の成績として考えます。 このやり方の良いところは、限られた資料を全て訓練と試しに使える点です。もし、資料を訓練用と試し用に分けてしまうと、訓練に使える資料が減ってしまい、良い模型を作ることが難しくなります。分割検証では、全ての資料を訓練に使い、かつ全ての資料を試しにも使うため、資料を有効活用できます。 分割検証を使うことで、作った模型が初めて見る資料に対してもどのくらいうまく働くかを調べられます。つまり、模型の本当の力を正しく評価できるのです。このおかげで、より信頼できる機械学習模型を作ることが可能になります。