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 꼴을 따른다.
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과 동일하다.
이 때, 위와 같은 범위를 가지는 Y값을 regression하기 위해 odds를 logit 변환을 수행한다.
odds는 성공확률에 대한 실패확률의 비와 같고 odds = p(y=1)/(1-p(y=1)) 과 같이 계산한다.
그리고 logit 변환은 거기에 log를 씌워 [0,1]에서의 범위가 [-♾,+♾]의 범위의 값을 가지게 되는 식이 된다.
이제, logit(Y) = B0 +B1X로 두고, regression을 할 수 있게 된다.
Assumption (가정)
Y ~ binomial distribution(이항분포)을 따른다.
이항분포를 따르는 Yi에 대한 최대우도함수(Maximum likelihood function)을 찾는다.
'Programming > Data mining' 카테고리의 다른 글
머신러닝 알고리즘 정리 (Decision Tree, Random Forest) (0) | 2020.07.18 |
---|---|
머신러닝 알고리즘 정리 (PCA, LDA) (0) | 2020.07.05 |
Z-test, T-test, Paired T-test, ANOVA test 비교 (0) | 2020.06.10 |
9. Pandas Visualization / 코세라(COURSERA) 수료증_python (0) | 2020.02.26 |
8. Animation, interactivity(인터랙티브한 데이터표현)_python (0) | 2020.02.16 |