ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 3층 신경망 구현해보기
    딥러닝 2020. 1. 10. 17:15

    3층 신경망

     

     

     

    <코드>

    import numpy as np
    
    def sigmoid(x):
        return 1/(1+np.exp(-x))
    
    def identy_function(x):
        return x
    
    def init_network():
        network = {}
        network['W1'] = np.array([[0.1, 0.3, 0.5], [0.2, 0.4, 0.6]])
        network['b1'] = np.array([0.1, 0.2, 0.3])
        network['W2'] = np.array([[0.1, 0.4], [0.2, 0.5], [0.3, 0.6]])
        network['b2'] = np.array([0.1, 0.2])
        network['W3'] = np.array([[0.1, 0.3], [0.2, 0.4]])
        network['b3'] = np.array([0.1, 0.2])
    
        return network
    
    def forward(network, x):
        W1, W2, W3 = network['W1'], network['W2'], network['W3']
        b1, b2, b3 = network['b1'], network['b2'], network['b3']
    
        a1 = np.dot(x, W1) + b1
        z1 = sigmoid(a1)
        a2 = np.dot(z1, W2) + b2
        z2 = sigmoid(a2)
        a3 = np.dot(z2, W3) + b3
        y = identy_function(a3)
    
        return y
    
    
    network = init_network()
    x = np.array([1.0, 0.5])
    y = forward(network, x)
    print(y)
    반응형

    '딥러닝' 카테고리의 다른 글

    미니배치 학습 구현하기  (0) 2020.01.16
    2층 신경망 클래스 구현하기  (0) 2020.01.16
    손실함수와 경사법  (0) 2020.01.16
    활성화함수  (0) 2020.01.10
    퍼셉트론  (0) 2020.01.09
Designed by Tistory.