今回の記事は機械学習における「損失関数」をどの記事よりも簡潔にわかりやすく紹介していきます。他の機械学習用語に関しても説明していきますので気になる方はご参照ください。
では早速解説を行っていきます。
損失関数とは?
損失関数とは「機械学習させた学習モデル(AI部分)が出力する識別結果」と「実際の正解」との差異表す関数のことです。式で表すと下記です。
「(差) = (重み)*(入力) + (バイアス)」
よく描かれる表現としては下記です。
「y = wx + b」
このwとbを調節して差をできるだけ小さくししていくことが機械学習です。
機械学習での使用用途にぴったりですね。この損失関数を小さくするために機械学習を進めAI部分にあたる学習モデルを何度も学習させるという具合です。
損失関数を簡単な具体例で説明
例えばXが0〜100を遷移するとして考えていきます。損失関数が「y = 2x – 10」という関数の場合は「X = 100」が最も差が大きく、「X =5」が差が0になるので最も損失関数の値が小さくなる、つまり出力結果と正解のズレが小さい学習モデルを生成できたということになります。
このように損失関数の値を小さくすることは損失関数が簡単な場合は有用です。しかし、まあそんな場合はありません。
y = 2x^4 + 5
とか(関数は適当です。)の場合受験生なら微分などを駆使してできるかもしれませんがそのように求めるのは割りに合いません。そのため、機械学習界隈でよく使用される用語の「誤差逆伝播」により損失関数の重さとバイアスを調整して損失関数の最小になる箇所を探します。その際に使用される方法として「勾配最小法」などが挙げられます。
この辺りの用語の解説は各リンクに飛んでください。
他にもたくさんの用語や機械学習を実際に行う手順を公開していますのできになる方は他の記事に関してもご参照ください。
コメント