精度を追求!ハイパーパラメータの調整方法を紹介!

こんにちは!
IT企業に勤めて、約2年間でデータサイエンティストになったごぼちゃん(@XB37q)です!

このコラムでは、AIモデルにおけるハイパーパラメータの調整方法を紹介します。
AIモデルを構築した後、想定していたよりも精度が向上しない場合、AIモデルのハイパーパラメータと呼ばれる設定を変更することで、精度が向上する可能性があります!

そもそも精度とは

AIモデルの精度とは
AIモデルの精度とは

そもそもAIモデルの精度とは何でしょうか?ここでは簡単に精度の概要について紹介します。
詳しい精度検証の方法については、他のコラム「絶対誤差と相対誤差?AIモデルの精度とは」をご覧ください。

数値データや画像データの場合、AIモデルは予測値と呼ばれる値を算出することがあります。
予測値とはAIモデルが過去のデータを学び、未来の値や新しいデータに対して値を予測する値です。
そして、精度とは実測値と予測値がどれだけずれているかを表します。
このずれの大きさをはかる指標は複数の種類がありますが、ここでは1番簡単な絶対値誤差を例に説明します。
絶対値誤差は実測値と予測値の差の絶対値です。
この絶対値誤差が小さければ小さいほどAIモデルの精度が良いと呼んでいます。

ハイパーパラメータとは

AIモデルにはハイパーパラメータと呼ばれる設定箇所が存在します。
このハイパーパラメータをデータに合わせて適切に変更することにより、AIモデルの精度が上がる可能性があります。
ハイパーパラメータの例として、決定木分析という分析手法を例に紹介していきましょう。

まず決定木分析とはデータをよりよく分割できるように決定木と呼ばれるツリーを構築する分析手法です。

簡単に理解できる決定木分析のイメージ
簡単に理解できる決定木分析のイメージ

決定木分析については、他のコラム「決定木分析の見方と解説」をご覧ください。

決定木分析には主に2つのハイパーパラメータが存在します。

1.ツリーの深さ

2.最小のデータ数

決定木分析のハイパーパラメータ
決定木分析のハイパーパラメータ

ツリーの深さとは、ツリーを構築する深さの最大です。
深くするほど細かい分岐になります。

最小のデータ数とは、分岐先に存在する最小のデータ数です。
少なくするほど小さな特徴を学習できます。

決定木分析のハイパーパラメータは他にもありますが、上記の2種類が代表的なハイパーパラメータのため、この2種類を例に探索方法を説明していきます。
このようなハイパーパラメータは、AIモデル構築の際にデータを学習することでは決定できません。
そのため、分析者が学習の前にあらかじめ決めておく必要があります。
しかし、分析を行う前にはどのようなハイパーパラメータが1番適切かを判断することが出来ません。
そのため、まずは適当なハイパーパラメータを使って学習を行った後、精度を確認しながらハイパーパラメータを調整し、再度学習を行うといったサイクルが必要になります。
このサイクルは、モデルのチューニングとも呼ばれます。

しかし、ハイパーパラメータの組み合わせはほぼ無限に近いくらいの組み合わせが存在します。
例えば、ツリーの深さが{1~100}存在し、最小のデータ数が{10~200}存在したとすると、100×190通りの組み合わせが存在することになります。
このようにハイパーパラメータの組み合わせは膨大になるため、分析者がハイパーパラメータを決定することは作業不可が大きくなってしまいます。
そのため、次の章で紹介するハイパーパラメータを自動的に探索する方法を使うことで、効率よく作業を進めることができるようになります。

ハイパーパラメータの探索方法

ハイパーパラメータの探索方法
ハイパーパラメータの探索方法

ハイパーパラメータの組み合わせを使用して、学習・検証を行い、その結果から予測精度が最も高いハイパーパラメータを採用する方法は、下記の2つの方法が一般的です。

グリッドサーチ
指定したハイパーパラメータを使用して学習を行います。
総当たりで学習を行うため、時間がかかる場合があります 。

ランダムサーチ
ランダムサーチはグリッドサーチと異なり、指定した範囲のハイパーパラメータをランダムに抽出し学習を行うため、何回学習を試行するかの回数を指定する必要があります。

グリッドサーチ

グリッドサーチ
グリッドサーチ

グリッドサーチは、あらかじめ決めたハイパーパラメータを探索的に実行し、その中で1番AIモデルの精度が良いパラメータを選ぶことができます。

例えば、ツリーの深さ{3,5,10}と最小のデータ数{50,100,150,200}と設定し、グリッドサーチを実行したとします。
その中で1番精度が良いパラメータが出されるため、ツリーの深さ{5}、最小のデータ数{50}などの組み合わせが返ってきます。

ランダムサーチ

ランダムサーチ
ランダムサーチ

ランダムサーチは、あらかじめ決めたハイパーパラメータの範囲内でランダムに実行し、その中で1番AIモデルの精度が良いパラメータを選ぶことができます。

例えば、ツリーの深さ{3~10}と最小のデータ数{50~200}と設定し、ランダムサーチを実行したとします。
その中でランダムにパラメータが選ばれます。そしてツリーの深さ{4,7,8}、最小のデータ数{53,55,140,174}が選ばれたとします。
そのランダムに実行されたパラメータの組み合わせでモデルが構築され、1番精度が良いパラメータが出されるため、ツリーの深さ{7}、最小のデータ数{55}などの組み合わせが返ってきます。

ベイズ最適化

手動で実施
手動で実施
ベイズ最適化 ~探索と活用~
ベイズ最適化 ~探索と活用~

ベイズ最適化では、事前分布と事後分布と呼ばれる確率統計の理論を使用してハイパーパラメータの探索を行います 。
その際、人間が行う試行錯誤に近い、探索活用と呼ばれる試行錯誤を繰り返します。

もしもハイパーパラメータ探索を手動で行う際、まず初めに適当な値(初期値)を入れて結果を確認します。
そして、もう一度適当な値を入れて 1 度目の予測精度と比較し、次の探索する場所を決めていくと思います。
このように今まであまり調べていない未知の領域に対して適当に値を当てはめることを探索、探索により得た情報を元に設定した指標が最小値(最大値)になると期待できるハイパーパラメータを選択することを活用と呼びます。

探索と活用をまとめると下記のように表現することができます。

探索:まだ試していない値の範囲でハイパーパラメータを更新して、予測精度がどう変化するか情報を得る
活用:探索で得られた情報をもとに、予測精度が高まる可能性が高い範囲にハイパーパラメータを更新する

前の章で紹介したグリッドサーチはパラメータを総当たりで学習を行うため、時間がかかる場合があると紹介しました。
このベイズ最適化を用いることで、より効率的なパラメータの探索が可能になります。

まとめ

このコラムでは、AIモデルに存在するハイパーパラメータについて、紹介しました。
このハイパーパラメータは手動で設定することもできますが、精度を向上させるためには、自動で設定することが好ましいです。

  • グリッドサーチ
  • ランダムサーチ
  • ベイズ最適化

グリッドサーチを行ってから、ランダムサーチを使ってより適切なパラメータを探索していくといった方法もとることができます。

精度を追求!ハイパーパラメータの調整方法を紹介!” に対して1件のコメントがあります。

コメントは受け付けていません。