ラビットチャレンジ_機械学習3
・ロジスティック回帰モデル
・教師あり学習の1つで、分類問題を解く際に使用する。
・扱うデータ
・入力(説明変数):m次元ベクトル
・出力(目的変数):0 or 1の値
・アプローチ
・識別的アプローチ:確率を直接モデル化する←ロジスティック回帰
・生成的アプローチ:ベイズの定理を用いて確率を算出する←GAN
・sigmoid関数
・x^tωでは実数全体をとるためsigmoid関数を使用し、
値を[0,1]に変換する
・sigmoid関数の微分はsigmoid関数で表現できる
・最尤推定
・尤度関数を最大化するようなパラメータを選ぶ
⇒ロジスティック関数ではベルヌーイ分布とsigmoid関数を
用いた尤度関数(L(ω))を用いる
・L(ω)の対数をとる
⇒対数関数は単調増加のため尤度関数と対数尤度関数が
最大となる点は同じ。そのため対数をとっても問題なし
対数をとるメリット:
・微分が簡単になる
・「0~1」の値を何回も掛けると値が限りなく小さくなってしま
い、PGMで実装すると桁落ちする恐れがある。
対数をとることで桁落ちを防ぐことができる。
・勾配降下法:反復学習によりパラメータを逐次的に更新する
⇒ロジスティック回帰モデルの対数尤度関数をパラメータで微分
して0になる値を求めることは困難
そのため、順に更新して最大となるパラメータを探索する
・確率的勾配降下法:勾配降下法では時間がかかりすぎるため毎回の更新
で1つのデータしか見ないで確率的に求める方法
・混同行列
・分類問題の汎化性能を測る指標
⇒正解率、再現率、適合率、F値を用いる
演習:タイタニック乗客データを利用した
年齢が30歳で男の乗客の生き残る確率を求めるモデルの構築
前提:説明変数をAgeFill(欠損値補完後の年齢)と
Pclass_Gender(性別+階級)の2変数のみとする
※年齢が不明な場合は中央値で欠損値補完する
※男:1 女:0とする
教師データを見た予想:
年齢よりも階級、性別のほうが生死に関係がありそう
学習結果:
30歳、男性、階級が高の場合⇒69%助かる
30歳、男性、階級が普通の場合⇒33%助かる
⇒階級が生死に影響が大きいことが分かる
30歳、男性、階級が低の場合⇒0.09%助かる
⇒ほぼ助からない...
説明変数が1つ(運賃のみ)の場合と2つ(階級性別、年齢)の場合の混同行列を確認してみる
⇒説明変数が2つの方が制度がいいことが分かる
この記事が気に入ったらサポートをしてみませんか?