1.퍼셉트론이란?
- 신경망의 기원이 되는 알고리즘
- y= 0 or 1 의 값을 가지며
i) w1*x1+w2*x2 < θ then y = 0
ii) w1*x1+w2*x2 >θ then y = 1
1.1 퍼셉트론 구현하기
간단한 구현
def AND(x1, x2):
w1, w2, theta = 0.5, 0.5, 0.7
tmp = x1 * w1 + x2 * w2
if tmp <= theta:
return 0
elif tmp > theta:
return 1
- 실행
print(AND(0, 0))
print(AND(1, 0))
print(AND(0, 1))
print(AND(1, 1))
- 결과
0
0
0
1
1.2 가중치와 편향 도입
구현 numpy사용
def AND2(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
1.3 퍼셉트론의 한계
XOR게이트를 구현할수 없다.
- 비선형 영역을 표현할수 없다
-선형과 비선형 -
1.4 하지만 다중퍼셉트론이라면 가능하다
구현
def XOR(x1,x2):
s1=NAND(x1,x2)
s2=OR(x1,x2)
y=AND(s1,s2)
return y
1.5 정리
- 퍼셉트론은 입출력을 갖춘 알고리즘
- 퍼셉트론에서는 가중치와 편향을 설정
- AND, OR 게이트 등 구현가능
- but ! XOR 는 구현불가
- 2층 퍼셉트론을 이용하면 XOR게이트를 표현할 수 있다.
- 다중 퍼셉트론은 비선형 영역도 표현 가능하다.
'Computer Science > Artificial Intelligence' 카테고리의 다른 글
기계 학습 관련 기술들 (0) | 2018.10.14 |
---|---|
신경망 학습이란 무엇인가?[밑바닥 딥러닝] (0) | 2018.10.06 |
인공신경망이란 무엇인가 (0) | 2018.09.16 |