More Related Content
Similar to ラビットチャレンジレポート 機械学習 (20)
ラビットチャレンジレポート 機械学習
- 8. 線形回帰の数式
8
y = 𝑤0 + 𝑤1𝑥 + 𝑤2𝑥2 + ⋯ + 𝑤𝑚𝑥𝑚
= 𝑤0 +
𝑖=1
𝑚
𝑤𝑖𝑥𝑖 + ε
(1)単回帰(𝑚 = 1)
y = 𝑤𝑜 + 𝑤1𝑥 + ε
2 重回帰(𝑚 ≧ 2)
y = 𝑤𝑜 + 𝑤1𝑥 + 𝑤2𝑥 + ε
y = 𝑤𝑜 + 𝑤1𝑥 + 𝑤2𝑥 + 𝑤3𝑥 + ε
・・・
単回帰モデル
(直線)
{
誤差:ε
※重回帰モデルは曲面
εが最小となる傾き(𝑤1)と切片(𝑤0)の
直線を求める
- 9. 線形回帰の数式
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. 平均二乗誤差→最小二乗法
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の予測が出る
- 12. 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. 非線形回帰の数式
13
𝐲 = 𝑋𝐰
𝜀 = 𝑀𝑆𝐸 =
1
𝑛
𝑖=1
𝑛
𝑦𝑖 − 𝑦𝑖
2
=
1
𝑛
𝐲 − 𝐲 T
𝐲 − 𝐲
=
1
𝑛
𝑋𝐰 − 𝑦 T
𝑋𝐰 − 𝑦
=
1
𝑛
𝑤𝑇
𝑋𝑇
− 𝑦𝑇
𝑋𝑤 − 𝑦
=
1
𝑛
𝑤𝑇
𝑋𝑇
𝑋𝑤 − 𝑤𝑇
𝑋𝑇
y − 𝑦𝑇
𝑋𝑤 + 𝑦𝑇
𝑦
𝜕𝜀
𝜕𝑤
= 0
𝜕
𝜕𝑤
𝑤𝑇
𝑋𝑇
𝑋𝑤 − 𝑤𝑇
𝑋𝑇
𝑦 − 𝑦𝑇
𝑋𝑤 + 𝑦𝑇
𝑦 = 0
2𝑋𝑇
𝑋𝑤 − 2𝑋𝑇
𝑦= 0
𝜕
𝜕𝑤
𝑤𝑇
𝑋𝑇
𝑋𝑤 − 2𝑤𝑇
𝑋𝑇
𝑦 + 𝑦𝑇
𝑦 = 0
𝑤 = 𝑋𝑇
𝑋 −1
𝑋𝑇
𝑦
∴ 𝐲 = Φ𝐰
= Φ Φ𝑇Φ −1Φ𝑇𝐲
最小になるwはwによる偏微分がゼロなので
XをΦへ置き換える
- 16. 分類 – ロジスティック回帰
16
‐ いくつかの要因(説明変数)から「2値の結果(目
的変数)」が起こる確率を説明・予測することが
できる統計手法で、多変量解析の手法の1つ
チケット
の値段
性別
年齢 シグモイド関数
生
死
説明変数 目的変数
- 17. ロジスティック回帰の数式
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. 最尤推定 – 尤度関数
18
=
𝑖=1
𝑚
𝜎 𝐰𝐓
𝐱
𝑦𝑖
1 − 𝜎 𝐰𝐓
𝐱
1−𝑦𝑖
= L(𝐰) L(w)を最大にするようなwを求めたい(最尤推定)
ただ、このままだと確率の掛け算でゼロに近い数値の取り扱いとなるし、
𝜕𝐿
𝜕𝑤
= 0 を求めるとなると掛け算のままであるのは取り扱い難なので、
対数を使用し、またマイナスを付けることで、最小二乗法と同じように
最小にするようなwを求める数式とする
E(w) = - log L(w)
= −
𝑖=1
𝑛
𝑦𝑖 log𝑝 + 1 − 𝑦𝑖 log 1 − 𝑝 :尤度関数
- 20. 勾配降下法
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. 確率的勾配降下法
21
W = w - Π
𝜕E
𝜕𝑤
= w + Π 𝑖=1
𝑛
(𝑦𝑖 − 𝑝𝑖)𝑥𝑖
ただ上記の通り∑ですべての和を計算してからwの値が更新され、
wが収束するまで繰り返すため計算量が多い。
したがって、ランダムに値をとり効率性を重視する確率的勾配降下法というものがある。
W = w + Π(𝑦𝑖 − 𝑝𝑖)𝑥𝑖
- 26. 主成分分析
𝑉 𝑧 =
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のとき
- 27. 主成分分析
𝑉 𝑧 = 𝑤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. 主成分分析
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. 主成分分析
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. 主成分分析
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