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

「ラビットチャレンジ」 提出レポート
##１．ロジスティク回帰モデルの概要
■　分類問題(クラス分類)
　●　ある入力(数値)からクラスに分類する問題
■　分類で扱うデータ
　●　入力(各要素を説明変数または特徴量と呼ぶ)
 $${   x=(x_1,x_2,・・・,x_m)^T \in R^m   }$$
　●　出力(目的変数)

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

```math
\sigma(x)=\dfrac{1}{1+ \rm{exp}(\it{-ax}\rm{)}}
```
　●　パラメータが変わるとシグモイド関数の形が変わる
■　シグモイド関数の性質
　●　シグモイド関数の微分は、シグモイド関数自身で表現することが可能
　●　尤度関数の微分を行う際にこの事実を利用すると計算が容易
　●　シグモイド関数の出力を$Y=1$になる確率に対応させる
　●　シグモイド関数の値が $0.5$以上であれば、分類は $1$、そうでなければ 分類は $0$とする。
##２．最尤推定
■　ロジスティクス回帰モデルでは、ベルヌーイ分布を使用する。
■　尤度関数とは：
　●　データは固定し、パラメータを変化させる
　●　尤度関数を最大化するようなパラメータを選ぶ推定方法を最尤推定という
　●　尤度関数はパラメータのみに依存する関数
■　尤度関数を最大とするパラメータを探す（推定）
　●　対数を取ると、微分の計算が簡単
　●　対数尤度関数が最大になる点と尤度関数が最大になる点は同じ
　●　「尤度関数にマイナスをかけたものを最小化」、「最小二乗法の最小化」と合わせる
##３．勾配降下法
■　【定義】
>勾配降下法はコスト関数を最小にするためにパラメータを繰り返し操作して最適なパラメータを算出します。パラメータベクトルについて誤差関数の局所的な勾配を測定し、降下の方向に進めていきます。勾配が０になればコスト関数を最小にするパラメータを見つけることができたことになります。

■　ロジスティック回帰モデルでは、対数尤度関数をパラメータで微分して０になる値を求めることが困難なので、勾配降下法の使用が必要。
■　勾配降下法では、一回のパラメータ更新に関して、全ての入力データが必要というデメリットがある。それを解決案として確率的勾配降下法を使用する
##４．確率的勾配降下法
■　データを一つずつランダムに（「確率的」）に選んでパラメータを更新する
■　勾配降下法でパラメータを1回更新するのと同じ計算量で、パラメータを$ｎ$回更新できるので効率よく最適な解を探索可能
##５．モデル評価
■　**【混同行列】**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/552833/dd6af045-2c38-2812-5c7d-e504234bbf78.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}}$$
##６．ハンズオン
●**【設定】**タイタニックの乗客データを利用し、ロジスティクス回帰モデルを作成
●**【課題】**年齢が30歳で男の乗客は生き残れるか？
###0. データ表示
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/552833/a7e94de0-ab27-f78b-1c93-a42af1a38794.png)
###1. ロジスティック回帰
####不要なデータの削除・欠損値の補完
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/552833/5187387b-dd46-f521-a919-9d60eb6678ee.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/552833/d634a7b2-b21c-909f-b7d6-51d7be949c29.png)
####実装(１変数のチケット価格から生死を判別)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/552833/1a6df0c7-6891-bc99-dd94-7bcee1e78a4b.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/552833/02c17c84-8067-c7b2-b4ea-1d5febafb8c3.png)
**【考察】**上記の予測結果より、チケット価格が６１の場合、死者と判断した（死者予測確率は0.5034である）
####実装(２変数から生死を判別)
●　**年齢が30歳で男の乗客は生存者か死者かを判別（変数は年齢と性別）**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/552833/0acb0539-de3b-4405-2c72-63009debe4ea.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/552833/7ed6569e-36c2-5803-fdcb-4cf8c90e1799.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/552833/e1e46581-9121-2d03-9f41-800a517ef02e.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/552833/b26e9651-7ae0-222e-55a0-9c450df47a20.png)
**【考察】**上のグラフを見ると、女性の方が生存確率が高く見られる。
●　**ロジスティクス回帰モデルの導入**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/552833/0b9161d0-f093-dd18-c731-25ace1923c1a.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/552833/fdd1d48c-4dff-3c92-a7b1-e5458ae5047b.png)
**【結果】**30歳で男の乗客は死亡と判断した（死者の判断確率は0.8066である）
●　**決定境界をプロット**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/552833/e89bbd82-c517-d8d7-a647-48f1d94683f9.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/552833/4547ab37-c621-d8b7-b8b3-a527cb1b82cd.png)
###2. モデル評価
**混同行列とクロスバリデーション**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/552833/7ccd7ebf-5c08-e87a-9101-66546d75fac5.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/552833/0d8e98b0-3955-bf31-2e8b-f93487ef068b.png)
**【考察】**１変数より、２変数では判別確率が高くなる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/552833/e9b3f112-2c94-889e-8ffb-94afd0e68855.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/552833/8e9bddd6-2409-3958-343a-deb181766439.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/552833/2c3224b2-7869-f31b-1c21-02da8b1b0fbe.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/552833/df6e6ff7-638b-7781-da06-1d22221992e5.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/552833/f2953a5d-c8b9-a867-27c6-efe43f0771ce.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/552833/1d9e66cb-a2bc-78cc-d9b1-21f3ffb60724.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/552833/b7dd740d-fd11-8133-052d-ab5c65ea377c.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/552833/25de3fea-0f43-18c4-dbae-5565e14c8761.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/552833/2539e60b-32ea-d944-73ea-0f7148b27bc2.png)
**【考察】**男性に対して、年齢が上がれば、生存確率が下がっていく。一方で、女性の場合、年齢が大きいほど生存確率が高くなっている。
##７．演習問題関連
###Momentum法
>Momentum法は、パラメータを更新する際に、学習速度を早めるために慣性項(Momentum)を追加した手法です。以下の式のようにパラメータの更新を行います。
$${\theta_{t + 1} \gets \theta_{t} - \eta \nabla_{\theta_t}L_{\theta_t} ＋ \alpha(\theta_{t} - \theta_{t-1}) }$$
このときの $\alpha$ は慣性項のパラメータであり、前回の更新量に $\alpha$ 倍して加算することでパラメータの更新をより慣性的なものにするという狙いがあります。
この手法もハイパーパラメータが２つあり、最適化が難しいという問題があります。

##【機械学習】レポート一覧
[【ラビットチャレンジ】【機械学習】線形回帰モデル](https://qiita.com/HienDT27/items/0cbed5d1771b13d0311c)
[【ラビットチャレンジ】【機械学習】非線形回帰モデル](https://qiita.com/HienDT27/items/0f785e4835a85a8cd4ad)
[【ラビットチャレンジ】【機械学習】主成分分析](https://qiita.com/HienDT27/items/bd53678695d33a6f8ee5)
[【ラビットチャレンジ】【機械学習】アルゴリズム](https://qiita.com/HienDT27/items/4731d66f31e0d247caeb)
[【ラビットチャレンジ】【機械学習】サポートベクターマシン](https://qiita.com/HienDT27/items/aa7317a8394212940068)