ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Perceptron Algorithm
    카테고리 없음 2023. 1. 27. 03:42

    Perceptron

    Perceptron Algorithm은 다수의 신호를 입력으로 받아 하나의 신호를 출력하는 알고리즘이다.

    책 밑바닥부터 시작하는 딥러닝에서는 간단한 예시로 아래를 제시한다.

    이 예시는 입력으로 두 신호 $x_1$, $x_2$를 받아 가중치 $w_1$, $w_2$를 적용시켜 $y$를 출력하는 퍼셉트론이다.

    수식으로 표현하면 다음과 같다.

    $\begin{equation*} y=\begin{cases} 0 \quad &(w_1x_1 + w_2x_2 \leq \theta) \\ 1 \quad &(w_1x_1 + w_2x_2 < \theta) \\ \end{cases} \end{equation*}$

     

    AND gate

    $x_1$ $x_2$ $y$
    0 0 0
    0 1 0
    1 0 0
    1 1 1

    우리가 아는 AND gate를 perceptron으로 구현해보자

    def AND(x1, x2):
    	x = np.array([x1, x2])
        w = np.array([0.5, 0.5])
        b = -0.7
        y = np.sum(w*x) + b
        if y <= 0:
        	return 0
        elif y > 0:
        	return 1:

    다음과 같이 구현할 수 있다.

     

    NAND gate

    $x_1$ $x_2$ $y$
    0 0 1
    0 1 1
    1 0 1
    1 1 1

     

    NAND gate도 다음과 같이 구현할 수 있다.

    def NAND(x1, x2):
    	x = np.array([x1, x2])
        w = np.array([-0.5, -0.5])
        b = 0.7
        y = np.sum(w*x) + b
        if y <= 0:
        	return 0
        else:
        	return 1

     

    OR gate

     

    댓글

Designed by Tistory.