Day 9: Chapter 5-3, MSE를 그대로 쓰면 안 되나? 왜 logistic regression이 더 필요한가?

2023. 2. 28. 23:28딥러닝 이론

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

- MSE를 그대로 쓰면 안 되나? 왜 logistic regression이 더 필요한가?

 

저번에 logistic regression에 대해 공부를 했습니다. 이번에는 MSE과 logistic regression을 한번 비교해 보겠습니다. 일단 미리 스포를 하자면 logistic regression이 장점이 더 많습니다. 그전에 상황을 좀 알아보겠습니다. 우리는 사진 input data가 있습니다. RGB 3-color channel로 있어서 100 pixel by 100 pixel인 이미지는 사실 input이 3 channels * 100p * 100p = 30000이겠습니다.

그다음에는 weights and biases가 있겠습니다. 그리고 activation function을 하나 쓰겠습니다. 전에 배운 sigmoid를 쓰죠!

자 그러면 이제 단순한 model을 구축했고 output은 q입니다. 이제 weights and biases를 update 해줘야 하니 뭐가 필요할까요?

네 loss function입니다.

그래서 loss function은 이제 MSE를 쓸까 logistic function을 쓸까 고민해 봅니다. 도대체 뭐가 다른 걸까요?

 

1. MSE를 그대로 쓰면 안 되나? 왜 logistic regression이 더 필요한가?

차이점 (문제점 및 완화 사항) MSE Logistic regression
1. - loss함수가 (MSE에 비해) 더욱 민감하다
2. non-convex하다 convex하다

자 그럼 더 자세히 설명해보겠습니다. 1번 2번 차이점은 둘 다 수학적 지식이 필요합니다. 그래서 두 loss함수의 그래프를 보시면 이해가 잘 될 겁니다 (오른쪽 사진).

 

1. 자 일단 loss함수의 목적은 무조건 loss를 minimize 하는 게 목적입니다. MSE는 (q - 1) ** 2를, 그리고 logistic regression은 -log(q)를 최소로 줄여야 합니다. 두 그래프를 그려 보면 뭐가 보이나요? 실제 0까지 가는 과정이 중요합니다. -log(q)는 q가 0~1까지 아주 가파릅니다. (q - 1) ** 2는 어떨까요? 그래도 logistic에 비하면 천천히 내려오죠? 더 가파르다는 건 더 민감한 것입니다. 예를 들어 logistic은 조금만 틀려도 update이 더 많이 적용될 것이고, MSE는 비교하자면 더 둔감하다는 것입니다.

2. 2번을 이해하려면 convex과 non-convex의 정의를 알아야 합니다. convex는 x제곱 같은 함수입니다. concavity가 바뀌지 않는 concave up / concave down인 상황을 의미합니다. 하지만 non-convex는 concave up일 때도 있고 concave down일 때도 있는 것입니다. 상관없는 이야기 같지만 convex 하다면 local minimum의 늪에 빠질 일이 없다는 일입니다. 반면 non-convex는 local minimum이 있어 어느 정도 빠질 위험이 있습니다. 그래서 logistic regression은 이런 이유로 기본적으로 MSE보다 좋습니다.

 

강의에서는 1 layer만 사용해서 convex, non-convex를 따졌지만 만약에 layer가 더 많았고 중간에 전부 sigmoid (non-convex)를 사용했다면, 결국 둘 다 non-convex겠지만 그래도 non-convex에 convex를 "더한 게" non-convex와 non-convex를 더한 것보다는 났다라고 생각 할 수 있습니다. 구체적인 증명은 없어서 아마 이 부분은 따로 실험해 봐야 알 수 있을 것 같습니다.

외쪽에는 logistic regression에 대한 설명이고 오른쪽에는 이번 블로그 포스팅에 관한 내용입니다.