머신러닝 & 딥러닝

[머신러닝 & 딥러닝] 퍼셉트론(perceptron) - 이론

beginner-in-coding 2025. 4. 11. 18:37

00. 인공 뉴런: 초기 머신러닝의 간단한 역사

  1. 맥컬록-피츠(MCP): 1943년 워렌 맥컬록과 월터 피츠가 처음으로 간소화된 뉴런 개념
    • 뉴런
      • 뇌의 신경세포와 서로 연결되어 있음
      • 화학적/전기적 신호를 처리하고 전달하는데 관여
    • 신경 세포를 이진 출력을 내는 간단한 논리 회로로 표현한 것
    • 수상 돌기에 여러 신호가 도착하면 세포체라는 한 곳으로 모아짐
    • 합쳐진 신호가 특정 임계 값을 넘으면 출력 신호가 생성되고 축삭 돌기를 이용하여 전달됨
  2. 퍼셉트론 학습: 프랑크 로젠 블라트가 MCP 뉴런 모델을 기반으로 발표
    • 자동으로 최적의 가중치를 학습하는 알고리즘
    • 이 가중치는 뉴런의 출력 신호를 출력할 지 결정하기 위해 입력 특성에 곱하는 계수
    • 새로운 데이터 포인트가 한 클래스에 속하는지 예측할 수 있음

01. 인공 뉴런의 수학적 정의

  • 인공 뉴런(artificial neuron) 아이디어를 두 개의 클래스가 있는 이진 분류(binaray classification) 작업
    • 두 클래스는 양성 클래스(1)과 음성 클래스(-1)로 나눠짐
    • 입력 값 x와 상응하는 가중치 벡터 w의 선형 조합으로 결정 함수를 정의함
    • 최종 입력은 각각의 가중치 * 벡터의 합
  • 특정 샘플의 최종 입력이 사전에 정의된 임계 값보다 크면 양성 클래스(1), 작으면 음성 클래스(-1)로 예측
  • 퍼센트론에서의 결정 함수: 단위 계단 함수(unit step function)
  • 절편: 머신러닝 분야에서의 음수 임계 값
  • 전치(transpose): 첨자 T 의미, 열 벡터를 행 벡터 또는 그 반대로 바꾸는 행위
    • 행렬에 적용하여 대각 원소를 기준으로 반전시킬 수 있음

퍼셉트론 결정함수 & 결정 경계


02. 퍼셉트론 학습 규칙

  • 환원 주의(reductionism) 접근 방식: 뇌의 뉴런 하나가 작동하는 방식
    • 출력을 내거나 내지 않는 두 가지 경우만 존재
  • 퍼셉트론 알고리즘 요약
    1. 가중치를 0 또는 랜덤한 작은 값으로 초기화
    2. 각 훈력 샘플 x(i)에서 다음 작업 진행
      1. 출력 값을 계산(출력 값: 앞서 정의한 계단 함수로 예측한 클래스 레이블)
      2. 가중치 업데이트
  • 전체 가중치에 대한 가중치 업데이트 값을 계산할 때 이용하는 것: 학습률(0.0~1.0), 훈련 샘플의 진짜 클래스 레이블, 예측 클래스 레이블, 훈련 샘플
  • 중요: 가중치 벡터의 모든 가중치를 동시에 업데이트, 즉 모든 가중치가 각자의 가중치 업데이트 값에 의해 업데이트가 되기 전에 예측 레이블을 다시 계산하지 않음
  • 정확히 예측한 경우: 가중치 변경 없이 그대로 유지(업데이트 값이 0)
  • 잘못 예측한 경우: 가중치값이 양성 또는 음성 클래스 방향으로 이동
  • 퍼셉트론이 정확하게 적용되는 경우: 두 클래스가 선형적으로 구분되고 학습률이 충분히 작은 경우에 수렴이 보장
    • 두 클래스를 선형 결정 경계로 나눌 수 없을 경우: 훈력 데이터 셋을 반복할 최대 횟수, 즉 에포크(epoch)를 지정하고 분류 허용 오차를 지정할 수 있음 → 지정하지 않으면 가중치 업데이트가 멈추지 않음

선형 구분 가능한 경우와 불가능한 경우 예시
퍼셉트론 개념 요약