【ラビットチャレンジ（E資格）】機械学習_非線形回帰・ロジスティック回帰

#はじめに
本記事は、E資格の受験資格の取得を目的としたラビットチャレンジを
受講した際の勉強記録およびレポート記事である。

#非線形回帰モデル

##基底展開法
回帰関数に基底関数と呼ばれる既知の非線形関数とパラメータベクトルの
線形結合を使用。
未知パラメータは最小二乗法や最尤法により推定。
基底展開法も線形回帰と同じ枠組みで推定可能。

- モデル数式：$ y_{i} = f(\boldsymbol{x}\_{i}) + \varepsilon\_{i} = w_{0} + \sum_{j=1}^{m}w_{j}\phi\_{j}(\boldsymbol{x}\_{i}) + \varepsilon_{i} $

- よく使われる基底関数
  - 多項式関数　$ \phi_{j}(x) = x^{j} $

  - ガウス型基底関数　$ \smash{\phi_{j}(x) = exp \biggl\\{ \dfrac{(x - \mu_{j})^{2}}{2h_{j}} \biggr\\} } $  

- 説明変数：
$ \qquad \boldsymbol{x}\_{i} = (x_{i1}, x_{i2}, \cdots, x_{im}) \in \mathbb{R}^{m} $

- 非線形関数ベクトル：
$ \qquad \boldsymbol{\phi}(\boldsymbol{x}\_{i}) = (\phi_{1}(\boldsymbol{x}\_{i}), \phi_{2}(\boldsymbol{x}\_{i}), \cdots, \phi_{k}(\boldsymbol{x}\_{i}))^{T} \in \mathbb{R}^k$

- 非線形関数の計画行列：
$ \qquad \Phi^{(train)} = (\phi(x_{1}), \phi(x_{2}), \cdots , \phi(x_{n})) \in \mathbb{R}^{n \times k} $

- 最尤法による予測値：
$ \qquad \hat{y} = \Phi(\Phi^{(train)T}\Phi^{(train)})^{-1}\Phi^{(train)T} \boldsymbol{y}^{(train)} $

##未学習・過学習
- 未学習（Underfitting）  
学習データに対して、十分小さな誤差が得られないモデル。  
  - 対策：モデルの表現力が低いため、表現力の高いモデルを使用する。
- 過学習（Overfitting）  
小さな誤差は得られたけど、テスト集合誤差との差が大きいモデル。  
  - 対策１：学習データ数を増やす。
  - 対策２：不要な基底関数を削除して表現力を抑止。  
  - 対策３：正則化法を利用して表現力を抑止。

##正則化法（罰則化法）
「モデルの複雑さに伴って、その値が大きくなる正則化項（罰則項）を課した関数」を最小化。

- 数式
$ \qquad S_{\gamma} = (\boldsymbol{y} - \Phi^{n \times k}\boldsymbol{w})^{T}(\boldsymbol{y} - \Phi\boldsymbol{w}) + \gamma\boldsymbol{R}(\boldsymbol{w})$

##モデルの検証
###ホールドアウト法
有限のデータを学習用とテスト用の2つに分割し、「予測精度」や「誤り率」を
推定する為に使用。
手元にデータが大量にある場合を除いて、良い性能評価を与えないという欠点がある。

###交差検証（クロスバリデーション）
イテレータという単位でホールドアウト法を繰り返し回す方法。

#ロジスティック回帰モデル
###分類問題
ある入力（数値）からクラスに分類する問題
説明変数：$ \boldsymbol{x} = (x_{1}, x_{2}, ... , x_{m})^{T} \in \mathbb{R}^{m} $

目的変数：$ \boldsymbol{y} \in \\{0, 1\\} $

パラメータ：$ \boldsymbol{w} = (w_{1}, w_{2}, ... , w_{m})^{T} \in \mathbb{R}^{m}  $

線形結合：$ \hat{y} = \boldsymbol{w}^{T}\boldsymbol{x} + w_{0} = \sum_{j=1}^{m}w_{j}x_{j} + w_{0} $

###シグモイド関数
入力は実数、出力は必ず$0～1$の値。
クラス１に分類される確率を表現する。
単調増加関数。

シグモイド関数：$ \smash{ \qquad \sigma(x) = \dfrac{1}{1 + exp(-ax)} }$

###最尤推定
データを固定し、パラメータを変化させる。
尤度関数を最大化するようなパラメータを選ぶ推定方法を最尤推定という。

尤度関数：$ \smash{ L(\boldsymbol{w}) = \prod_{i=1}^{n}\sigma(\boldsymbol{w}^{T}\boldsymbol{x}\_{i})^{\boldsymbol{y}\_{i}}(1 - \sigma(\boldsymbol{w}^{T}\boldsymbol{x}\_{i}))^{1-\boldsymbol{y}\_{i}} } $


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

■結果
下記の通り30歳男性は、階級2級の場合は、約7割生き残れると予想される。 
しかし30歳男性の階級3、4級では生き残れる可能性は低いと予測される。

![スクリーンショット (83).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/791052/53c1ba78-ae76-a36b-ba22-3af7c6721dcb.png)
![スクリーンショット (84).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/791052/79d23bce-8c55-06de-f396-901b7b26151a.png)
![スクリーンショット (85).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/791052/2e4b9be2-be30-40ba-5510-9eaf180f31bf.png)
![スクリーンショット (86).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/791052/df149eb7-3988-3b00-fb22-0f339ebda50b.png)
![スクリーンショット (87).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/791052/ea42d189-a965-d89b-156f-569678f64cd4.png)
![スクリーンショット (88).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/791052/f774c04d-999c-6352-06d1-0eab750d2b55.png)
![スクリーンショット (89).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/791052/a48ab218-1a75-3eb8-8e76-d9a2edc5e06b.png)
![スクリーンショット (90).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/791052/412d6deb-4a9c-c243-ebe4-719310624790.png)
![スクリーンショット (91).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/791052/6dcd50c2-6891-dd21-96df-79f4ea9e8636.png)
![スクリーンショット (92).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/791052/642642a3-1cfb-ab39-70fe-891e79b71fc8.png)
![スクリーンショット (93).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/791052/bb36f96b-e858-d87a-02f7-5ed112a0e057.png)
![スクリーンショット (94).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/791052/3ea36f4a-47ed-36d8-b3be-952f7e828383.png)
![スクリーンショット (95).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/791052/66153235-a4dd-a06b-6a51-8d81d0851df3.png)