Perceptron

‍박성령·2025년 3월 22일

인공지능

목록 보기
1/8
post-thumbnail

Perceptron

perceptron은 인공 신경망이다.

x1,x2,...,xnx_1, x_2, ... , x_n의 신호가 들어가면 yy = {0,1} 출력이 나오게 된다.

다음처럼 OR function도 만들 수 있다.

다음은 기본적인 perceptron model이다. (θ\theta는 Threshold)

x0x_0를 1로 두고 w0w_0θ-\theta로 두면 식을 정리할 수 있다.

이러한 w0=θw_0 = -\thetabias(편향)이라 한다.

결국 우리의 목표는 error를 minimize할 수 있는 최적의 w1,w2,....,wnw_1, w_2, .... , w_n를 찾는 것이다.


W update

input들을 잘 분류할 수 있는 WTX=0W^TX=0을 찾아야 한다.

다음은 W를 업데이트 하는 방법이다.

WTW^TXX의 각도가 α\alpha일 때, WTX=WXcosαW^TX = ||W||* ||X||cos\alpha이고 cosα=WTX/WXcos\alpha = W^TX/||W||*||X||이므로, WTX>0W^TX > 0 이를 0<α<π/20<\alpha < \pi/2으로 봐도 될 것이다.

위 식에서 XN,WTX0X \in N , W^TX \ge 0일 때, α\alphaπ/2\pi/2보다 작다는 것인데 우리는 α\alphaπ/2\pi/2보다 크길 원하는 상황이다. (그래야 WTX<0W^TX < 0가 되므로)

여기서 Wnew=WXW_{new} =W - X라 두면, αnew\alpha_{new}는 어떻게 변화될까?


αnew\alpha_{new}α\alpha보다 커지고, 이것이 우리가 원하는 상황이다.


Single Perceptron

위와 같은 Perceptron은 1개로 이루어진 Single Perceptron이다. 이는 분류해야할 데이터가 선형적으로 분리 가능하면 언젠가 수렴하게 되어있다.

문제는 대부분 실세계 데이터들은 다음과 같이 선형적으로 분리가 가능하지 않다는 것이다.

즉, Single Perceptron은 선형적으로 분리 가능한 문제만 풀 수 있기 때문에 선형적으로 분리되지 않는 문제들을 선형적으로 분리 가능하게 만들어야한다.

이러한 방법엔 두 가지가 있다.

  1. Reduce the number of points P

  2. Increase the Dimension

Reduce the number of points P

다음 XOR 문제에서 이를 확인할 수 있다.

Increase the Dimension

차원 증가도 다음과 같이 이루어 진다.

MLP

사실 이러한 non-separable한 문제들을 풀기 위해서 Multi-layer-perceptron을 이용한다.

profile
게임 개발을 좋아하는 개발자입니다.

0개의 댓글