Binomial Logistic Regression/Classification


           X1, X2, ..., Xn

+ Linear Regression

+                Sigmoid

-------------------------

=>                  0 or 1


Logistic Classification에서 왜 Linear Regression + sigmoid를 쓰는지를 제가 이해하는 개념대로 설명합니다.

다른 이론과 차이가 있다면 아마도 그 이론이 맞고 제 이해는 틀릴 가능성이 높습니다.

이상한 점이 있다면 보충하거나 수정하겠습니다.


1. Binomial Logistic Classification을 한다는 것

classification을 한다는 것은 어떤 data들을 A group, B group, C group, ... N group으로 분류를 하는 것인데

Binomial Logistic은 이를 단순하게 모든 것은 A group, B group 으로만 분류된다고 한정하여 집중한다.

이분법적, 흑백논리.. 그런 개념이므로 Not A group == B group으로 볼수도 있고 0, 1 / True, False라는 개념으로도 이해할 수 있다.




Classification                  

Binomial Classification



2. A gourp, B group을 0, 1로 각각 생각한다.

x_data = [-3, -2, -1, 1, 2, 3]

y_data = [1, 1, 1, 0, 0, 0]

이러한 data가 있고 이를 그래프로 표현하려고 하면 X-Y 축를 그려야 한다.


    





3. Sigmoid 함수를 사용하는 이유 => 0, 1로 표현하기 위해

위의 데이터를 통해서 Y를 예측하는 그래프를 그린다면 0, 1로 결과가 나올 수 있는 Linear regression + sigmoid 함수를 이용해서 다음과 같이 추정 그래프를 그릴 수 있다.



# 빨간색 : Linear regression + sigmoid 함수 적용 예측값

# 파란색 : Linear regression 함수의 예측값 


빨간색 그래프는 X축 [-1, 1] 사이를 기준으로 실제값과 유사한(예측가능한) 그래프를 그려준다.

파란색 선의 의미는 어떤 접점을 기준으로 나누고 있지만 그 의미가 분명하지 않다.

하지만 파란색이 Y축 1에 가까운지 0에 가까운지 라는 조건으로 바라본다면 그 그래프는 빨간색과 같을 것이다.

이것이 sigmoid를 가설에 포함하여 사용하는 이유이다.

즉, sigmoid를 통해서 Y축 0과 1로 (그래서 결론은 A Group에 속합니다./ 속하지 않습니다.)예측의 결론을 낼 수 있다.



4. Linear Regression 방식을 사용하는 이유 => 다른것 써도된다. 관계가 Linear하다고 가정하는 접근이였다.

여기까지 왔다면 sigmoid에 의해 어차피 0, 1 두가지로 나누어 지는데 굳이 Linear Regression 방식이 필요한 것인가 생각이 들 것이다.

(X끼리 더하든 곱셈을 하거나 하는 그런 관계도 있을 수 있겠는데 말이다.)

그 이유는 X1, X2 두가지 변수에 대한 예측을 할때를 살펴보면 이해가 된다.


x_data = [[1, 2], [2, 3], [3, 1], [4, 3], [5, 3], [6, 2]]

y_data = [[0], [0], [0], [1], [1], [1]]


의 data가 있을때

우선 X1과 X2의 관계 그리고 Y값 표시를 그려보자.


우리는 Y의 데이터가 검정과 빨강을 구분하는 기준이 된다는 것을 알았고 이제 Y를 예측하는 값을 그래프로 나타내면

알아보기 힘들지만 여러번의 학습을 거쳐 전반적으로 실제Y값과 추정값이 비슷한 위치로 가고 있다고 보여진다.

100 times trained

 ==>10000 times trained

시각적으로 평면 X, Y축에서 A와 B 그룹을 나눠주는 선을 긋는 것이 이해하기 쉬우므로 X1, X2에 대한 관계에 이를 표현해보자.



관계를 sigmoid 함수 0, 1일 때의 방정식으로 구하기에는 어려운 점이 있어서



Linear Regression 공식으로 구해본다.

1) Y=0 일때


2) Y=1 일때


이러한 관계식을 X1 - X2  그래프에 표시하면 다음과 같다.

1000 times trained 

10000 times trained


파란색이 학습된 경계선이며 학습을 조금 시켰을때는 검정색과 빨간색의 그 경계선이 모호했지만

학습을 많이 함에 따라서 구분짓는 경계선이 얇아지고 더 분명하게 되었다.

(기울기는 Random값에서 출발하여 다를 수 있다.)


Linear Regression 방법을 유지하는 이유는

- Gradient Descent로 cost를 계산할 수 있고

- 이처럼 관계를 계산하거나 구분하는 선을 그리는데 장점이 있다고 생각한다.



Reference:

- http://hunkim.github.io/ml/


'Machine Learning' 카테고리의 다른 글

YOLO v3 demo webcam 돌려보기 for ubuntu(18.04)  (0) 2018.10.03
Activation functions  (0) 2017.11.30
Wrap-up "Machine learning" by Andrew Ng  (0) 2017.10.13
Binomial Logistic Regression/Classification  (0) 2017.07.10
Linear Regression  (0) 2017.07.07

+ Recent posts