로지스틱 회귀, 이진 분류(Binary Classification)
로지스틱 회귀를 이용해서 이진 분류하는 모델을 만들 수 있다.
선형회귀와 이진분류 모델의 다른 점은 Output y에 있다.
선형 회귀에서 y는 실수 값이다. 즉 무수히 많은데,
이진 분류에서는 y = { 0 ,1 } 이다.
따라서 선형 회귀에서 모델에 input X를 넣어서 y가 output으로 나올 기댓값을 구한다.
하지만 이진 분류에서는 모델에 input X를 넣을 때 y가 발생할 확률을 구한다.
이러한 확률을 바탕으로 y가 0인지, 1인지를 판단하는 것이 이진분류이다.
만약 확률이 50%이상이라면 그것을 1로 판단하고 50%미만이라면 그것을 0으로 판단한다.
x가 2차원 벡터일 때 파란색, 빨간색으로 데이터를 표현할 수 있다면 이진분류를 통해 데이터들을 분류할 수 있다. 그림으로 표현하면 초록색으로 표현한 결정경계를 찾는 과정이라고 할 수 있다.
로지스틱 함수를 찾기위해 확률을 사용한다.
C가 {C1, C2}로 이진분류된다고 하면
x가 입력되었을 때 C1일 확률을 다음과 같이 구한다.
여기에서 exp안에 있는 항을 ε으로 나타낸다.
ε은 wTx 이다.
결국 x가 주어졌을 때 C1이 될 확률은 아래의 식으로 표현할 수 있다.
로지스틱 함수를 그리면 위의 그림과 같은데 wTx 가 0보다 크면 그것을 1로 판단하고 wTx가 0보다 작으면 그것을 0으로 판단하는 것을 알 수 있다.
가중치w에 x를 곱한 wTx = ε 을 계산하고 그것을 로지스틱 함수에 넣어서 P(C1|x)를 구한다.
이렇게 하면 input x에 따른 확률을 통해 0과 1로 판단할 수 있다.
이진분류의 모델을 만드는 과정은 이렇게 0과 1로 판단한 결과를 Truth와 비교하며 가중치W를 조정한다. 여러번 반복하면 새로운 입력이 들어왔을 때 정확한 output으로 예측하는 모델을 만들 수 있다.
로지스틱 함수를 계산할 때 많이 사용하는 식이라고 한다.