Reference
https://iai.postech.ac.kr/teaching/machine-learning
https://iai.postech.ac.kr/teaching/deep-learning
위 링크의 강의 내용에 기반하여 중요하거나 이해가 어려웠던 부분들을 정리하여 작성하였고,
모든 강의 슬라이드의 인용은 저작권자의 허가를 받았습니다.
또한, 모든 내용은 아래 Notion에서 더 편하게 확인하실 수 있습니다.
>>노션 링크<<
Keywords
- Perceptron
- signed distance
Signed Distance
(앞에서의 perceptron의 기본적인 개요에 대해서는 생략.)
⇒ discrete한 값의 y에서의 Classification.
boundary를 찾기 위한 여정.

평면 상에서


그리고 위의 두 식을 통해, 원점으로부터 직선의 거리
(앞의 pdf에서는

반대 방향 평면 쪽의 모든 점에 대해
(이는 w와 inner product(내적)했을 때 사이각이 90도 미만이면 양수, 90도 초과 180도 미만이면 음수이기 때문임을 직관적으로 이해할 수 있다.)
결국
따라서 특정
(input)에 대해, 의 부호를 계산하면 그 input에 대한 class를 결정할 수 있게 되는 것이다.
Perceptron

앞의 기반들을 알고 나서, Perceptron에서 어떻게 parameter(weights,
- perceptron 함수
를 정의하고, - 모든 training data에 대해 이 함수를 적용한 후,
- prediction의 결과 class와 output의 실제 class가 다르다면,
을 통해 weight를 업데이트한다.
* 데이터가 선형 분리 가능할 경우, 이 규칙을 사용하면 Perceptron이 유한한 횟수의 업데이트 후에 수렴함이 수학적으로 증명되어 있다.
여기서 왜
왼쪽의 그림에서 기존의
그렇기 때문에 파란색의 새로운 벡터로 갱신하여 다시 그 벡터를 기준으로 직교하는 직선을 상상해 보면, x가 같은 방향에 존재하여
위의 로직을 수행하면, 적어도 weight을 갱신한 해당 data point에 대해서는 항상 perceptron이 잘 동작(잘 분류)한다.
이 과정을 misclassify되는 data point가 존재하지 않을 때까지 weight을 갱신시켜 나가며 반복하는 것이 Perceptron Algorithm이다.
식을 보면 결국 이는 perceptron의 loss function에 대한 음수 방향으로 가중치를 조정하는 간단한 경우의 gradient descent라고 볼 수 있다.

