• 검색 결과가 없습니다.

기계학습 (Machine Learning) 통계기법 비교 연구

<<

3

예측모형으로 활용할 수 있는 통계기법들은 요즘 화두가 되고 있는 딥러 닝(Deep Learning)의 기반인 Neural Network뿐만 아니라, Regression, Shrinkage method, Decision Tree, Boosting, Random Forest, Support vector machines(SVM), Bagging, Deep Learning 등 매우 많다. 여기에서는 반응변수(종속변수)가 범주형인 경우 적용할 수 있는 Logistic regression, Shrinkage method인 Elastic Net, Decision Tree, Random Forest, Boosting, Support vector machines 방법에 대해 소개하고자 한다9).

i.e. log  

  

   이다.

     

     

 exp

을 오즈비(odds ratio)라고 한다. 오즈비는 가 한 단위 증가할 때    일 확률과   일 확률 비의 증가율을 의미한다. 예를 들어 는 소득이 고 는 어떤 제품에 대한 구입 여부(1=구입, 0=미구입)라 할 때,    이면 소득이 한 단위 증가하면 물품을 구매하지 않을 확률에 대한 구매할 확률의 오즈비가 exp  배 증가하는 것으로 해석할 수 있다.

로지스틱 회귀에 대한 우도함수(likelihood function)는

  

         

   exp  exp

이다. 로그 우도함수는 계수에 대한 비선형 함수이기 때문에 최대우도 (maximum likelihood)추정치 은 수치적 방법(numerical method)을 사용하여 구할 수 있다. 설명변수 가 를 설명하는 데 유의 한지에 대한 유의성 검정은 우도비 검정 통계량

   max

   

이다. 는 근사적으로 자유도가 1인 카이제곱 분포를 따르며 그 값이 크 면 가 0이 아니라고 결론을 내린다.

입력변수가 범주형인 경우 선형회귀와 같은 방법으로 가변수를 생성해 서 분석할 수 있으며, 변수선택 역시 선형모형과 동일하게 적용할 수 있 다. 선형회귀모형에서는 선택기준을 오차제곱합으로 사용하는 반면, 로 지스틱 회귀에서는 로그 우도함수값을 사용한다. 로지스틱 회귀에서 변 수선택을 전진선택법으로 하는 경우 각 단계마다 로그 우도함수값의 증 가량을 구하고, 그 증가량이 가장 큰 변수부터 추가한다. 최종모형은 AIC 나 BIC 등의 선택기준을 최소화하는 모형으로 선택한다.

로지스틱 회귀는 주어진 설명변수 에 대해 반응변수 가 1이 될 확 률   를 추정하는데, 0과 1 사이의 합리적인 기준값 를 절단 값으로 선택하여         이면 자료를  인 클래스 로 분류하고        이면 자료를  인 클래스로 분 류할 수 있다.

절단값 를 결정할 때, 고려해야 하는 사항 첫 번째는 사전정보 고려이 다. 사전정보에서   인 자료가 상대적으로 많다면 절단값을 0.5보다 작은 값으로 고려할 수 있다. 두 번째로 적절한 손실함수를 고려해야 한 다.   인 자료를 잘못 분류하는 손실이   인 자료를 잘못 분류하는 손실에 비해 손실 정도가 심각하게 크다고 판단하는 경우 절단값 를 작 게 잡을 수 있다. 그 밖에도 전문가 의견이나 민감도, 특이도 등을 고려하 여 값을 결정할 수 있다.

로지스틱 회귀모형은 선형회귀모형과 마찬가지로 독립(설명)변수들 간 에 강한 상관관계가 존재하는 다중공선성(Multicollinearity) 문제가 발 생하는 경우, 회귀계수 추정량의 계산이 불가능할 수 있고, 추정량의 분

산이 커지는 등 신뢰할 수 없는 결과를 줄 수 있다. 다중공선성에 대한 문 제를 해결하기 위해서는 강한 상관관계를 보이는 독립변수 중 일부를 사 용하거나, 유사한 변수들을 주성분으로 묶는 PCA, 벌점화 방법론 (method of penalization or regularization)인 능형회귀(Ridge re-gression), LASSO, Elastic Net 방법을 적용할 수 있다.

Tikhonov와 Arsenin(1977)은 이러한 함수 추정 문제의 해가 수학적 으로 잘 정의되도록 벌점화 방법을 제시하였다. 이는 벌점항 가 추가 된 벌점화된 목적함수를 최적화한다.



  

   

여기서   은 훈련오차 

  

 와 모형의 복잡도를 나

타내는  간의 비중을 조절하는 모수이다.

Elastic Net은 변수선택과 추정을 동시에 할 수 있는 기법으로, 변수 간의 높은 상관관계가 있는 경우 적용할 수 있는 방법이다. Zou와 Hastie(2005)에 의해 제안된 Elastic Net 벌점화 기법은   과

 의 볼록 결합(convex combination) 형태로 주어진다.

  

     ∈ 

Elastic Net은 능형회귀(Ridge regression)와 Lasso 추정의 장점들을 포함한 방법으로,   과  을 결합함으로써 상관관계가 있는 변수들을 모두 선택하여, 상관관계가 있는 변수들 중에서 하나의 변 수만을 흔히 선택하는 Lasso 의 단점을 보완할 수 있다. 상관관계가 있는 변수들을 모두 선택하는 것을 그룹화 효과(grouping effect)라고 한다.

위 식에서   값들이 주어졌을 때, 두 변수의 Elastic Net 추정계수 를 각각 ,  라 하자. 어떤 상수   에 대해서 부등식

     



  

이 성립한다.  는 두 변수의 상관계수를 의미하며, 1에 가까울수록 두 계수의 차이가 0이 된다. 즉, 두 변수들 간에 상관관계가 크면 대응되는 추정치들의 값이 거의 동일하다고 할 수 있다.

지도학습 문제에서 최종모형의 예측력과 해석력이 중요한데, 상황에 따라 예측력보다 해석력을 더 중요하게 보는 경우가 있다. 장기요양등급 판정에서 심사 결과 등급 판정이 나온 경우 판정 대상자에게 해당 등급에 속한 이유를 설명할 수 있어야 하기 때문에 해석력이 더 중요시된다. 지 도학습 방법 중 하나인 의사결정나무(Decision Tree)는 주어진 설명변 수에 대해 반응 변수값을 예측하는 모형으로 분류나무(classification trees)와 회귀나무(regression trees) 모형이 있다. 의사결정나무는 결과 를 나무 형태의 그래프로 표현할 수 있다.

〔그림 3-2〕 의사결정나무 예시

의사결정나무는 각 변수의 영역을 반복적으로 분할함으로써 전체 영역 에서의 규칙을 생성한다. 의사결정나무에 의해 생성된 규칙은 if – then 으로 표현되어 이해하고 설명하기 쉽다.

의사결정나무의 형성과정은 크게 성장(growing), 가지치기(pruning), 타당성 평가, 해석 및 예측으로 이루어진다. 성장 단계는 각 마디에서 적 절한 최적의 분리 규칙을 찾아서 나무를 성장시키는 과정으로서 적절한 정지규칙을 만족하면 중단한다. 가지치기 단계는 오차를 크게 할 위험이 높거나 부적절한 추론 규칙을 가지고 있는 가지 또는 불필요한 가지를 제 거한다. 타당성 평가 단계에서는 이익도표(gain chart), 위험도표(risk chart), 평가자료(Test data)를 이용하여 의사결정나무를 평가하게 된 다. 해석 및 예측 단계에서는 구축된 나무모형을 해석하고 예측모형을 설 정한 후 예측에 적용한다.

의사결정나무는 다음과 같이 표현된다.

    

∈

여기서 은 terminal node에서의 서로 배반인 설명변수 영역들을 나타내고,   R은 추정해야 할 모수를 의미한다. 전체 영역을  개의 영역  … 으로 나누고 각 영역에서 상수값 으로 예측한다.

나무의 성장-분리 규칙에서 분리변수(split variable)가 연속형 변수인 경우 분리점을

라고 정의하면,

보다 크면 오른쪽 으로, 작으면 왼쪽

로 나눈다. 범주형 변수는 전체 범주를 2개의 부분집합으로 나눈다.

분리 기준(split criteria)으로는 목표 변수의 분포를 얼마나 잘 구별하 는가에 대한 측도로 순수도(purity) 또는 불순도(impurity)를 사용하며,

생성된 두 개의 자식마디에서 순수도의 합을 가장 크게 하거나 불순도의 합을 가장 작게 하는 분리변수를 분리기준으로 선택한다.

분류 나무에서의 불순도 측정 통계량은 카이제곱 통계량(chi-square statistics), 지니 지수(Gini index), 엔트로피 지수(Entropy index)가 있으며, 회귀 나무의 불순도 측정 통계량은 분산 분석에 의한 F-통계량 (F-Statistics), 분산의 감소량이 있다.

앙상블(ensemble)은 주어진 자료로부터 여러 개의 예측모형을 만든 후 이러한 예측모형들을 결합하여 하나의 최종 예측모형을 만드는 방법 을 의미한다. 최초로 제안된 앙상블 알고리즘은 Breiman(1996)의 배깅 (bagging)으로, 부스팅(Boosting), 랜덤 포레스트(Random Forest)등 의 방법이 많이 사용된다. 앙상블 방법은 예측력을 획기적으로 향상시킬 수 있음이 경험적으로 입증되었다.

부스팅의 기본 아이디어는 예측력이 약한, 랜덤하게 예측하는 것보다 약간 좋은 예측모형(weak learner)들을 결합하여 강한 예측모형(예측력 이 최적에 가까운 예측모형)을 만드는 것이다.

Freund와 Schapire(1997)에 의해 처음 제안된 부스팅 알고리즘은 분 류(Classification) 문제를 해결하기 위한 방법으로 사용되었다. Weak classifier인     ⋯을 모아서 강력한 classifier인 

을 만드는 방법은 다음과 같다.

  sign

  



여기서, 와     ⋯ 은 분류기(Classifier)들로 설 명변수, x로부터   로 가는 함수이다.     ⋯ 은 각 약한

분류기(weak classifier)들에 대한 가중치이다. 각각의 분류기(classifier) 들은 가중표본(Weighted sample)으로부터 순차적으로 도출된다. 이때

는 이전 단계에서 오분류한 표본에 대해 더 큰 가중치를 부여해서 다 음 단계에서는 더 잘 분류할 수 있도록 업데이트된다. 이 알고리즘을 Adaboost 알고리즘이라 하고, 이 알고리즘을 도식적으로 표현하면 다음 과 같다.

〔그림 3-3〕 Adaboost 알고리즘 도식화

Adaboost 알고리즘의 정확한 가중치를 구하는 방법과 절차는 다음과 같다.

〔그림 3-4〕 Adaboost 알고리즘 스텝 discrete adaboost 알고리즘이라 한다(Friedman et al., 2000). 대신에 실수값을 반환하는 경우에 real adaboost 알고리즘을 사용할 수 있다.

에 대하여 아래 식과 같이 그 평균값을 최소로 하는 모수값을 구하는 것 stagewise additive modeling이라고 할 수 있다.

   exp 

위의 벌점함수를 지수벌점함수(Exponential loss function)라 부른 다. 또한, 다음 식을 어렵지 않게 증명할 수 있는데,

  argmin    한다. Friedman(2001)에 의해 제안된 Gradient tree boosting 알고리 즘 수행 절차는 다음과 같다.

모형을 구축한 후에는 최적의 모형을 선택하고 평가하는 작업이 수반 된다. 구축된 여러 모형들 중에서 오차가 가장 작은 모형을 선택한 후에 선택된 모형에 대해서 최종적으로 평가하는 과정을 거친다.

〔그림 3-7〕 최종 boosting 모형 구축 과정

Friedman(2001)은 변수의 상대적 중요도를 구하였는데, 변수의 중요 도는 통계모델에서 특정 변수가 반응변수에 미치는 영향에 대한 연관성 크기를 나타낸다. 트리 기반 모형에서  변수에 대한 상대적 영향도는

  

으로 표현할 수 있고, 는 변수  에 의해 순수도가 높아졌는지를 의미

한다. 부스팅 모형에서는 부스팅 알고리즘에 의해 생성된 모든 트리에 대해

변수의 상대적 영향 평균값을  변수의 상대적 영향도라고 말한다.

변수의 상대적 영향 평균값을  변수의 상대적 영향도라고 말한다.