15
1 문양세 문양세 (컴퓨터과학전공 컴퓨터과학전공, IT , IT특성화대학 특성화대학, , 강원대학교 강원대학교) 수치해석 수치해석 (Numerical Analysis) (Numerical Analysis) – 다변수 다변수 방정식과 방정식과 함수 함수 (Part 2) (Part 2) Page 2 Numerical Analysis by Yang-Sae Moon We are now We are now … 이차원 이분 격자(bisection grid)영점 곡선 추적 (Zero-Curve Tracking) 더욱 세밀한 이차원 이분 격자법 다차원 극값을 구하기 위한 경사도 탐색 (Gradient Search) 이차원 경사도 탐색법 수치 미분을 사용한 방법 가파른 경사법 (Steepest Descent) Gradient Search

(Numerical Analysis) – (Part 2) - Kangwoncs.kangwon.ac.kr/~ysmoon/courses/2006_2/na/05.pdf · 2016-06-02 · 5 Page 9 Numerical Analysis by Yang-Sae Moon Recall: 뉴튼법을이용한일차원극소값찾기

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

1

문양세문양세 ((컴퓨터과학전공컴퓨터과학전공, IT, IT특성화대학특성화대학, , 강원대학교강원대학교))

수치해석수치해석 (Numerical Analysis) (Numerical Analysis) –– 다변수다변수 방정식과방정식과 함수함수 (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

2 2How about ( , ) 100 ?f x y x y= −

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 yy 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 4f x y xx∂

= −∂

= − + − +2 2( ) 4 6 11f x x x y y

( , ) 2 6f x y yy∂

= −∂

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

= − + − +2 2( ) 4 6 11f x x x y y

13

Page 25Numerical Analysisby Yang-Sae Moon

수치수치 미분법미분법 실행실행 결과결과Numeric Derivatives

이차원 경사도 탐색법

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 ……Steepest Descent

이차원 이분 격자(bisection grid)법

영점 곡선 추적 (Zero-Curve Tracking)

더욱 세밀한 이차원 이분 격자법

다차원 극값을 구하기 위한 경사도 탐색 (Gradient Search)

• 이차원 경사도 탐색법

• 수치 미분을 사용한 방법

가파른 경사법 (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