Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
1
20052005년년 가을학기가을학기
문양세문양세
컴퓨터과학과컴퓨터과학과
강원대학교강원대학교 자연과학대학자연과학대학
수치해석수치해석 (Numerical Analysis)(Numerical Analysis)
다변수다변수 방정식과방정식과 함수함수 (Part 2)(Part 2)(Multi(Multi--Variable Equations and Functions Variable Equations and Functions –– Part 2)Part 2)
Page 2Numerical Analysisby Yang-Sae Moon
We are now We are now ……
이차원 이분 격자(bisection grid)법
영점 곡선 추적 (Zero-Curve Tracking)
더욱 세밀한 이차원 이분 격자법
다차원 극값을 구하기 위한 경사도 탐색 (Gradient Search)
• 이차원 경사도 탐색법
• 수치 미분을 사용한 방법
가파른 경사법 (Steepest Descent)
Gradient Search
2
Page 3Numerical Analysisby Yang-Sae Moon
들어가기들어가기 이전에이전에 ……
편미분(partial derivative)에 대한 기본적인 이해가 있어야 한다.
미분도 어려운데, 편미분이 머야? 편두통은 몰라도…
글고, my high school 시절에 편미분 배웠나?
대학에서 배운 거 같기는 한데… 뭐 더라?
∂∂fx
∂∂
2
2fx
∂∂fy ∂
∂
2
2fy
∂∂ ∂
2 fx y
Gradient Search
Page 4Numerical Analysisby Yang-Sae Moon
편미분편미분 기초기초 (1/3)(1/3)
변수 x에 대한 함수 f(x,y)의 편미분 (partial derivative of f w.r.t. x)
y를 상수(constant)로 보고 f를 x에 대해 미분한다.
∂ ∂= =
∂ ∂( , ) ( , )f f x y d f x c
x x dx
편미분 예제 (1/2)
( )
( )
= − −
∂= = − − = −
∂
∂= = − − = −
∂
2 2
2 2
2 2
( , ) 100
( , ) 100 2
( , ) 100 2
f x y x y
f d df x c x c xx dx dx
f d df c y c y yy dy dy
Gradient Search
( )
( )
= +
∂= = + =
∂
∂= = + = −
∂
( , ) sin cos
( , ) sin cos cos
( , ) sin cos sin
g x y x y
g d dg x c x c xx dx dx
g d dg c y c y xy dy dy
3
Page 5Numerical Analysisby Yang-Sae Moon
편미분편미분 기초기초 (2/3)(2/3)
편미분 예제 (2/2)
Gradient Search
( )
( )
= +
∂= = + =
∂
∂= = + = −
∂
( , ) sin cos
( , ) sin cos cos
( , ) sin cos sin
g x y x y
g d dg x c x c xx dx dx
g d dg c y c y xy dy dy
Page 6Numerical Analysisby Yang-Sae Moon
편미분편미분 기초기초 (3/3)(3/3)
∂ ∂∂ ⎛ ⎞= ⎜ ⎟∂ ∂∂ ⎝ ⎠
⎛ ⎞∂ ∂∂= ⎜ ⎟⎜ ⎟∂ ∂∂ ⎝ ⎠
⎛ ⎞∂ ∂∂= ⎜ ⎟⎜ ⎟∂ ∂ ∂ ∂⎝ ⎠
2
2
2
2
2
f fx xx
f fy yy
f fx y x y
고차 편미분 (High order partial derivatives)
고차 편미분 예제
( )
= − −
∂ ∂∂ ∂⎛ ⎞= = − = −⎜ ⎟∂ ∂ ∂∂ ⎝ ⎠
2 2
2
2
( , ) 100
2 2
f x y x y
f f xx x xx
Gradient Search
4
Page 7Numerical Analysisby Yang-Sae Moon
다차원다차원 극값의극값의 특성특성
극값과 차원
• 일차원: x 값을 변화시키면서 극값을 찾아나간다.
• 이차원: x 값과 함께 y 값도 변화시키면서 극값을 찾아나가야 한다.
연속인 함수 f(x,y)는 다음 조건 하에서 임계점(critical point)을 갖는다.(임계점이란, 극소값, 극대값, 변곡점을 통칭한다.)
상기 조건의 의미는 x축 관점에서도 기울기가 0이고, y축 관점에서도 기
울기가 0이란 의미이다.(일차원의 경우, f′(c) = 0이면 임계점을 가짐과 동일하다.)
∂ ∂= =
∂ ∂0, 0f f
x y
Gradient Search
Page 8Numerical Analysisby Yang-Sae Moon
We are now We are now ……
이차원 이분 격자(bisection grid)법
영점 곡선 추적 (Zero-Curve Tracking)
더욱 세밀한 이차원 이분 격자법
다차원 극값을 구하기 위한 경사도 탐색 (Gradient Search)
• 이차원 경사도 탐색법
• 수치 미분을 사용한 방법
가파른 경사법 (Steepest Descent)
Gradient Search
5
Page 9Numerical Analysisby Yang-Sae Moon
Recall: Recall: 뉴튼법을뉴튼법을 이용한이용한 일차원일차원 극소값극소값 찾기찾기
함수 f(x)의 일차 도함수 f′(x)의 성질을 이용한다.
1) f′(a) < 0 이면, 감소하는 구간으로서 극소값은 a보다 더 오른쪽에 존재하고,
2) f′(a) > 0 이면, 증가하는 구간으로서 극소값은 a보다 더 왼쪽에 존재한다.
따라서, 다음 식을 사용하여 xi를 반복 계산하여 극소값으로 수렴해 간다.
+ = −1 '( )i i ix x cf x
1) f′(xi) < 0 이면, cf′(xi)가 음수가 되어 xi+1 은 오른쪽으로 이동한다.
2) f′(xi) > 0 이면, cf′(xi)가 양수가 되어 xi+1 은 왼쪽으로 이동한다.
상수 c는 좌우로 움직이는 폭을 결정한다.
Gradient Search
Page 10Numerical Analysisby Yang-Sae Moon
이차원이차원 경사도경사도 탐색법탐색법 개념개념
일차원 뉴튼법을 이차원으로 확장시킨다.
Gradient Search
+
+
∂= − ⋅
∂
∂= − ⋅
∂
1
1
( , )
( , )
i i i i
i i i i
x x c f x yx
y y c f x yy
1) 이면, 가 음수가 되어 xi+1 은 오른쪽으로 이동한다.
2) 이면, 가 양수가 되어 xi+1 은 왼쪽으로 이동한다.
3) 이면, 가 음수가 되어 yi+1 은 위쪽으로 이동한다.
4) 이면, 가 양수가 되어 yi+1 은 아래쪽으로 이동한다.
상수 c는 좌우 및 상하로 움직이는 폭을 결정한다.
∂<
∂( , ) 0i if x y
x∂
⋅∂
( , )i ic f x yx
∂>
∂( , ) 0i if x y
x∂
⋅∂
( , )i ic f x yx
∂<
∂( , ) 0i if x y
y∂
⋅∂
( , )i ic f x yy
∂>
∂( , ) 0i if x y
y∂
⋅∂
( , )i ic f x yy
6
Page 11Numerical Analysisby Yang-Sae Moon
Recall: Recall: 뉴튼법을뉴튼법을 이용한이용한 극소값극소값 찾기찾기 -- 알고리즘알고리즘
procedure newton-min(x1, c, e: real numbers)
{ x1 is an initial point.}
{ c is a constant for the Newton equation.}
{ e is an allowable error value.}
i := 0;
do
i++;
xi+1 := xi – c⋅f′(xi);
while |xi+1 - xi| > e
return xi+1;
Gradient Search
Page 12Numerical Analysisby Yang-Sae Moon
이차원이차원 경사도경사도 탐색법탐색법 알고리즘알고리즘 (1/2)(1/2)
procedure gradient-min(x1, y1, c, e: real numbers)
{ (x1, y1) is an initial point.}
{ c is a constant for the Newton equation.}
{ e is an allowable error value.}
i := 0;
do
i++;
xi+1 := xi – ; yi+1 := yi – ;
while
return (xi+1,yi+1);
Gradient Search
∂⋅∂
( , )i ic f x yx
∂⋅∂
( , )i ic f x yy
+ + + +⎛ ⎞∂ ∂⎛ ⎞ + >⎜ ⎟⎜ ⎟ ⎜ ⎟∂ ∂⎝ ⎠ ⎝ ⎠
22
1 1 1 1( , ) ( , )i i i if x y f x y ex y
7
Page 13Numerical Analysisby Yang-Sae Moon
이차원이차원 경사도경사도 탐색법탐색법 알고리즘알고리즘 (2/2)(2/2)Gradient Search
+ + + +⎛ ⎞∂ ∂⎛ ⎞ + ⎜ ⎟⎜ ⎟ ⎜ ⎟∂ ∂⎝ ⎠ ⎝ ⎠
22
1 1 1 1( , ) ( , )i i i if x y f x yx y
에러 의 의미
극(소)값에 접하는 평면의 x 기울기( ) 및 y 기울기( )는
모두 0이 된다. 따라서, 상기 에러 값은 이들 기울기의 제곱 합에 대한 제
곱근(Euclidean distance)를 나타낸다.
∂∂fx
∂∂fy
Page 14Numerical Analysisby Yang-Sae Moon
대상 함수:
이차원이차원 경사도경사도 탐색법탐색법 프로그램프로그램 (1/3)(1/3)Gradient Search
∂ ∂= − = −
∂ ∂( , ) 2 4, ( , ) 2 6f x y x f x y y
x y
= − + − +2 2( ) 4 6 11f x x x y y
8
Page 15Numerical Analysisby Yang-Sae Moon
이차원이차원 경사도경사도 탐색법탐색법 프로그램프로그램 (2/3)(2/3)Gradient Search
Page 16Numerical Analysisby Yang-Sae Moon
이차원이차원 경사도경사도 탐색법탐색법 프로그램프로그램 (3/3)(3/3)Gradient Search
교재 p. 87 및 p. 91의 f(x,y)식에서 –y2는 +y2가 되어야 함
∂ ∂= − = −
∂ ∂( , ) 2 4, ( , ) 2 6f x y x f x y y
x y
= − + − +2 2( ) 4 6 11f x x x y y
9
Page 17Numerical Analysisby Yang-Sae Moon
이차원이차원 경사도경사도 탐색법탐색법 실행실행 결과결과Gradient Search
Page 18Numerical Analysisby Yang-Sae Moon
We are now We are now ……
이차원 이분 격자(bisection grid)법
영점 곡선 추적 (Zero-Curve Tracking)
더욱 세밀한 이차원 이분 격자법
다차원 극값을 구하기 위한 경사도 탐색 (Gradient Search)
• 이차원 경사도 탐색법
• 수치 미분을 사용한 방법
가파른 경사법 (Steepest Descent)
Gradient Search
10
Page 19Numerical Analysisby Yang-Sae Moon
수치수치 미분법의미분법의 동기동기
편미분을 구하기 어려운 방정식에 대해서, 편미분의 정의를 활용한다.
Numeric Derivatives
∆ →
∆ →
∆ →
+ ∆ −= =
∆
+ ∆ −∂=
∂ ∆
+ ∆ −∂=
∂ ∆
0 00 0 0
0 0 0 00 0 0
0 0 0 00 0 0
( ) ( )( ) '( ) lim
( , ) ( , )( , ) lim
( , ) ( , )( , ) lim
x
x
y
f x x f xd f x f xdx x
f x x y f x yf x yx x
f x y y f x yf x y
y y
상기 식에서 ∆x 및 ∆y에 대하여, 충분히 작은 상수 값 δ를 사용하여, 편미
분의 근사값을 구하고, 이를 편미분 대신 사용한다.
Page 20Numerical Analysisby Yang-Sae Moon
수치수치 미분법의미분법의 개념개념Numeric Derivatives
+
+
+ δ −= − ⋅
δ
+ δ −= − ⋅
δ
1
1
( , ) ( , )
( , ) ( , )
i i i ii i
i i i ii i
f x y f x yx x c
f x y f x yy y c
상기 식에서 δ는 0에 가까운 충분히 작은 수이며, 상수 c는 좌우 및 상하
로 움직이는 폭을 결정한다.
경사도 탐색법의 편미분 수식 대신에 다음 식과 같이 δ를 도입한다.
11
Page 21Numerical Analysisby Yang-Sae Moon
이차원이차원 경사도경사도 탐색법탐색법 알고리즘알고리즘
procedure numeric-der(x1, y1, c, δ, e: real numbers)
{ (x1, y1) is an initial point.}
{ c is a constant for the Newton equation.}
{ δ is the user-specified interval value.}
{ e is an allowable error value.}
i := 0;
do
i++;
xi+1 := xi – ; yi+1 := yi – ;
while
return (xi+1,yi+1);
+ δ −⋅
δ( , ) ( , )i i i if x y f x y
c
+ + + + + + + ++ δ − + δ −⎛ ⎞ ⎛ ⎞+ >⎜ ⎟ ⎜ ⎟δ δ⎝ ⎠ ⎝ ⎠
2 21 1 1 1 1 1 1 1( , ) ( , ) ( , ) ( , )i i i i i i i if x y f x y f x y f x y e
Numeric Derivatives
+ δ −⋅
δ( , ) ( , )i i i if x y f x y
c
Page 22Numerical Analysisby Yang-Sae Moon
대상 함수: = − + − +2 2( ) 4 6 11f x x x y y
이차원이차원 경사도경사도 탐색법탐색법 프로그램프로그램 (1/3)(1/3)Numeric Derivatives
12
Page 23Numerical Analysisby Yang-Sae Moon
이차원이차원 경사도경사도 탐색법탐색법 프로그램프로그램 (2/3)(2/3)Numeric Derivatives
Page 24Numerical Analysisby Yang-Sae Moon
이차원이차원 경사도경사도 탐색법탐색법 프로그램프로그램 (3/3)(3/3)Numeric Derivatives
13
Page 25Numerical Analysisby Yang-Sae Moon
이차원이차원 경사도경사도 탐색법탐색법 실행실행 결과결과Numeric Derivatives
Gradient Search
Page 26Numerical Analysisby Yang-Sae Moon
대상 함수:
다음과 같이 함수 부분만 다름
= − + − +2 2( ) 4 8 12f x x x y y
다른다른 함수함수 예제예제 프로그램프로그램 ((교재교재))Numeric Derivatives
14
Page 27Numerical Analysisby Yang-Sae Moon
Numeric Derivatives다른다른 함수함수 예제예제 실행실행 결과결과 ((교재교재))
Page 28Numerical Analysisby Yang-Sae Moon
We are now We are now ……
이차원 이분 격자(bisection grid)법
영점 곡선 추적 (Zero-Curve Tracking)
더욱 세밀한 이차원 이분 격자법
다차원 극값을 구하기 위한 경사도 탐색 (Gradient Search)
가파른 경사법 (Steepest Descent)
Steepest Descent
15
Page 29Numerical Analysisby Yang-Sae Moon
가파른가파른 경사법경사법 개념개념
경사도 탐색법에서는 일정한 비율로 경사를 탐색해 나가는 반면에,
가파른 경사법에서는 경사가 급한 방향으로 탐색해 나간다.
자세한 개념, 유도 과정, 알고리즘은 생략한다.
Steepest Descent
+
+
= − ⋅+
= − ⋅+
1 2 2
1 2 2
i i
i i
dx x gg h
dy y hg h
∂ + δ −= ≈∂ δ
∂ + δ −= ≈∂ δ
( , ) ( , )
( , ) ( , )
i i i i
i i i i
f f x y f x ygx
f f x y f x yhy
−= ⋅2 nd c