🤖
機械学習の分類:ロジスティック回帰とクロスエントロピー
機械学習の分類概要
機械学習は大きく 教師あり学習(Supervised Learning) と 教師なし学習(Unsupervised Learning) に分けられます。
🧭 教師あり学習
正解ラベルがあるデータを使ってモデルを学習させる方法です。
- 回帰(Regression):連続的な数値の予測
- 分類(Classification):定められたカテゴリの中から一つを予測
📌 分類(Classification)
- 2クラス分類:2つのクラスのうち1つを予測(例:スパムメール vs 通常メール)
- 多クラス分類:3つ以上のクラスの中から1つを予測(例:猫、犬、ウサギ)
ロジスティック回帰(Logistic Regression)
2クラス分類問題に対してよく使われるアルゴリズムです。
線形方程式にシグモイド関数を組み合わせて、確率値を出力します。
1. 線形結合
H(x) = w·x + b
2. シグモイド関数
g(z) = 1 / (1 + e^(-z))
3. 最終的な仮定関数
H(x) = 1 / (1 + e^-(w·x + b))
この出力値は0から1の範囲になり、クラス1である確率と解釈できます。
🎯 コスト関数(Cost Function)
❌ MSE(平均二乗誤差)
- 回帰には適しているが、ロジスティック回帰では 局所最小値(Local Minima) に陥るリスクがあり、非効率的です。
✅ クロスエントロピー(Cross-Entropy)
正解ラベル y が 1 または 0 の場合、以下のように損失を計算します:
- y = 1 →
-log(H(x))
- y = 0 →
-log(1 - H(x))
条件分岐なしでまとめた式は以下の通りです:
Cost = - [ y·log(H(x)) + (1 - y)·log(1 - H(x)) ]
この式は y の値に応じて自動的に損失を計算でき、if文なしでも柔軟に対応可能です。
✅ まとめ
- ロジスティック回帰は分類問題(特に2クラス)に適している
- シグモイド関数で確率値を出力
- MSEは不適切で、代わりにクロスエントロピーを使用
- コスト関数は if文なしでスマートに表現可能
Discussion