티스토리 뷰
Programming/Deep Learning
퍼셉트론으로 AND, OR ,NAND 게이트 구현 (using numpy, introduce bias)
xxvd 2018. 3. 20. 20:42(x1w1 + x2w2 <= θ) = 0
(x1w1 + x2w2 > θ) = 1
위의 수식에서 θ을 -b로 바꾸면
(x1w1 + x2w2 +b <= 0) = 0
(x1w1 + x2w2 +b > 0) = 1
이렇게 된다.
이런식으로 편향을 이용하여 AND,OR,NAND 게이트를 구현할 수 있다.
배열끼리의 연산을 하기 위해 numpy를 사용했다.
AND 게이트
1 2 3 4 5 6 7 8 9 10 11 12 13 | def AND(x1,x2) x = np.array([x1,x2]) w = np.array([0.5, 0.5]) b = -0.7 tmp = np.sum(x*w) + b if tmp <=0: return 0 else: return 1 | cs |
OR 게이트
1 2 3 4 5 6 7 8 9 10 11 12 13 | def OR(x1,x2) x = np.array([x1,x2]) w = np.array([0.5, 0.5]) b = -0.3 tmp = np.sum(x*w) + b if tmp <=0: return 0 else: return 1 | cs |
NAND 게이트
1 2 3 4 5 6 7 8 9 10 11 12 13 | def NAND(x1,x2) x = np.array([x1,x2]) w = np.array([-0.5, -0.5]) b = 0.7 tmp = np.sum(x*w) + b if tmp <=0: return 0 else: return 1 | cs |
'Programming > Deep Learning' 카테고리의 다른 글
Gradient Descent Algorithm(경사하강법 알고리즘) (0) | 2018.03.21 |
---|---|
다층 퍼셉트론으로 XOR 게이트 구현 (0) | 2018.03.20 |
퍼셉트론 AND , OR , NAND게이트 (0) | 2018.03.20 |
퍼셉트론 (0) | 2018.03.20 |
Linear Regression 구현 (using placeholder) (0) | 2018.03.19 |
댓글