| μΌ | μ | ν | μ | λͺ© | κΈ | ν |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
- ν
- RENAMETABLE
- 무결μ±μ μ§λ©μ»€λμ¦
- μκ³ λ¦¬μ¦
- latent factor
- Python
- latent factor model
- λ¬Έμμ΄
- CREATETABLE
- Key μ’ λ₯
- SQL
- λΆκ½λ°μ΄ν°μ
- sklearn
- ν€ μ’ λ₯
- ALTERTABLE
- TDD
- λ°±μ€
- μ μ¬μμλͺ¨λΈ
- μΈλλ³κ°λΉμ§μ»¬λ ν°
- 무결μ±
- 무결μ±μ μ§
- μ¬μ΄ν·λ°
- 컨ν μ΄λκ°μ²΄
- DROPTABLE
- ν΄λ¦°μ½λ
- SQLDDL
- Hyperlink Graphs
- νμ΄μ¬
- μ£Όμ±λΆ μ°ΎκΈ°
- knn_classify
- Today
- Total
DonHurry
step22. μ°μ°μ μ€λ²λ‘λ(3) λ³Έλ¬Έ
π’ λ³Έ ν¬μ€ν μ λ°λ°λ₯λΆν° μμνλ λ₯λ¬λ3μ κΈ°λ°μΌλ‘ μμ±νμμ΅λλ€. λ°°μ΄ λ΄μ©μ κΈ°λ‘νκ³ , κ°μΈμ μΈ κ³΅λΆλ₯Ό μν΄ μμ±νλ ν¬μ€ν μ λλ€. μμΈν λ΄μ©μ κ΅μ¬ ꡬ맀λ₯Ό κ°λ ₯ μΆμ²λ립λλ€.

μ΄λ² λ¨κ³μμλ μ΄μ΄μ μλ‘μ΄ μ°μ°μλ€μ μΆκ°νκ² μ΅λλ€. λ¨Όμ μμμ λλ€. μμμ λ―ΈλΆμ $y = -x$μΌ λ -1μ λλ€.
class Neg(Function):
def forward(self, x):
return -x
def backward(self, gy):
return -gy
def neg(x):
return Neg()(x)
λ€μμ λΊμ μ λλ€. $y = x0 - x1$μΌ λ $dy/dx0 = 1$, $dy/dx1 = -1$μ λλ€. λ°λΌμ λ€μκ³Ό κ°μ΄ ꡬνν©λλ€. $y = 2.0 - x$μ κ°μ μ½λλ μ²λ¦¬νλλ‘ rsubκΉμ§ ꡬννμ¬ μ€λλ€. λ§μ μ΄λ κ³±μ κ³Ό λ¬λ¦¬ λΊμ μ μμμ λ°λΌ κ²°κ³Όκ° λ¬λΌμ§κΈ° λλ¬Έμ rsubκΉμ§ ꡬνν΄μ£Όμ΄μΌ ν©λλ€.
class Sub(Function):
def forward(self, x0, x1):
y = x0 - x1
return y
def backward(self, gy):
return gy, -gy
def sub(x0, x1):
x1 = as_array(x1)
return Sub()(x0, x1)
def rsub(x0, x1):
x1 = as_array(x1)
return Sub()(x1, x0)
λ€μμ λλμ μ λλ€. λλμ μ λ―ΈλΆμ $y = x0/x1$μΌ λ, $dy/dx0 = 1/x1$, $dy/dx1 = -x0/(x1)^2$μ λλ€.
class Div(Function):
def forward(self, x0, x1):
y = x0 / x1
return y
def backward(self, gy):
x0, x1 = self.inputs[0].data, self.inputs[1].data
gx0 = gy / x1
gx1 = gy * (-x0 / x1 ** 2)
return gx0, gx1
def div(x0, x1):
x1 = as_array(x1)
return Div()(x0, x1)
def rdiv(x0, x1):
x1 = as_array(x1)
return Div()(x1, x0)
λ§μ§λ§μΌλ‘ κ±°λμ κ³±μ λλ€. κ±°λμ κ³±μ $y=x^c$ ννμ λλ€. μ΄λ λ°μ΄ xμΈ κ²½μ°λ§ λ―ΈλΆνκ³ μ§μ cλ μμλ‘ μ·¨κΈνμ¬ λ°λ‘ λ―ΈλΆ κ³μ°μ νμ§ μκ² μ΅λλ€.
class Pow(Function):
def __init__(self, c):
self.c = c
def forward(self, x):
y = x ** self.c
return y
def backward(self, gy):
x = self.inputs[0].data
c = self.c
gx = c * x ** (c-1) * gy
return gx
def pow(x, c):
return Pow(c)(x)
μμμ ꡬνν λ©μλλ€μ μ€μ κΉμ§ λ§λ¬΄λ¦¬ν΄μ€λλ€. μ΄λ μ£Όμν μ μ λ§μ κ³Ό κ³±μ μ μμκ° λ³ν΄λ κ²°κ³Όκ° κ°κΈ° λλ¬Έμ raddλ₯Ό addλ‘ μ€μ νμ§λ§, λΊμ κ³Ό κ°μ΄ μμκ° μ€μν μ°μ°μ λ°λ‘ μ€μ μ ν΄μ£Όμ΄μΌ ν©λλ€.
Variable.__add__ = add
Variable.__radd__ = add
Variable.__mul__ = mul
Variable.__rmul__ = mul
Variable.__neg__ = neg
Variable.__sub__ = sub
Variable.__rsub__ = rsub
Variable.__truediv__ = div
Variable.__rtruediv__ = rdiv
Variable.__pow__ = pow'DeZero > π»μ 2κ³ μ§' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
| step24. 볡μ‘ν ν¨μμ λ―ΈλΆ (0) | 2023.01.25 |
|---|---|
| step23. ν¨ν€μ§λ‘ μ 리 (0) | 2023.01.24 |
| step21. μ°μ°μ μ€λ²λ‘λ(2) (0) | 2023.01.22 |
| step20. μ°μ°μ μ€λ²λ‘λ(1) (0) | 2023.01.21 |
| step19. λ³μ μ¬μ©μ± κ°μ (0) | 2023.01.20 |