ラビットチャレンジ_機械学習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とする

画像1

教師データを見た予想:
 年齢よりも階級、性別のほうが生死に関係がありそう
学習結果:
 30歳、男性、階級が高の場合⇒69%助かる

画像2

 30歳、男性、階級が普通の場合⇒33%助かる
    ⇒階級が生死に影響が大きいことが分かる

画像3

 30歳、男性、階級が低の場合⇒0.09%助かる
  ⇒ほぼ助からない...

画像4

 説明変数が1つ(運賃のみ)の場合と2つ(階級性別、年齢)の場合の混同行列を確認してみる
⇒説明変数が2つの方が制度がいいことが分かる

画像5


この記事が気に入ったらサポートをしてみませんか?