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 정리

    1. 퍼셉트론은 입출력을 갖춘 알고리즘
    2. 퍼셉트론에서는 가중치와 편향을 설정
    3. AND, OR 게이트 등 구현가능
    4. but ! XOR 는 구현불가
    5. 2층 퍼셉트론을 이용하면 XOR게이트를 표현할 수 있다.
    6. 다중 퍼셉트론은 비선형 영역도 표현 가능하다.





+ Recent posts