ビデオ: 【機械学習】モデルの評価と選択 | 交差検証、さまざまな評価基準 2024
マシン学習仮説を有効に検証できることにより、選択したアルゴリズムをさらに最適化することができます。このアルゴリズムは、データからの信号を検出し、予測関数の過大な変動を生成せずに予測関数の実際の関数形式に適合する能力を備えているため、データの予測パフォーマンスの大部分を提供します。すべての機械学習アルゴリズムがあなたのデータに最も適しているわけではなく、あらゆる問題に対応できるアルゴリズムはありません。特定の問題に適したものを見つけることは、あなた次第です。
<!予測パフォーマンスの第2の原因は、選択されたアルゴリズムの学習能力を高めるために適切に変換され選択されたときのデータそのものです。最終的なパフォーマンスのソースは、学習の前に決定し、データから学習しないパラメータであるアルゴリズムの
ハイパーパラメータ を微調整することによって得られます。それらの役割は、先験的仮説を定義することであり、他のパラメータは、アルゴリズムがデータと相互作用した後の事後確率を特定し、最適化プロセスを使用して、あるパラメータ値良い予測を得るうえでより効果的です。 <! - 2 - > すべての機械学習アルゴリズムがハイパーパラメータチューニングを必要とするわけではありませんが、最も複雑なものもありますが、そのようなアルゴリズムはそのままでは機能しますが、予測の正確さでハイパーパラメータがデータから学習されていない場合でも、ハイパーパラメータを決定する際に作業中のデータを考慮する必要があります。相互検証と可能性の慎重な評価に基づいて選択を行う必要があります。 <! - 3 - > 複雑な機械学習アルゴリズムは、見積もりの分散に最も影響を受け、多くのパラメータで表現される多くの選択肢を提示します。彼らとうんざりすると、学習しているデータに多かれ少なかれ適応します。時には過度の過パラメータのつまずきがアルゴリズムによってデータからの偽信号を検出することさえあるかもしれません。これは、ハイパーパラメータ自体を、テストセットや繰り返しの相互検証スキーマのような固定参照に基づいてあまりにも多くの操作を開始すると、検出されない分散の原因となります。 RとPythonは、入力行列を列車、テスト、および検証部品に分割するスライシング機能を提供します。特に、クロスバリデーションやブートストラップなどのより複雑なテスト手順の場合、Scikit-learnパッケージはモジュール全体を提供し、Rは特殊なパッケージを持ち、データの分割、前処理、テストの機能を提供します。このパッケージはキャレットと呼ばれます。
ハイパーパラメータが形成する可能性のある値の組み合わせによって、最適化をどこで探すのが難しいかが決まります。勾配降下について論じるときに説明したように、最適化空間は、より良いまたは悪い結果をもたらす値の組み合わせを含むことができる。あなたが良い組み合わせを見つけたとしても、それが最良の選択であるという保証はありません。 (これは、エラーを最小限にするときに極小に陥るという問題です。)この問題を解決する実際の方法として、特定のデータに適用されるアルゴリズムのハイパーパラメータを検証する最良の方法は、クロスバリデーションを行い、最良の組み合わせを選ぶことができます。グリッド検索と呼ばれるこの簡単なアプローチは、可能な値の範囲をサンプリングしてアルゴリズムに体系的に入力し、一般的な最小値が発生したときに見つけることができます。一方、グリッド検索は、計算量が多く(現代のマルチコアコンピュータでこの作業を簡単に並列実行できます)、非常に時間がかかるため、重大な欠点もあります。さらに、組織的で集中的なテストでは、データセットに存在するノイズによっていくつかの良いが偽の検証結果が発生する可能性があるため、エラーが発生する可能性が高くなります。グリッド検索の代替手段もあります。すべてをテストする代わりに、ベイズのアプローチを使用して(Nelder-Meadメソッドのような)計算上重く数学的に複雑な非線形最適化技法によって導かれる可能性のあるハイパーパラメータ値の空間を調べることができます以前の結果の利点)、またはランダム検索を使用します。
驚くべきことに、ランダム検索は信じられないほどうまく機能し、理解しやすく、最初は盲目的な幸運に基づいているだけではありません。実際、この技術の主なポイントは、十分なランダムテストを選択すると、同様に実行する組み合わせのわずかに異なる組み合わせをテストする際にエネルギーを無駄にせずに正しいパラメータを見つけることができる可能性があるということです。以下のグラフは、ランダム検索がうまく動作する理由を説明しています。系統的探査は有用ではあるが、すべての組み合わせをテストする傾向があり、一部のパラメータが結果に影響を与えない場合、エネルギーの浪費となる。ランダム探索は実際には組み合わせの数は少なくなりますが、各ハイパーパラメータの範囲内でより多くのテストが行われます。
グリッド検索とランダム検索の比較。
無作為化検索がうまくいくためには、15回から最大60回までのテストを行う必要があります。グリッド検索でより多くの実験が必要な場合は、ランダム検索に頼るのが理にかなっています。