![見出し画像](https://assets.st-note.com/production/uploads/images/129400562/rectangle_large_type_2_72d949ab89daa5629aa858dbc98b17c1.png?width=800)
AWS MLS (機械学習) 勉強記⑧ モデルのトレーニングと評価
こんにちは、れお太郎です!
前回、前々回と様々なAIアルゴリズムに関して勉強してきました。
今回はそんなAIのモデルのトレーニングと評価に関してです!
前回の記事はこちら
AIモデルとは
AIモデルと良く聞くけれど、”モデル”って何でしょうか・・?
”モデル”は特定のタスクを実行するためにトレーニングされた、アルゴリズムのことです。
なので、アルゴリズムを選んだら、それぞれ専用のタスクにモデルをトレーニングする必要があります!
例えば、「犬or猫を分類するモデル」や「車を物体検出するモデル」などが挙げられます。
モデルのトレーニング
それではモデルをトレーニングするやり方を見ていきます。
データの分割
AIの学習用にデータを集めたはいいもののどのようにデータを使えばいいでしょうか。
AIモデルをトレーニングする場合は「学習用」「モデルの評価用」「モデルのテスト用」の3つのデータを用意する必要があります。
・学習用:モデルをトレーニングするのに必要なデータです。
・評価用:トレーニングをする際に調整に使うデータです。このデータに合わせてモデルをトレーニングさせます。
・テスト用:最終的にできたモデルを評価するデータです。評価用とは別のデータを用意することが必要です。
データの分割手法
ではこれらをどのように分割すればよいでしょうか?
いくつかのデータ分割手法を紹介します。
ホールドアウト法
一番シンプルな方法は、単純に割合で分割するよう法です。
割合は(学習:評価:テスト)=(80:10:10)が多いです。
これをホールドアウト法と呼びます
![](https://assets.st-note.com/img/1706702599902-RWIrcfGazh.png?width=800)
交差検証法
交差検証法は、データセットの分割の仕方を変えて複数のデータセットを用意して、その平均から評価する方法です。
下の図は k分割交差検証法 のk=5のパターンです。
入力データを5個のセットに分割して、そのうちの一つをテストとしてそれぞれモデルを作成して、モデルごとのテスト結果の平均値で評価します。
分割する分、全体を評価する時間はかかりますが、分割したデータのばらつきを受けにくく、使用したデータセットとアルゴリズムの正確な評価を実施できます。
![](https://assets.st-note.com/img/1706704699254-dm7XN3lWJh.png?width=800)
ハイパーパラメータの最適化
モデルをチューニングして、機械学習の精度を上げるためにはハイパーパラメータの最適化をする必要があります。
ハイパーパラメータとは、人手でいじることが出来るパラメータを指します。
例えば、料理をするときに、しょうゆをどれくらい入れるのかは自分自身で決められます(=ハイパーパラメータ)。ですが、しょうゆに含まれる塩分などはすでに決まっているものです(=内部パラメータ)です。
ハイパーパラメータの種類
ハイパーパラメータの種類に関して簡単に記します。
・オプティマイザ
損失関数を最小化する方法です。SGD、Adamなどのオプティマイザがあり、それぞれ異なる戦略で損失関数を最小化します。
・活性化関数
ニューロンの出力を決定する非線形関数です。ReLUやシグモイドなど様々な活性化関数があります
・ドロップアウト
訓練中に一部のニューロンを無視する手法です。これによって過学習を防ぎます。
・学習率
モデルのパラメータがどのくらいの頻度で更新されるのかを決めるパラメータです。
ハイパーパラメータの自動化
たくさんのハイパーパラメータを人手で探索していましたが、最近ではハイパーパラメータの自動チューニングを行う手法もあります。
・ランダムサーチ
範囲の中で、ランダムな組み合わせを試して検証します
低い計算コストで試すことが出来ますが、グリッドサーチと比べると最適な買いを見つけられない可能性もあります。
![](https://assets.st-note.com/img/1706706414476-UflfdzDRPG.png?width=800)
・グリッドサーチ
ハイパーパラメータの全ての組み合わせを系統的に試す方法です。
網羅的に試すため、計算コストが非常に高いですが、範囲内にある最適なパラメータを探し出すことが出来ます。
![](https://assets.st-note.com/img/1706706400746-QdTlRq4GfX.png?width=800)
モデルの評価
モデルの評価の方法です。タスクによってさまざまな評価方法があります。
混同行列
例えば「犬」と「猫」を分類したいときなど、分類タスクの場合は混同行列を使用します。
AIの判定と実際のクラスの対応によって、真陽性(TP)、偽陽性(FP)、偽陰性(FN)、真陰性(TN)の4つのパターンに分類されます。
![](https://assets.st-note.com/img/1706707153172-5Qi3OQBPOv.png)
例えば、「猫」を検出したいモデルの場合は下の表の様になります。
![](https://assets.st-note.com/img/1706707544162-tyeBy2CtKd.png)
適合率・再現率
混同行列を出した後には、AIの精度を見る適合率と再現率で評価します。
・適合率(Precision):モデルが正と予測した中で、実際に正であった割合、AIがどれだけ的確に当てれたかを示します。
・再現率(Recall):実際に正のクラスものに対して、実際に正であった割合、AIがどれだけ漏れなく当てれたかを示します。
![](https://assets.st-note.com/img/1706707946869-Cwlwo8COm4.png?width=800)
これで今回のモデルのトレーニングと評価に関しては以上です!
そろそろ終盤戦です。頑張ります!
Xやってますので、気が向けばフォローしてください!
次回の記事はこちら
この記事が気に入ったらサポートをしてみませんか?