ハイパーパラメータの選択に失敗してしまったときの対処法

データ解析の基本的な流れにおいて、

データ解析の基本的な流れを整理します
いろいろなデータセットを解析する上で、データ解析の基本的な流れを整理しておきます。ここでは、回帰分析やクラス分類をするときにように、教師ありのデータセット、つまり目的変数 Y があるようなデータセットを解析することを想定しています。流れにお...

 

基本的にクロスバリデーションしたときの推定性能が高くなるように、ハイパーパラメータを選択すると思います。

回帰モデル・クラス分類モデルを評価・比較するためのモデルの検証 (Model validation)
いろいろな回帰モデル・クラス分類モデルを構築したり、モデルの中のハイパーパラメータ (PLSの成分数など) を決めたりするとき、モデルを評価・比較しなければなりません。そのためのモデルの検証 (model validation) の方法につ...

 

ハイパーパラメータの候補ごとにクロスバリデーションを行い、回帰分析であれば決定係数 r2 など、クラス分類であれば正解率などの指標が、最大になるような候補を選択します。ガウシアンカーネルを用いたときのサポートベクターマシン (Support Vector Machine, SVM) など、ハイパーパラメータの種類が複数あるときは、クロスバリデーションにグリッドサーチを組み合わせます。グリッドサーチの例はこちらをご覧ください。

サポートベクターマシン(Support Vector Machine, SVM)~優秀な(非線形)判別関数~
サポートベクターマシン(Support Vector Machine, SVM)について、pdfとパワーポイントの資料を作成しました。データセットが与えられたときに、SVMで何ができるか、どのようにSVMを計算するかが説明されています。pd...

 

クロスバリデーションも万能ではありませんので、モデルの推定性能が低くなってしまうハイパーパラメータの候補が選択されてしまう可能性もあります。テストデータで推定性能を検証する段階で、ハイパーパラメータの選択に失敗したときは、被害はその手法が選択されないだけで済みますが、問題はテストデータでの検証により選ばれた手法で、すべてのデータセットを用いて構築されたモデルを構築するときの失敗です。

トレーニングデータとテストデータに分けて、トレーニングデータのみでのクロスバリデーションでハイパーパラメータの選択に成功しても (その結果構築されたモデルでテストデータを良好に推定でき、その手法が選ばれたとしても)、すべてのデータセットでのクロスバリデーションで、ハイパーパラメータの選択に失敗する可能性があります。トレーニングデータにおける推定精度が (すらも) 低くなってしまったり、クロスバリデーションしたときの精度が低くなってしまったりです。

そのとき、クロスバリデーションで分割する数や、クロスバリデーションでランダムに分割する乱数の種を変えてみるとよいです。これにより、別のハイパーパラメータの候補が選択される可能性があります。

もう一つのやり方としては、トレーニングデータのみでのクロスバリデーションで選択されたハイパーパラメータの候補を用いるのは一つのやり方です。テストデータでの実績のあるハイパーパラメータの候補ですので、トレーニングデータとすべてのデータセットでモデル構築用のデータセットは異なりますが、試してみるとよいでしょう。

手法やデータセットによっては、ハイパーパラメータの選択がモデルの推定性能に大きく影響することもあります。注意してハイパーパラメータの候補を選びましょう。

 

以上です。

質問やコメントなどありましたら、twitter, facebook, メールなどでご連絡いただけるとうれしいです。

タイトルとURLをコピーしました