# インテリジェント モデル最適化

インテリジェント モデル最適化により、実験でトレーニングしたモデルが自動的に改良されます。インテリジェント モデル最適化により、特徴量選択の反復と高度な変換の適用のプロセスが自動的に処理されます。関連機能がすべて含まれており、十分に準備されたトレーニング データセットがあれば、インテリジェントなモデル最適化によって、単独のバージョン内ですぐに展開できるモデルをトレーニングできます。

## インテリジェント モデル最適化とは

インテリジェント モデル最適化により、モデル改良プロセスの多くの処理が自動化されます。インテリジェント モデル最適化により、特徴量選択または入力データを手動で調整することなく、高品質のモデルを迅速にトレーニングできます。

## インテリジェント モデル最適化を使用する

次のタイプの新しい ML 実験では、インテリジェント モデル最適化が既定でオンになっています。

* 二項分類

* 多項分類

* 回帰

情報メモ

インテリジェント モデル最適化は時系列実験には適用できません。

実行する実験のバージョンごとに、インテリジェント モデル最適化をオンまたはオフにできます。

インテリジェント最適化をオンにして実験バージョンを実行すると、最適化の結果を [モデル トレーニングの概要] で確認できます。この概要は、[モデルの洞察] の [モデル] タブに表示されます。下線付きの用語の上にカーソルを合わせると、ツール ヒントで詳しい説明が表示されます。

[モデル トレーニングの概要] は、実験バージョンでトレーニングされたモデルごとに異なります。

## インテリジェント モデル最適化の仕組み

インテリジェント モデル最適化を使用:

* 手動の最適化よりも多くのモデルがトレーニングされます。特徴量の選択はモデル レベルで処理されます。つまり、手動による最適化とは異なり、バージョン内の各モデルに異なる特徴量の選択を含めることができます。

* 既定ですべてのモデルに適用される自動前処理に加えて、トレーニング データはいくつかの高度な変換によって処理されます。これらの変換により、データが機械学習アルゴリズムに最適な形式になることが保証されます。

* 品質保証のため、ベースライン モデル (バージョン用に構成した特徴量セット全体でトレーニングされたモデル) は引き続きトレーニングされます。これは、インテリジェント最適化によって実際にモデル スコアが向上しているかどうかを確認するのに役立ちます。

* より大きなトレーニング データセットの場合、モデルはさまざまなサンプリング比率でトレーニングされます。 これにより、トレーニング プロセスを高速化できます。詳細については、「[トレーニング データのサンプリング](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/intelligent-model-optimization.htm#Sampling)」を参照してください。

### トレーニング データのサンプリング

大量のデータを使用してモデルをトレーニングする場合、Qlik Predict はサンプリングを使用して、元のデータセットのさまざまなサブセット (サンプリング比率) でモデルをトレーニングします。サンプリングは、トレーニング プロセスを高速化するために使用されます。トレーニングの開始時に、モデルは小さなサンプリング比率でトレーニングされます。トレーニングが継続されるにつれて、モデルは徐々により大きなデータ部分でトレーニングされるようになります。最終的に、モデルはデータセット全体（サンプリング比率 100%）でトレーニングされます。

モデル トレーニング データの分析中、トレーニング データセットの 100% 未満でトレーニングされたモデルは、一部のビューに表示されません。

## インテリジェント モデル最適化中に適用される処理

[モデル トレーニングの概要] には、インテリジェント モデル最適化によってトレーニング データがどのように処理されたかが示されます。次のセクションでは、ログに表示される各アイテムについて詳しく説明します。

適用される処理はモデルに応じて異なる場合があります。

[モデル] タブに表示されるモデルの [モデル トレーニングの概要] チャート

[モデル] タブに表示されるモデルの [モデル トレーニングの概要] チャート

[モデルモデル] タブに表示されるモデルの [モデル トレーニングの概要モデル トレーニングの概要] チャート ![インテリジェント最適化を使用してトレーニングされたモデルのトレーニング概要チャート。](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_gen_automl-model-train-summary.png)

### 特徴量の選択

インテリジェント モデル最適化により、予測性能を低下させる機能をドロップしてモデルを洗練させることができます。インテリジェント モデル最適化中に、次のいずれかの理由で特徴量がドロップされる可能性があります。

* ターゲット漏洩: 特徴量はターゲット漏洩の影響を受ける疑いがあります。ターゲット漏洩の影響を受ける特徴量には、予測しようとしているターゲット列に関する情報が含まれています。たとえば、特徴量はターゲットから直接派生したものであったり、予測時には知られていない情報を含んでいたりします。ターゲット漏洩の原因となる特徴量は、モデルのパフォーマンスに関して誤った確信を与える可能性があります。実世界の予測では、モデルのパフォーマンスが大きく低下します。

* 低い Permutation Importance: この特徴量は、モデルの予測にほとんど影響を与えません。これらの特徴量を削除すると、統計ノイズが減少し、モデルのパフォーマンスが向上します。

* 相関が高い: この特徴量は、実験内の 1 つ以上の他の特徴量と高い相関関係があります。相関が高すぎる特徴量は、トレーニング モデルでの使用には適していません。

実験内の [データ] タブでは、各モデルでドロップされた特徴量に関するインサイトを表示できます。[インサイト] は、インテリジェント モデル最適化プロセス以外でドロップされた特徴量も参照します。各インサイトの詳細については、「[データセットのインサイトの解釈](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/dataset-insights.htm#Explanations)」を参照してください。

### 特徴量変換

インテリジェント モデル最適化では、特徴量レベルで多くの技術的な変換が適用されます。これらの変換により、トレーニング データが処理され、信頼性の高い機械学習モデルを作成するために、より効果的に使用できるようになります。特徴量変換は必要に応じて自動的に適用されます。[モデル トレーニングの概要] では、特徴量変換がいつ適用され、どの特徴量が影響を受けるかが通知されます。

#### 累乗変換

特徴量データには、ある程度の非対称性と正規分布からの偏差を持つ分布が自然に含まれることがよくあります。モデルをトレーニングする前に、値の分布が過度に偏っているように見える場合は、データに何らかの処理を適用して値の分布を正規化すると良いでしょう。この処理は、偏りを減らし、外れ値を識別するのに役立ちます。

インテリジェント モデル最適化により、特定の歪度しきい値を超える数値特徴量は、累乗変換を使用して、より正規分布 (または正規分布に近い分布) になるように変換されます。具体的には、Yeo-Johnson 累乗変換が使用されます。

#### 数値特徴量のビニング

数値特徴量には、機械学習アルゴリズムでは扱いにくいパターンや分布を含むものがあります。インテリジェント モデル最適化では、特定の数値特徴量のデータを、その数値範囲に応じて異なるビンに整理することで、この問題に部分的に対処します。特徴量をカテゴリ特徴量に変換できるようにビニングが実行されます。

ビニングが完了すると、新しいカテゴリ特徴量が one-hot encoded され、トレーニングに使用されます。one-hot encoded の詳細については、「[カテゴリ エンコーディング](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/categorical-encoding.htm)」を参照してください。

### 行レベルの重み付けとサンプリング

#### 異常の検出と処理

異常値とは、合理的に予想される範囲外のデータ値のことです。トレーニング データに外れ値があることは珍しいことではありません。異常値の中には、現実世界の可能性を反映する方法として望ましいものもあります。他のケースでは、異常値により、信頼できるモデルをトレーニングする能力が妨げられる場合もあります。

インテリジェント モデル最適化により、Qlik Predict は潜在的な異常を特定します。外れ値を含む行は、アルゴリズムを利用した重み付けシステムで処理されます。値が異常である疑いが強い場合、重み付けシステムにより、トレーニング データ内の対応する行がモデルに与える影響が軽減されます。

モデルのトレーニングが完了すると、元のトレーニング データセットから異常データとして処理された行の割合が通知されます。

詳細については、「[異常の検出と処理](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/anomaly-detection.htm)」を参照してください。

#### クラス バランス

トレーニング データセットでは、特定の値 (クラス) が他の値よりも多く出現する可能性があります。この現象はクラスの不均衡として知られています。クラスの不均衡がデータ内に存在する場合、結果として得られるモデルは少数派クラスよりも多数派クラスについてより多く学習し、予測精度に影響を与えます。

インテリジェント モデル最適化により、Qlik Predict はバイナリ分類モデルの自動クラス バランスを実行します。クラスの不均衡は、ターゲット列の 2 つのクラスの値の分布を比較することによって検出されます。具体的には、2 つのクラス間の比率が次の場合に実行されます。

* 行の 95% (またはそれ以上) に 1 つのクラスが含まれている場合

* 行の 5% (またはそれ以下) に他のクラスが含まれている場合

クラス バランスでは、クラスの分布を改善するためにトレーニング データがオーバーサンプリングされます。このプロセスは反復的であり、モデルのパフォーマンスの最適なバランスを見つけるために、さまざまな出力比率が試行されます。

オーバーサンプリング後、オーバーサンプリングされたデータセットは、実験バージョンのモデルのトレーニングに使用されます。

クラス バランスに関する一般的な情報については、「[クラス バランス](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/class-balancing.htm)」を参照してください。

## インテリジェント最適化をオフにする

インテリジェント最適化をオフにする場合、トレーニングを手動で最適化します。トレーニング プロセスをより細かく制御する必要がある場合は、手動で最適化すると便利です。特に、インテリジェント モデル最適化を備えたバージョンを実行し、手動で小さな調整を行う必要がある場合は、この設定をオフにすることをお勧めします。

情報メモ時系列実験では、手動の最適化は使用できません。

次の手順を実行します。

1. 実験で、the 構成を見る icon [] をクリックします。

   実験構成パネルが開きます。

2. 少なくとも 1 つのバージョンの実験をすでに実行している場合は、 [新しいバージョンを作成] をクリックします。

3. パネルで、 [モデル最適化] を展開します。

4. [インテリジェント] から [手動] に切り替えます。

## 考慮事項

インテリジェント モデル最適化を使用する場合は、次の点を考慮してください。

* インテリジェント モデル最適化を使用しても、トレーニングによって高品質のモデルが生成されるとは限りません。信頼性の高いモデルを作成するには、データセットの準備と実験の構成段階も不可欠になります。適切に準備されたデータセットがない場合、または構成に重要な特徴量が欠けている場合、モデルが本番環境のユース ケースで適切に機能する保証はありません。これらのステージの詳細については、次を参照してください。

  * [トレーニング用のデータセットの準備](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/dataset-preparation.htm)

  * [実験の構成](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/configuring-experiments.htm)

* あるバージョンでインテリジェント モデル最適化を有効にすると、このバージョンの各モデルには個別の特徴量のセットが含まれるようになります。一方、手動最適化でトレーニングされたバージョンのすべてのモデルには、同じ特徴量のセットが含まれます。

* インテリジェント モデル最適化では、バージョンの構成に含めた特徴量とアルゴリズムのみが使用されます。

## ハイパーパラメーターの最適化

ハイパーパラメーターの最適化は、インテリジェント モデル最適化では使用できません。ハイパーパラメーターの最適化を有効にするには、モデル最適化を [手動] に設定する必要があります。

詳細については、「[ハイパーパラメーターの最適化](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/hyperparameter-optimization.htm)」を参照してください。

## 例

インテリジェント モデル最適化の利点を示す例については、「[チュートリアル - 予測データの生成と視覚化](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/tutorial-machine-learning.htm)」を参照してください。