Classification Based on Probability

분류 문제에서는 Feature 가 어떤 Label 에 속하는 지 (예, 아니오) 여부로 결정하는 이분법적인 Hard Guess 가 사용되었다. 하지만 이 세상의 문제들 중 Hard Guess 로 해결할 수 없는 것들이 많다. 이 때, 출력이 (0, 1) 이 아닌 특정 클래스에 속할 확률인 Soft Guess 를 사용할 수 있다.

확률을 산출할 수 있는 함수는 많지만, Logistic 함수를 이용해 함수 클래스를 제한하는 방식을 Logistic 회귀라고 한다. 이는 이름에 "회귀"가 들어가지만, 실제로는 분류 문제를 해결하기 위한 기법이다.

정리하자면, 모델이 $p(y|x)$ 를 학습하고 $p(y=1|x;w)$ 를 반환하는 것이다.

여기에는 다음과 같은 두 가지 가정이 필요하다.

  1. $0\le \text{p(event)}\le1$
  2. $\text{p(event) + p(!event) = 1}$

Sigmoid 함수

Logistic Regression은 입력의 선형 조합 $w^T x$ 에 대해 Sigmoid(Logistic) 함수를 적용하여, 출력이 0과 1 사이의 확률로 표현되도록 한다. 이렇게 얻은 확률을 바탕으로 이진 분류를 수행하는 모델이며, 구조는 회귀와 유사하지만 목적은 분류인 것이다.

Sigmoid 함수의 형태는 다음과 같다.

$$ \sigma(w^Tx)=\frac{1}{1+e^{-(wTx)}} $$

image.png

Sigmoid function 의 값이 설정된 threshold 보다 크면 positive, 아니면 negative 로 분류하는 것이다. 이를 통해 이진 분류를 수행하는 것이다.

기존의 분류 문제는 $a^Tx+b$ 값이 0보다 큰가의 여부를 이용해 분류하고, 가장 분류를 잘 하는 파라미터를 찾는 것이 분류기를 찾는 과정이었다. 이젠 $a^Tx+b$ 값이 0보다 얼마나 큰지를 지켜봐야 한다. ****이를 통해 Soft Guess 가 가능한 것이다.

이를 위해서는 positive sample 에 대해서는 $w^Tx$ 가 large positive value, negative sample 에 대해서는 large negative sample 이 되어야 한다. Positive obervation 이 강할수록 확률값이 1에 가까워야 하기 때문이다.

Maximum Likelihood Estimation

Sigmoid 를 이용한 함수에 선형 회귀처럼 MSE 를 적용하면 loss function 의 parameter space 가 non-convex 가 되어 optimization 이 어려워지기 때문이다. 새로운 함수를 도출하기 위해 우리는 Maximum Likelihood Estimation 을 사용할 것이다.

어떤 데이터가 주어진 모델과 파라미터 하에서 발생할 확률을 Likelihood of data 라고 한다.

$$ l(w)=\prod^n_{i=1}p(y_i|x_i;w) $$

우리는 이 확률을 maximize 할 수 있는 파라미터를 찾는 것이 목적이다. 특정 클래스에 속하는 데이터를 그 클래스로 분류할 확률을 최대화하는 것이다.