ラビットチャレンジ
機械学習
目次
1.機械学習
2.線形回帰
3.非線形回帰
4.ロジスティック回帰
5.主成分分析
6.サポートベクターマシン
2
機械学習
1
機械学習
Let’s start
4
問題設定 データ選定 データ前処理
機械学習
‐ 教師あり、教師なしがある
‐ 教師ありは、予測(回帰)、分類がある
‐ 教師なしは、クラスタリング、次元削減がある
‐ 対応モデル、パラメータ推定は前頁の表の通り
‐ 教師ありの評価は、
a.学習とテスト用のデータを決め打つホールドアウト
b.データ分割をして学習用とテスト用を変えていき精度
の平均を求め、精度平均が高かったモデルを採用する交
差検証(クロスバリデーション)がある
5
2
線形回帰
6
線形回帰の数式
単回帰
重回帰
平均二乗誤差/最小二乗法
回帰係数
予測値
線形回帰について
左記を長い一言で言うと、
線形回帰モデルを数式およ
び行列で表し、そのモデル
に対しての学習値の誤差の
算出方法と、誤差を最小に
するためのモデル内のパラ
メータの求め方を示し、そ
のパラメータから予測値を
算出する方法について示す
7
線形回帰の数式
8
y = 𝑤0 + 𝑤1𝑥 + 𝑤2𝑥2 + ⋯ + 𝑤𝑚𝑥𝑚
= 𝑤0 +
𝑖=1
𝑚
𝑤𝑖𝑥𝑖 + ε
(1)単回帰(𝑚 = 1)
y = 𝑤𝑜 + 𝑤1𝑥 + ε
2 重回帰(𝑚 ≧ 2)
y = 𝑤𝑜 + 𝑤1𝑥 + 𝑤2𝑥 + ε
y = 𝑤𝑜 + 𝑤1𝑥 + 𝑤2𝑥 + 𝑤3𝑥 + ε
・・・
単回帰モデル
(直線)
{
誤差:ε
※重回帰モデルは曲面
εが最小となる傾き(𝑤1)と切片(𝑤0)の
直線を求める
線形回帰の数式
9
y = 𝑤0 + 𝑤1𝑥1 + 𝑤2𝑥2 + ⋯ + 𝑤𝑚𝑥𝑚
𝑦1 = 𝑤0 + 𝑤1𝑥11 + 𝑤2𝑥12 + … + 𝜀1
𝑦2 = 𝑤0 + 𝑤1𝑥21 + 𝑤2𝑥22 + … + 𝜀2
𝑦𝑛 = 𝑤0 + 𝑤1𝑥𝑛1 + 𝑤2𝑥n2 + … + 𝜀𝑛
・・・
𝐲 = 𝑋𝐰 + 𝛆
𝑦1
𝑦2
𝑦𝑛
=
1 𝑥11 𝑥12 𝑥1𝑚
1 𝑥21 𝑥22 𝑥2𝑚
1 𝑥𝑛1 𝑥𝑛2 𝑥𝑛𝑚
𝑤0
𝑤1
𝑤2
𝑤𝑚
+
𝜀1
𝜀2
𝜀𝑛
連立式
行列表現
{
平均二乗誤差→最小二乗法
10
𝐲 = 𝑋𝐰
𝜀 = 𝑀𝑆𝐸 =
1
𝑛
𝑖=1
𝑛
𝑦𝑖 − 𝑦𝑖
2
=
1
𝑛
𝐲 − 𝐲 T
𝐲 − 𝐲
=
1
𝑛
𝑋𝐰 − 𝑦 T
𝑋𝐰 − 𝑦
=
1
𝑛
𝑤𝑇
𝑋𝑇
− 𝑦𝑇
𝑋𝑤 − 𝑦
=
1
𝑛
𝑤𝑇
𝑋𝑇
𝑋𝑤 − 𝑤𝑇
𝑋𝑇
y − 𝑦𝑇
𝑋𝑤 + 𝑦𝑇
𝑦
𝜕𝜀
𝜕𝑤
= 0
𝜕
𝜕𝑤
𝑤𝑇
𝑋𝑇
𝑋𝑤 − 𝑤𝑇
𝑋𝑇
𝑦 − 𝑦𝑇
𝑋𝑤 + 𝑦𝑇
𝑦 = 0
2𝑋𝑇
𝑋𝑤 − 2𝑋𝑇
𝑦= 0
𝜕
𝜕𝑤
𝑤𝑇
𝑋𝑇
𝑋𝑤 − 2𝑤𝑇
𝑋𝑇
𝑦 + 𝑦𝑇
𝑦 = 0
𝑤 = 𝑋𝑇
𝑋 −1
𝑋𝑇
𝑦
∴ 𝐲 = 𝑋𝐰
= X 𝑋𝑇𝑋 −1𝑋𝑇𝐲
最小になるwはwによる偏微分がゼロなので
X,yの値から
yの予測が出る
3
非線形回帰
11
12
非線形回帰の数式
y = 𝑤0 + 𝑤1Φ(𝑥1) + 𝑤2Φ(𝑥2) + ⋯ + 𝑤𝑚Φ(𝑥𝑚)
𝑦1 = 𝑤0 + 𝑤1Φ(𝑥11) + 𝑤2Φ(𝑥12) + … + 𝜀1
𝑦2 = 𝑤0 + 𝑤1Φ(𝑥21) + 𝑤2Φ(𝑥22) + … + 𝜀2
𝑦𝑛 = 𝑤0 + 𝑤1Φ(𝑥𝑛1) + 𝑤2Φ(𝑥n2) + … + 𝜀𝑛
・・・
𝐲 = Φ𝐰 + 𝛆
𝑦1
𝑦2
𝑦𝑛
=
1 Φ(𝑥11) Φ(𝑥12) Φ(𝑥1𝑚)
1 Φ(𝑥21) Φ(𝑥22) Φ(𝑥2𝑚)
1 Φ(𝑥𝑛1) Φ(𝑥𝑛2) Φ(𝑥𝑛𝑚)
𝑤0
𝑤1
𝑤2
𝑤𝑚
+
𝜀1
𝜀2
𝜀𝑛
連立式
行列表現
{
・線形が非線形に。
→xがΦ(x)に。
→XがΦに。
Φは以下に示す多項式や
ガウス型基底など。
Φ(x) =
Φ(x) =
𝑥𝑗
ⅇ
𝑥−𝑢𝑗
2
2ℎ𝑗
非線形回帰の数式
13
𝐲 = 𝑋𝐰
𝜀 = 𝑀𝑆𝐸 =
1
𝑛
𝑖=1
𝑛
𝑦𝑖 − 𝑦𝑖
2
=
1
𝑛
𝐲 − 𝐲 T
𝐲 − 𝐲
=
1
𝑛
𝑋𝐰 − 𝑦 T
𝑋𝐰 − 𝑦
=
1
𝑛
𝑤𝑇
𝑋𝑇
− 𝑦𝑇
𝑋𝑤 − 𝑦
=
1
𝑛
𝑤𝑇
𝑋𝑇
𝑋𝑤 − 𝑤𝑇
𝑋𝑇
y − 𝑦𝑇
𝑋𝑤 + 𝑦𝑇
𝑦
𝜕𝜀
𝜕𝑤
= 0
𝜕
𝜕𝑤
𝑤𝑇
𝑋𝑇
𝑋𝑤 − 𝑤𝑇
𝑋𝑇
𝑦 − 𝑦𝑇
𝑋𝑤 + 𝑦𝑇
𝑦 = 0
2𝑋𝑇
𝑋𝑤 − 2𝑋𝑇
𝑦= 0
𝜕
𝜕𝑤
𝑤𝑇
𝑋𝑇
𝑋𝑤 − 2𝑤𝑇
𝑋𝑇
𝑦 + 𝑦𝑇
𝑦 = 0
𝑤 = 𝑋𝑇
𝑋 −1
𝑋𝑇
𝑦
∴ 𝐲 = Φ𝐰
= Φ Φ𝑇Φ −1Φ𝑇𝐲
最小になるwはwによる偏微分がゼロなので
XをΦへ置き換える
4
ロジスティック回帰
14
分類
ロジスティック回帰の数式
最尤推定
尤度関数
勾配降下法
確率的勾配降下法
分類の評価方法
ロジスティック回帰について
左記を長く言うと、
分類におけるロジスティッ
ク回帰を数式で表し、数式
内の理想的なパラメータを
得るために最尤推定を行う。
最尤推定として尤度関数か
ら、これを最大とするパラ
メータを探し当てるため勾
配降下法を用いる。最後に
評価方法を知る。
15
分類 – ロジスティック回帰
16
‐ いくつかの要因(説明変数)から「2値の結果(目
的変数)」が起こる確率を説明・予測することが
できる統計手法で、多変量解析の手法の1つ
チケット
の値段
性別
年齢 シグモイド関数
生
死
説明変数 目的変数
ロジスティック回帰の数式
17
𝑃 𝑌 = 1 𝑥 = 𝜎 𝑤0 + 𝑤1𝑥1⋅ + 𝑤2𝑥2⋅ + ⋯ + 𝑤𝑚𝑥𝑚
生き残る(Y=1)となる確率
説明変数に重み付けを行った数式(線形回帰でも見た数式)に
シグモイド関数を通すことで0~1の確率として表す。
前ページの図はタイタニックの説明変数と目的変数を例として表している。
1人が「生」「死」分類される確率は、
これが複数人の場合はこれをかけていくことになるので、
𝑃𝑌
1 − 𝑃 1−𝑌
𝑖=1
𝑚
𝑝𝑦𝑖 1 − 𝑝 1−𝑦𝑖
=
𝑖=1
𝑚
𝜎 𝑤0 + 𝑤1𝑥1⋅ + ⋯ + 𝑤𝑚𝑥𝑚
𝑦𝑖 1 − 𝜎 𝑤0 + 𝑤1𝑥1⋅ + ⋯ + 𝑤𝑚𝑥𝑚
1−𝑦𝑖
最尤推定 – 尤度関数
18
=
𝑖=1
𝑚
𝜎 𝐰𝐓
𝐱
𝑦𝑖
1 − 𝜎 𝐰𝐓
𝐱
1−𝑦𝑖
= L(𝐰) L(w)を最大にするようなwを求めたい(最尤推定)
ただ、このままだと確率の掛け算でゼロに近い数値の取り扱いとなるし、
𝜕𝐿
𝜕𝑤
= 0 を求めるとなると掛け算のままであるのは取り扱い難なので、
対数を使用し、またマイナスを付けることで、最小二乗法と同じように
最小にするようなwを求める数式とする
E(w) = - log L(w)
= −
𝑖=1
𝑛
𝑦𝑖 log𝑝 + 1 − 𝑦𝑖 log 1 − 𝑝 :尤度関数
勾配降下法
19
パラメータから
𝜕E
𝜕𝑤
を少しずつ引いていき、変化がなくなったときが最小値。
𝜕E
𝜕𝑤
= −
𝜕
𝜕𝑤
𝑖=1
𝑛
𝑦𝑖 log𝑝 + 1 − 𝑦𝑖 log 1 − 𝑝
𝜕E
𝜕𝑤
= 0 を求めたいところだが、これは困難。
=
𝜕E
𝜕𝑝
𝜕𝑝
𝜕𝑤
= - ∑
𝑦𝑖
𝑝
−
1−𝑦𝑖
1−𝑝
𝜕𝑝
𝜕𝑤
= −
𝑖=1
𝑛
−p + p𝑦𝑖 − p𝑦𝑖 + 𝑦𝑖
p(1 − 𝑝)
𝑝𝑖(1 − 𝑝𝑖)𝑥𝑖 = −
𝑖=1
𝑛
(𝑦𝑖 − 𝑝𝑖)𝑥𝑖
W = w - Π
𝜕E
𝜕𝑤
= w + Π 𝑖=1
𝑛
(𝑦𝑖 − 𝑝𝑖)𝑥𝑖 Πは学習率
勾配降下法
20
W = w - Π
𝜕E
𝜕𝑤
= w + Π 𝑖=1
𝑛
(𝑦𝑖 − 𝑝𝑖)𝑥𝑖
𝜕E
𝜕𝑤
= Π(2w – 4) のときの例 ← (x – 2)^2 の微分のため、w = 2 が
𝜕E
𝜕𝑤
= 0
w = w – Π(2w – 4) Π = 1のとき、W = 3から始めると
w = 3 – 1 × 2 = 1
w = 1 – 1 × ( -2 ) = 3
となり、w = 1, 3の繰り返しとなってしまう。
そこで学習率を0.4などとして勾配を狭めると、w は2に近づく
w = 3 – 0.4 × 2 = 2.2
w = 2.2 – 0.4 × 0.4 = 2.04
w = 2.04 – 0.4 × 0.08 = 2.008
確率的勾配降下法
21
W = w - Π
𝜕E
𝜕𝑤
= w + Π 𝑖=1
𝑛
(𝑦𝑖 − 𝑝𝑖)𝑥𝑖
ただ上記の通り∑ですべての和を計算してからwの値が更新され、
wが収束するまで繰り返すため計算量が多い。
したがって、ランダムに値をとり効率性を重視する確率的勾配降下法というものがある。
W = w + Π(𝑦𝑖 − 𝑝𝑖)𝑥𝑖
評価方法
22
再現率(Recall)
正解をほとんど表現(再
現)できている左側が高く
なる
適合率(Precision)
正解にほとんど含まれてい
る(適合している)右側が
高くなる
評価方法
23
再現率 = TP / ( TP + FN ):病気診断
適合率 = TP / ( TP + FP ):スパム判別
5
主成分分析
主成分分析
‐ 複数の変数について係数をかけた和である主成分を定義
𝑧1 = 𝑤1𝑥1 + 𝑤2𝑦1, 𝑧2 = 𝑤1𝑥2 + 𝑤2𝑦2
‐ データが散らばる(分散の大きい)wを求める(同じよう
なデータより異なったデータのほうが情報量がある)
‐ その分散がそのまま固有値となり、寄与率(λ/∑λ)、累積
寄与率(∑λ1~k/∑λ)で主成分の比較が可能
25
主成分分析
𝑉 𝑧 =
1
2
𝑖=1
2
𝑧𝑖 − 𝑧 2 =
1
2
𝑖=1
2
𝑤1𝑥𝑖 + 𝑤2𝑦𝑖 − 𝑤1𝑥 + 𝑤2𝑦 2
=
1
2 𝑖=1
2
𝑤1(𝑥𝑖−𝑥) + 𝑤2(𝑦𝑖 − 𝑦) 2
=
1
2
∑(𝑤1
2
𝑥𝑖 − 𝑥 2
+ 𝑤2
2
𝑦𝑖 − 𝑦 2
+2 𝑤1 𝑤2 (𝑥𝑖−𝑥)(𝑦𝑖 − 𝑦))
=𝑤1
2 1
2
∑ 𝑥𝑖 − 𝑥 2
+ 𝑤2
2 1
2
∑ 𝑦𝑖 − 𝑦 2
+2 𝑤1 𝑤2
1
2
∑(𝑥𝑖 − 𝑥)(𝑦𝑖 −
𝑦))
= 𝑤1
2V(x) + 𝑤2
2V(y) + 2𝑤1 𝑤2V(x, y)
26
例:n=2のとき
主成分分析
𝑉 𝑧 = 𝑤1
2
V(x) + 𝑤2
2
V(y) + 2𝑤1 𝑤2V(x, y)を最大にするwは無
限大となるため、||w||=1の条件下でV(z)が最大となるwを求
める( 𝑤1
2+ 𝑤2
2 = 1)
g(𝑤1, 𝑤2) = 𝑤1
2
+ 𝑤2
2
- 1 とおくと
ラグランジュの未定乗数法から
∇V(𝑤1, 𝑤2)=λ∇g(𝑤1, 𝑤2) ←接線で平行(gが閉域のため特
異点なし)
27
𝜕𝑉
𝜕𝑤1
=λ
𝜕𝑔
𝜕𝑤1
⇔ 2𝑤1V(x) + 2𝑤2V(x, y) = 2λ 𝑤1 ⇔ 𝑤1V(x) + 𝑤2V(x, y) = λ 𝑤1
𝜕𝑉
𝜕𝑤2
=λ
𝜕𝑔
𝜕𝑤2
⇔ 2𝑤2V(x) + 2𝑤1V(x, y) = 2λ 𝑤2 ⇔ 𝑤2V(x) + 𝑤1V(x, y) = λ 𝑤2
主成分分析
28
𝜕𝑉
𝜕𝑤1
=λ
𝜕𝑔
𝜕𝑤1
⇔ 2𝑤1V(x) + 2𝑤2V(x, y) = 2λ 𝑤1 ⇔ 𝑤1V(x) + 𝑤2V(x, y) = λ 𝑤1
𝜕𝑉
𝜕𝑤2
=λ
𝜕𝑔
𝜕𝑤2
⇔ 2𝑤2V(x) + 2𝑤1V(x, y) = 2λ 𝑤2 ⇔ 𝑤2V(x) + 𝑤1V(x, y) = λ 𝑤2
∴
𝑉 𝑥 𝑉 𝑥, 𝑦
𝑉 𝑥, 𝑦 𝑉 𝑥
= 𝜆
𝑤1
𝑤2
分散共分散行列
← ①とする。なお、固有値λ、固有ベクトル
𝑤1
𝑤2
V(z) = λとなることを以下に記載する。
主成分分析
29
V(z) =
1
2 𝑖=1
2
𝑧𝑖 − 𝑧 2
=
1
2
{(𝑧1 − 𝑧 ) (𝑧1 − 𝑧 ) + (𝑧2 − 𝑧 ) (𝑧2 − 𝑧 )}
=
1
2
(𝑧1 − 𝑧 𝑧2 − 𝑧)
=
1
2
(𝑤1(𝑥1 − 𝑥)+𝑤2(𝑦1 − 𝑦) 𝑤1(𝑥2 − 𝑥)+𝑤2(𝑦2 − 𝑦))
=
1
2
(𝑤1 𝑤2)
= (𝑤1 𝑤2)
𝑧1 − 𝑧
𝑧2 − 𝑧
𝑤1(𝑥1 − 𝑥)+𝑤2(𝑦1 − 𝑦)
𝑤1(𝑥2 − 𝑥)+𝑤2(𝑦2 − 𝑦)
𝑥1 − 𝑥 𝑥2 − 𝑥
𝑦1 − 𝑦 𝑦2 − 𝑦
𝑥1 − 𝑥 𝑦1 − 𝑦
𝑥2 − 𝑥 𝑦2 − 𝑦
𝑤1
𝑤2
𝑥1 − 𝑥 2
+ 𝑥2 − 𝑥 2
(𝑥1 − 𝑥 ) (𝑦1 − 𝑦 )+(𝑥2 − 𝑥 ) (𝑦2 − 𝑦 )
(𝑥1 − 𝑥 ) (𝑦1 − 𝑦 )+(𝑥2 − 𝑥 ) (𝑦2 − 𝑦 ) 𝑥1 − 𝑥 2
+ 𝑥2 − 𝑥 2
𝑤1
𝑤2
主成分分析
30
∴V(z)
= (𝑤1 𝑤2)
= (𝑤1 𝑤2)
= (𝑤1 𝑤2) λ
=λ (𝑤1 𝑤2)
= λ
𝑥1 − 𝑥 2
+ 𝑥2 − 𝑥 2
(𝑥1 − 𝑥 ) (𝑦1 − 𝑦 )+(𝑥2 − 𝑥 ) (𝑦2 − 𝑦 )
(𝑥1 − 𝑥 ) (𝑦1 − 𝑦 )+(𝑥2 − 𝑥 ) (𝑦2 − 𝑦 ) 𝑥1 − 𝑥 2
+ 𝑥2 − 𝑥 2
𝑤1
𝑤2
𝑉 𝑥 𝑉 𝑥, 𝑦
𝑉 𝑥, 𝑦 𝑉 𝑥
𝑤1
𝑤2
𝑤1
𝑤2
𝑤1
𝑤2
← ①を適用してλに。
← ||w|| = 1
6
サポートベクターマシン
31
マージン最大化
32
𝑆𝑉𝑀は教師ありの2クラス分類。
線形・非線形どちらも可能。
2クラスに分類する境界線とサポートベクトル(境界線に近いデータ)との距離(マージン)が
最大となる境界線を求める
演習
33
34
線形回帰
【線形回帰】部屋数 → 家賃
データに3部屋はないのでマイナス。部屋が増えれば家賃も増え続ける。
36
【線形回帰】犯罪率, 部屋数 → 家賃
犯罪率があがれば、少し家賃は下がるようだ。9割でもそんなに下がらないけど。
37
【非線形回帰】線の引かれ方をプログラムで実行・観察
38
【非線形回帰】線の引かれ方をプログラムで実行・観察
39
【ロジスティック回帰】チケットの値段で生きるか(1)死ぬか(0)
100ドルで6割5分で生きれたのか。
1ドルでは7割死ぬようだ。
(それでも3割は生き残れた)
40
【ロジスティック回帰】チケットの値段で生きるか(1)死ぬか(0)
年齢と性別を説明変数としてセット。30代の男性は死(0)のようだ。
41
【主成分分析】
コードを上から実行し、わかりやすいグラフを画面ショットとしてここに貼る。
42
【SVM(分離可能)】
43
【SVM(分離不可能)】
44
【SVM(重なりあり)】
参考
45
主成分分析
http://racco.mikeneko.jp/Kougi/10s/A
S/AS06pr.pdf
https://www.macromill.com/service/d
ata_analysis/principal-component-
analysis.html
ラグランジュの未定乗数法
https://www.youtube.com/watch?v=v
AwqZmwf4W8
勾配降下法
https://dev.classmethod.jp/articles/gr
adient-descent-desc/
46

ラビットチャレンジレポート 機械学習