1
0

More than 3 years have passed since last update.

【ラビットチャレンジ】【機械学習】ロジスティク回帰モデル

Last updated at Posted at 2020-01-01

「ラビットチャレンジ」 提出レポート

1.ロジスティク回帰モデルの概要

■ 分類問題(クラス分類)
 ● ある入力(数値)からクラスに分類する問題
■ 分類で扱うデータ
 ● 入力(各要素を説明変数または特徴量と呼ぶ)
$${ x=(x_1,x_2,・・・,x_m)^T \in R^m }$$
 ● 出力(目的変数)

{     y \in \left\{0,1\right\}   }

■ ロジスティック線形回帰モデル
 ● 分類問題を解くための教師あり機械学習モデル(教師データから学習)
 ● 入力と $m$ 次元パラメータの線形結合をシグモイド関数に入力
 ● 出力は $y=1$ になる確率の値になる
■ シグモイド関数
 ● 入力は実数・出力は必ず$0 \sim 1$の値
 ● (クラス1に分類される)確率を表現
 ● 単調増加関数

\sigma(x)=\dfrac{1}{1+ \rm{exp}(\it{-ax}\rm{)}}

 ● パラメータが変わるとシグモイド関数の形が変わる
■ シグモイド関数の性質
 ● シグモイド関数の微分は、シグモイド関数自身で表現することが可能
 ● 尤度関数の微分を行う際にこの事実を利用すると計算が容易
 ● シグモイド関数の出力を$Y=1$になる確率に対応させる
 ● シグモイド関数の値が $0.5$以上であれば、分類は $1$、そうでなければ 分類は $0$とする。

2.最尤推定

■ ロジスティクス回帰モデルでは、ベルヌーイ分布を使用する。
■ 尤度関数とは:
 ● データは固定し、パラメータを変化させる
 ● 尤度関数を最大化するようなパラメータを選ぶ推定方法を最尤推定という
 ● 尤度関数はパラメータのみに依存する関数
■ 尤度関数を最大とするパラメータを探す(推定)
 ● 対数を取ると、微分の計算が簡単
 ● 対数尤度関数が最大になる点と尤度関数が最大になる点は同じ
 ● 「尤度関数にマイナスをかけたものを最小化」、「最小二乗法の最小化」と合わせる

3.勾配降下法

■ 【定義】

勾配降下法はコスト関数を最小にするためにパラメータを繰り返し操作して最適なパラメータを算出します。パラメータベクトルについて誤差関数の局所的な勾配を測定し、降下の方向に進めていきます。勾配が0になればコスト関数を最小にするパラメータを見つけることができたことになります。

■ ロジスティック回帰モデルでは、対数尤度関数をパラメータで微分して0になる値を求めることが困難なので、勾配降下法の使用が必要。
■ 勾配降下法では、一回のパラメータ更新に関して、全ての入力データが必要というデメリットがある。それを解決案として確率的勾配降下法を使用する

4.確率的勾配降下法

■ データを一つずつランダムに(「確率的」)に選んでパラメータを更新する
■ 勾配降下法でパラメータを1回更新するのと同じ計算量で、パラメータを$n$回更新できるので効率よく最適な解を探索可能

5.モデル評価

■ 【混同行列】
image.png
■ 再現率(Recall)
本当に陽性であるケースの内、何%を陽性と判定できたかを示します。
$$\frac{TP}{TP+FN}$$
■ 適合率 (Prescision)
陽性であると予測した内の何%が当たっていたかを示します。
$$\frac{TP}{TP + FP}$$
■ F 値 (F-Measure)
再現率と適合率の調和平均.
$$\frac{2\mathrm{Recall}\cdot\mathrm{Precision}}{\mathrm{Recall}+\mathrm{Precision}}$$

6.ハンズオン

【設定】タイタニックの乗客データを利用し、ロジスティクス回帰モデルを作成
【課題】年齢が30歳で男の乗客は生き残れるか?

0. データ表示

image.png

1. ロジスティック回帰

不要なデータの削除・欠損値の補完

image.png
image.png

実装(1変数のチケット価格から生死を判別)

image.png
image.png
【考察】上記の予測結果より、チケット価格が61の場合、死者と判断した(死者予測確率は0.5034である)

実装(2変数から生死を判別)

● 年齢が30歳で男の乗客は生存者か死者かを判別(変数は年齢と性別)
image.png
image.png
image.png
image.png
【考察】上のグラフを見ると、女性の方が生存確率が高く見られる。
● ロジスティクス回帰モデルの導入
image.png
image.png
【結果】30歳で男の乗客は死亡と判断した(死者の判断確率は0.8066である)
● 決定境界をプロット
image.png
image.png

2. モデル評価

混同行列とクロスバリデーション
image.png
image.png
【考察】1変数より、2変数では判別確率が高くなる。
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
【考察】男性に対して、年齢が上がれば、生存確率が下がっていく。一方で、女性の場合、年齢が大きいほど生存確率が高くなっている。

7.演習問題関連

Momentum法

Momentum法は、パラメータを更新する際に、学習速度を早めるために慣性項(Momentum)を追加した手法です。以下の式のようにパラメータの更新を行います。
$${\theta_{t + 1} \gets \theta_{t} - \eta \nabla_{\theta_t}L_{\theta_t} + \alpha(\theta_{t} - \theta_{t-1}) }$$
このときの $\alpha$ は慣性項のパラメータであり、前回の更新量に $\alpha$ 倍して加算することでパラメータの更新をより慣性的なものにするという狙いがあります。
この手法もハイパーパラメータが2つあり、最適化が難しいという問題があります。

【機械学習】レポート一覧

【ラビットチャレンジ】【機械学習】線形回帰モデル
【ラビットチャレンジ】【機械学習】非線形回帰モデル
【ラビットチャレンジ】【機械学習】主成分分析
【ラビットチャレンジ】【機械学習】アルゴリズム
【ラビットチャレンジ】【機械学習】サポートベクターマシン

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0