#Level4.機械学習講座(理論と実践)
##・学習の目的
(1)機械学習の基本的な手法を理解し実装する。
◇線形回帰
◇ロジスティック回帰
◇主成分分析
◇K平均法など
(2)機械学習モデリングの流れを理解する。
##・機械学習モデリングプロセス(プロセスは深層学習でも同じ)
(1)問題設定 : どのような課題を機械学習に解決させるか
(2)データ選定 : どのようなデータを使うか
(3)データの前処理 : モデルに学習させられるようにデータを変換
(4)機械学習モデルの選定 : どの機械学習モデルを利用するか
(5)モデルの学習(パラメータ推定) : パラメータの決め方
(6)モデルの評価 : ハイパーパラメータの選定、モデル精度を測る
※必ずしも機械学習!!というわけではない。デメリットとして技術的負債が大きい。
⇒運用者が開発したソリューションを理解して運用できないことがある。
※機械学習モデル・・・「分類」「予測」「クラスタリング」
アンサンブルで活用することが多い。
##・ルールベースモデルと機械学習モデル
●機械学習 ・・・ コンピュータプログラムは、タスクTを性能指標Pで測定し、
その性能が経験Eにより改善される場合、タスクTおよび性能指標Pに
関して経験Eから学習すると言われている。
(トム・ミッチェル 1997)
##4-1.線形回帰モデル
###4-1-1.回帰問題
●ある入力(離散あるいは連続値)から出力(連続値)を予測する問題。
直線で予測する場合 ・・・ 線形回帰
曲線で予測する場合 ・・・ 非線形回帰
###4-1-2.回帰で扱うデータ
(1)入力 ・・・ 各要素を“説明変数”または“特徴量”と呼ぶ
●m次元のベクトル(m=1の場合はスカラ)
(2)出力 ・・・ 目的変数
●ベクトルではなくスカラー値で扱う。
【説明変数】$\boldsymbol{x} =(x_1,x_2,・・・,x_m)^{T} \in R^m$
⇒m個のエレメントが含まれている。
トランスポート(T)で横表記にしている。
【目的変数】$y \in R^1$
⇒スカラーの実数値空間上の表記。
###4-1-3.線形回帰モデル
●回帰問題を解くための機械学習モデルの一つ
●教師あり学習 ・・・ ある説明変数と目的変数の組み合わせ
●入力とm次元パラメータの線形結合を出力するモデル【定義】
⇒慣例として予測値にはハット(^)を付ける(正解データと区別)
【パラメータ】$\boldsymbol{w}=(w_1,w_2,・・・,w_m)^{T} \in R^m$
【線形結合】$\hat y = \boldsymbol{w}^T\boldsymbol{x}+w_0 = \sum_{j=1}^{m}w_jx_j+w_0$
⇒内積を考える。
$\hat y$は予測値であることが分かるようにハットを付ける。
###4-1-4.線形結合(入力とパラメータの内積)
●入力ベクトルと道のパラメータの各要素を掛け算し、足し合わせたもの。
●入力ベクトルとの線形結合に加え、切片も足し合わせる。
●出力は1次元(スカラ)となる。
###4-1-5.モデルのパラメータ
●モデルに含まれる推定すべき未知のパラメータ
●正の重みをつける ・・・ 特徴量の値を増加させると、予測の値が増加
●負の重みをつける ・・・ 特徴量の値を増加させると、予測の値が減少
●重みが大きい ・・・ 特徴量は予測に大きな影響力を持つ
●重みが0 ・・・ 特徴量は予測に全く影響しない
###4-1-6.線形回帰モデル
●説明変数が1次元の場合(m=1) ・・・ 単回帰モデル
●データへの仮定 ・・・ データは回帰直線に誤差が加わり観測されていると仮定
【モデル数式】$y = w_0+w_1x_1+ε$
目的変数 :y
説明変数 :$x_1$
回帰係数 :$w_1$
切片 :$w_0$
誤差 :$ε$
###4-1-7.連立方程式
●それぞれのデータをモデル式へ当てはめるとn個の式が導出される。
⇒連立方程式で計算する。行列表現でまとめて計算する。
###4-1-8.線形回帰モデル(多次元)
●説明変数が多次元の場合(m>1) ・・・ 線形重回帰モデル
●データへの仮定 ・・・ データは回帰曲面に誤差が加わり観測されていると仮定
【モデル数式】$y = w_0+w_1x_1+w_2x_2+ε$
目的変数 :y
説明変数 :$x_1、x_2$
回帰係数 :$w_1、w_2$
切片 :$w_0$
誤差 :$ε$
###4-1-9.データの分割とモデルの汎化性能測定
●データの分割
【学習用データ】機械学習モデルの学習に利用するデータ
【検証用データ】学習済みモデルの精度を検証するためのデータ
●なぜ分割するのか?
・モデルの汎化性能(Generalization)を測定するため
・未知のデータに対して精度がどのくらい高いかを測定する
・学習用⇒train、検証用⇒test
●汎化性能
学習用データと別のデータで検証し、モデルが未来のデータにどの程度FITするか。
###4-1-10.線形回帰モデルのパラメータは「最小二乗法」で推定
●平均二乗誤差(誤差平方和)
・データとモデル出力の二乗誤差の和
・パラメータのみに依存する関数
⇒データは既知の値でパラメータのみ未知
●最小二乗法
・学習データの平均二乗誤差を最小とするパラメータを探索
・最小化は、勾配が0になる点を求めれば良い
【回帰係数】
$\boldsymbol{w}=(X^{(train)^T}X^{(train)})^{-1}X^{(train)^T}\boldsymbol{y}^{(train)}$
【予測値】
$\boldsymbol{\hat y}=X(X^{(train)^T}X^{(train)})^{-1}X^{(train)^T}\boldsymbol{y}^{(train)}$