이 글에서는 기계학습(ML)에 대한 간단한 소개 및 로지스틱 회귀를 다룬다.

related post : [ML] Linear Regression



INTRO. 머신러닝 간단한 소개 

머신러닝. 우리말로 하면 기계학습. 거창하게 들리지만 그렇게 거창하지 않다.

머신러닝에는 학습 데이터가 존재하는 지도학습과 존재하지 않는 비지도학습이 있다. 지도학습은 선형대수학을 이용해 학습 데이터에 존재하는 독립변수(Independent Variables)와 종속변수(Dependent Variable)간 관계를 가장 잘 설명하는 모델을 만드는 것이다.


지도 학습 ~~~



그렇다면 이 모델을 왜 만들까. 독립변수와 종속변수가 모두 있는 학습 데이터가 아닌 실제 데이터에서 종속 변수를 예측하기 위해서다. 실제 데이터는 독립변수(들)만 존재하는 데이터로 unseen data라고 한다.


지도학습은 종속변수의 종류에 따라 회귀 문제와 분류 문제로 나눌 수 있다. 종속변수가 연속형이라면 회귀 문제이고, 이산 변수이거나 카테고리형(범주형) 혹은 명목형이라면 분류 문제다.


출처 : 갓상엽




(분류 작업에서 모델은 한 부류와 다른 부류를 분리하는 결정 경계를 찾고, 회귀 작업에서 모델은 입력-출력 관계에 맞는 함수를 근사한다. 분류는 회귀의 부분집합니다.)

이 글에서는 분류 문제에 사용되는 대표적인 모델인 Logistic regression에 대해 다룬다. 



로지스틱 회귀란?

로지스틱 회귀는 사건의 확률을 결정하는 데 사용하며  분류 문제에 쓰인다.

사건이 취할 수 있는 경우의 수가 두 개면 binomial logistic regression이다. 예를 들어, 의료 데이터를 가지고 로지스틱 회귀를 사용해 어떤 사람이 코로나에 걸렸는지 여부를 분류할 수 있다. (y가 1일 확률 P(y=1|X)와 y가 0일 확률이 종속변수가 됨)

반면, 경우의 수가 3개 이상이면 multinomial logistic regression이 된다. 

로지스틱 회귀의 비용함수(크로스 엔트로피 비용함수라고도 부른다) 는 다음과 같다.



yi는 학습 데이터에 존재하는 관측치가 갖는 구체적인 값. 


이 비용함수를 도출할 때 사용할 수 있는 방법으로 두 가지가 있다. 

1. 최대우도추정(MLE, Maximum Likelihood Estimation) 방법 

- 확률 기반 방법이다. 
- 먼저, Likelihood를 이해해야 한다. Likelihood는 종속변수가 발생할 확률을 뜻한다. 로지스틱 회귀 모형의 경우, 종속변수가 서로 다른 두 개의 값을 취하기 때문에 바이너리 변수로 간주한다. 바이너리 변수는 베르누이 확률 분포를 따른다. 베르누이 분포가 갖는 확률밀도함수가 y의 확률이 되고, 그런 확률을 이용해서 학습 데이터가 갖고 있는 여러 개의 y값들에 대한 likelihood를 구할 수 있다. 이때 가정은 각각의 관측치가 '독립'이라는 것을 가정한다. 

독립인 관측치의 확률들을 계산할 때 '곱하기' 계산을 해야 하는데, 계산이 복잡하기 때문에 log를 취해서 덧셈 연산으로 바꿔준다. log는 단순 증가 함수이기 때문에 log를 취해도 최적의 파라미터 값을 찾는 데 문제가 없다. 

이렇게 log를 씌운 likelihood를 log likelihood라고 한다. 
log likelihood를 maximize 하는 파라미터의 값을 찾는데 이 방법을 최대우도추정 방법이라고 한다. 그리고, 얘에 -를 붙여주면, 비용함수를 최소화하는 게 된다. maximize problem을 minimize problem으로 바꿔놓음. 



2. 교차 엔트로피 (cross entropy 방법) 
 
정보이론(Information theory) 기반 방법이다. 
entropy는 변수의 불확실성 (uncertainty)를 의미한다. 즉 엔트로피가 작으면 불확실성이 낮다. and vice versa

실제 관측치(p) 와 우리의 모형을 통해 만든 예측치 (q) 간의 차이 (error)를 교차 엔트로피라고 한다. 교차 엔트로피를 최소화하는 파라미터의 값들을 찾으면 된다. 

독립변수들의 스케일이 다를 때, 표준화 해주는 작업이 필요하다. 그래야 비교 가능. 






logistic regression으로 텍스트의 감성 분석 할 수 있지만, 단어의 순서를 고려하지 못한다는 한계를 갖는다. (단어 등장 여부만 고려) 

이 한계는 딥러닝 기법 중 하나인 RNN을 사용한 BERT 등 모델로 극복할 수 있다.


( 작성 중 )

출처 : 블로그 '꿈을 위한 단상'

어떤 이벤트가 발생했을 떄는 

위 식에서 H(x) = P(y=1|X)이다. 

우리의 목표는 위 학습 데이터를 이용해 위 비용함수를 최소화하는 파라미터의 값을 찾는 것이다. 

두 가지 접근법이 있다. 

(1) 최대우도추정 (MLE, Maximum Likelihood Estimation) 방법

: 확률 기반 방법

related post : [ML] MSE, MLE 차이

(2) 교차 엔트로피 (cross entropy) 방법

: 정보이론(Information theory) 기반 방법이다. 
entropy는 변수의 불확실성 (uncertainty)를 의미한다. 즉 엔트로피가 작으면 불확실성이 낮다. and vice versa

교차 엔트로피는 분포들 (ex, p와 q)간 차이를 의미한다. 로지스틱 회귀 모델에서는 p가 y의 실제값, q가 모델을 통해 예측된 확률을 의미한다. 


logistic regression으로 텍스트의 감성 분석 할 수 있지만, 단어의 순서를 고려하지 못한다는 한계를 갖는다. (단어 등장 여부만 고려) 

이 한계는 딥러닝 기법 중 하나인 RNN을 사용한 BERT 등 모델로 극복할 수 있다.


( 작성 중 )