[λͺ¨λμ μΈκ³΅μ§λ₯ κΈ°μ΄μν] λ―ΈλΆ-1
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μ νμμ΄ κ°κΉμμ§λ©΄(μλ ΄νλ©΄)
x → -∞ μΌ λ, 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β