ウェブサイト検索

競合機械学習から得たモデル選択のヒント


問題のアルゴリズムをスポットチェックし、より優れたいくつかのモデルを調整した後、最終的には、続行する最適なモデルを 1 つまたは 2 つ選択する必要があります。

この問題はモデル選択と呼ばれ、不完全な情報を基に選択を行う必要があるため、面倒になることがあります。ここで、作成するテスト ハーネスと選択したテスト オプションが重要になります。

この投稿では、競争力のある機械学習からインスピレーションを得たモデル選択のヒントと、それらのヒントを次のレベルに引き上げて、他の複雑なシステムと同様にテスト ハーネスを研究する方法に関するアイデアを紹介します。

競技会でのモデル選定

機械学習コンテストでは、モデルを構築するために必要なデータのサンプルが提供されます。

未知のテスト データセットに対する予測を送信すると、それらの予測のごく一部が評価され、その精度が公開リーダーボードで報告されます。コンテストの終了時に、完全なテスト データセットに対する予測によって、コンテストでのランクが決定されます。

一部のコンテストでは、他のすべての参加者と最終的なランクを競うために、最善の努力を表すと思われる 1 つまたは 2 つの予測セット (およびそれらを作成したモデル) を選択する必要があります。この選択では、独自のテスト ハーネスからの推定精度と、公開リーダーボードによって報告された精度のみに基づいて、モデルの精度を評価する必要があります。

これはモデルの選択の問題であり、情報が不完全であるため困難です。さらに悪いことに、公開リーダーボードによって報告される精度と、独自のプライベート テスト ハーネスが一致しない可能性が非常に高くなります。どのモデルを選択すべきでしょうか?この不確実性の中でどのように適切な決定を下すことができるでしょうか?

トレーニング データセットの過剰適合を避ける

Log0 は、「Kaggle コンペティションで最終モデルを選択する方法」という投稿でこの問題を調査しています。

彼は、以前の競技会でトレーニング データセットが過剰に適合するという問題に個人的に悩まされており、現在はこの落とし穴を回避するために懸命に取り組んでいるとコメントしています。コンテストの症状としては、公開リーダーボードでは良い順位を獲得しているのに、最終スコアが発表されると、プライベート リーダーボードでの順位が大幅に下がってしまうことがよくあります。

彼は、この問題を克服するのに役立つと示唆するヒントをいくつか提供しています。

1. 常に相互検証を使用する

彼は、単一の検証データセットでは、目に見えないデータに関するモデルの精度の信頼性が低い推定値が得られるとコメントしています。単一の小さな検証データセットがまさに公開リーダーボードです。

彼は、たとえそれが楽観的であっても、常に相互検証 (CV) を使用し、モデルを選択する際には、精度に関する独自の CV 推定を延期することを提案しています。

2. 公開リーダーボードを信用しない

公開リーダーボードは非常に気が散ります。他の参加者と比べて自分がどれだけ優れているかを参加者全員に示します。ただ、それは嘘だらけだということを除いて。これはモデルの精度の意味のある推定値ではなく、実際にはモデルの精度のひどい推定値であることがよくあります。

Log0 は、特に独自のオフライン CV テスト ハーネスと比較した場合、公開リーダーボードのスコアが不安定であるとコメントしています。彼は、CV が不安定に見える場合はフォールドの数を増やすことができ、実行が遅い場合はデータのサンプルを操作できるとコメントしています。

これらは、相互検証を使用しないことに対する一般的な反対意見に対する優れた対抗策です。

3. 多様なモデルを選択する

多様化する。 Log0 は、2 つ以上のモデルを選択できる場合は、その機会を利用してモデルの多様なサブセットを選択する必要があると提案しています。

彼は、タイプまたは方法論ごとにモデルをグループ化し、各グループから最適なものを選択することを提案しています。この短いリストから最終モデルを選択できます。

同氏は、同様のモデルを選択するということは、戦略が貧弱であれば、モデルが一斉に失敗し、ほとんど何も残らないことを意味すると示唆しています。反論は、多様性は明確な決定を下せないときに使用する戦略であり、倍増することが最大の見返りにつながる可能性があるというものです。モデルに対する信頼を慎重に検討する必要があります。

Log0 はまた、大規模な (パラメータが多い) モデルなど、堅牢なモデルを選択するよう警告しています。つまり、モデル自体が過学習する可能性が低いということです。

堅牢なテスト ハーネスの拡張

これは素晴らしい投稿であり、いくつかの素晴らしいヒントですが、さらに前進することができるし、そうすべきだと思います。

他のシステムと同様に、テスト ハーネスの安定性を調べることができます。

相互検証ハーネスの安定性を調査する

標準の堅牢なアルゴリズムを使用して、相互検証構成内のフォールド数の安定性を評価できます。相互検証 (CV) フォールドごとに 30 回繰り返し、1 ~ 10 の CV フォールド サイズで繰り返します。結果をプロットし、特定の CV フォールド数の広がりと、CV フォールドが 1 (ベースライン) から増加するにつれての精度の変化について考えます。

特定の CV フォールド数の上限/下限を、精度の大まかな不確実性として使用できます。 CV フォールド=1 と選択した CV フォールドの間の精度の差を使用して、楽観的なバイアスを修正することもできます。

データサンプルの安定性を調査する

サンプリング時にも同様のトリックを使用できます。サンプリング理論は大規模かつ複雑なトピックです。上で説明したのと同様のプロセスを実行し、特定のサイズの n 個のサンプルを取得して精度を推定し、その後、異なるサイズのサンプルを試すことができます。

結果を箱ひげ図などでプロットすると、サンプリング サイズ (クラスを層別化または再バランス化している場合はサンプリング方法も試してみるとよいでしょう) の安定性を把握できます。

気をつけて

過剰適合はどこにでも潜んでいます。

CV パラメータまたはサンプリング方法の調査には、利用可能なデータがすべて使用されます。データセット上の特定の標準アルゴリズムの安定性について学習していますが、モデルの評価に使用される特定のフォールドまたはサンプルよりも多くのデータを使用する構成も選択しています。これは過剰適合につながる可能性があります。

それにもかかわらず、これは便利で貴重な場合があり、過学習という非常に現実的な問題と問題の理解を向上させることのバランスを取る必要があります。

まとめ

この投稿では、機械学習に取り組む際に最終モデルを選択するときに使用できる 3 つのヒントを発見しました。これらのヒントは、競争力のある機械学習に役立ちます。また、選択されたいくつかのモデルからの予測がアンサンブルに組み合わされるデータ分析や本番システムでも使用できます。

また、これらのヒントを拡張する方法と、他の機械学習アルゴリズムのパラメーターと同じように、特定の機械学習の問題に対するテスト ハーネスの構成を研究する方法についても学びました。

サンプルデータによって説明される問題の安定性についての洞察により、目に見えないデータに対するモデルの期待精度についての優れた洞察が得られます。

関連記事