> ## Documentation Index
> Fetch the complete documentation index at: https://wb-21fd5541-feat-cli-docs-generator.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# パラメータの重要度

> モデルのハイパーパラメーターと出力メトリクスの関係を視覚化する

ハイパーパラメーターがどのようにメトリクスの望ましい値の予測に役立ったか、また高い相関があったかを発見しましょう。

<Frame>
  <img src="https://mintcdn.com/wb-21fd5541-feat-cli-docs-generator/z30ndE1lYRi8WMuv/images/general/parameter-importance-1.png?fit=max&auto=format&n=z30ndE1lYRi8WMuv&q=85&s=4eee4f543e946ad06c7cd7c43b6460ab" width="1528" height="684" data-path="images/general/parameter-importance-1.png" />
</Frame>

**相関** とは、ハイパーパラメーターと選択されたメトリクスの線形相関を意味します（この場合は val\_loss）。したがって、高い相関はハイパーパラメーターの値が高いとき、メトリクスの値も高くなり、その逆もまた然りであることを示します。相関は注目すべき素晴らしいメトリクスですが、入力間の二次の相互作用を捉えることはできず、非常に異なる範囲の入力を比較することが煩雑になる可能性があります。

そのため、W\&Bは **重要度** メトリクスも計算します。W\&Bはハイパーパラメーターを入力として、ランダムフォレストをトレーニングし、メトリクスをターゲット出力として、ランダムフォレストの特徴重要度値をレポートします。

この手法のアイデアは、[Jeremy Howard](https://twitter.com/jeremyphoward) との会話からインスピレーションを受け、Fast.aiにおいてハイパーパラメータースペースを探るためのランダムフォレストの特徴重要度の使用を推進してきたことから生まれました。W\&Bはこの分析の背後にある動機を学ぶために、[この講義](http://course18.fast.ai/lessonsml1/lesson4.html) （および[これらのノート](https://forums.fast.ai/t/wiki-lesson-thread-lesson-4/7540)）をチェックすることを強くお勧めします。

ハイパーパラメーター重要度パネルは、高い相関のハイパーパラメーター間の複雑な相互作用を解きほぐします。そして、モデルのパフォーマンスを予測する上で、どのハイパーパラメーターが最も重要であるかを示すことによって、ハイパーパラメーターの探索を調整するのに役立ちます。

## ハイパーパラメーター重要度パネルの作成

1. W\&B プロジェクトに移動します。
2. **Add panels** ボタンを選択します。
3. **CHARTS** ドロップダウンを展開し、ドロップダウンから **Parallel coordinates** を選択します。

<Note>
  空のパネルが表示される場合、run がグループ化されていないことを確認してください
</Note>

<Frame>
  <img src="https://mintcdn.com/wb-21fd5541-feat-cli-docs-generator/-ioFEureIz8ZEfH0/images/app_ui/hyperparameter_importance_panel.gif?s=1cd7c98f6af171ccbcec3576e32730dd" alt="Using automatic parameter visualization" width="2716" height="1410" data-path="images/app_ui/hyperparameter_importance_panel.gif" />
</Frame>

パラメーターマネージャーを使用して、表示および非表示のパラメーターを手動で設定できます。

<Frame>
  <img src="https://mintcdn.com/wb-21fd5541-feat-cli-docs-generator/-ioFEureIz8ZEfH0/images/app_ui/hyperparameter_importance_panel_manual.gif?s=0fe4f2b9f983414c0d0d6d8873e66d33" alt="Manually setting the visible and hidden fields" width="2718" height="1388" data-path="images/app_ui/hyperparameter_importance_panel_manual.gif" />
</Frame>

## ハイパーパラメーター重要度パネルの解釈

<Frame>
  <img src="https://mintcdn.com/wb-21fd5541-feat-cli-docs-generator/z30ndE1lYRi8WMuv/images/general/parameter-importance-4.png?fit=max&auto=format&n=z30ndE1lYRi8WMuv&q=85&s=38ae719b309593c5f39412380eeef479" width="1906" height="1004" data-path="images/general/parameter-importance-4.png" />
</Frame>

このパネルは、トレーニングスクリプト内で [wandb.config](/ja/models/track/config/) オブジェクトに渡されたすべてのパラメーターを表示します。次に、これらのconfigパラメーターの特徴重要度と、それが選択されたモデルメトリクス（この場合は `val_loss`）との相関を示します。

### 重要度

重要度列は、選択したメトリクスを予測する際に、各ハイパーパラメーターがどの程度役立ったかを示します。多数のハイパーパラメーターを調整し始めて、それらの中からさらなる探索の価値があるものを特定するためにこのプロットを使用するシナリオを想像してみてください。その後の Sweeps は、最も重要なハイパーパラメーターに限定し、より良いモデルをより速く、安価に見つけることができます。

<Note>
  W\&Bは、木構造モデルを使用して重要度を計算します。木構造モデルは、線形モデルと比べてカテゴリカルデータや正規化されていないデータに対してより寛容です。
</Note>

上記の画像では、`epochs, learning_rate, batch_size` と `weight_decay` がかなり重要であることがわかります。

### 相関

相関は、個々のハイパーパラメーターとメトリクスの値との間の線形関係を捉えます。これにより、SGDオプティマイザーなどのハイパーパラメーターの使用と `val_loss` 間に有意な関係があるかどうかという問題に答えます（この場合、答えは「はい」です）。相関値は-1から1の範囲であり、正の値は正の線形相関を、負の値は負の線形相関を示し、0の値は相関がないことを示します。一般的に、どちらの方向でも0.7を超える値は強い相関を示します。

このグラフを使用して、メトリクスと高い相関のある値（この場合は確率的勾配降下法やadamを選択し、rmspropやnadamよりも優先することがあります）をさらに調査したり、より多くのエポックでトレーニングしたりすることができます。

<Note>
  * 相関は関連の証拠を示しますが、必ずしも因果関係を示すわけではありません。
  * 相関は外れ値に敏感であり、特に試されたハイパーパラメーターのサンプルサイズが小さい場合は、強い関係を中程度のものに変える可能性があります。
  * 最後に、相関はハイパーパラメーターとメトリクス間の線形関係のみを捉えます。強い多項式関係がある場合、相関ではそれを捉えられません。
</Note>

重要度と相関の違いは、重要度がハイパーパラメーター間の相互作用を考慮に入れる一方で、相関は個々のハイパーパラメーターがメトリクスに与える影響のみを測定するという事実から生じます。第二に、相関は線形関係のみを捉えるのに対し、重要度はより複雑な関係を捉えることができます。

見てわかるように、重要度と相関はどちらもハイパーパラメーターがモデルのパフォーマンスにどのように影響するかを理解するための強力なツールです。
