見出し画像

AWS MLS (機械学習) 勉強記⑧ モデルのトレーニングと評価

こんにちは、れお太郎です!
前回、前々回と様々なAIアルゴリズムに関して勉強してきました。
今回はそんなAIのモデルのトレーニングと評価に関してです!

前回の記事はこちら


AIモデルとは

AIモデルと良く聞くけれど、”モデル”って何でしょうか・・?
”モデル”は特定のタスクを実行するためにトレーニングされた、アルゴリズムのことです。
なので、アルゴリズムを選んだら、それぞれ専用のタスクにモデルをトレーニングする必要があります!
例えば、「犬or猫を分類するモデル」や「車を物体検出するモデル」などが挙げられます。

モデルのトレーニング

それではモデルをトレーニングするやり方を見ていきます。

データの分割

AIの学習用にデータを集めたはいいもののどのようにデータを使えばいいでしょうか。
AIモデルをトレーニングする場合は「学習用」「モデルの評価用」「モデルのテスト用」の3つのデータを用意する必要があります。

学習用:モデルをトレーニングするのに必要なデータです。
評価用:トレーニングをする際に調整に使うデータです。このデータに合わせてモデルをトレーニングさせます。
テスト用:最終的にできたモデルを評価するデータです。評価用とは別のデータを用意することが必要です。

データの分割手法

ではこれらをどのように分割すればよいでしょうか?
いくつかのデータ分割手法を紹介します。

ホールドアウト法

一番シンプルな方法は、単純に割合で分割するよう法です。
割合は(学習:評価:テスト)=(80:10:10)が多いです。
これをホールドアウト法と呼びます

データの分割

交差検証法

交差検証法は、データセットの分割の仕方を変えて複数のデータセットを用意して、その平均から評価する方法です。
下の図は k分割交差検証法 のk=5のパターンです。
入力データを5個のセットに分割して、そのうちの一つをテストとしてそれぞれモデルを作成して、モデルごとのテスト結果の平均値で評価します。
分割する分、全体を評価する時間はかかりますが、分割したデータのばらつきを受けにくく、使用したデータセットとアルゴリズムの正確な評価を実施できます。

k分割交差検証法の例

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

モデルをチューニングして、機械学習の精度を上げるためにはハイパーパラメータの最適化をする必要があります。
ハイパーパラメータとは、人手でいじることが出来るパラメータを指します。
例えば、料理をするときに、しょうゆをどれくらい入れるのかは自分自身で決められます(=ハイパーパラメータ)。ですが、しょうゆに含まれる塩分などはすでに決まっているものです(=内部パラメータ)です。

ハイパーパラメータの種類

ハイパーパラメータの種類に関して簡単に記します。

・オプティマイザ
損失関数を最小化する方法です。SGD、Adamなどのオプティマイザがあり、それぞれ異なる戦略で損失関数を最小化します。
・活性化関数
ニューロンの出力を決定する非線形関数です。ReLUやシグモイドなど様々な活性化関数があります
・ドロップアウト
訓練中に一部のニューロンを無視する手法です。これによって過学習を防ぎます。
・学習率
モデルのパラメータがどのくらいの頻度で更新されるのかを決めるパラメータです。

ハイパーパラメータの自動化

たくさんのハイパーパラメータを人手で探索していましたが、最近ではハイパーパラメータの自動チューニングを行う手法もあります。

・ランダムサーチ
範囲の中で、ランダムな組み合わせを試して検証します
低い計算コストで試すことが出来ますが、グリッドサーチと比べると最適な買いを見つけられない可能性もあります。

ランダムサーチ

・グリッドサーチ
ハイパーパラメータの全ての組み合わせを系統的に試す方法です。
網羅的に試すため、計算コストが非常に高いですが、範囲内にある最適なパラメータを探し出すことが出来ます。

グリッドサーチ

モデルの評価

モデルの評価の方法です。タスクによってさまざまな評価方法があります。

混同行列

例えば「犬」と「猫」を分類したいときなど、分類タスクの場合は混同行列を使用します。
AIの判定と実際のクラスの対応によって、真陽性(TP)、偽陽性(FP)、偽陰性(FN)、真陰性(TN)の4つのパターンに分類されます。

混同行列

例えば、「猫」を検出したいモデルの場合は下の表の様になります。

猫判定の混同行列

適合率・再現率

混同行列を出した後には、AIの精度を見る適合率と再現率で評価します。
・適合率(Precision):モデルが正と予測した中で、実際に正であった割合、AIがどれだけ的確に当てれたかを示します。
・再現率(Recall):
実際に正のクラスものに対して、実際に正であった割合、AIがどれだけ漏れなく当てれたかを示します。

適合率・再現率の計算式

これで今回のモデルのトレーニングと評価に関しては以上です!
そろそろ終盤戦です。頑張ります!

Xやってますので、気が向けばフォローしてください!

次回の記事はこちら


この記事が気に入ったらサポートをしてみませんか?