Updated:

πŸ€”Β Zero-Find Ver

λΉ„μ„ ν˜• λ°©μ •μ‹μ˜ 근사해λ₯Ό μ°Ύκ±°λ‚˜ μ΅œμ ν™” 문제λ₯Ό ν•΄κ²°ν•˜λŠ” λ°©μ‹μœΌλ‘œ, 같은 과정을 λ°˜λ³΅ν•΄ μ΅œμ κ°’μ— μˆ˜λ ΄ν•œλ‹€λŠ” μ μ—μ„œ κ²½μ‚¬ν•˜κ°•λ²•μ΄λž‘ 근본이 κ°™λ‹€. 반면, κ²½μ‚¬ν•˜κ°•μ— λΉ„ν•΄ λΉ λ₯Έ 수렴 속도λ₯Ό μžλž‘ν•˜κ³  풀이 방식이 맀우 κ°„λ‹¨ν•˜λ‹€λŠ” μž₯점이 μžˆλ‹€. ν•˜μ§€λ§Œ μ—¬λŸ¬ μ œμ•½ 쑰건과 λ”λΆˆμ–΄ ν•΄λ‹Ή μ•Œκ³ λ¦¬μ¦˜μ΄ 잘 μž‘λ™ν•˜λŠ” 상황이 λΉ„ν˜„μ‹€μ μΈ 뢀뢄이 λ§Žμ•„ κ²½μ‚¬ν•˜κ°•μ— λΉ„ν•΄ 자주 μ‚¬μš©λ˜μ§€λŠ” μ•Šκ³  μžˆλ‹€. 뉴턴-랩슨 방식은 근사해λ₯Ό μ°Ύκ±°λ‚˜, μ΅œμ ν™” 문제λ₯Ό ν‘ΈλŠ” 두 가지 버젼이 μžˆλŠ”λ° λ¨Όμ € ν•΄λ₯Ό μ°ΎλŠ” 버전뢀터 μ‚΄νŽ΄λ³΄μž. μ•Œκ³ λ¦¬μ¦˜μ˜ μˆ˜μ‹μ€ λ‹€μŒκ³Ό κ°™λ‹€.γ…‚

\[x_{n+1}:= x_n - \frac{f(x_n)}{f'(x_n)}\]

λ°˜λ³΅λ²•μ„ μ‚¬μš©ν•˜κΈ° λ•Œλ¬Έμ— μˆ˜μ‹μ˜ μƒκΉ€μƒˆκ°€ μƒλ‹Ήνžˆ κ²½μ‚¬ν•˜κ°•λ²•κ³Ό λΉ„μŠ·ν•˜λ‹€. μ™œ 이런 μˆ˜μ‹μ΄ λ“±μž₯ν•˜κ²Œ λ˜μ—ˆμ„κΉŒ?? 일단 뉴턴-랩슨 λ°©μ‹μ˜ 풀이 과정을 μ‚΄νŽ΄λ³΄μž. λ¨Όμ € μ΄ˆκΈ°κ°’μ„ μ„€μ •ν•œλ‹€. κ·Έ λ‹€μŒ ν•΄λ‹Ή 점을 μ§€λ‚˜λŠ” μ ‘μ„ μ˜ 방정식을 μ„Έμš΄λ‹€. 이제 μ ‘μ„ μ˜ λ°©μ •μ‹μ˜ $x$μ ˆνŽΈμ„ κ΅¬ν•˜κ³  이것을 λ‹€μŒ μ΄ˆκΈ°κ°’μœΌλ‘œ μ‚¬μš©ν•œλ‹€. 이제 $f(x_n) \approx 0$이 될 λ•ŒκΉŒμ§€ μœ„ 과정을 μ§€μ†μ μœΌλ‘œ λ°˜λ³΅ν•˜λ©΄ λœλ‹€. μ•„λž˜ κ·Έλž˜ν”„μ™€ ν•¨κ»˜ λ‹€μ‹œ μ‚΄νŽ΄λ³΄μž.

Newton-Raphson for Zero Find Newton-Raphson for Zero Find

μ΄ˆκΈ°κ°’μ€ $x_0=3$이닀. μ‹œμž‘μ  $(x_0, f(x_0))$을 μ§€λ‚˜λŠ” μ ‘μ„ μ˜ 방정식을 μ„Έμš°κ³  ν•΄λ‹Ή λ°©μ •μ‹μ˜ $x$μ ˆνŽΈμ„ κ΅¬ν•˜λŠ” μˆ˜μ‹μ„ μž‘μ„±ν•˜λ©΄ μ•„λž˜μ™€ κ°™λ‹€.

\[f'(x_0)(x-x_n) + f(x_0) = 0\]

이제 이것을 예쁘게 잘 μ •λ¦¬ν•΄μ„œ λ‹€μŒ μ΄ˆκΈ°κ°’ $x_1$을 κ΅¬ν•΄λ³΄μž.

\[x = x_0 - \frac{f(x_0)}{f'(x_0)}\]

이번 포슀트 맨 μ²˜μŒμ— 봀던 뉴턴-랩슨 λ°©λ²•μ˜ μˆ˜μ‹κ³Ό λ˜‘κ°™λ‹€λŠ” 것을 μ•Œ 수 μžˆλ‹€. λ‹€μ‹œ 말해 뉴턴-랩슨의 Zero-Find 버전은 μ ‘μ„ μ˜ λ°©μ •μ‹μ˜ $x$μ ˆνŽΈμ„ ν™œμš©ν•΄ λͺ©μ  ν•¨μˆ˜μ˜ ν•΄λ₯Ό μ°Ύμ•„κ°€λŠ” 방식인 것이닀.

μ§€κΈˆκΉŒμ§€ 근사해λ₯Ό μ°Ύμ•„μ£ΌλŠ” 뉴턴-랩슨 λ©”μ„œλ“œλ₯Ό μ‚΄νŽ΄λ³΄μ•˜λ‹€. ν•˜μ§€λ§Œ λ¨Έμ‹ λŸ¬λ‹μ²˜λŸΌ ν˜„μ‹€μ˜ μ΅œμ ν™” 문제λ₯Ό ν’€μ–΄μ•Ό ν•˜λŠ” 우리 μž…μž₯μ—μ„œλŠ” λ‹¨μˆœ λͺ©μ  ν•¨μˆ˜μ˜ 근을 μ°ΎλŠ” κ²ƒλ§ŒμœΌλ‘œλŠ” 주어진 문제λ₯Ό ν•΄κ²°ν•  수 μ—†λ‹€. λ¨Έμ‹ λŸ¬λ‹μ˜ μ΅œμ ν™” λŒ€μƒμΈ λΉ„μš© ν•¨μˆ˜λŠ” 거의 λͺ¨λ“  κ²½μš°μ— 근이 μ—†κΈ°(λ² μ΄μ§€μ•ˆ μ˜€μ°¨κΉŒμ§€ κ³ λ €ν•˜λ©΄ 사싀상 λΆˆκ°€λŠ₯) λ•Œλ¬Έμ— 일단 μ•Œκ³ λ¦¬μ¦˜μ˜ κ°€μ • μžμ²΄κ°€ μ„±λ¦½ν•˜μ§€ μ•ŠλŠ”λ‹€. μ΄λŸ¬ν•œ ν•œκ³„μ μ„ κ·Ήλ³΅ν•˜κ³ μž μ΅œμ ν™” λ²„μ „μ˜ 뉴턴-랩슨 λ©”μ„œλ“œκ°€ λ“±μž₯ν•˜κ²Œ λœλ‹€.

πŸ“‰Β Optimization Ver

\[x_{n+1}:= x_n - \frac{f'(x_n)}{f''(x_n)}\]

μ΅œμ ν™” λ²„μ „μ˜ 뉴턴 랩슨 λ©”μ„œλ“œλŠ” μ΄κ³„λ„ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•œλ‹€. μ›ν•¨μˆ˜(λΉ„μš©ν•¨μˆ˜)κ°€ 근이 없을지라도, ν•¨μˆ˜μ˜ 극점이 μ‘΄μž¬ν•˜λŠ”ν•œ λ„ν•¨μˆ˜μ˜ 근은 항상 μ‘΄μž¬ν•œλ‹€λŠ” κ°€μ •μ—μ„œ μΆœλ°œν•œλ‹€. 근을 μ°ΎλŠ” ν–‰μœ„λŠ” λ™μΌν•˜κ²Œ ν•˜λ˜, μ΄λ²ˆμ—λŠ” μ›ν•¨μˆ˜μ˜ 근이 μ•„λ‹ˆλΌ λ„ν•¨μˆ˜μ˜ 근을 μ°ΎλŠ”λ‹€. λ„ν•¨μˆ˜μ˜ 근사해λ₯Ό 찾으면, ν•΄λ‹Ή μœ„μΉ˜λŠ” κ΅­μ†Œ/μ „μ—­ μ΅œμ κ°’μ— κ·Όμ ‘ν•œ 수치일 것이라고 κΈ°λŒ€ν•΄λ³Ό 수 μžˆλ‹€.

ν•˜μ§€λ§Œ μ΅œμ ν™” λ²„μ „μ˜ 뉴턴 랩슨 λ©”μ„œλ“œ μ—­μ‹œ μ—¬μ „νžˆ λ§Žμ€ 단점을 κ°–κ³  μžˆλ‹€. 일단 λ¨Όμ € κ³„μ‚°λŸ‰μ΄ μ§€λ‚˜μΉ˜κ²Œ λ§Žμ•„μ§„λ‹€. μ˜ˆμ‹œλ₯Ό λͺ¨λ‘ 슀칼라 ν˜•νƒœλ‘œ λ“€μ–΄μ„œ 간단해 λ³΄μ΄μ§€λ§Œ, λ‹€λ³€μˆ˜ν•¨μˆ˜μ— μ μš©ν•˜λ©΄ 과정이 맀우 맀우 λ³΅μž‘ν•΄μ§„λ‹€. λͺ¨λ“  iteration λ§ˆλ‹€ μžμ½”λΉ„μ•ˆ, ν—€μ‹œμ•ˆ 행렬을 κ΅¬ν•΄μ€˜μ•Ό ν•œλ‹€. λ„ν•¨μˆ˜λ§Œ μ΄μš©ν•˜λŠ” 경사 ν•˜κ°•μ— λΉ„ν•΄ μ—°μ‚° 뢀담이 μƒλ‹Ήνžˆ 컀질 수 밖에 μ—†λŠ” 것이닀. 그리고 κ²°μ •μ μœΌλ‘œ ν—€μ‹œμ•ˆ 행렬이 invertible ν•΄μ•Όν•œλ‹€. 이게 개인적으둜 뉴턴-랩슨 λ°©μ‹μ˜ κ°€μž₯ 큰 단점이라고 μƒκ°ν•œλ‹€. ν—€μ‹œμ•ˆ ν–‰λ ¬μ˜ 역행렬이 μ‘΄μž¬ν•˜λ €λ©΄ λ°˜λ“œμ‹œ μ›ν•¨μˆ˜λŠ” Convex Function이어야 ν•˜κΈ° λ•Œλ¬Έμ΄λ‹€. λ”°λΌμ„œ μƒλ‹Ήνžˆ λΉ„ν˜„μ‹€μ μΈ 풀이 방식이라고 λ³Ό 수 μžˆλ‹€.

ν•œνŽΈ, μœ„ λͺ¨λ“  μ œμ•½ 쑰건을 λ§Œμ‘±ν•œλ‹€λ©΄ μ΅œμ ν™” λ²„μ „μ˜ 뉴턴-랩슨 방식은 κ²½μ‚¬ν•˜κ°•μ— λΉ„ν•΄ μƒλ‹Ήνžˆ λΉ λ₯Έ 수렴 속도λ₯Ό κ°–λŠ”λ° κ·Έ 이유λ₯Ό κ°„λ‹¨νžˆ μ‚΄νŽ΄λ³΄μž. κ²°κ³ΌλΆ€ν„° μ„€λͺ…ν•˜λ©΄ 뉴턴-랩슨 방식이 사싀상 Least Square Method(μ΅œμ†Œ μžμŠΉλ²•) 와 λ™μΉ˜λΌμ„œ κ·Έλ ‡λ‹€. λͺ©μ ν•¨μˆ˜ $f(x)$λ₯Ό MSE 둜 두고 μ„ ν˜• νšŒκ·€ 문제λ₯Ό ν‘ΈλŠ” 상황을 κ°€μ •ν•΄λ³΄μž.

\[Z = Ax+n \\ f(x) = (Z-Ax)^T(Z-Ax)\]

λͺ©μ ν•¨μˆ˜λ₯Ό μ •μ˜ν–ˆκΈ° λ•Œλ¬Έμ— μš°λ¦¬λŠ” 이제 λͺ©μ ν•¨μˆ˜μ˜ λ„ν•¨μˆ˜μ™€ μ΄κ³„λ„ν•¨μˆ˜λ₯Ό ꡬ할 수 μžˆλ‹€.

\[f'(x) = -2A^T(Z-Ax)\\ f''(x) = 2A^tA\]

λ„ν•¨μˆ˜μ™€ 이계도 ν•¨μˆ˜λ₯Ό λ‰΄ν„΄β€”λž©μŠ¨ μˆ˜μ‹μ— λŒ€μž…ν•˜λ©΄ λ‹€μŒκ³Ό κ°™λ‹€.

\[x_{n+1} := x_n + \frac{A^T(Z-Ax)} {A^TA} = x_n + (A^TA)^{-1}A^T(Z-Ax)\]

λΆ„λͺ¨λŠ” ν—€μ‹œμ•ˆ ν–‰λ ¬κ³Ό λ™μΉ˜λ‹€. ν–‰λ ¬λ‘œ μ–΄λ–€ 수λ₯Ό λ‚˜λˆŒ μˆ˜λŠ” μ—†κΈ° λ•Œλ¬Έμ— λ‚˜λˆ—μ…ˆ ν‘œν˜„ λŒ€μ‹  μ—­ν–‰λ ¬λ‘œ ν‘œκΈ°ν–ˆλ‹€. 그리고 μˆ˜μ‹μ΄ μƒλ‹Ήνžˆ λ”λŸ½κΈ° λ•Œλ¬Έμ— 정리λ₯Ό μœ„ν•΄ μ „κ°œλ₯Ό 해보렀 ν•œλ‹€. μ „κ°œ κ²°κ³ΌλŠ” λ‹€μŒκ³Ό κ°™λ‹€.

\[x_{n+1} := x_n + (A^TA)^{-1}A^TZ - (A^TA)^{-1}A^TAx_n = (A^TA)^{-1}A^TZ\]

ν—€μ‹œμ•ˆ 행렬이 invertible ν•΄μ•Όν•œλ‹€λΌλŠ” μ œμ•½ 쑰건이 μ—¬κΈ°μ„œ λ“±μž₯ν•œλ‹€. λ§Œμ•½ ν—€μ‹œμ•ˆ 행렬이 invertible 이라면, λ‹€ 날라가고 μš°λ³€μ˜ ν•­λ§Œ λ‚¨κ²Œ λœλ‹€. μš°λ³€μ˜ 항을 μžμ„Ένžˆ μ‚΄νŽ΄λ³΄λ©΄, Least Square Method(μ΅œμ†Œ μžμŠΉλ²•) 의 μˆ˜μ‹κ³Ό λ™μΌν•˜λ‹€λŠ” 것을 μ•Œ 수 μžˆλ‹€. κ²½μ‚¬ν•˜κ°•κ³ΌλŠ” λ‹€λ₯΄κ²Œ $x_n$κ³Ό κ΄€λ ¨λœ 항이 μˆ˜μ‹μ— μ „ν˜€ λ‚¨μ•„μžˆμ§€ μ•ŠκΈ° λ•Œλ¬Έμ—, μ΅œμ†Œ μžμŠΉλ²• μˆ˜μ‹μ„ ν•œ 번 ν’€μ–΄λ‚΄λŠ” κ²ƒλ§ŒμœΌλ‘œ 극점에 λ„λ‹¬ν•˜μ—¬ μˆ˜λ ΄μ†λ„κ°€ 훨씬 λΉ λ₯΄κ²Œ λ˜λŠ” 것이닀.

Newton-Raphson for Optimization Newton-Raphson for Optimization

두 방식이 μ΅œμ ν™” 문제λ₯Ό ν’€μ–΄λ‚˜κ°€λŠ” 과정을 λΉ„κ΅ν•˜κΈ° μœ„ν•΄ μ‹œκ°ν™”λ₯Ό μ‹œλ„ν•΄λ΄€λ‹€. ν•„μžμ˜ μ‹œκ°ν™” μ‹€λ ₯이 맀우 쒋지 λͺ»ν•΄ κ·Έ 차이가 μ§κ΄€μ μœΌλ‘œ 잘 μ•ˆλ³΄μΈλ‹€β€¦ λΉ¨κ°„ 직선은 뉴턴-랩슨 방식이고 νŒŒλž€ 직선은 경사 ν•˜κ°• 방법이닀. μ „μžλŠ” μœ„μ—μ„œ μ‚΄νŽ΄λ³Έ κ²ƒμ²˜λŸΌ ν•œλ²ˆμ— κ·Ήμ†Œμ μœΌλ‘œ μ΄λ™ν•˜λŠ” 것을 λ³Ό 수 μžˆλ‹€. ν•œνŽΈ ν›„μžλŠ” μˆ˜λ§Žμ€ Iteration 을 거쳐 κ·Ήμ†Œμ μ— λ„λ‹¬ν•œλ‹€. ν•„μžμ˜ μ‹œκ°ν™” μžλ£Œκ°€ μƒλ‹Ήνžˆ 쒋지 λͺ»ν•˜λ‹€κ³  생각해 ν•˜λ‹¨μ— ν˜νŽœν•˜μž„λ‹˜μ˜ μžλ£Œλ„ ν•¨κ»˜ μ²¨λΆ€ν–ˆμœΌλ‹ˆ μ°Έκ³ ν•˜μž. 훨씬 μ§κ΄€μ μœΌλ‘œ 잘 보인닀.

Newton-Raphson vs Gradient-Descent Newton-Raphson vs Gradient-Descent

Leave a comment