k-分割交差検証

記事数:(3)

機械学習

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

機械学習の良し悪しを確かめる方法の一つに、ホールドアウト検証というものがあります。これは、持っているデータを学習用とテスト用に二つに分けて使う方法です。学習用のデータで機械に学習させ、テスト用のデータでその学習の成果を確かめます。 たとえば、全部のデータのうち八割を学習用、残りの二割をテスト用とします。この分け方は、普通はでたらめに決めますが、データの種類によっては、偏りができないように工夫が必要な場合もあります。たとえば、時間の流れに沿って集めたデータの場合、古いデータを学習用、新しいデータをテスト用にすると良いでしょう。 ホールドアウト検証は、やり方が簡単で、計算の手間も少ないという良い点があります。しかし、データの分け方によって結果が変わってしまうという困った点もあります。たまたま学習用のデータに簡単なものばかりが入っていたり、逆に難しいものばかりが入っていたりすると、機械の本当の実力を正しく測ることができません。 この問題を少しでも軽くするために、データの分け方を変えて何度も検証を行うという方法もあります。たとえば、最初の検証では1番目から80番目のデータを学習用とし、81番目から100番目をテスト用とします。次の検証では、11番目から90番目のデータを学習用、1番目から10番目と91番目から100番目のデータをテスト用とします。このように少しずつずらしながら何度も検証を繰り返すことで、特定のデータの偏りの影響を減らすことができます。そして、それぞれの検証結果の平均を取ることで、より信頼性の高い評価を行うことができます。 ホールドアウト検証は手軽に使える検証方法ですが、データの分け方に注意が必要です。目的に合わせて適切にデータ分割を行い、必要であれば複数回の検証を行うことで、より正確な評価結果を得ることができます。
機械学習

k分割交差検証:モデル評価の精確性を高める

機械学習の模型を作る過程で、その模型がどれくらいうまく働くかを正しく測ることはとても大切です。作った模型が新しいデータに対してもきちんと対応できるかどうかを確認する必要があるからです。しかし、学習に使えるデータが少ない場合、どのように学習用データとテスト用データに分けたらよいかによって、評価の結果が大きく変わってしまうことがあります。そこで、限られた量のデータをうまく活用して模型の性能を評価する賢い方法として、交差検証というやり方が使われます。その中でも、よく使われるのが「何分割交差検証」と呼ばれる手法です。 この手法では、まず全てのデータを同じくらいの数のグループに、例えば5つのグループに分けます。そして、そのうちの4つのグループを模型の学習に使い、残りの1つのグループをテストに使います。この時、学習に使ったデータは「学習データ」、テストに使ったデータは「テストデータ」と呼ばれます。次に、別の4つのグループを学習データ、残りの1つのグループをテストデータとして、同じように模型の性能を評価します。これを全てのグループが一度ずつテストデータになるまで繰り返します。5つのグループに分けた場合は、この作業を5回繰り返すことになります。 それぞれのテストで得られた結果を平均することで、最終的な模型の性能を評価します。この方法を使うと、全てのデータが一度はテストデータとして使われるので、限られた量のデータを最大限に活用でき、偏りの少ない、より確かな評価結果を得ることができます。グループの数は何個でも良いのですが、5個や10個に分割することが多いです。分割する数を多くしすぎると計算に時間がかかってしまうため、データの量や計算にかかる時間などを考えて、適切な数を選ぶ必要があります。「何分割交差検証」は、特定のデータの分け方に影響されにくい、信頼性の高い評価方法として広く使われています。
機械学習

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

機械学習の模型の働きぶりを測るには、使える資料をうまくやりくりする必要があります。そのためのやり方の一つに、分割検証というものがあります。分割検証は、持っている資料を同じくらいの大きさの束に分け、そのうちいくつかを模型の学習に、残りを模型の評価に使うというものです。 具体的には、まず資料を同じ大きさの例えば10個の束に分けます。そして、その中の9個の束を使って模型を学習させ、残りの1個の束で模型の働きぶりを評価します。次に、別の9個の束で学習させ、残りの1個で評価する、ということを繰り返します。こうして、それぞれの束が1回ずつ評価に使われるように、全部で10回繰り返します。10回の評価が終わると、10個の評価結果が得られます。この10個の平均値を、模型の最終的な成績として使います。 このように、全ての資料を学習と評価の両方に使うことで、限られた資料でも模型の真の実力をより正しく測ることができます。分割数を10にした場合を10分割検証と言いますが、3分割や5分割といったやり方もあります。分割数は、資料の量や性質に合わせて適切に決める必要があります。資料の数が少ない場合は、分割数を大きくすることで、より多くの資料を学習に使うことができます。ただし、分割数を大きくしすぎると、計算に時間がかかってしまうため、バランスが大切です。 この方法は、特に資料が少ない場合に、模型が新しい資料に対してもきちんと働くかどうかを、より正確に見積もるために役に立ちます。たくさんの資料があれば、最初から学習用と評価用に分けてしまっても良いのですが、資料が少ない場合は、分割検証を使うことで、限られた資料を最大限に活用することができます。