3. 回帰分析とモデル選択1
4.1 Classical Curve Fitting
4.2 Nonlinear Regression and Gradient
Descent
4.3 Regression and Ax=b: Over- and Under-
Determinant systems
4.4 Optimization as the Cornerstone of
Regression
4.5 The Pareto Front
4.6 Model Selection : Cross-Validation
4.7 Model Selection: Information Criteria
4. 回帰分析とモデル選択1
% 4.1 Classical Curve Fitting
CH04_SEC01_LinearRegression.m
% 4.2 Nonlinear Regression and Gradient Descent
CH04_SEC02_1_GradientDescent.m
% 4.3 Regression and Ax=b
CH04_SEC03_1_OverUnderDetermined.m
CH04_SEC03_1_OverUnderDetermined_production.
m
% 4.4 Optimization as Cornerstone of Regression
CH04_SEC04_1_CompareRegression.m
CH04_SEC04_1_CompareRegression_production.m
% 4.6 Model Selection: Cross-Validation
CH04_SEC06_1_kFoldValidation.m
CH04_SEC06_1_kFoldValidation_production.m
% 4.7 Model Selection: Information Criteria
CH04_SEC07_1_ModelValidation.m
CH04_SEC07_2_RegressAIC_BIC.m
6. 線形回帰問題と最適化問題
線形回帰問題 が与えられたとして、以下の線形方程式を満たす を求める
=Ax b
,n m n×
∈ ∈A b m
∈x
優決定系(n>m)
2
2
min −
x
Ax b
2
2 1
min λ− +
x
Ax xb
( )
2
2
min gλ− +
x
xAx b
劣決定系(n<m)
1
min subject to
x
x Ax = b
1 2
min subject to ε− ≤
x
x Ax b
( ) 2
min subject tog ε− ≤
x
x Ax b
8. 【復習】ベクトルのノルム
( )2
1
2 2 22
1 22
1
n
n i
i
x xx x
=
= + + =+ ∑x
( )1 2, , , n
nx x x= ∈x
( )2
1
1
1
1
n pp p p pp
i
i
np
x x x x
=
= + ++ =
∑x
n次元ベクトル
ユークリッド距離
Lp ノルム(距離)
1
4
1=x 1∞
=x1
2
1=x
1
1=x 3
2
1=x
2
1=x 4
1=x
9. 線形回帰問題:複数評価関数の比較1
( )( )
2
2 0 1
1
1
, ,k
k
k
n
E f x y
n
β β
=
−∑
( )01 1
1
1
, ,k k
n
k
E f x y
n
β β
=
−∑
( )0 1max , , kk
k
E f x yβ β∞ −
例1:外れ値がない「きれいなデータ」の場合
どの誤差関数もほぼ同じ線形モデル。
CH04_SEC01_LinearRegression.m
% The data
x=[1 2 3 4 5 6 7 8 9 10];
y=[0.2 0.5 0.3 0.7 1.0 1.5 1.8 2.0 2.3 2.2];
14. ここで演習
• 最適化による線形回帰問題の例
CH04_SEC01_LinearRegression.m
コードを走らせてみましょう。データの値を変更し、外れ値があるときのL1, L2, L∞
ノルム解の振る舞いを調べてみましょう。
y=[0.2 0.5 0.3 0.7 1.0 1.5 1.8 2.0 2.3 2.2]
y=[0.2 0.5 0.3 3.5 1.0 1.5 1.8 2.0 2.3 2.2]
上記のコードに追加して、L1/2ノルム解を計算してみましょう。
( )( )1
1/
2
2
1/2
1
0, , k
n
k
k
E f x yβ β
=
= −
∑
q4=fminsearch(@(x0,x,y) sum(abs( x0(1)*x+x0(2)-y ).^(0.5) )^2,[1 1],[],x,y); % L1/2 norm
15. 線形回帰分析再び:最小二乗法と解析解
( )0 1 0 1, ,f x xβ β β β= +
( ) ( )
2
2 0 1 0 1
1
,
1
k
k
n
kE x y
n
β β β β
=
−+= ∑
( )1
1
2
0
0
2
0k
k
k
n
E
x y
n
β β
β =
=
∂
∂
+ − =∑
( )0
1
2
1
1
2
0
k
k k k
n
E
x x y
n
β β
β =
∂
= +
∂
− =∑
0
2 1
1 1
1 1 1
n n
k
k k
n n n
k
k k
k k
k
k
k
n x y
x x x y
β
β
= =
= = =
=
∑ ∑
∑ ∑ ∑
ステップ1:
係数に関して
偏微分
ステップ2:
行列の形にま
とめる
ステップ3:
行列方程式を
解く
1
1 1
1 1 1
0
21
n n
k k
n n n
k k k
k k
k k k k
n x y
x x x y
β
β
−
= =
= = =
=
∑ ∑
∑ ∑ ∑
線形回帰モデル
L2ノルム最小化としての線形回帰問題
17. 非線形回帰問題
一般に、入力と出力の関係は線形とは限らない → 非線形回帰問題
( ),f f x= β
( ) ( )( )
1
2
2 ,
n
k
k kE f x y
=
= −∑β β
( )0 ,1,
i
mi
E
β
= =
∂
∂
2
1
2
2 2
2
m
E
E
E
E
β
β
β
∂
∂
∂
∂∇
∂
∂
= =
β 0
一般に、入力と出力の関係は線形とは限らない → 非線形回帰問題
18. 非線形最小化問題の解法の基本:勾配降下法
( )
1 2
, , ,
n
f f f
f
x x x
∂ ∂ ∂
∇= =
∂ ∂ ∂
x 0
( )1k k k kfδ+= − ∇xx x
非線形関数の最小化問題:勾配が0になる点を探す
( ) ( )
( ) ( ) ( )2
k k
k
k k k
f f
f f f
δ
∇
=
∇
∇ ∇ ∇
x x
x x x
勾配降下法(Gradient descent method)
21. 非線形最小化問題の解法の基本:勾配降下法
学習係数の決め方:ラインサーチ法
( )( )opt 1arg min kf
δ
δ δ+= x
( )( ) ( )
( )( ) ( )1 1 1
1
1
0
k k k
k k
k
f f
f f
δ
δ δ
+ + +
+
+
∂ ∂
∂
= =− ∇ ∇
∂ ∂ ∂
=
x x x
x x
x
( ) ( ) ( ) ( ) ( )2 2
1k k k kf f f fδ δ+∇ =∇ − ∇ ∇ +x x x x
( )
( ) ( ) ( )
2
opt 2
2k
k k k
f
f f f
δ
∇
=
∇
∇ ∇
x
x x x
学習係数δに関する偏微分が0になる条件を解く
学習係数δが小さいとして、テイラー展開する
22. 非線形最小化問題の解法の基本:勾配降下法
学習係数の決め方:ラインサーチ法
( )
( ) ( ) ( )
opt 2
2
2
f
f f f
δ
∇
∇
=
∇ ∇
x
x x x
( )
( )
( )
( )
2
1
n
f
f
f
f
∂
∂ ∇ =
∂
x
x
x
x
( )
( ) ( ) ( )
( ) ( ) ( )
( ) ( ) ( )
1
2
1 1 2
2
1
2
2
2 1 2 2
2
n
n
n nn
f f f
f f f
f
f f f
∂ ∂ ∂ ∂ ∂
∂ ∂ ∂ ∂ ∂ ∇ =
∂ ∂ ∂ ∂ ∂
x x x
x x x
x
x x x
gradient Hessian matrix
( ) ( ){ } ( ) ( ) ( ) ( ) ( ) ( )
2 2
1
2
2
11
,
n
i
n n
i i
i j
j j
i
f f f ff f f f
= ==
∇ ∂ ∇ ∇= ∇ = ∂ ∂ ∂ ∂∑∑∑ x x x xx x x x
40. LASSO回帰:優決定系におけるスパース回帰
LASSO解 と最小二乗解 の比較
2L
+
=x A b
1
2
L 2 1
arg min λ= − +
x
x Ax b x
1Lx 2Lx
• 正解の成分3と8は正しく求められている
• しかし0であるべき成分が非ゼロとなる(密)
• 正解の成分3と8のみ非ゼロ(疎)
• 成分3と8は正解より若干小さく求められる
Least absolute shrinkage and selection operator
L1ノルムを最小化 解を縮小 非ゼロ成分を選択(疎)
成分3
成分8