• 検索結果がありません。

非線形モデリングの基礎

N/A
N/A
Protected

Academic year: 2021

シェア "非線形モデリングの基礎"

Copied!
42
0
0

読み込み中.... (全文を見る)

全文

(1)

機械学習論

Lec03

非線形モデリングの基礎

(2)

非線形データ例(衝突実験データ)

10 20 30 40 50

−100−50050

Head Acceleration

(3)

非線形モデリングの例

線形モデル

10 20 30 40 50

−100−50050

Time after Collision [ms]

Head Acceleration

(4)

非線形モデリングの例

非線形モデル

10 20 30 40 50

−100−50050

Head Acceleration

(5)

非線形モデリングは難しいか

1次元データ

(d= 1)

の非線形モデリング:簡単

多次元データ

(d >2)

の非線形モデリング:困難

(6)

2

つのプローチ

アプローチ

1:

基底関数モデリング

アプローチ

2:

局所構造モデリング

(7)

2つのタイプの非線形モデル

タイプ

1

:パラメータに対して線形

y=w0+w1logx

y=w0+w1

x+w2exp(x2)

y=w0+w1cos(2πx) +w2sin(2πx) +w31 x

タイプ

2:パラメータに対して非線形

y= log(w0+w1x)

y=exp(w0+xw

1x2)

y= sin(2π(w0+w1x)) + cos(2π(w2+w3x))

(8)

基底関数モデリング(

d = 1

の場合)

基底関数

hk :RR, k= 1, . . . , q

基底関数モデリング

y=

q

k=1

wkhk(x)

y=w0+w1sin(2πx) +w2cos(2πx) +w3

x

基底関数

h1(x) = 1, h2(x) = sin(2πx), h3(x) = cos(2πx), h4(x) = x

基底関数モデル

q

w h (x) =w +w sin(2πx) +w cos(2πx) +w x

(9)

基底関数モデルの学習

ステップ

1:入力データを変換

nX×1

=

x1

x2 ... xn

7→

h1(x1) h2(x1) · · · hq(x1) h1(x2) h2(x2) · · · hq(x2)

... ... . .. ... h1(xn) h2(xn) · · · hq(xn)

:= Z

n×q

ステップ

2

: (最小二乗法などにより)線形モデルを学習

ˆ

w= (ZZ)1Zy

基底関数モデル

y=wh(x) =

q k=1

wkhk(x)

ここで

h(x) = [h1(x), . . . , hq(x)]Rq

(10)

多項式回帰

1

次多項式回帰

y=w0+w1x

2

次多項式回帰

y=w0+w1x+w2x2

3

次多項式回帰

y=w0+w1x+w2x2+w3x3

基底関数(

m

次多項式回帰の場合,

q= 1 +m

h1(x) = 1, h2(x) =x, h3(x) =x2, . . . , hq(x) =xm

(11)

多項式回帰の例

10 20 30 40 50

−100−50050

Time after Collision [ms]

Head Acceleration

1

次多項式(

=

線形モデル)

(12)

多項式回帰の例

10 20 30 40 50

−100−50050

Time after Collision [ms]

Head Acceleration

2

次多項式

(13)

多項式回帰の例

10 20 30 40 50

−100−50050

Time after Collision [ms]

Head Acceleration

3

次多項式

(14)

多項式回帰の例

10 20 30 40 50

−100−50050

Time after Collision [ms]

Head Acceleration

4

次多項式

(15)

多項式回帰の例

10 20 30 40 50

−100−50050

Time after Collision [ms]

Head Acceleration

10

次多項式

(16)

多項式回帰の例(再掲)

10 20 30 40 50

−100−50050

Time after Collision [ms]

Head Acceleration

10 20 30 40 50

−100−50050

Time after Collision [ms]

Head Acceleration

10 20 30 40 50

−100−50050

Time after Collision [ms]

Head Acceleration

10 20 30 40 50

−100−50050

Time after Collision [ms]

Head Acceleration

(17)

区分多項式モデリング

全体でなく一部に多項式をあてはめてはどうか

“https://web.stanford.edu/~hastie/ElemStatLearn/printings/ESLII_print12.pdf”より転載

区分

0

次多項式=区分定数モデル

(18)

区分多項式モデリング

全体でなく一部に多項式をあてはめてはどうか

“https://web.stanford.edu/~hastie/ElemStatLearn/printings/ESLII_print12.pdf”より転載

区分

1

次多項式=区分線形モデル

(19)

区分多項式モデリング

全体でなく一部に多項式をあてはめてはどうか

“https://web.stanford.edu/~hastie/ElemStatLearn/printings/ESLII_print12.pdf”より転載

区分

3

次多項式

(20)

境界での連続性(区分線形モデル)

境界で関数が連続であるとよい

“https://web.stanford.edu/~hastie/ElemStatLearn/printings/ESLII_print12.pdf”より転載 “https://web.stanford.edu/~hastie/ElemStatLearn/printings/ESLII_print12.pdf”より転載

不連続区分線形モデル 連続区分線形モデル

(21)

境界での連続性(区分多項式モデル)

“https://web.stanford.edu/~hastie/ElemStatLearn/printings/ESLII_print12.pdf”より転載 “https://web.stanford.edu/~hastie/ElemStatLearn/printings/ESLII_print12.pdf”より転載

不連続区分

3

次多項式

0

次連続区分

3

次多項式

“https://web.stanford.edu/~hastie/ElemStatLearn/printings/ESLII_print12.pdf”より転載 “https://web.stanford.edu/~hastie/ElemStatLearn/printings/ESLII_print12.pdf”より転載

(22)

回帰スプラインモデル

境界で

m1

次連続な

m

次区分多項式モデルを「回帰スプライン モデル」と呼ぶ.

10 20 30 40 50

−100−50050

Time after Collision [ms]

Head Acceleration

(23)

回帰スプラインモデルの学習(

1

次回帰スプライン)

1

個の境界(ξ)を持つ

1

次回帰スプライン

xξ

のモデル

y=w0L+wL1x

x > ξ

のモデル

y=wR0 +wR1x

制約付き最適化

( ˆwL0,wˆL1,wˆ0R,wˆR1) = arg min

wL0,w1L,wR0,wR1

i:xiξ

(yi(wL0 +wL1xi))2

+

i:xi

(yi(wR0 +wR1xi))2 subject to w0L+w1Lξ=wR0 +wR1ξ

(24)

制約付き最適化と自由度

自由度

:=

「未知変数の数」

「等式制約の数」

等式制約付き最適化問題の例

zmin1,z2 z1z2

s.t. z1+z2= 4

自由度

df

の等式制約付き問題

df

変数の制約なし最適化問題

個の境界(ℓ

+ 1

個の部分領域)を持つ

m

次回帰スプラインの自 由度は

4(ℓ+ 1)3ℓ=+ 4

(25)

回帰スプラインの基底関数

次数

m,境界数ℓ(ξ1< ξ2< . . . < ξ

)の回帰スプライン

基底関数

hk(x) =xk1, k= 1, . . . , m+ 1

hk(x) = (xξk(m+1))m+, k=m+ 1, . . . , m++ 1

ただし

z+=

{ z ifz >0, 0 otherwise.

2

つの境界を持つ

3

次回帰スプラインの場合の例

h1(x) = 1, h2(x) =x, h3(x) =x2, h4(x) =x3,

h5(x) = (xξ1)3+, h6(x) = (xξ2)3+

(26)

演習問題1

x=ξ

1

つの境界を持つ

1

次回帰スプラインの基底関数

h1(x), h2(x),h3(x)

を定義にしたがって書け.

x=ξ

1

つの境界を持つ

1

次回帰スプラインが

y=

3 k=1

wkhk(x)

と表わされているとし,境界

ξ

とパラメータ

w1, w2, w3

ξ= 1, w1= 3, w2=2, w3= 5

であったとする.このスプライン関数を図示せよ.また,境界

ξ= 1

において,2 つの部分領域の関数がつながっていることを確

認せよ.

(27)

演習問題1の解答

(28)

2

つのプローチ

アプローチ

1:

基底関数モデリング

アプローチ

2:

局所構造モデリング

(29)

最近傍回帰分析の例

10 20 30 40 50

−100−50050

Time after Collision [ms]

Head Acceleration

k= 1

近傍回帰分析

(30)

最近傍回帰分析の例

10 20 30 40 50

−100−50050

Time after Collision [ms]

Head Acceleration

k= 2

近傍回帰分析

(31)

最近傍回帰分析の例

10 20 30 40 50

−100−50050

Time after Collision [ms]

Head Acceleration

k= 5

近傍回帰分析

(32)

最近傍回帰分析の例

10 20 30 40 50

−100−50050

Time after Collision [ms]

Head Acceleration

k= 10

近傍回帰分析

(33)

演習問題2

以下のデータを

x

を横軸,

y

を縦軸とする

2

次元グラフにプロッ トせよ

x y

1 2

4 4

5 5

7 8

8 5

10 4 14 3 16 3

k= 1,2

のときの

k

最近傍回帰分析の結果を同グラフ上にプロッ

トせよ.

(34)

演習問題2の解答

(35)

最近傍回帰分析の例(再掲)

10 20 30 40 50

−100−50050

Time after Collision [ms]

Head Acceleration

10 20 30 40 50

−100−50050

Time after Collision [ms]

Head Acceleration

k= 1

近傍回帰分析

k= 2

近傍回帰分析

10 20 30 40 50

−100−50050

Time after Collision [ms]

Head Acceleration

10 20 30 40 50

−100−50050

Time after Collision [ms]

Head Acceleration

k= 5

近傍回帰分析

k= 10

近傍回帰分析

(36)

重み関数の導入

三角形重み関数

x

Weight

釣鐘型重み関数

x

Weight

(37)

局所定数回帰分析(

Nadaraya-Watson

法)

重み関数=カーネル関数

(例)

k(x;c, s) := exp (

(xc)2 2s2

)

局所定数回帰分析(テスト入力

x0

に対する予測値) :

ˆ

y0=

n

i=1k(x0;xi, s)yi

n

i=1k(x0;xi, s)

(38)

局所定数回帰分析の例

10 20 30 40 50

−100−50050

Time after Collision [ms]

Head Acceleration

(39)

演習問題3の解答

(40)

ここまでのまとめ

基底関数モデリング

多項式回帰分析

回帰スプライン

局所構造モデリング

k

最近傍回帰分析

局所定数回帰分析,局所線形回帰分析

(41)

演習問題3

x=ξ

において

1

つの境界を持つ

3

次回帰スプラインの基底関数を

h1(x) = 1, h2(x) =x, h3(x) =x2, h4(x) =x3, h5(x) = (xξ)3+

とするのが適切であることを示せ.具体的には,以下を示せ.

xξ

における

3

次関数と

x > ξ

における

3

次関数を,それぞれ,

fL(x) =aL+bLx+cLx2+dLx3, fR(x) =aR+bRx+cRx2+dRx3

としたとき,

aL, bL, cL, dL

aR, bR, cR, dR

を回帰スプライン基 底関数の係数

w1, w2, w3, w4, w5

を使って表わせ.

境界

ξ

において関数値が等しい,すなわち,

fL(ξ) =fR(ξ)

である ことを示せ.

境界

ξ

において

1

次導関数値が等しい,すなわち,f

L(ξ) =fR(ξ)

であることを示せ.

境界

ξ

において

2

次導関数値が等しい,すなわち,f

L′′(ξ) =fR′′(ξ)

(42)

演習問題3の解答

参照

関連したドキュメント

これは基礎論的研究に端を発しつつ、計算機科学寄りの論理学の中で発展してきたもので ある。広義の構成主義者は、哲学思想や基礎論的な立場に縛られず、それどころかいわゆ

Optimal stochastic approximation algorithms for strongly convex stochastic composite optimization I: A generic algorithmic framework.. SIAM Journal on Optimization,

Dual averaging and proximal gradient descent for online alternating direction multiplier method. Stochastic dual coordinate ascent with alternating direction method

1-1 睡眠習慣データの基礎集計 ……… p.4-p.9 1-2 学習習慣データの基礎集計 ……… p.10-p.12 1-3 デジタル機器の活用習慣データの基礎集計………

Existence of weak solution for volume preserving mean curvature flow via phase field method. 13:55〜14:40 Norbert

[r]

また、第1号技能実習から第2号技能実習への移行には技能検定基礎級又は技

国際地域理解入門B 国際学入門 日本経済基礎 Japanese Economy 基礎演習A 基礎演習B 国際移民論 研究演習Ⅰ 研究演習Ⅱ 卒業論文