728x90
x=값들 w=가중치 b=편향=바이어스
각종 게이트를 표현할 수도 있다
AND NAND OR게이트는 표현 가능!
xor그래프는 직선, 선형으로 나누기 불가.....
이런 점을 위해 만들어진 것=⇒>>> 다층 퍼셉트론!!
한 개의 층이 아닌 여러 개의 층을 사용해서 값을 도출해낸다!
import numpy as np # 가중치와 바이어스
w11 = np.array([-2, -2]) # n1
w12 = np.array([2, 2]) # n2
w2 = np.array([1, 1]) # Yout
b1 = 3
b2 = -1
b3 = -1
def MLP(x, w, b): # 다층 퍼셉트론
y = np.sum(w * x) + b
if y <= 0:
return 0
else:
return 1
def NAND(x1,x2): # NAND 게이트
return MLP(np.array([x1, x2]), w11, b1)
def OR(x1,x2): # OR 게이트
return MLP(np.array([x1, x2]), w12, b2)
def AND(x1,x2): # AND 게이트
return MLP(np.array([x1, x2]), w2, b3)
def XOR(x1,x2): # XOR 게이트
return AND(NAND(x1, x2),OR(x1,x2))
if __name__ == '__main__': # x1, x2 값을 번갈아 대입해 가며 최종값 출력
for x in [(0, 0), (1, 0), (0, 1), (1, 1)]:
y = XOR(x[0], x[1])
print("입력 값: " + str(x) + " 출력 값: " + str(y))
'공부공부 > 얕게 둘러본 부분들' 카테고리의 다른 글
ChatGpt api 테스트 해보기! (Postman 사용) (0) | 2023.05.03 |
---|---|
구글 지도 api 기본 마커 지우기 및 테마 변경 (1) | 2023.04.11 |
선형회귀 & 로지스틱스 (0) | 2022.03.04 |
댓글