ロジスティック回帰【機械学習アウトプット第5回】
ロジスティック回帰とは
回帰と名前がついているが、実際には(2値)分類問題。
どのクラスに所属するかの確率を計算することで分類する。
単回帰・重回帰分析と基本構造は同じで、
目的変数:
パラメータ:
予測値:
を用いて、との誤差を
最小化するようなを求めることが目的である。
なお、としたのはバイアスを表している。
ただし、予測値を0から1の確率値に収めるために、関数を噛ませている点に注意。
そして、このは、
で表される、シグモイド関数と呼ばれるやつである。
なぜシグモイド関数が用いられるか
「オッズ」という概念がある。競馬とかでオッズ○倍とかいう時のオッズである。 オッズは単に勝敗の比率のことで、勝利確率をとすると、
で表される。
これにlogをとった、
を考える(ちなみにlogをとる理由は、勝ちと負けの尺度を揃えるためなどの理屈がある)。
すると、入力の範囲は、出力logitの範囲は実数全体であるから、
logitの逆関数を考えると、実数全体を確率値0から1に収めることができ、都合が良い。
その逆関数がシグモイド関数、
である。
パラメータの推定方法
単回帰・重回帰分析のときは、損失関数として最小二乗誤差を用い、
損失を最小にすることを目的としてパラメータを推定した。
ロジスティック回帰の場合には、最尤推定を用いてパラメータを推定する。
導出は省くが、最尤推定に基づいて計算した、対数尤度関数は下記で表される。
この対数尤度を最大化するようなパラメータを求めるのが、最終的な目標である。
ただし、解析的に解くことは不可能なので、ニュートン法などの近似的に解を求めるアルゴリズムが必要。
なお余談だが、
この式は交差(クロス)エントロピーなどと呼ばれ、 情報理論でいう、平均情報量などの概念と結びついているところが興味深い。
実装
次回で。