728x90
반응형
파이썬 코드
import numpy as np
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
def NAND(x1, x2):
x = np.array([x1, x2]) # 입력
w = np.array([-0.5, -0.5]) # 가중치
b = 0.7 # 편향
tmp = np.sum(w*x) + b
if tmp <= 0:
return 0
else:
return 1
def OR(x1, x2):
x = np.array([x1, x2]) # 입력
w = np.array([0.5, 0.5]) # 가중치
b = -0.2
tmp = np.sum(x*w) + b
if tmp <=0 :
return 0
else:
return 1
def XOR(x1, x2):
s1 = NAND(x1, x2)
s2 = OR(x1, x2)
y = AND(s1, s2)
return y
print("XOR ====>", XOR(0,0),XOR(1,0),XOR(0,1),XOR(1,1))
** 퍼셉트론으로 NAND를 만들고 NAND게이트만으로 컴퓨터를 만들수도 있다.
2층 퍼셉트론이면 컴퓨터를 만들 수 있지만 난이도가 매우 어렵다.
*퍼셉트론에서는 '가중치'와 '편향'을 매개변수로 설정한다.
*다층 퍼셉트론은 (이론상) 컴퓨터를 표현할 수 있다.
728x90
반응형
최근댓글