画像工学特論 - 豊橋技術科学大学sugaya/lecture/image/files/slide-2.pdf1...
Transcript of 画像工学特論 - 豊橋技術科学大学sugaya/lecture/image/files/slide-2.pdf1...
画像工学特論
第2回 関数の極値
1次関数の勾配
x, y の1次関数 f (x, y) = ax + by +c は xy 平面上の各点 (x, y) に高さ f (x, y) を与えればxyz 空間中の平面を表す。
1次関数の勾配
xy面上をある点 から x 軸方向、y 軸方向へそれぞれだけ移動すると、それぞれの関数値は
x∆y∆
cybxayxf ++=),(
ybxayxfyyxxf∆+∆=
−∆+∆+
),(),(
yx ∆∆ ,),( yx
であるから、関数の増分は
となる。xy
cyybxxayyxxf +∆++∆+=∆+∆+ )()(),(
1次関数の勾配
ybxayxfyyxxf ∆+∆=−∆+∆+ ),(),(
),( xn ∆=∆fとすると、
nx∆
∆⇒∆∆
−∆+∆+ f
bayx
yxfyyxxf
),(),(
),(),(
と書ける。
n を勾配 (またはグラディエント)と呼ぶ。
1次関数の勾配
勾配 n とベクトル のなす角を とすると次のように書ける。
勾配は関数値が最も急激に増加する方向を表す。
勾配は等高線に直交している。等高線・・・関数値が一定値をとる xy 面上の点の軌跡
x∆ θ
θcosxn ∆=∆f
増分が最大となるのは のときである。0=θ
1次関数の等高線
432),( ++= yxyxf のグラフとその等高線
n 変数の1次関数の勾配
nnn xaxaxxf ++= 111 ),,( の勾配は次のようなる。
fxf
xf
a
a
nn
∇=
∂∂
∂∂=
=
/
/ 11n
2次関数の極値
次の形の2変数の2次関数の極値を考える。
0,)2(21),( 22 ===++= cbacybxyaxyxf ではない
0,0,0 >=> cba楕円型
0,0 == ba放物型
0,0 =< bac双曲型
2次関数の極値
),(21),()2(
21),( 22
=⇒++= y
xcbba
yxyxfcybxyaxyxf
y
x
x′y′
= cb
baH : ヘッセ行列
ある直交行列を用いて標準形に変換することができる。
2次関数の極値
),(21),(
= y
xcbba
yxyxf
′′
−=
yx
yx
θθθθ
cossinsincos
x, y 軸を原点の周りに角度 だけ回転して新しい座標軸を作る変換は次のようになる。
θ yx ′′,
)cossinsincos,cossin
sincos(21
′′
−
′′
−= y
xcbba
yxf θθ
θθθθθθ
)cossinsincos
cossinsincos,(
21
′′
−
−
′′= y
xcbba
yx
θθθθ
θθθθ
)00,(
21
2
1
′′
′′= y
xyx
λλ
2次関数の極値
:楕円型021 >λλ
)(21)0
0,(21 2
22
12
1 yxfyx
yxf ′+′=⇒
′′
′′= λλλ
λ
021 =λλ :放物型
021 <λλ :双曲型
2次関数が唯一の最小値をとるのはヘッセ行列の固有値がともに正のときである。
2次関数が唯一の最大値をとるのはヘッセ行列の固有値がともに負のときである。
2次関数の平行移動
feydxcybxyaxyxf +++++= 22 2),(のような1次の項が含まれた2次関数の極値は?
⇒ 2次関数は平行移動することによって2次の項と定数のみで表すことができる。
146463),( 22 +−++−= yxyxyxyxf2次関数
を平行移動することによって2次の項と定数のみで表す。
2次関数の平行移動
146463),( 22 +−++−= yxyxyxyxf
1)(4)(6 )(4))((6)(3),( 22
+−−−+−+−−−−=−−
byaxbybyaxaxbyaxf
14466484 6666363
22
22
++−−++−+
−++−+−=
byaxbbyyabaybxxyaaxx
146463 )486()666(463
22
22
++−+−+
−−+−−−+−=
bababaybaxbayxyx
0486,0666 =−−=−− baba 1,2 ==⇒ ba
3463)1,2( 22 −+−=−− yxyxyxf
2次関数の平行移動
cxaxxhxxfn
iii
n
jijiijn ++= ∑∑
== 11,1 2
1),,( n 変数の2次関数
の1次の項を平行移動によって消去する。
cf ++= ),(),(21)( xaHxxx
=
=
=
nnnnn
n
x
x
a
a
hh
hh
11
1
111,, xaH
2次関数の平行移動
cf +−+−−=− ),())(,(21)( pxapxHpxpx
c+−++−−= ),(),()),(),(),(),((21 paxaHppHxpHpxHxx
c+−++−= ),(),(21),(),(),(
21 paHppxaxHpHxx
),(),( xaxHp = aHp =⇒
cf +−=− ),(21),(
21)( apHxxpx
2次関数の極値
2次関数の極値をとる位置を求めるためには定数項は無関係であるから、2次関数の極値を求めるには2次の項のみを考えればよい。
2次関数が唯一の最小値をとるのはヘッセ行列の固有値がともに正のとき(ヘッセ行列が正値対称行列であるとき)
2次関数が唯一の最大値をとるのはヘッセ行列の固有値がともに負のとき(ヘッセ行列が負値対称行列であるとき)
極値の判定
シルベスタの定理
nnn
n
aa
aa
1
111
対称行列
が正値対称行列である必要十分条件は、1次、2次、・・・、n次の主小行列式がすべて正
0,,0,0,01
111
333231
232221
131211
2221
121111 >>>>
nnn
n
aa
aa
aaaaaaaaa
aaaaa
関数の1次近似
),( yxf をテイラー展開する。
+−∂∂
+−∂∂
+= )()(),( yyyfxx
xffyxf
2次以上の高次の項を考えない関数
)()(),(I yyyfxx
xffyxf −
∂∂
+−∂∂
+=
を関数 の1次近似と呼ぶ。),( yxf
関数 を平面で近似することに等しい。),( yxf
関数の1次近似
),( yxf
),(I yxf
),( yxf∇
∂∂∂∂=∇ yfxff /
/を関数 の勾配と呼ぶ。),( yxf
等値面と接平面
constxxf n =),,( 1 の軌跡を等値面と呼ぶ。
0)()( 111
=−∂∂
++−∂∂
nnn
xxxfxx
xf
constyxf =),(
),( yx
f∇
f∇ は等値面の法線ベクトルである。
等値面 の点 における接平面の方程式は
constxxf n =),,( 1 ),,( 1 nxx
関数の2次近似
),,( 1 nxxf をテイラー展開する。
+−−∂∂
∂+−
∂∂
+= ∑∑==
)()(21)(),,(
1,
2
11 jj
n
jiii
ji
n
iii
in xxxx
xxfxx
xffxxf
3次以上の高次の項を考えない関数
を関数 の2次近似と呼ぶ。
)()(21)(),,(
1,
2
11II jj
n
jiii
ji
n
iii
in xxxx
xxfxx
xffxxf −−
∂∂∂
+−∂∂
+= ∑∑==
),,( 1 nxxf
関数の停留点
点 で関数 が極値をとれば、その点で各変数に関する偏微分係数が0となる。
停留点におけるヘッセ行列が正値対称行列であればその点で極小値をとり、負値対称行列であれば極大値をとる。
),,( 1 nxx ),,( 1 nxxf
01
=∂∂
==∂∂
nxf
xf
上式を満たす点を停留点、その点での関数値を停留値と呼ぶ。
例題
関数 の極値を求めよ。yxzzyxzyxf 43),,( 323 −−++=
033,042,033 22 =−=∂∂
=−=∂∂
=−=∂∂ xz
zfy
yfzx
xf
======
0,2,01,2,1
zyxzyx
),,( zyxf関数 のヘッセ行列は
∂∂
∂∂∂
∂∂∂
∂∂∂
∂∂
∂∂∂
∂∂∂
∂∂∂
∂∂
=
2
222
2
2
22
22
2
2
zf
zyf
zxf
zyf
yf
yxf
zxf
yxf
xf
H
−
−=
z
x
603020306
例題
)1,2,1(点 のときヘッセ行列は
−
−
603020306
1次、2次、3次の主小行列式は
054603020306
,0122006,06 >=
−
−>=>
シルベスタの定理より、このヘッセ行列は正値対称行列
関数 は点 で極小値をとり、その値は)1,2,1(),,( zyxf 5−
例題
)0,2,0(点 のときヘッセ行列は
−
−
003020300
1次、2次、3次の主小行列式は
018003020300
,02000,0 <−=
−
−=
シルベスタの定理より、このヘッセ行列は正値対称行列でも負値対称行列でもない
ラグランジュの未定乗数法
条件 のもとで関数 を最小にするを求める。
1=+ yx 22 32),( yxyxf +=),( yx
1=+ yx
constyxf =),( f∇
ラグランジュの未定乗数法
1=+ yx直線 の法線ベクトルは
11
勾配 と直線が直交する⇔ 勾配と直線の法線ベクトルが平行
1=+ yx
f∇
f∇
=∇ 11λf
=∇ y
xf 64
であるから λλ61,
41
== yx
制約条件 に代入すると1=+ yx52,
53
== yx
このとき最小値は56
ラグランジュの未定乗数法
定数 をラグランジュ乗数と呼ぶ。λ
0),( =yxg 0),( =yxf制約条件 のもとで関数 の極値を求める
gf ∇=∇ λ を満たすある定数 が存在するとして方程式を解くλ
ラグランジュの未定乗数法
制約条件 のもとで関数 が極値をとる点は
と置くと、次の式を満たす。
0),,( 1 =nxxg 0),,( 1 =nxxf
),,(),,(),,,( 111 nnn xxgxxfxxF λλ −=
0,,,1,0 =∂∂
==∂∂
λFni
xF
i
ラグランジュの未定乗数法
0),,( 1 =⇒ nxxg
),,(),,(),,,( 111 nnn xxgxxfxxF λλ −=
0=∂∂
−∂∂
=∂∂
iii xg
xf
xF λ
0,,,1,0 =∂∂
==∂∂
λFni
xF
i
gf ∇=∇⇒ λ
0),,( 1 =−=∂∂
nxxgF
λ
解法の手順
)()(),( xxx gfF λλ −=
NiFxi
,...,1,0),( ==∂∂ λx 0),( =
∂∂ λλ
xF(1) (2)
例題
平面上の点 から直線 へ下ろした垂線の足を求めよ。
12 += xy)12,7(−
12 += xy
点 から点 までの距離は である。)12,7(− ),( yx 22 )12()7( −++ yx
したがって、制約条件 のもとで、関数
22 )12()7(),( −++= yxyxf を最小にする を求めればよい。),( yx
例題
012,0)12(2,02)7(2 =+−=−−=++ yxyx λλ
)12()12()7(),,( 22 −−−−++= xyyxyxF λλ
0,0,0 =∂∂
=∂∂
=∂∂
λF
yF
xF
1221,7 +=−−= λλ yx
01)1221()7(2 =++−−− λλ 10−=⇒ λ
7,3 == yx
制約条件が複数の場合
制約条件 のもとで関数 の極値を求める。
を満たす交線上で関数が極値をとる点を探す。
交線は関数の等値面に接する。
),,( zyxf0),,(,0),,( 21 == zyxgzyxg
0),,(,0),,( 21 == zyxgzyxg
f∇⇒ が と同一平面上にある21, gg ∇∇
2211 ggf ∇+∇=∇⇒ λλ
制約条件が複数の場合
制約条件 のもとで関数が極値をとる点は
と置くと、次の式を満たす。
mjxxg nj ,,1,0),,( 1 ==0),,( 1 =nxxf
∑=
−=m
jnjjnmn xxgxxfxxF
11111 ),,(),,(),,,,,( λλλ
mjFnixF
ji
,,1,0,,,1,0 ==∂∂
==∂∂
λ