Book-study/λͺ¨λ‘μ˜ 인곡지λŠ₯ κΈ°μ΄ˆμˆ˜ν•™

[λͺ¨λ‘μ˜ 인곡지λŠ₯ κΈ°μ΄ˆμˆ˜ν•™] λ―ΈλΆ„-1

hong- 2022. 2. 8. 11:32

7 ν•¨μˆ˜μ˜ κ·Ήν•œκ³Ό 연속


πŸ’‘  ν•¨μˆ˜μ˜ κ·Ήν•œκ³Ό μ΅œλŒ€, μ΅œμ†Œ

#1 λ―ΈλΆ„

πŸ‘‰πŸ» 인곡지λŠ₯μ—μ„œ 미뢄은 'μ—­μ „νŒŒ'μ—μ„œ ν™œμš©λ¨ 

β‘  μž…λ ₯μΈ΅ input

 : 데이터가 μž…λ ₯λ˜λŠ” 계측

β‘‘ 은닉측 hidden

 : μž…λ ₯μΈ΅κ³Ό 좜λ ₯μΈ΅ 사이에 μœ„μΉ˜ν•˜μ—¬ λ³΅μž‘ν•œ λΆ„λ₯˜ λ¬Έμ œμ—μ„œ νŒλ³„ 경계λ₯Ό μ°ΎλŠ”λ° μ‚¬μš©

β‘’ 좜λ ₯μΈ΅ output

 : ν™œμ„±ν™” ν•¨μˆ˜ 값을 κ³„μ‚°ν•˜μ—¬ 좜λ ₯을 κ²°μ •

β‘£ κ°€μ€‘μΉ˜ weight

 : 각 μ‹ ν˜Έκ°€ 결과에 μ£ΌλŠ” 영ν–₯λ ₯을 μ‘°μ ˆν•˜λŠ” μš”μ†Œλ‘œ κ°€μ€‘μΉ˜κ°€ 클수둝 ν•΄λ‹Ή μ‹ ν˜Έκ°€ 그만큼 더 μ€‘μš”ν•˜λ‹€λŠ” 의미

β‘€ 가쀑합 weighted sum

 : μž…λ ₯κ°’(x)κ³Ό κ°€μ€‘μΉ˜(w)의 곱을 λͺ¨λ‘ λ”ν•œ ν›„ κ·Έ 값을 편ν–₯(b)에 λ”ν•œ κ°’

β‘₯ 편ν–₯ bias

 : 가쀑합에 λ”ν•˜λŠ” μƒμˆ˜λ‘œ ν•˜λ‚˜μ˜ λ‰΄λŸ°μ—μ„œ ν™œμ„±ν™” ν•¨μˆ˜λ₯Ό 거쳐 μ΅œμ’…μœΌλ‘œ 좜λ ₯λ˜λŠ” 값을 μ‘°μ ˆν•¨

⑦ ν™œμ„±ν™” ν•¨μˆ˜ activation function

 : κ°€μ€‘ν•©μ˜ κ²°κ³Όλ₯Ό 놓고 1λ˜λŠ” 0을 좜λ ₯ν•΄μ„œ λ‹€μŒ λ‰΄λŸ°μœΌλ‘œ λ³΄λ‚΄λŠ”λ° 이 λ•Œ 0κ³Ό 1을 νŒλ‹¨ν•˜λŠ” ν•¨μˆ˜κ°€ ν™œμ„±ν™” ν•¨μˆ˜

# λ―ΈλΆ„κ³Ό 인곡지λŠ₯ 관계

- 각 원(λ‰΄λŸ°) 값을 κ΅¬ν•˜λ €λ©΄ μž…λ ₯ 데이터, κ°€μ€‘μΉ˜, 편ν–₯, ν™œμ„±ν™” ν•¨μˆ˜λ§Œ μ•Œλ©΄ 됨

- μž…λ ₯ λ°μ΄ν„°λŠ” 이미 μ•Œκ³ μžˆκ³  ν™œμ„±ν™” ν•¨μˆ˜λ„ κ°€μ€‘ν•©μœΌλ‘œ μ•Œ 수 있기 λ•Œλ¬Έμ— κ°€μ€‘μΉ˜μ™€ 편ν–₯만 κ΅¬ν•˜λ©΄ 됨 !

- κ°€μ€‘μΉ˜μ™€ 편ν–₯은 μ—­μ „νŒŒλ‘œ κ΅¬ν•˜λŠ”λ° 이 λ•Œ 미뢄을 μ‚¬μš© 

- 좜λ ₯ κ°’κ³Ό μ •λ‹΅μ˜ 차이가 0에 κ°€κΉŒμ›Œμ§€λ„λ‘ κ°€μ€‘μΉ˜μ™€ 편ν–₯의 값을 κ³„μ†ν•΄μ„œ μ‘°μ •ν•˜κΈ° 반볡

# μ—­μ „νŒŒ

x(i) : μž…λ ₯κ°’
y(i) : 좜λ ₯κ°’
w(i) : ν˜„μž¬ κ°€μ€‘μΉ˜
w(i+1) : w(i)의 μ—…λ°μ΄νŠΈ 된 κ°’
n(i) : ν•™μŠ΅λ₯  ( 0 < n ≤ 1)

(1) λ§Œμ•½, w(i) * x(i) > 0 & y(i) = -1이면,  w(i+1) = w(i) - n(i) * x(i) 

- i번째 좜λ ₯값이 -1 이고 i번째 μž…λ ₯κ°’κ³Ό i번째 κ°€μ€‘μΉ˜λ₯Ό κ³±ν•œ 값이 0보닀 클 λ•Œ

- μ •λ‹΅κ³Ό 좜λ ₯κ°’μ˜ 였차λ₯Ό 쀄이렀고 ν˜„μž¬ κ°€μ€‘μΉ˜ 값에 ν•™μŠ΅λ₯ κ³Ό μž…λ ₯값을 κ³±ν•œ 값을 λΉΌλ©΄μ„œ κ°€μ€‘μΉ˜λ₯Ό μ—…λ°μ΄νŠΈ

 

(2) λ§Œμ•½, w(i) * x(i) ≤ 0 & y(i) = 1이면,  w(i+1) = w(i) + n(i) * x(i) 

- i번째 좜λ ₯값이 1이고 i번째 μž…λ ₯κ°’κ³Ό i번째 κ°€μ€‘μΉ˜λ₯Ό κ³±ν•œκ°’μ΄ 0보닀 μž‘κ±°λ‚˜ 같을 λ•Œ

- ν˜„μž¬ κ°€μ€‘μΉ˜μ— ν•™μŠ΅λ₯ κ³Ό μž…λ ₯값을 κ³±ν•œ 값을 λ”ν•˜λ©΄μ„œ κ°€μ€‘μΉ˜λ₯Ό μ—…λ°μ΄νŠΈ

 

→ 미뢄은 (좜λ ₯ κ°’ - μ •λ‹΅)² 값을 κ°€μ€‘μΉ˜λ‘œ λ―ΈλΆ„ν•  λ•Œ μ‚¬μš©

      w(i) - n(i) * x(i) λ₯Ό w(i)둜 λ―ΈλΆ„ν•˜κ±°λ‚˜ w(i) + n(i) * x(i) λ₯Ό w(i)둜 λ―ΈλΆ„ν•œ 값이 w(i+1) !!!!!

인곡지λŠ₯μ—μ„œ ν•™μŠ΅μ΄λž€ ? μ‹ κ²½λ§μ—μ„œ μ›ν•˜λŠ” κ²°κ³Όλ₯Ό μ–»κΈ° μœ„ν•΄ λ‰΄λŸ° μ‚¬μ΄μ˜ μ λ‹Ήν•œ κ°€μ€‘μΉ˜λ₯Ό μ•Œμ•„λ‚΄λŠ” 것
즉, κ°€μ€‘μΉ˜λ₯Ό μ΅œμ ν™”ν•˜λŠ” 것이라고 ν•  λ•Œ 미뢄은 인곡지λŠ₯의 κ°€μ€‘μΉ˜ κ³„μ‚°μ—μ„œ 핡심

πŸ‘‰πŸ» λ―ΈλΆ„ ? ν•œ μ μ—μ„œ 기울기

( μ›λž˜ 두 점 μ‚¬μ΄μ˜ 기울기λ₯΄ μ˜λ―Έν•˜μ§€λ§Œ 두 점의 사이가 0에 κ°€κΉŒμšΈ μ •λ„λ‘œ κ°€κΉŒμ›Œ ν•œ μ μ—μ„œμ˜ 기울기라고 ν‘œν˜„ )

→ f(x) λΌλŠ” ν•¨μˆ˜ μœ„μ˜ ν•œμ  ( a, f(a) )μ—μ„œμ˜ 기울기이며  f'(a) 라고 씀

πŸ‘‰πŸ» f '(a)

β‘  aλΌλŠ” μ μ—μ„œμ˜ 기울기

β‘‘ aλΌλŠ” μ μ—μ„œ μ ‘μ„ μ˜ 기울기

β‘’ aλΌλŠ” μ μ—μ„œμ˜ λ―ΈλΆ„ κ°’

β‘£ aλΌλŠ” μ μ—μ„œμ˜ λ―ΈλΆ„ κ³„μˆ˜

→ f(x) ν•¨μˆ˜ μœ„μ— P(a, f(a)) λΌλŠ” 점이 있고 aμ—μ„œ 각 각 hλ§ŒνΌμ”© 움직인 Q( a+h, f(a+h) )λΌλŠ” 점이 μžˆμ„ λ•Œ,

                                                         μ  P와 Q μ‚¬μ΄μ˜ κΈ°μšΈκΈ°λŠ” ?

** μ—¬κΈ°μ„œ κΈ°μšΈκΈ°λŠ” x의 μ¦κ°€λŸ‰μ΄ 0κ³Ό κ°€κΉŒμ›Œμ§ˆ λ•Œμ˜ 기울기

     x의 μ¦κ°€λŸ‰μ„ κ³„μ‚°ν•˜λ©΄ 결ꡭ은 h만 λ‚¨μœΌλ©° x의 μ¦κ°€λŸ‰μ€ hκ°€ 됨

      → hλ₯Ό 0으둜 보내면 μˆ˜μ‹ ν‘œν˜„ κ°€λŠ₯

- 점 Qκ°€ 점 P의 0에 κ°€κΉŒμ›Œμ§„λ‹€λ©΄ κΈ°μšΈκΈ°κ°€ 점점 λ³€ν•˜λ©΄μ„œ κ²°κ΅­ ν•œ 점 Pμ—μ„œμ˜ κΈ°μšΈκΈ°κ°€ 됨

 

#2 ν•¨μˆ˜μ˜ κ·Ήν•œ(수렴과 λ°œμ‚°)

πŸ‘‰πŸ» ν•¨μˆ˜μ˜ κ·Ήν•œ(수렴)

-  ν•¨μˆ˜ f(x)μ—μ„œ xκ°€ a와 λ‹€λ₯Έ 값을 μ·¨ν•˜λ©΄μ„œ a에 ν•œ 없이 κ°€κΉŒμ›Œμ§ˆ λ•Œ,

    즉 f(x) 값이 μΌμ •ν•œ κ°’ b에 ν•œ 없이 κ°€κΉŒμ›Œμ§€λ©΄ ν•¨μˆ˜ f(x)λŠ” b에 μˆ˜λ ΄ν•œλ‹€κ³  ν‘œν˜„

- μ΄λ•Œ bλ₯Ό x 값이 a에 ν•œμ—†μ΄ κ°€κΉŒμ›Œμ§ˆ λ•Œ f(x)의 κ·Ήν•œ κ°’ λ˜λŠ” κ·Ήν•œμ΄λΌκ³  함

x → aμΌλ•Œ, f(x) → b λ˜λŠ” limf(x) = b

* x  → a 의 μ˜λ―ΈλŠ” ?
(1) x와 aκ°€ κ°™μ§€ μ•Šλ‹€λ©΄ a에 ν•œμ—†μ΄ κ°€κΉŒμ΄ κ°€λŠ” μƒνƒœλ₯Ό 의미
(2) μ’Œκ·Ήν•œ(x  → a - 0) κ³Ό μš°κ·Ήν•œ(x  → a + 0) 두 경우λ₯Ό λ¬Άμ–΄μ„œ (x  → a)둜 λ‚˜νƒ€λƒ„

특히 μƒμˆ˜ν•¨μˆ˜ f(x) = cλŠ” λͺ¨λ“  x 값에 λŒ€ν•΄ 항상 같은 κ°’ cλ₯Ό 좜λ ₯ 
 

πŸ‘‰πŸ» ∞, -∞μ—μ„œ ν•¨μˆ˜μ˜ κ·Ήν•œ

- ν•¨μˆ˜ f(x)μ—μ„œ xκ°€ μ–‘μˆ˜μ΄λ©΄μ„œ κ·Έ μ ˆλŒ€κ°’μ΄ ν•œ 없이 컀질 λ•Œ, ν•¨μˆ˜ f(x) 값이 μΌμ •ν•œ κ°’ a에 ν•œμ—†μ΄ κ°€κΉŒμ›Œμ§€λ©΄(μˆ˜λ ΄ν•˜λ©΄) 

                                        x 일 λ•Œ, f(x) a λ˜λŠ” limf(x) =a 둜 ν‘œν˜„ν•¨

- ν•¨μˆ˜ f(x)μ—μ„œ xκ°€ μŒμˆ˜μ΄λ©΄μ„œ κ·Έ μ ˆλŒ€κ°’μ΄ ν•œ 없이 컀질 λ•Œ, ν•¨μˆ˜ f(x) 값이 μΌμ •ν•œ κ°’ a에 ν•œμ—†μ΄ κ°€κΉŒμ›Œμ§€λ©΄(μˆ˜λ ΄ν•˜λ©΄) 

                                       → - 일 λ•Œ, f(x)  a λ˜λŠ” limf(x) =a 둜 ν‘œν˜„ν•¨

πŸ‘‰πŸ» ν•¨μˆ˜μ˜ λ°œμ‚°

- f(x)μ—μ„œ ν•¨μˆ˜ 값이 μ–΄λ–€ μ‹€μˆ˜ 값에 μˆ˜λ ΄ν•˜μ§€ μ•Šκ³  λ¬΄ν•œνžˆ μ»€μ§€λŠ” 것을 의미

1) μ–‘μ˜ λ¬΄ν•œλŒ€

- ν•¨μˆ˜ f(x)μ—μ„œ x 값이 a에 ν•œ 없이 κ°€κΉŒμ›Œμ§ˆ λ•Œ, f(x) 값이 ν•œ 없이 컀지면 f(x)λŠ” μ–‘μ˜ λ¬΄ν•œλŒ€λ‘œ λ°œμ‚°ν•œλ‹€κ³  함

                                                  x a일 λ•Œ, f(x) →  λ˜λŠ” limf(x) =

2) 음의 λ¬΄ν•œλŒ€

- ν•¨μˆ˜ f(x)μ—μ„œ x 값이 a에 ν•œ 없이 κ°€κΉŒμ›Œμ§ˆ λ•Œ, f(x) 값이 μŒμˆ˜μ΄λ©΄μ„œ κ·Έ μ ˆλŒ€κ°’μ΄ ν•œ 없이 컀지면 f(x)λŠ” 음의 λ¬΄ν•œλŒ€λ‘œ λ°œμ‚°ν•œλ‹€κ³  함

                               x  a일 λ•Œ, f(x) → -  λ˜λŠ” limf(x) = - 

3) 진동

- κ·Ήν•œμœΌλ‘œ λ‹€κ°€ 갈 수둝 λŠμž„μ—†μ΄ μ§„λ™ν•˜λŠ” 것

 

# 파이썬으둜 κ·Ήν•œκ°’ κ΅¬ν•˜κΈ°

from sympy import Limit, S, Symbol
x = Symbol('x')
Limit(1/x, x, S.Infinity).doit()                   # 1/x에 λŒ€ν•œ κ·Ήν•œ κ°’, κ²°κ³Ό : 0
Limit(1/x, x, 0).doit()                             # μš°κ·Ήν•œ κ°’, κ²°κ³Ό :
Limit(1/x,x,0,dir='-').doit()                  # μ’Œκ·Ήν•œ κ°’, κ²°κ³Ό :

- Limit ν•¨μˆ˜λ‘œλŠ” κ·Ήν•œκ°’μ„ ꡬ할 수 있음

- Sν•¨μˆ˜λ‘œ λ¬΄ν•œ(infinity)의 μ •μ˜λ₯Ό 포함할 수 있음

- Limit( κ·Ήν•œμ„ κ΅¬ν•˜λŠ” ν•¨μˆ˜μ˜ κ°’, xλ³€μˆ˜, xλ³€μˆ˜μ— λ‹€κ°€κ°€λŠ” κ°’)

- κ·Ήν•œ 값을 κ³„μ‚°ν•˜κΈ° μœ„ν•΄μ„œλŠ” doit() ν•¨μˆ˜ μ‚¬μš©

- μ’Œκ·Ήν•œμ€ dir='-'λ₯Ό 포함해야 함

πŸ‘‰πŸ» 쒌/μš°κ·Ήν•œ 및 κ·Ήν•œκ°’μ˜ 쑰건

# ν•¨μˆ˜μ˜ μ’Œκ·Ήν•œ μš°κ·Ήν•œ

* x 값이 3으둜 κ°€κΉŒμ›Œμ§€λŠ” 두 κ°€μ§€ μƒνƒœ

1) 3보닀 ν¬λ©΄μ„œ 3으둜 λ‹€κ°€μ˜€λŠ” μƒνƒœλ₯Ό 3+둜 ν‘œν˜„ (μš°κ·Ήν•œ)

2) 3보닀 μž‘μœΌλ©΄μ„œ 3으둜 λ‹€κ°€μ˜€λŠ” μƒνƒœλ₯Ό 3-둜 ν‘œν˜„ (μ’Œκ·Ήν•œ)

 

→ ν•¨μˆ˜ f(x)μ—μ„œ xκ°€ a보닀 μž‘μœΌλ©΄μ„œ a둜 점점 κ°€κΉŒμ›Œμ§ˆ λ•Œ, f(x)κ°€ κ°€κΉŒμ›Œμ§€λŠ” 값이 μžˆλ‹€λ©΄ 이것을 점 aμ—μ„œ ν•¨μˆ˜μ˜ μ’Œκ·Ήν•œμ΄λΌκ³ ν•¨

→ ν•¨μˆ˜ f(x)μ—μ„œ xκ°€ a보닀 ν¬λ©΄μ„œ a둜 점점 κ°€κΉŒμ›Œμ§ˆ λ•Œ, f(x)κ°€ κ°€κΉŒμ›Œμ§€λŠ” 값이 μžˆλ‹€λ©΄ 이것을 점 aμ—μ„œ ν•¨μˆ˜μ˜ μš°κ·Ήν•œμ΄λΌκ³ ν•¨

# κ·Ήν•œκ°’μ˜ 쑴재 쑰건

" μš°κ·Ήν•œκ³Ό μ’Œκ·Ήν•œμ΄ κ°™μ•„μ•Ό 함 "

 

#3 ν•¨μˆ˜μ˜ 연속

- κ·Έλž˜ν”„κ°€ λŠμ–΄μ§€μ§€ μ•Šκ³  계속 μ—°κ²°λœ ν•¨μˆ˜λ₯Ό 의미

- ν•¨μˆ˜ f(x)κ°€ x=aμ—μ„œ 연속이닀

β‘  ν•¨μˆ˜ f(x)κ°€ x=aκ°€ μ •μ˜λ˜μ–΄μ•Ό 함

β‘‘ limf(x)κ°€ μ‘΄μž¬ν•΄μ•Ό 함 = μ’Œκ·Ήν•œκ³Ό μš°κ·Ήν•œμ΄ κ°™μŒ    

β‘’ limf(x) = f(a)μ–΄μ•Ό 함

* ν•¨μˆ˜μ˜ λΆˆμ—°μ† ? x=aμ—μ„œ λŠμ–΄μ§„ ν•¨μˆ˜

     β‘  x=aκ°€ μ •μ˜λ˜μ§€ μ•ŠμŒ               β‘‘ μ’Œκ·Ήν•œκ³Ό μš°κ·Ήν•œμ΄ 닀름           β‘’limf(x)와 f(a)κ°€ 닀름

#4 ν•¨μˆ˜μ˜ μ΅œλŒ€, μ΅œμ†Œ

πŸ‘‰πŸ» μ΄μ°¨ν•¨μˆ˜ ν‘œν˜„ : y = t(x - p)² + q

(1) a>0μΌλ•Œ, μ΅œλŒ“κ°’μ€ μ—†κ³  μ΅œμ†Ÿκ°’μ€ q

(2) a<0μΌλ•Œ, μ΅œλŒ“κ°’μ€ q이고 μ΅œμ†Ÿκ°’μ€ μ—†μŒ

πŸ‘‰πŸ» ν•¨μˆ˜ 값에 λŒ€ν•œ λ²”μœ„κ°€ { x | a ≤ x ≤ b } 둜 μ •ν•΄μ Έ μžˆμ„ λ•Œ

(1) κΌ­μ§€μ μ˜ x μ’Œν‘œκ°€ a ≤ x ≤ b에 ν¬ν•¨λ˜λŠ” 경우 f(a), f(p), f(b) κ°’ 쀑 κ°€μž₯ 큰 값이 μ΅œλŒ“κ°’, μž‘μ€ 값이 μ΅œμ†Ÿκ°’

 

(2) κΌ­μ§€μ μ˜ x μ’Œν‘œκ°€ a ≤ x ≤ b에 ν¬ν•¨λ˜μ§€ μ•ŠλŠ” 경우 f(a), f(b) κ°’ 쀑 큰 값이 μ΅œλŒ“κ°’, μž‘μ€ 값이 μ΅œμ†Ÿκ°’

 



8 λ‹€ν•­ν•¨μˆ˜μ˜ λ―ΈλΆ„


πŸ’‘  λ‹€ν•­ν•¨μˆ˜μ˜ λ―ΈλΆ„

#1 ν‰κ· λ³€ν™”μœ¨

- 미뢄은 xκ°€ λ³€ν•˜λŠ” μ–‘μ—λŒ€ν•΄ yκ°€ μ–Όλ§ˆλ‚˜ λ³€ν•˜λŠ”μ§€λ₯Ό κ΅¬ν•˜λŠ” λ³€ν™”μœ¨μ„ κ΅¬ν•˜λŠ” 것

- λ³€ν™”μœ¨μ—λŠ” μˆœκ°„λ³€ν™”μœ¨κ³Ό ν‰κ· λ³€ν™”μœ¨μ΄ 있음

- μˆœκ°„λ³€ν™”μœ¨μ€ μ°°λ‚˜μ˜ μˆœκ°„μ— λŒ€ν•œ λ³€ν™”μœ¨μ„ κ΅¬ν•˜λŠ” κ²ƒμœΌλ‘œ κ·Έ μ°°λ‚˜μ˜ λ³€ν™”μœ¨μ„ μˆœκ°„λ³€ν™”μœ¨ ν˜Ήμ€ λ―ΈλΆ„κ³„μˆ˜λΌκ³ ν•¨

μˆ˜ν•™μ—μ„œ μ¦κ°€λŸ‰μ„ ν‘œν˜„ν•  λ•ŒλŠ” β–³x 기호 μ‚¬μš©
ex) xκ°€ 1μ—μ„œ 5둜 λ³€ν–ˆλ‹€κ³  κ°€μ‘ν–ˆμ„ λ•Œ, xλŠ” 4만큼 μ¦κ°€ν–ˆλ‹€λ©΄ 기호둜 β–³x = 4 둜 ν‘œν˜„

πŸ‘‰πŸ» ν‰κ· λ³€ν™”μœ¨μ΄λž€ ? ν•¨μˆ˜ f(x)κ°€ μžˆμ„ λ•Œ x μ¦κ°€λŸ‰ λΆ„μ˜ y μ¦κ°€λŸ‰μ„ 의미

*  xκ°€ aμ—μ„œ b둜 λ³€ν•  λ•Œ 평균 λ³€ν™”μœ¨μ€? ( λ’€μ˜ κ²½μš°λŠ” β–³x λ₯Ό h둜 μΉ˜ν™˜ )

 

 

 

 

두 정점을 μ§€λ‚˜λŠ” μ§μ„ μ˜ κΈ°μšΈκΈ°κ°€ ν‰κ· λ³€ν™”μœ¨

 

# 파이썬으둜 ν‰κ· λ³€ν™”μœ¨ κ΅¬ν•˜κΈ°

from sympy import symbols

def average(a,b) :
    m = max(a,b)                  # a, b의 μ΅œλŒ“κ°’
    n = min(a,b)                    # a, b의 μ΅œμ†Ÿκ°’ 
    x=symbols('x')                # 기호 λ³€μˆ˜ x μ„ μ–Έ 
    
    fx = 2*x**2 + 4 * x + 7          #2x^2 + 4x + 7 ν•¨μˆ˜ μ •μ˜ 
    fb = fx.subs(x, m)                  # ν•¨μˆ˜μ— m λŒ€μž…
    fa = fx.subs(x, n)                    # ν•¨μˆ˜μ— n λŒ€μž…
    
    result = (fb-fa)/ (m-n)
    return result

print(average(0,2))                  # κ²°κ³Ό : 8

#2 λ―ΈλΆ„κ³„μˆ˜ (μˆœκ°„λ³€ν™”μœ¨)

πŸ‘‰πŸ» λ―ΈλΆ„κ³„μˆ˜λŠ” x의 μ¦κ°€λŸ‰μ΄ 0으둜 κ°€κΉŒμ΄ 갈 λ•Œ ν‰κ· λ³€ν™”μœ¨

- ν•¨μˆ˜ y=f(x)인 경우 xκ°€ aλΆ€ν„° a+β–³x둜 λ³€ν•  λ•Œμ˜ ν‰κ· λ³€ν™”μœ¨

- x의 λ³€ν™”λŸ‰μ„ 0으둜 κ°€κΉŒμ΄ 보낸 것이 λ―ΈλΆ„κ³„μˆ˜

- 즉, xκ°€ aλΆ€ν„° a+β–³x둜 λ³€ν•  λ•Œμ˜ ν‰κ· λ³€ν™”μœ¨μ—μ„œ β–³x→ 0일 λ•Œμ˜ κ·Ήν•œκ°’μ„

         x=aμ—μ„œμ˜ λ―ΈλΆ„κ³„μˆ˜ λ˜λŠ” μˆœκ°„λ³€ν™”μœ¨μ΄λΌκ³  ν•˜λ©° f'(a)둜 ν‘œν˜„ (λ’€λŠ” x=a+h)

 

 

 

 

 

f'(a)λŠ” ν•¨μˆ˜ y=f(x)κ°€ μžˆμ„ λ•Œ,

(a, f(a))μ—μ„œ μ ‘μ„ μ˜ 기울기

 

# νŒŒμ΄μ¬μ—μ„œ λ―ΈλΆ„κ³„μˆ˜ κ΅¬ν•˜κΈ°

from sympy import Derivative, symbols
 x   = symbols('x')
fx = 2*x**2 + 4 * x + 7                                                               #2x^2 + 4x + 7 ν•¨μˆ˜ μ •μ˜ 

fprime = Derivative(fx, x).doit()                                          #fx의 x에 λŒ€ν•΄ λ―ΈλΆ„ν•˜κ² λ‹€λŠ” 의미 / derivativ클래슀의 객체 생성
n = fprime.subs({x: 3})                                                            #x=3μ—μ„œμ˜ λ―ΈλΆ„κ³„μˆ˜ f'(3) κ΅¬ν•˜κΈ°
print("fxμ—μ„œ x=3μ—μ„œμ˜ μˆœκ°„λ³€ν™”μœ¨(λ―ΈλΆ„κ³„μˆ˜)λŠ”", n, "μž…λ‹ˆλ‹€")                  # κ²°κ³Ό : 16

#3 λ„ν•¨μˆ˜

πŸ‘‰πŸ» λ„ν•¨μˆ˜λž€? ν•¨μˆ˜f(x)λ₯Ό λ―ΈλΆ„ν•˜μ—¬ 얻은 f'(x)

- dλŠ” λ³€ν™”λŸ‰(β–³)을 μ˜λ―Έν•˜λŠ” 기호, κ·Έ λ³€ν™”λŸ‰μ„ μ•„μ£Ό μž‘μ€ 0으둜 λ³΄λ‚΄λŠ” 것

# νŒŒμ΄μ¬μ—μ„œ λ„ν•¨μˆ˜ κ΅¬ν•˜κΈ°

from sympy import Derivative, symbols

x=symbols('x')
fx=2*x**2+4*x+7

Derivative(fx,x).doit()

#4 ν•¨μˆ˜μ˜ 연속과 λ―ΈλΆ„ κ°€λŠ₯μ„±

- μ–΄λ–€ ν•¨μˆ˜κ°€ x=aμ—μ„œ 미뢄이 κ°€λŠ₯ν•˜λ‹€λŠ” 것은 x=aμ—μ„œμ˜ λ―ΈλΆ„κ³„μˆ˜κ°€ μ‘΄μž¬ν•œλ‹€λŠ” 의미

= λ―ΈλΆ„κ°€λŠ₯μ„± = λ―ΈλΆ„κ³„μˆ˜ = ν‰κ· λ³€ν™”μœ¨μ˜ κ·Ήν•œκ°’

* λ―ΈλΆ„κ°€λŠ₯μ„±κ³Ό μ—°μ†μ„±κ°„μ˜ 관계   λ―ΈλΆ„κ°€λŠ₯ν•˜λ©΄ 연속이닀

 

(1) λ―ΈλΆ„ κ°€λŠ₯ν•˜λ©΄ 연속이닀

(2) μ—°μ†μ΄λΌκ³ ν•΄μ„œ 항상 λ―ΈλΆ„ κ°€λŠ₯ν•œ 것은 μ•„λ‹˜

 

 

 

# λ―ΈλΆ„μ˜ κ°€λŠ₯ν•œ 경우

- μ ‘μ„ μ˜ 기울기λ₯Ό μ •ν™•νžˆ ꡬ할 수 μžˆμ–΄μ•Ό 함

- μ—°μ†μœΌλ‘œ κ·Έλž˜ν”„κ°€ 이어져 λΆ€λ“œλŸ½κ²Œ 이어진 것은 ꡬ할 수 있음

#5 λ‹€ν•­ν•¨μˆ˜μ˜ 미뢄법

πŸ‘‰πŸ» λ―ΈλΆ„λ²•μ˜ κΈ°λ³Έ 곡식 

β‘  f(x) = c이면 f'(x) = 0

β‘‘ f(x) = xⁿ이면 f'(x)=nxⁿ˘¹

β‘’ { cf(x) }' = cf'(x)

β‘£ {f(x) ± g(x)}' = f'(x) ± g'(x)

β‘€ {f(x)g(x)}' = f'(x)g(x) + f(x)g'(x)

# 파이썬으둜 λ―ΈλΆ„ν•  ν•¨μˆ˜μ™€ λ―ΈλΆ„ν•  λ³€μˆ˜λ₯Ό μ΄μš©ν•˜μ—¬ λ―ΈλΆ„ κ³„μ‚°ν•˜κΈ°

import sypy as sym
x = sym.Symbol('x')
a = sym.diff( (2*x**3 + 3*x**2 + x + 1 ), x )
print(a)
6*x**2 +6*x + 1​