퍼셉트론

손문기·2021년 8월 4일
0

퍼셉트론(Perceptron)

퍼셉트론이란 다수의 입력 신호로부터 하나의 출력을 내보내는 알고리즘이다. 퍼셉트론은 가중치와 편향값을 통해 함수 모델을 만들어낸다. 이후 실제값과 예측값을 비교한 오차를 계산하고, 이를통해 모델을 갱신해나간다.

단층 퍼셉트론(Single Layer Perceptron)

단층 퍼셉으론은 입력층과 출력층이 하나의 층으로 이루어져 가중치를 갖는 층이 하나인 퍼셉트론
이다.

입력 속성이 1개이고 출력이 1개인 네트워크 아키텍처 설계

model = Sequential([
    Dense(1, input_dim=1)
])

단층 퍼셉트론의 단점

단층 퍼셉트론은 직선으로 나뉘는 두 영역을 만들기 때문에 선형분리만 가능하다는 단점이 있다.
때문에 AND, NAND, OR 회로는 계산할 수 있지만, XOR회로는 계산할 수 없다는 한계가 있다.

다층 퍼셉트론(Multi Layer Perceptron)

단층 퍼셉트론의 단점을 보완하기 위해 등장한것이 다층 퍼셉트론이다.
다층 퍼셉트론은 입력층과 출력층 사이에 은닉층(hidden layer)을 추가하였다.
AND, NADN, OR을 조합하여 XOR 회로를 만들어 풀 수 있게 되었다.
이렇듯 1개 이상의 은닉층을 통해 선형분류로만 풀 수 있던 문제를 비선형분류로 풀 수 있게 되었다.

다층 퍼셉트론 레이어

Dense(8, input_dim=4, init='uniform', activation='relu')
  • 첫번째 인자: 출력 뉴런의 수

  • input_dim: 입력 뉴련의 수

  • init: 가중치 초기화 방법

    uniform: 정규분포
    normal: 가우시안 분포

  • activation: 활성화 함수

    linear: 디폴트값, 입력뉴런과 가중치로 계산된 결과값이 그대로 출력으로 나온다.
    relu: rectifier 함수, 은익중에 주로 쓰인다
    sigmoide: 시그모이드 함수, 이진 분류 문제에서 출력층에 주로 쓰인다.
    softmax: 소프트맥스 함수, 다중 클래스 분류 문제에서 출력층에 주로 쓰인다.

입력 속성이 6개이고 출력이 1개인 네트워크 아키텍처 설계

model = Sequential([
    Dense(16, input_dim=6, activation='relu'),
    Dense(16, activation='relu'),
    Dense(1)
])

0개의 댓글