Day 8: Chapter 4-3, 5-1, 5-2 선형분류와 sigmoid

2023. 2. 27. 22:49딥러닝 이론

오늘 공부한 내용은 Ch.4-3, 5-1, 5-2입니다:

- Ch. 4-3, 행렬 미분을 이용한 Backpropagation

- Ch. 5-1, 선형분류와 퍼셉트론

- Ch. 5-2, Sigmoid를 이용한 이진분류

 

Ch 4-3은 level 2 내용이라 솔직히 조금 많이 어려웠습니다. 이 부분은 다시 복습해서 수정하겠습니다.

Ch 5-1, 5-2는 이제 이중분류와 다중분류에 대해서배 우게 됩니다. 전에도 non-linear activation을 배웠지만 이번에는 더 많은 직관을 알게 되고 sigmoid에 대해서도 배우게 됩니다.

 

1. 선형분류와 퍼셉트론

일단 강의에서는 "살을 쪄야 하는 사람"과 "살을 빼야 하는 사람" 2 분류로 나누려고 한다. 주어진 input은 키와 몸무게가 있다.

두 데이터가 주어졌을 때 적절하게 분류를 해야 하는데 일단 perceptron을 어떻게 만들어야 할까? 일단은 MLP를 쓰지 않은 perceptron으로만 해볼게요. 지금 배운 지식으로 input -> unit step function -> prediction (output)을 하나 일단 만들어 볼까요?

저번에 왜 non-linear activation을 써야 했는지 설명했죠? 이 unit step function도 non linear입니다. (왼쪽 노트를 참고)

 

2. Sigmoid를 이용한 이진분류

하지만 unit step function으로는 한계가 있습니다:

1. 전 구간 미분이 가능하지 않습니다, gradient를 구하기 위해선 미분이 가능해야 합니다

2. 너무 극과 극인 면이 있습니다 - 예를 들어 적정한 몸무게와 키였어도 1과 0으로 분류되기 때문에 '살찌는'혹은 '살 빼는'그룹으로 강제로 들어갑니다.

이를 해결하기 위해 sigmoid를 사용하면 딱 좋습니다. Sigmoid(y = 1 / (1 + e ** -x))는 전 구간 미분 가능하고 그래프 자체가 부드러워 몸매가 적절한 중간쯤 되는 사람은 0.5 비슷한 점수가 나오겠죠?

 

저번에 집 값을 추측하는 알고리즘은 x축이 input이고 y축이 결과여서 결괏값을 2차원에서 표현이 가능했지만 이번에는 x, y축은 다 입력이고 z 축이 결과가 되겠습니다. 그래서 왼쪽 노트처럼 3D로 그려보면 이해가 잘 되는 것 같습니다. 무론 input이 많아지면 다차원으로 되어서 visualize 할 수는 없지만 직관은 동일할 거라 생각됩니다!