본문 바로가기

Programming/Data mining

머신러닝 알고리즘 정리 (Linear regression, Logistic regression)

0. Supervised vs Unsupervised Learning 

간단히 말해 labeled data, 즉 타겟 변수(target variable)의 존재유무로 판단한다.

0-1. Supervised Learning
labeled data가 존재하여, 정답을 알려주면서 training set를 이용하여 학습한 후, test set이나 inner validation을 통해 알고리즘 별 적합한  score를 계산하여 성능을 비교하는 것.
ex) Linear regression, Logistic regression, Linear discriminant analysis(LDA), Decision Tree, Random Forest, K nearest neighborhood(K-NN), Supprot vector machine(SVM), Naive bayse

0-2. Unsupervised Learning
labeled data가 존재하지 않으며, clustering이나 association rule과 같이 independent variable들 사이의 관계나 숨은 의미를 찾아내어 classification을 하는 데 주로 이용된다.
ex) PCA, K-means clustering, Association rule

1. Linear Regression

1-1. Simple Linear Regression
independent variable이 하나일 때 simple linear regression이라고 하며, Yi = B0 + B1Xi + ei 꼴을 따른다.

 

 

SST, SSE, SSR
Objective function of simple linear regression

Parameter (B0, B1)
그럼 이때 best fitting 시키는 line의 parameter들은 어떻게 찾을 수 있을까?
1. LS estimate: 위의 목적함수를 최소화하는 line을 찾는 방법으로 partial derivative(편미분)을 이용하여 B0와 B1을 찾는다.
2. MLE(Maximum likelihood estimate): 위에서 설명했다시피, Yi는 Xi에 대해 Gaussian Distribution을 따르게 되고, 우리는 이것을 이용하여, 확률밀도함수를 최대로 하는 B0와 B1을 마찬가지로 derivative(편미분)을 이용하여 구할 수 있고, 추가적으로 error variance까지도 구할 수 있게 된다.
3. Gradient descent method: 계속 범위를 좁혀가며 위의 목적함수를 최소화하는 parameter를 찾아간다.

1-2. Multiple Linear Regression
위의 simple linear regression과 다른 것은 independent variable이 2개 이상이라는 것이다.
이 때, Yi = B0 + B1Xi1 + B2Xi2 + ... BkXik + ei, i=1,2...n 꼴을 따른다.
Assumption, Objective function, Parameter는 거의 simple linear regression과 동일하다.

2. Logistic Regression (로지스틱 회귀)

Labeled data(타겟 변수)가 dichotomous response(이분적으로 나누어지는 값)일 때, 주로 사용한다.
로지스틱 모형 식은 어떤 independent variable이 값으로 들어오더라도 결과 값이 항상 [0,1] 사이에 존재하도록 한다.

logistic regression

이 때, 위와 같은 범위를 가지는 Y값을 regression하기 위해 odds를 logit 변환을 수행한다.
odds는 성공확률에 대한 실패확률의 비와 같고 odds = p(y=1)/(1-p(y=1)) 과 같이 계산한다.
그리고 logit 변환은 거기에 log를 씌워 [0,1]에서의 범위가 [-♾,+]의 범위의 값을 가지게 되는 식이 된다.

logit, logistic function

이제, logit(Y) = B0 +B1X로 두고, regression을 할 수 있게 된다. 

Assumption (가정)
Y ~ binomial distribution(이항분포)을 따른다.

Objective Function(목적함수)
Maximum Likelihood function.
이항분포를 따르는 Yi에 대한 최대우도함수(Maximum likelihood function)을 찾는다.

Parameters (B0, B1)
Logistic regression은 Linear regression과는 달리, partial derivative를 이용한 closed form solution을 구할 수가 없다.(미분해도 계속 변수가 남아있기 때문에). 때문에 우리는 Likelihood function을 maximize시키는 B0와 B1값을 Gradient descent method를 통해서 찾아나갈 수 있다.
Gradient descent method는 계속해서 범위를 좁혀가며 최댓값을 찾아나가는 방법으로 step-size를 직접 정하고 변경해가며 찾아가지만, Newton rapson method를 이용하면 Hessian inverse를 step-size로 하여 더 빠르게 찾아나갈 수 있다.