-
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