본문 바로가기

Machine Learning

(19)
Dimensionality Reduction - Supervised Variable Selection Exhaustive Search 전역 탐색 가능한 경우를 모두 탐색하는 것이다. 변수가 $n$개가 있다면 변수의 조합 개수는 $2^n - 1$이다. 당연히 변수의 개수가 많을 수록 사용할 수 없는 방법론이다. 위 그래프를 보면 1초에 10000개의 모델을 평가할 수 있는 계산 속도를 가지고 있어도 변수의 개수가 40개만 되더라도 1년이 걸린다. 변수를 평가할 때는 Akaike Information Criteria(AIC), Bayesian Information Criteria(BIC), Adjusted R-squared 등을 사용한다. Adjusted R-squared의 수식은 다음과 같다. $1 - {{(1-R^2)\cdot(n-1)} \over {n-k-1}}$ $R^2$: 일반적인 R-squared..
Dimensionality Reduction - Overview 자료 출처 차원 축소는 전처리 방법 중 하나이다. Variable이 $x_1 ... x_d$로 $d$차원의 데이터셋 $X$가 있을 때, 이를 $x_1 ... x_{d'}$인 $d'$차원으로 데이터셋을 diet시키는 것이다. 차원 축소의 목적은 일반적으로 학습 데이터셋의 차원을 축소시켜 모델 학습의 효율성은 올리면서 성능은 유지 혹은 증가시키는 것이다. 차원의 저주 Variable 개수가 증가할 때 똑같은 설명력을 유지하기 위해서 혹은 정보량을 유지하기 위해서 필요한 객체의 수는 기하급수적으로 증가한다. 위 그림 처럼 두 객체 사이의 거리가 1이라는 정보를 표현하기 위해서는 1차원일 때는 객체가 2개가 필요하지만, 차원이 증가할 수록 필요한 객체의 수는 기하급수적으로 증가한다. 또한 항상 그런 것은 아니지..
4-9 : Ensemble Learning - CatBoost 자료 출처 catboost의 저자들은 categorical feature를 처리하는데 사용되는 target statistic이 target leakage와 prediction shift 문제가 발생하며 이를 각각 ordered target statistics와 ordered boosting을 사용함으로써 해결할 수 있다고 주장한다. 그럼 먼저 기존에 사용되던 target statistics(TS)에 대해서 알아보자. Categorical features in boosted tree Greedy TS without smoothing 각 카테고리에 대해서 expected target value를 계산하며 수식은 다음과 같다. i는 categorical feature이며 k는 training example i..
4-8 : Ensemble Learning - Light GBM 자료 출처 MS에서 개발되었고 XGBoost와 마찬가지로 Conventional GBM이 information gain을 계산하기 위한 split point를 모든 데이터 객체에 대해서 스캔하기 때문에 시간을 단축하기 위해서 고안되었다. Idea 데이터 객체의 수와 feature의 수를 줄이기 위함 Gradient-based One-Side Sampling (GOSS) 서로 다른 gradient를 갖는 데이터 객체는 information gain 계산에서 서로 다른 역할을 한다. 그러니까 각각 gradient가 다르다고 이해할 수 있다. gradient가 큰 객체는 유지하고 gradient가 작은 객체는 샘플링을 통해 무작위로 drop한다. Exclusive Feature Bundling (EFB) 상호..
4-7 : Ensemble Learning - XGBoost 자료출처 XGBoost는 기본적으로 GBM의 철학을 따라가되 어떻게하면 더 빠르고 대용량의 데이터에 대해서도 처리가 가능한지에 대한 고민에서 출발한 알고리즘이다. 이를 위해 근사 알고리즘을 사용하여 약간의 성능 저하가 있을 수도 있지만 대용량의 데이터를 다룰 수 있는 병렬처리 기법 등을 통해서 이러한 단점을 보완한다. 이 포스팅에서는 하드웨어적인 부분은 다루지 않고 꼭 이해해야할 알고리즘 관련한 부분만 다룬다. Split Finding Algorithm Basic exact greedy algorithm 의사결정나무에서 split을 위해 사용하는 알고리즘이다. 장점 모든 가능한 split point를 다 찾아보기 때문에 항상 최적의 split point를 찾는다. 단점 데이터가 너무 커서 메모리에 다 들..
4-6 : Ensemble Learning - Gradient Boosting Machine (GBM) 자료 출처 Gradient Boosting은 Gradient Descent 알고리즘과 Boosting이 결합된 알고리즘이다. Adaboost의 경우 forward stage-wise 방법으로 additive model을 만들고, 각 단계에서는 이전의 weak learner를 보완하는 새로운 weak learner를 제시하는 형태로 학습이 진행되었고, 잘 학습되지 않았던 shortcomings에 대해서는 다음 데이터셋에서 shortcomings의 weight을 조정하는 방법으로 모델을 학습시켰다. 반면에 Gradient Boosting에서는 shortcomings들이 gradient에 반영이 된다. 손실함수의 복잡도 측면에서 regression이 GBM 알고리즘을 직관적으로 이해하기 쉽기 때문에 regre..
Classification Performance Evaluation 자료 출처 평가를 하는 이유는 최상의 모델을 선택하려면 각 모델의 성능을 평가해야 하기 때문이다. 흔히 전체 데이터셋을 학습, 검증, 테스트 3가지로 나눈다. 일반적으로 모델들의 하이퍼파라미터 튜닝을 할 때 검증셋의 성능이 좋도록 튜닝을 한 뒤, 최적의 세팅을 가진 모델들을 테스트셋에 대한 성능을 평가하여 최고의 모델을 가린다. 1. Confusion Matrix 혼동 행렬 또는 정오 행렬이라고도 부른다. 위와 같이 성별을 BFP의 수치만 가지고 분류하는 분류기의 예시를 살펴보자. 이를 confusion matrix로 표현하면 다음과 같다. Confusion Matrix Predicted F M Actual F 4 1 M 2 3 일반적으로 우리가 예측해야 하는 범주를 positive로 설정한다. 예를 들..
Logistic Regression : Interpretation 자료 출처 Meaning of coefficient 선형 회귀의 경우 coefficient에 대한 해석이 용이하다. 예를 들면 $x_1$이 1 증가하면 예측 값은 $\hat {\beta_1}$ 만큼 증가하기 때문에 변수의 영향력이 어느정도인지 직관적으로 이해할 수 있다. 반면에 로지스틱 회귀는 odds의 로그값이 변화하기 때문에 직관적이지가 않다. Odds ratio 다른 변수의 값은 고정되어 있고 $x_1$만 1만큼 증가했다고 가정해보자. 이 때 odds ratio는 다음과 같다. $x_1$이 1만큼 증가하였을 때 odds는 $e^{ \hat {\beta_1} }$이라는 factor에 의해 증가하거나 감소한다. coefficient가 양수일 때 : positive class와 coefficient는 양..