[Study] Machine Learning — Perceptron
𝖯𝖾𝗋𝖼𝖾𝗉𝗍𝗋𝗈𝗇
𝖭𝖾𝗎𝗋𝗈𝗇
= Dendrite에 여러 값들이 도착하면 하나의 신호로 통합하고, 임의의 임계값을 넘게 되면 이 값이 Axon을 통해 전달된다는 메커니즘 » 뇌세포
- Net Input Function (순입력함수)
- 입력값 X의 n개의 Feature들이 n+1개의 weight와 곱하여 summation되어 하나의 신호로 통합
Why n+1개 ? — 마지막 1개는 Bias (Prior 역할)
- Activation Function (활성함수)
- 순입력함수의 결과값으로부터 결과값을 생성하는 임의의 함수
ex) 임계값(threshold)와 비교하여 -1 or 1의 결과값 생성 (threshold보다 작으면 -1)
𝖯𝖾𝗋𝖼𝖾𝗉𝗍𝗋𝗈𝗇
= 뉴런의 임계값과 비교하는 부분을 생략하여 간단하게 표현해 3개의 층을 가지는 구조
- 단층 Perceptron과 다층 Perceptron > 중간층의 개수 차이
- 전단계의 층과 다음 단계 층 두 layer의 전체 노드와 빠짐없이 연결되어 있으면 — fully connected
- 입력.출력층은 지도학습, 은닉층은 어떤 입력과 출력을 하는지 알 수 없어 은닉층
𝖯𝖾𝗋𝖼𝖾𝗉𝗍𝗋𝗈𝗇 𝖫𝖾𝖺𝗋𝗇𝗂𝗇𝗀 𝖠𝗅𝗀𝗈𝗋𝗂𝗍𝗁𝗆
𝖯𝖾𝗋𝖼𝖾𝗉𝗍𝗋𝗈𝗇 𝖫𝖾𝖺𝗋𝗇𝗂𝗇𝗀 𝖠𝗅𝗀𝗈𝗋𝗂𝗍𝗁𝗆 𝖵𝖺𝗋𝗂𝖺𝗍𝗂𝗈𝗇
- 앞의 알고리즘은 데이터의 오차 정도를 고려하지 않고 무조건 더하고 빼, 최적의 W 못 찾을 수 있음
- 개선 방법
- 학습률, 오차 정도를 고려하도록 개선
> W 초기화 (ex : -0.5 ~ 0.5) — Bias x0의 값은 임의의 값
> 학습 데이터 d = [d1, … , dn]을 Perceptron에 Forward Passing 적용하여, 출력값 threshold에 기반하여 출력값 o 얻음
- 출력값 o : threshold보다 크면 1, 작으면 -1
- n : 데이터의 Feature Dimension
> 정답 y와 출력 o를 비교하여 다를 경우(에러), W += 학습률 * 데이터 d * (threshold — o)
> 에러가 없을 때까지 반복
𝖯𝖾𝗋𝖼𝖾𝗉𝗍𝗋𝗈𝗇 𝖫𝗂𝗆𝗂𝗍
- Perceptron Learning Algorithm은 Supervised Learning 방식이다
- 단층 Perceptron은 선형 분류밖에 못한다 (XOR 문제 풀지못함)
𝖯𝖾𝗋𝖼𝖾𝗉𝗍𝗋𝗈𝗇 𝖠𝗋𝗋𝖺𝗇𝗀𝖾𝗆𝖾𝗇𝗍
- 생성적이다 (왼쪽에서 오른쪽으로 생성되어 나간다)
- Intra-layer Independence (층내 독립), Not Controlable
- 설명이 불가능하다