# νμ΅κ³μ(νκ°κ°κ²©)μ μ€μ νλ€.
learning_rate = 0.1
# ν΄λΉ μ§μ μ κΈ°μΈκΈ°λ₯Ό κ³μ°νλ€.
gradient = tf.reduce_mean((W * X - Y) * X)
# κΈ°μΈκΈ°μ νκ°κ°κ²©μ κ³±ν κ°μ Wμ λΉΌμ€μ νκ°νλ€.
descent = W - learning_rate * gradient
# ν΄λΉ ν
μμ μ
λ°μ΄νΈ ν΄μ€λ€.
update = W.assign(descent)
# tf.GradientDescentOptimizer(learning_rate=0.01)
νμ΅κ³μ
μ΄μ μ "[3] ν μνλ‘μ° κΈ°μ΄, μ ννκ·" μμ 'νκ° κ°κ²©μ μ‘°μ νκΈ° μν μμ' μ―€μΌλ‘ μΈκΈνκ³ λμ΄κ°μλ κ°λ μ΄λ€. μμ κ³Όμ μ ν μνλ‘μ°μ ꡬνλμ΄ μλ μμν¨μ GradientDescentOptimizer()μ κ³Όμ μ νμ΄μ΄ κ²μ΄λ€. 보λ€μνΌ νκ³ λ΄λ €κ° κΈ°μΈκΈ°μ κ³±ν΄μ§λ©΄μ λ΄λ €κ° κ°κ²©μ μ‘°μ νκ³ μλ€. λ¨μνκ² μκ°νμ λ, μ°μ λ΄λ €κ°λ μ±νΌμ±νΌ λ΄λ €κ°λ©΄ λ 빨리 λ΄λ €κ° μ μμκΉ μκ°ν μ μλ€.
νμ§λ§ μ΄λ μ€λ²μν (Overshooting)μ μΌκΈ°νλ€. λ¬Όλ‘ κ³μ°μμ λ°μ Έλ³Ό μλ μκ² μ§λ§, κ·Έλ¦ΌμΌλ‘ λλμ μ΄ν΄νκ³ νμ΅κ³μλ₯Ό ν¬κ² μ‘°μ ν΄λ³΄μ. λͺ λ² κ°μ μΆλ ₯νλλ μ΄λ΄ Noneλ§ μ°λλ€. κ·Έλ λ€κ³ λ무 νμ΅κ³μλ₯Ό μκ² μ€μ νλ€λ©΄, κ·Έ λν μκ°μ΄ λ무 μ€λ 걸리거λ, 무μν μ μλ μ λμ κ·Έλν μ€κ°μ ꡴곑μ μλ ΄ν΄λ²λ¦΄ μλ μλ€. μ½λλ₯Ό λλ €λ³΄λ©° μ μ ν νμ΅κ³μλ₯Ό μ€μ νλ κ²μ μ€μνλ€.
λ°μ΄ν° νμ€ν
λ¬Όλ‘ μ μ ν νμ΅κ³μλ₯Ό μ€μ νλ κ²λ μ€μνμ§λ§, λ°μ΄ν° μμ²΄κ° μ€λ²μν μ΄ λ무 μ½κ² μΌμ΄λλ κ²½μ°λ μλ€. μμ κ·Έλνμμ ν μ°¨μμ λ νμ₯ν΄μ H(x) = W1 * X1 + W2 * X2 μ κ°μ κ²½μ°λ₯Ό μκ°ν΄λ³΄μ. μ΄μ λΉμ©(cost)μ W1, W2μ μν΄ κ²°μ λλ ν¨μκ° λκ³ x, yμΆμ W1, W2λ₯Ό, zμΆμ cost(W1, W2)λ₯Ό λμ μ μλ€. 2μ°¨μμμ λ°₯κ·Έλ¦μ λ°λ°λ₯μ μ°Ύλ―μ΄ 3μ°¨μμμλ ꡬλ©μ΄μ λ°λ₯μ μ°ΎμΌλ©΄ λλ€. νμ§λ§ μ΄ κ΅¬λ©μ΄κ° λ무 μκ±°λ μμ¬μμ¬νκ² μκ²Όλ€λ©΄ μ΄λ¨κΉ? μλ§νκ³ λμ ꡬλ©μ΄λ₯Ό λ΄λ €κ°λ건 νμ΄λκ°κΈ° μ΄λ ΅μ§λ§, μ’μ ν곑μ λ΄λ €κ°κΈ°μλ μ‘°κΈλ§ κ°κ²©μ΄ λμ΄λ νμ΄λκ°κΈ° μ½λ€.
μ΄λ₯Ό λ°©μ§νκΈ° μν΄ λ°μ΄ν°λ₯Ό νμ€ννλ κ³Όμ μ΄ νμνλ€. κ³ λ±νκ΅ λ ν΅κ³λ¨μμμ λ°°μ λ κ²μ΄ μ΄λ ΄νμ΄ μκ°λλ€.
$$\frac{x-m}{\sigma }$$
x = (x_data - np.mean(x_data, axis=0)) / np.std(x_data, axis=0)
κ³Όμ ν©, μ κ·ν
κ³Όμ ν©μ λ무 νμ΅λ°μ΄ν°μ λ± λ§κ²λ§ νμ΅ν΄μ μ°λ¦¬κ° μ»κ³ μ νλ κ²°λ‘ μμ μ€νλ € λ©μ΄μ§λ κ²μ μλ―Ένλ€.
ν΄κ²° λ°©λ²μ νμ΅ λ°μ΄ν°λ₯Ό λ λ§μ΄ μ 곡νκ±°λ, μ κ·νλ₯Ό ν΄μ£Όλ©΄ λλ€. μ κ·νλ λ무 ν° κ°μ€μΉλ κ°μ§ μλλ‘ ν΄μ£Όλ κ³Όμ μ΄λ€. κ³μ°μμ λ€μκ³Ό κ°λ€.
reg_strength = 0.001
cost = reg_strength * tf.reduce_sum(tf.square(W))
μμ κ²μλ¬Όμ λ§ν¬νλ 'λͺ¨λλ₯Ό μν λ₯λ¬λ' κ°μλ₯Ό λ£κ³ νκΈ°ν λ
ΈνΈμ
μΆκ°μ μΌλ‘ 곡λΆν κ²μ λν΄ μμ±ν κ²μκΈμ
λλ€.
'π» > ML' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λͺ¨λλ₯Ό μν λ₯λ¬λ] νμ±ν¨μ, μ΄κΈ°ν, μ κ·ν (0) | 2020.08.17 |
---|---|
[λͺ¨λλ₯Ό μν λ₯λ¬λ] μΈκ³΅μ κ²½λ§, μ€μ°¨μμ ν (0) | 2020.08.11 |
[λͺ¨λλ₯Ό μν λ₯λ¬λ] λ€μ€ λΆλ₯, μννΈλ§₯μ€ νκ· (0) | 2020.08.03 |
[λͺ¨λλ₯Ό μν λ₯λ¬λ] λ‘μ§μ€ν± νκ· (0) | 2020.07.27 |
[λͺ¨λλ₯Ό μν λ₯λ¬λ] ν μνλ‘μ° κΈ°μ΄, μ ννκ· (0) | 2020.07.26 |