More Related Content
Similar to データ解析3 最適化の復習 (20)
More from Hirotaka Hachiya
More from Hirotaka Hachiya (14)
データ解析3 最適化の復習
- 6. N元1次連立方程式に一般化
12
N x Nの行列で表現
2元と同様に逆行列が非ゼロであれば、解析的に解ける
𝑎𝑎11 𝑥𝑥1 + 𝑎𝑎12 𝑥𝑥2 + ⋯ + 𝑎𝑎1𝑁𝑁 𝑥𝑥𝑁𝑁 = 𝑏𝑏1
𝑎𝑎21 𝑥𝑥1 + 𝑎𝑎22 𝑥𝑥2 + ⋯ + 𝑎𝑎2𝑁𝑁 𝑥𝑥𝑁𝑁 = 𝑏𝑏2
⋮
𝑎𝑎𝑛𝑛1 𝑥𝑥1 + 𝑎𝑎𝑛𝑛2 𝑥𝑥2 + ⋯ + 𝑎𝑎𝑁𝑁𝑁𝑁 𝑥𝑥𝑁𝑁 = 𝑏𝑏𝑁𝑁
𝑎𝑎11
𝑎𝑎21
⋮
𝑎𝑎𝑛𝑛𝑛
𝑎𝑎11
𝑎𝑎21
⋮
𝑎𝑎𝑛𝑛𝑛
⋯
⋯
⋮
⋯
𝑎𝑎1𝑛𝑛
𝑎𝑎2𝑛𝑛
⋮
𝑎𝑎𝑛𝑛𝑛𝑛
𝑥𝑥
𝑦𝑦 =
𝑘𝑘
𝑙𝑙
𝑨𝑨𝑨𝑨 = 𝒃𝒃
𝒙𝒙 = 𝑨𝑨−𝟏𝟏
𝒃𝒃
- 8. 様々な連立方程式の行列表現
15
1次形式(linear form)の行列表現
双1次形式(bilinear form)の行列表現
2次形式(quadratic form)の行列表現
𝑎𝑎11 𝑎𝑎12
𝑎𝑎21 𝑎𝑎22
𝑥𝑥1
𝑥𝑥2
=
𝑏𝑏1
𝑏𝑏2
𝑨𝑨𝑨𝑨 = 𝒃𝒃
𝒚𝒚𝚻𝚻
𝑨𝑨𝑨𝑨 = 𝒃𝒃
𝒙𝒙𝚻𝚻
𝑨𝑨𝑨𝑨 = 𝒃𝒃𝑥𝑥1 𝑥𝑥2
𝑎𝑎11 𝑎𝑎12
𝑎𝑎21 𝑎𝑎22
𝑥𝑥1
𝑥𝑥2
=
𝑏𝑏1
𝑏𝑏2
𝑦𝑦1 𝑦𝑦2
𝑎𝑎11 𝑎𝑎12
𝑎𝑎21 𝑎𝑎22
𝑥𝑥1
𝑥𝑥2
=
𝑏𝑏1
𝑏𝑏2
- 10. 微分の定義
17
微分の図を用いた解釈
微分の例:
𝑑𝑑𝑓𝑓(𝑥𝑥)
𝑑𝑑𝑑𝑑
≡ 𝑓𝑓′
𝑥𝑥 = lim
∆𝑥𝑥→0
𝑓𝑓 𝑥𝑥 + ∆𝑥𝑥 − 𝑓𝑓(𝑥𝑥)
∆𝑥𝑥
𝑓𝑓(𝑥𝑥)
𝑥𝑥 𝑥𝑥 + ∆𝑥𝑥
𝑓𝑓(𝑥𝑥 + ∆𝑥𝑥)
点Aと点Bを通る直線の傾き:
𝑓𝑓 𝑥𝑥+∆𝑥𝑥 −𝑓𝑓(𝑥𝑥)
𝑥𝑥+∆𝑥𝑥−𝑥𝑥
=
𝑓𝑓 𝑥𝑥+∆𝑥𝑥 −𝑓𝑓(𝑥𝑥)
∆𝑥𝑥
∆𝑥𝑥を0に近づけると、点𝑥𝑥での接線の傾きに近づく
𝐴𝐴
𝐵𝐵
微分𝑓𝑓′ 𝑥𝑥 は、関数𝑓𝑓 𝑥𝑥 の点𝑥𝑥での接線の傾き
𝑓𝑓 𝑥𝑥 = 𝑥𝑥2 𝑑𝑑𝑑𝑑
𝑑𝑑𝑑𝑑
= lim
∆𝑥𝑥→0
𝑥𝑥2+2𝑥𝑥∆𝑥𝑥+∆𝑥𝑥2−𝑥𝑥2
∆𝑥𝑥
= lim
∆𝑥𝑥→0
2𝑥𝑥 + ∆𝑥𝑥 = 2𝑥𝑥
- 14. 微分の定義
22
微分の図を用いた解釈
微分の例:
𝑑𝑑𝑓𝑓(𝑥𝑥)
𝑑𝑑𝑑𝑑
≡ 𝑓𝑓′
𝑥𝑥 = lim
∆𝑥𝑥→0
𝑓𝑓 𝑥𝑥 + ∆𝑥𝑥 − 𝑓𝑓(𝑥𝑥)
∆𝑥𝑥
𝑓𝑓(𝑥𝑥)
𝑥𝑥 𝑥𝑥 + ∆𝑥𝑥
𝑓𝑓(𝑥𝑥 + ∆𝑥𝑥)
点Aと点Bを通る直線の傾き:
𝑓𝑓 𝑥𝑥+∆𝑥𝑥 −𝑓𝑓(𝑥𝑥)
𝑥𝑥+∆𝑥𝑥−𝑥𝑥
=
𝑓𝑓 𝑥𝑥+∆𝑥𝑥 −𝑓𝑓(𝑥𝑥)
∆𝑥𝑥
∆𝑥𝑥を0に近づけると、点𝑥𝑥での接線の傾きに近づく
𝐴𝐴
𝐵𝐵
微分𝑓𝑓′ 𝑥𝑥 は、関数𝑓𝑓 𝑥𝑥 の点𝑥𝑥での接線の傾き
𝑓𝑓 𝑥𝑥 = 𝑥𝑥2 𝑑𝑑𝑑𝑑
𝑑𝑑𝑑𝑑
= lim
∆𝑥𝑥→0
𝑥𝑥2+2𝑥𝑥∆𝑥𝑥+∆𝑥𝑥2−𝑥𝑥2
∆𝑥𝑥
= lim
∆𝑥𝑥→0
2𝑥𝑥 + ∆𝑥𝑥 = 2𝑥𝑥
- 15. 偏微分の定義
23
偏微分の図を用いた解釈
偏微分の例:
𝜕𝜕𝑓𝑓(𝑥𝑥1, 𝑥𝑥2)
𝜕𝜕𝑥𝑥1
≡ lim
∆𝑥𝑥1→0
𝑓𝑓 𝑥𝑥1 + ∆𝑥𝑥1, 𝑥𝑥2 − 𝑓𝑓(𝑥𝑥1, 𝑥𝑥2)
∆𝑥𝑥1
𝑓𝑓 𝑥𝑥1, 𝑥𝑥2 = − 𝑥𝑥1 − 𝑥𝑥2
2
= −𝑥𝑥1
2
+ 2𝑥𝑥1 𝑥𝑥2 − 𝑥𝑥2
2 𝑥𝑥1
𝑥𝑥2
𝐴𝐴: 𝑓𝑓(𝑎𝑎, 𝑏𝑏)
𝑎𝑎
𝑏𝑏
𝜕𝜕𝑓𝑓(𝑎𝑎, 𝑥𝑥2)
𝜕𝜕𝑥𝑥2
𝑥𝑥2軸に平行な断面の接線の傾き
𝑥𝑥1軸方向は𝑥𝑥1 = aで固定
𝜕𝜕𝑓𝑓(𝑥𝑥1, 𝑏𝑏)
𝜕𝜕𝑥𝑥1
𝑥𝑥1軸に平行な断面の接線の傾き
𝑥𝑥2軸方向は𝑥𝑥2 = bで固定
𝜕𝜕𝑓𝑓(𝑥𝑥1,2)
𝜕𝜕𝑥𝑥1
= −2𝑥𝑥1 + 2 𝑥𝑥2 = −2𝑥𝑥1 + 4
𝑥𝑥1, 𝑥𝑥2 = (3, 2)での偏微分
𝜕𝜕𝑓𝑓(3, 𝑥𝑥2)
𝜕𝜕𝑥𝑥2
= 2𝑥𝑥1 − 2 𝑥𝑥2 = −2𝑥𝑥2 + 6
𝑓𝑓(𝑥𝑥1, 𝑥𝑥2)
- 16. 演習3
24
𝑓𝑓 𝑥𝑥, 𝑦𝑦 の最小値と、最小解 𝑥𝑥∗, 𝑦𝑦∗ を求めなさい。
タイトル「演習レポート」、日付、学生番号、氏名を用紙の
一番上に記載
𝑓𝑓 𝑥𝑥, 𝑦𝑦 = 𝑥𝑥2
+ 𝑦𝑦2
+ 2𝑥𝑥 + 4𝑦𝑦 + 8
- 19. 行列・ベクトルの微分
28
𝑓𝑓 𝒙𝒙 = 𝒂𝒂𝚻𝚻 𝒙𝒙の偏微分
𝑓𝑓 𝒙𝒙 = 𝐀𝐀𝒙𝒙の偏微分
𝑓𝑓 𝒙𝒙 = 𝒙𝒙𝚻𝚻
𝐀𝐀𝒙𝒙の偏微分
詳細は、The Matrix Cookbookを参照
𝒂𝒂 =
𝑎𝑎1
𝑎𝑎2
𝑎𝑎3
𝜕𝜕𝑓𝑓(𝒙𝒙)
𝜕𝜕𝒙𝒙
=
𝜕𝜕𝒂𝒂𝚻𝚻 𝒙𝒙
𝜕𝜕𝒙𝒙
= 𝒂𝒂
𝜕𝜕𝑓𝑓(𝒙𝒙)
𝜕𝜕𝒙𝒙
=
𝜕𝜕𝐀𝐀𝒙𝒙
𝜕𝜕𝒙𝒙
= 𝐀𝐀 𝐀𝐀 =
𝑎𝑎11
𝑎𝑎21
𝑎𝑎31
𝑎𝑎12
𝑎𝑎22
𝑎𝑎32
𝑎𝑎13
𝑎𝑎23
𝑎𝑎33
𝒙𝒙 =
𝑥𝑥1
𝑥𝑥2
𝑥𝑥3
𝜕𝜕𝑓𝑓(𝒙𝒙)
𝜕𝜕𝒙𝒙
=
𝜕𝜕𝒙𝒙𝚻𝚻 𝐀𝐀𝒙𝒙
𝜕𝜕𝒙𝒙
= (𝐀𝐀 + 𝐀𝐀𝚻𝚻
)𝒙𝒙
𝐀𝐀が対象の場合:
𝜕𝜕𝒙𝒙𝚻𝚻 𝐀𝐀𝒙𝒙
𝜕𝜕𝒙𝒙
= 2𝐀𝐀𝒙𝒙
- 22. 主問題をラグランジュ関数に変換し解く
ラグランジュ未定乗数法
31
【制約ありの主問題】
min
𝒙𝒙
𝑓𝑓(𝒙𝒙)
s.t. 𝑔𝑔𝑖𝑖 𝒙𝒙 ≥ 0 ∀𝑖𝑖
【ラグランジュ関数】
ℒ(𝝀𝝀, 𝒙𝒙)= 𝑓𝑓 𝒙𝒙 − �
𝑖𝑖
𝜆𝜆𝑖𝑖 𝑔𝑔𝑖𝑖 𝒙𝒙
𝜆𝜆𝑖𝑖 ≥ 0 :ラグランジュ未定乗数
目的関数と制約をまとめて
ラグランジュ関数を作成
KKT条件を満たす最適な𝒙𝒙∗
と𝜆𝜆∗
を求める
【KKT(Karush-Kuhn-Tucker)条件】
①
②
③
④
:停留点
:主問題の制約式
:双対問題の制約式
:相補性
𝛻𝛻𝑓𝑓 𝒙𝒙∗
− � 𝛻𝛻𝜆𝜆𝑖𝑖
∗
𝑔𝑔 𝒙𝒙∗
= 𝟎𝟎
𝑔𝑔𝑖𝑖 𝒙𝒙∗ ≥ 0
𝜆𝜆𝑖𝑖
∗
≥ 0
𝜆𝜆𝑖𝑖
∗
𝑔𝑔𝑖𝑖 𝒙𝒙∗
= 𝟎𝟎
𝒙𝒙∗
, 𝜆𝜆∗
∀𝑖𝑖
- 23. ラグランジュ関数の解釈
32
なぜ、ℒ(𝝀𝝀, 𝒙𝒙)= 𝑓𝑓 𝒙𝒙 − 𝜆𝜆𝑔𝑔 𝒙𝒙 の形なのか?
𝑓𝑓 𝒙𝒙
最小値
等高線を用いて
2次元で表現
𝜆𝜆𝛻𝛻𝒙𝒙 𝑔𝑔 𝒙𝒙∗
制約:𝑔𝑔 𝒙𝒙 ≥0
制約境界:𝑔𝑔 𝒙𝒙 =0
−𝛻𝛻𝒙𝒙 𝑓𝑓 𝒙𝒙∗
停留点
停留点𝒙𝒙∗にて、制約境界に接する関数𝑓𝑓 𝒙𝒙∗ の等高線と、微分−𝛻𝛻𝒙𝒙 𝑓𝑓 𝒙𝒙∗ は直交
制約𝑔𝑔 𝒙𝒙 は、境界に直交する方向に最急上昇するので、微分𝜆𝜆∗ 𝛻𝛻𝒙𝒙 𝑔𝑔 𝒙𝒙∗ は境界に直交
停留点では次が成り立つ
𝒙𝒙∗
𝛻𝛻𝒙𝒙ℒ(𝜆𝜆∗, 𝒙𝒙∗)=𝛻𝛻𝒙𝒙 𝑓𝑓 𝒙𝒙∗ − 𝛻𝛻𝒙𝒙 𝜆𝜆∗ 𝑔𝑔 𝒙𝒙∗ = 𝟎𝟎
𝛻𝛻𝜆𝜆ℒ(𝜆𝜆∗, 𝒙𝒙∗)=𝛻𝛻𝜆𝜆 𝑓𝑓 𝒙𝒙∗ − 𝛻𝛻𝜆𝜆 𝜆𝜆∗ 𝑔𝑔 𝒙𝒙∗ = 𝟎𝟎
𝑔𝑔 𝒙𝒙 ≥0−𝛻𝛻𝒙𝒙 𝑓𝑓 𝒙𝒙∗
𝑓𝑓 𝒙𝒙
𝜆𝜆∗ 𝛻𝛻𝒙𝒙 𝑔𝑔 𝒙𝒙∗
制約を満たす最小値:最小値から最短距離の制約境界上の点「停留点𝒙𝒙∗
」
- 24. ラグランジュ未定乗数法の例
33
ラグランジュ関数を求める
偏微分して0と置く
min
𝑥𝑥,𝑦𝑦,𝑧𝑧
𝑥𝑥2 + 𝑦𝑦2 + 𝑧𝑧2
s.t. 𝑥𝑥 + 𝑦𝑦 + 𝑧𝑧 = 1
ℒ(𝜆𝜆, 𝑥𝑥, 𝑦𝑦, 𝑧𝑧)=𝑥𝑥2 + 𝑦𝑦2 + 𝑧𝑧2 − 𝜆𝜆(𝑥𝑥 + 𝑦𝑦 + 𝑧𝑧 − 1) 𝜆𝜆 ≥ 0
𝜕𝜕ℒ
𝜕𝜕𝑥𝑥
= 2𝑥𝑥 − 𝜆𝜆 = 0
𝜕𝜕ℒ
𝜕𝜕𝑦𝑦
= 2𝑦𝑦 − 𝜆𝜆 = 0
主問題:
𝜕𝜕ℒ
𝜕𝜕𝑧𝑧
= 2𝑧𝑧 − 𝜆𝜆 = 0
−𝑥𝑥 − 𝑦𝑦 − 𝑧𝑧 + 1= −
3
2
𝜆𝜆 + 1 = 0
𝜕𝜕ℒ
𝜕𝜕𝜆𝜆
= −𝑥𝑥 − 𝑦𝑦 − 𝑧𝑧 + 1=0
𝑥𝑥 = 𝑦𝑦 = 𝑧𝑧 =
1
2
𝜆𝜆 ∴ 𝜆𝜆∗ =
2
3
∴ 𝑥𝑥∗
= 𝑦𝑦∗
= 𝑧𝑧∗
=
1
3
- 26. 課題
36
1. 𝑥𝑥2 + 𝑦𝑦2 = 1の制約条件のもとで、 𝑦𝑦𝑧𝑧 + 𝑥𝑥𝑥𝑥の最大値を求めなさい。
2. 𝑥𝑥2
+ 𝑦𝑦2
= 2と𝑥𝑥𝑥𝑥 = 1の制約条件のもとで、𝑥𝑥 + 𝑦𝑦の最大値と
最小値を求めなさい。
3. 𝒙𝒙𝚻𝚻 𝒙𝒙 = 1の制約条件のもとで、2次形式𝒙𝒙𝚻𝚻 𝐀𝐀𝒙𝒙の最大化問題が、
以下の制約付きの固有値問題になることを証明しなさい。
𝐀𝐀𝒙𝒙 = 𝝀𝝀𝒙𝒙
s.t. 𝒙𝒙𝚻𝚻 𝒙𝒙 = 1