【備忘録】ロジスティック回帰のアルゴリズム
はじめに
ロジスティック回帰の処理の流れ,学習アルゴリズムについて勉強したので忘れないうちに書いておく
処理の流れ
処理の流れはADALINEやパーセプトロンと同じ
初めに総入力関数
総入力関数の計算結果をアクティベーション関数に入れる
最後にアクティベーション関数の計算結果をもとにアウトプットを計算する
アクティベーション関数について
ロジスティック回帰のアクティベーション関数はシグモイド関数と呼ばれており,このシグモイド関数の出力はサンプルがクラス1に属している確率であると解釈される.なのでアウトプットを計算する時,0.5が閾値になっていて,がクラス1に属する確率が50%以上なら,50%未満ならとなっている.実際のところ,多くのアプリケーションでは,予測されるクラスラベルに関心があるだけでなく,クラスの所属関係の確率(アウトプットにする前のシグモイド関数の出力)を見積もることが特に有益になる.
モデルの学習
ロジスティック回帰では,モデルの学習時に尤度を最大化したいと考える
計算のしやすさから尤度Lの対数をとった対数尤度l(w)を定義し,これを最大化することを考える
勾配降下法を使ってを更新したいので,の正負を反転させ,最大化問題を最小化問題に置き換える
↑がコスト関数となる
重みの更新式はADALINEと同じように勾配降下法を使って更新していく
この重みの更新式はADALINEと全く同じになっており,ADALINEとロジスティック回帰で異なる点はアクティベーション関数にを使うか,を使うかの違いだけ.