- 2019년 3월 12일 오후 2:17
- 조회수: 2940
REFERENCES
INFORMATION
- 2019년 3월 12일
- 오후 1시 30분 ~
- 고려대학교 신공학관 212호

TOPIC
OVERVIEW
발표자 후기

본 연구는 prostate cancer(전립선암) 환자를 대상으로 높은 분류 성능과 더불어 해석이 가능한 rule을 추출하는 것을 목표로 한다. Ensemble learning 방법 중 하나인 stacking 기법을 활용한 연구로써, regression tree 기반의 stacking을 사용하여 classification performance를 최대화함과 동시에 complexity를 최소화하여 높은 분류 성능을 보이면서 최대한 단순한 형태의 모델을 구축하였다. 또한, 다수의 regression tree를 통해 산출된 rule을 병합하는 방법을 제안하여 robust한 규칙을 추출하였다. Stacking은 여러 개의 모델을 통해 1차적으로 예측을 수행하고 이 과정을 통해 얻어진 예측 값들의 집합을 가지고 2차적으로 최종 예측을 수행한다. 연산량이 많고, 시간이 오래걸린다는 단점이 있으나, 기존의 전통적인 machine learning 방법을 조합하여 예측 성능을 최대로 끌어올린다는 점에서 기존의 ensemble과는 모델링의 접근방식이 다르다고 생각된다. 실 사용 측면에서 대부분의 현실문제들은 예측성능 뿐만 아니라 동시에 해석가능한 형태의 모델이 필요하다는 관점에서 봤을 때, 본 연구에서 가장 중요한 부분은 다수의 rule을 병합하는 과정이라 보이며, 적용할 사용할 수 있는 범위가 상당히 넓다고 생각된다. 비록 본 논문에서는 연산량에 대한 언급은 없었으나, 충분히 robust한 규칙을 추출할 수 있다는 장점에 비춰봤을 때, 충분히 상쇄가능한 부분이라 생각된다.
청취자 후기

오늘 세미나는 ensemble learning에 대해 이루어졌다. 오늘 소개된 논문에서 사용한 데이터는 의학 쪽 데이터이고 의학은 진단에 대한 해석이 중요한 분야이다. 따라서 오늘 소개된 모델의 주목적은 ensemble learning으로부터 확보된 규칙들 가운데 중요한 규칙을 선정해서 결과를 해석하는 것이 목적이라 볼 수 있다. 기존의 앙상블 학습법은 bagging과 boosting으로 나뉜다. 하지만 오늘 다뤄진 모델은 stacking의 프로세스를 사용한다. 다양한 종류의 base model들로 모델을 예측하고 확보된 예측 값으로 메타데이터를 생성한다. 메타데이터로 실제데이터를 예측하는 meta model이 만들어져서 최종 예측 값이 만들어진다. 최종적으로 규칙을 뽑기 위해서 논문에서는 base model을 decision tree를 사용하였다. 또한 각 DT에는 변수는 random한 개수를 뽑아 사용하며 bootstrap sampling이 사용된다. base model의 또다른 특징은 최종적으로 분류를 수행해야하지만 regression yree를 사용해서 class가 나올 확률을 예측하는 모델로 만들었다는 점이다. 그 이후 예측된 확률 값으로 meta data를 만들어서 meta model에 사용한다. 하지만 이전에 첫 단계에서 생성한 모든 base model을 그대로 사용하는 것이 아니라 이 중에 최적의 결과를 내는 모델들의 조합을 메타휴리스틱 방법으로 찾게 된다. 메타휴리스틱 방법으로는 유전알고리즘을 사용하였으며 목적식은 bi-objective를 사용하였다. 정확도를 높이고 복잡도를 낮추는 두 목적식에서는 복잡도는 computation cost를 낮추기 위한 목적이기보다는 뒤에서 중요한 규칙을 뽑을 때 규칙의 개수를 줄이는 단순한 용도로 사용되었기에 간단하게 사용한 base model의 개수를 줄이는 목적식을 사용하였다. 이렇게 선택된 base model의 규칙은 importance score를 통해 가중치가 부여되며 규칙이 중복되거나 포함관계가 있다면 해당 규칙을 제거하고 규칙의 중요도를 업데이트하는 일련의 과정들도 수행된다. 각 규칙에 ranking이 매겨진 이후 해당 규칙의 coverage와 complexity를 계산해서 이를 모두 반영한 Score로 최종 규칙이 생성된다. 사실 이 많은 일련의 과정이 수행되기까지 시간이 너무 오래 걸릴 것 같다는 생각이 들었다. 하지만 분야가 분야인 만큼 해석을 하는 것이 중요하기 때문에 해당 연구가 가치 있을 수 있었겠다는 생각이 들었다. 추후 프로젝트에서 예측력의 고도화보다는 해석이 중요할 때 사용해보고 싶다는 생각이 들었다.

오늘은 한규 오빠가 ‘Ensemble learning’라는 주제로 ‘Stacking-based ensemble learning of decision trees for interpretable prostate cancer detection’논문에 대해 소개해주었다. 초기 데이터 분석은 정확한 예측 값을 도출하는 것에 주목하였다면, 최근에는 정확한 예측을 넘어서 해당 예측에 기여한 변수에 대한 해석 즉, 모델에 대한 해석을 실현하고자 하는 연구가 활발히 이루어지고 있다. 대표적으로 딥러닝은 방대한 데이터를 수용하고, 연산함으로 인해 좋은 성능을 보이는 것으로 알려져 왔지만, 해석이 불가는 한 black box모델이라는 것이 정설이다. 따라서 우회적으로 모델을 해석하고자 하는 연구들이 제안되고 있다. 반면, 기존의 모델의 해석이 용이하다고 알려진 tree based model의 경우, 우수한 예측 성능을 구축하기 위해 모델의 구조 자체를 바꾸거나 여러 모델에 대한 결과를 결합시키는 ensemble learning을 도입해왔다. Ensemble learning방식은 크게 bagging, boosting, stacking이 있다. 특히, stacking의 경우 서로 다른 모델조합하여 결과를 도출하기 때문에 각 모델의 장,단 점을 보완할 수 있지만 연산량이 상당히 큰 모델이다. 두 단계에 걸쳐 최종 예측 값이 결정된다. 먼저, 다양한 모델로부터 예측 값을 도출하여 모델 별 예측 값(벡터)로 구성된 행렬을 도출한다. 이후, 해당 예측 값 행렬을 입력으로 받는 모델링을 구성하여 최종 예측 값을 출력한다. 오늘 소개한 논문에서는 첫번째 절차에서 학습의 다양성을 위해 다수의 tree를 생성하고, 각 tree별 입력 데이터의 다양성을 위해 bootstrap sampling, random feature selection을 적용하였다. 그렇다면 어느 정도의 모델을 선택해야하는지, 각 모델에 대한 결과를 통해 최종 예측 값을 어떻게 도출할 것인가 하는지 결정해야한다. 모델의 규모(각 모델, 모델의 개수 등)을 선정하기 위해 규정한 optimization problem은 bi(multi)-objective problem으로 두 목적식이 trade off성질을 띄는 경우가 발생할 수 있다. 이런 경우 pereto-optimal set을 규정하는 휴리스틱 방법이 있다. Sub set을 구성하고, 해당 set에 대해 비교를 하여 보다 적은 연산량으로 좋은 성능을 얻을 수 있는 것을 기대하며, 과정은 genetic algorithm과 유사하다. 그렇다면, 최종적으로 해석이 가능한 모델 결과를 도출하기 위해 일반적인 random forest에서 도출할 수 없는 rule extraction을 제안하였다. 결국 sub set의 각 모델로부터 도출된 룰을 취합하는 과정인데, 저자는 이를 어느정도 합리적으로 설계하였고 직관적으로 이해할 수 있었다. 세미나 시간에도 연산량에 대한 논의가 이루어졌는데, 저자가 적절히 제안 연구의 목적을 강조함으로써 모델 연산량에 대한 이슈를 크게 주목하지 않게 풀어낸 점이 흥미로웠다.

오늘 전체세미나는 ‘Ensemble Learning’이라는 주제로 진행되었으며 19년에 새롭게 제안된 Staking이라는 앙상블 기법을 주로 다루었다. 보통 우리가 접하고 자주 쓰는 앙상블 기법은 배깅(bagging)과 부스팅(boosting)이 있다. 먼저 배깅은 여러 모델의 결정 경계를 평균하여 예측하는 기법을 말하고, 부스팅은 weak 모델을 보완해 나가며 최종적인 하나의 모델을 구축하는 기법이다. 배깅은 Variance를 감소하는 목적을 두고 있으며, 부스팅은 Bias를 줄이는 것으로 구성되어 있다.. 오늘 새롭게 소개한 Stacking 기법은 이 두가지를 동시에 고려하여 최종적으로 성능향상에 목적이 있다. 먼저 다양한 변수별, 관측치별 기본적인 모델을 만들어 놓은 다음 여러 모델의 조합을 구성하여 성능이 가장 좋은 모델을 선택하는 과정으로 이루어져 있다. 하나의 통합된 모델을 필요로 하는 데 반하여 여러 문제상황을 안고 있는 데이터 분석에 적합할 것으로 보인다. 특히 시계열 데이터를 분석할 때 주기와 트렌드를 반영하는 것은 그닥 어려운 문제가 없지만 특정 연휴와 대체 휴일 등으로 점 추정이 어려운 부분에 적합할 것으로 생각한다. 특정 모델이나 변수에 가중치를 가해 주어야 하는 등의 작업이 필요하기 때문이다. 최근 리조트 취소율 예측데이터에 어려운 점이 바로 이것이었는데 한번 적용해 볼 계획이다.

오늘 세미나는 Ensemble learning 을 주제로 Stacking-based ensemble learning of decision trees for interpretable prostate cancer detection 논문을 소개하였다. 의학분야에서 암과 같은 질병을 조기에 예측하는 것은 매우 중요하다. 조기 예측을 위하여 예측모델을 구성할 때, 우수한 예측 성능을 보이면서 해석이 가능한 기계학습 기반의 모델 개발이 필요하다. 이러한 필요성으로 본 논문에서는 ensemble learning 기반의 모델을 제안하였다. 기존에 많이 쓰이던 bagging 이나 boosting 방법이 아닌 stacking 이라는 개념을 이용하였다. 연산량이 많아지는 단점은 있으나, 성능이 향상될 수 있는 장점을 가지고 있다. 랜덤하게 생성된 다수의 tree 를 base learner 로 활용하고, GA 를 이용하여 sub-ensemble 을 만든후 Multi objective evolutionary process 를 이용하여 최적의 sub-ensemble 을 찾는다. 이렇게 찾아진 sub-ensemble에서 사용된 base-learner 의 조건을 하나로 합치기 위하여 random forest 의 important score 를 이용 각 learner 의 중요도를 산출하고 이를 weight 로 이용하여 하나의 조건으로 합치게 된다. 오늘 세미나에서 흥미로웠던 점은 각각의 decision tree 의 조건들을 어떻게 하나의 조건으로 합칠 수 있을 것인가에 대한 부분이었는데, 좋은 예시를 본 것 같아 재미있었다. 또한, 어려운 내용이었지만 이한규연구원이 잘 설명해주어 개념을 어느정도 이해할 수 있어서 좋았다.

금주 세미나는 ensemble learning에 대한 간단한 소개와 stacking-based ensemble learning of decision trees for interpretable prostate cancer detection 논문에 대한 소개로 진행되었다. 논문에서 제안하는 방법론은 기존 ensemble들과 같이 각 base learner들을 어떻게 학습할 것인지, 그리고 어떤 base learner들을 선택하고 합칠 것인지에 대한 내용들로 구성되어있었다. 또한, 제안하는 모델은 복잡한 ensemble 결과에 대한 적절한 해석을 제공하기 위해 rule extraction process를 포함하고 있었는데, 이 접근 방식은 꼭 이 논문에서 제안한 모델에 대해서만 사용할 필요는 없을 것 같았다. 추후 random forest / gradient boosting 등 기본적인 ensemble 모델에 대해서 rule extraction이 필요한 경우에 적용해봐도 좋을 것 같다.

금일 세미나는 ‘Ensemble Learning’이라는 주제로 진행되었다. 구체적으로 전립선암에 걸린 환자들을 분류하는 목적을 이루기 위한 방법론을 소개했는데, 높은 분류 성능과 상대적으로 낮은 연산 시간을 보장해 주는 알고리즘이다. Ensemble Learning의 방법론 중 stacking 기법을 도입했고, 여러 regression tree를 통해 정립된 rule을 혼합함으로써 robust한 모델을 구축했다. Stacking은 여러 모델을 사용하여 얻고자 하는 예측 결과를 확보하고, 예측 결과를 사용하여 또 한번 예측을 수행하는 기법이다. 따라서 예측 연산 시간은 오래 걸리지만 기존의 여러 알고리즘을 혼합하여 예측 성능을 최대화 시킨다는 점에 장점이 있다. 개인적으로 연산 시간이 상대적으로 오래 걸린다는 단점이 눈에 띄었으며, ensemble learning을 이용하고자 할 때, 시간적인 단점을 보완할 수 있는 고민이 필요하겠다는 생각이 들었다.

금일 세미나는 “Ensemble learning” 라는 주제로 진행되었다. 주제는 prostate cancer 환자를 대상으로 해당 환자들의 분류와 해석이 가능한 rule 을 목표로 하는 것이었다. 의학에 관련된 항목이기에 신뢰도를 매우 높게 하는것을 가장 큰 목적을 두는 것이었다. Ensemble learning 에는 크게 bagging 과 boosting 방식이 있다. Bagging 은 샘플링을 여러번 하면서 매번 모델링이 되어 그 모든 결과를 output 으로 내는 방식이며, boosting 은 순차적으로 모델링을 하고 미스 class 가 있으면 해당 값을 보정하여 다시 모델링을 하면서 최적의 모델링을 찾아 결정을 내리는 방식이다. 이번 ensemble learning 에서는 좀더 다른 stacking 방식을 이용하였는데 이는 각종 다른 모델링을 한꺼번에 각각 돌려서 각각 모델에서 나온 예측값을 모아 다시한번 예측을 하여 final prediction 을 하는 방식이다. Stack 의 개수는 여러 번 진행 해도 되며 어떤 모델을 사용해도 문제가 없다. 연산량이 많아서 시간이 오래 걸리지만 오직 performance(신뢰성)을 높이기에는 가장 좋은 방식이라고 생각하며 특히 조금의 문제라도 생기면 안되는 경우에 사용하기에 좋아 보이는 방식이다.해당 논문에서는 step1 으로 base learner 로 meta-data 를 생성하고 이를 이용하여 regression tree 방식을 활용하여 하고 step2 로 정확도를 어떻게 높이고 연산량을 최대한 심플하게 하는 방식을 선택하기 위해 bi-objective optimization problem 을 정의하였다. Elitist non-dominated sorting genetic algorithm을 활용하여 best sub-ensemble 을 선택한다. 목적함수가 여러 개일 경우 다수의 목적함수를 모두 만족하는 값은 하나가 아니라 여러 개 존재하여 최적의 해의 집합을 찾도록 pareto-optimal set 을 사용함. (가장 끝에 나오는 값을 각 함수의 최고값으로 사용함.)이때 규칙이 중복되거나 포함관계가 된다면 해당 규칙을 제거하고 업데이트 한다.(연산량을 줄이는 방법) 이렇게 나온 값을 Random forest 를 사용하여 importance score 를 얻어 각 규칙에 가중치를 두어 rank 를 부여하고 score 를 산출하였다. 해당 세미나를 들으면서 시간이 걸리더라도 안전한 데이터를 뽑아내는 것이 필요한 곳에서 매우 유용해 보였다.

금일 세미나는 Ensemble Learning을 주제로 발표하였다. Ensemble Learning에는 크게 Bagging(Bootstrap aggregating)과 Boosting이 있다. 추가적으로 Meta Modeling이라고 불리는 Stacking방법도 있다. Bagging과 Boosting의 대표적인 알고리즘에는 Random Forest와 Gradient Boosting, AdaBoost, Xgboost 등이 있다. Stacking방법에는 특정 알고리즘이 업고 SVM, RF, KNN등 다양한 알고리즘을 사용하여 이를 조합한다. 사용한 모델들의 장점을 취하고 약점을 보완할 수 있게 되는 것이다. 하지만 계산량이 많은 단점이 존재한다. 이를 해결하기 위해 제안한 방법은 step1 base learner에서 training set을 활용하여 다수의 tree를 생성하고 meta-data를 생성한다. 생성한 meta-data를 가지고 정확성을 높여주고 복잡성을 낮춰주는 모델을 선택하고 이를 결합한다. 마지막 step에서는 RF를 통해 변수의 중요도를 얻어 규칙 중 중복이 되거나 포함관계에 있는 규칙을 가중치를 더하는 방식으로 제거하여 업데이트를 한다. 결과적으로 stacking 기법을 사용하여 예측 성능을 향상시키고 정확성을 높이고 복잡성을 낮추는 장점을 갖게 된다. 또한 변수 설명에 대한 해석력을 높이기 위해 규칙 추출 방법론을 제안함으로써 이를 해결할 수 있게 된다. 오늘 세미나를 통해 ensemble 기법에 대해 처음 접해본 stacking 기법과 문제점을 해결하기 위해 제안된 방법론들을 배우는 좋은 시간이었다. 예측 모델을 연구할 뿐만 아니라 이를 어떻게 결합시켜 좋은 성능을 낼 수 있는지 다시 한 번 생각해보게 되는 시간이었다.

이번 세미나는 Ensemble learning이다. 앙상블 기법은 크게 Bagging과 Boosting 기법으로 나뉘고, 각각의 대표 모델은 RandomForest, XGBoost 이며 높은 성능을 보여준다. 그 외에 stacking(meta modeling)이라는 방법이 있으며, 이번 세미나는 stacking을 중심으로 구성되었다. 앞선 방법들과는 다르게 여러 층을 쌓아 더 좋은 성능을 낼 수 있게 한다. 여러 개의 base-learner들로 최적의 sub ensemble selection을 통하여 정확도를 올리고 복잡도를 감소시키는 방향으로 최적조합을 찾는다. 이러한 방법을 반복하여 그 중 가장 좋은 최적조합을 얻고, 그 조합의 RandomForest를 이용하여 각각의 base learner들의 Importance Score를 얻는다. 이 스코어와 포함관계와 같은 base-learner의 관계들을 이용하여 업데이트를 하며 규칙에 따라 룰의 순서를 정할 수 있다. Stacking은 bagging과 boosting과는 다르게 모델들의 최적의 조합을 찾는 과정이기 때문에 직관적으로도 상당히 좋은 성능을 낼 것이라는 생각이 든다. 다만 세미나 때도 질문이 나왔지만 계산 비용이 높을 것으로 예상된다. 또한 룰을 찾기 위해서는 Rule을 갖는 base-learner를 사용해야 하는 것도 단점일 수 있다고 생각한다. 계산을 많이 하더라도 높은 정확도가 필요한 곳에서는 유용할 수 있을 것 같다.

금일 진행된 세미나는 ensemble learning이라는 제목으로 진행이 되었으며, 주된 내용은 stacking과 규칙을 추출하는 방법론에 관한 것이었다. 앙상블은 보통 variance를 감소시키기 위한 bagging, bias를 감소시키기 위한 boosting 계열의 알고리즘이 많이 사용되지만 직접적으로 performance의 향상을 목적으로 하는 stacking 방법도 있다. 상대적으로 연산량이 많아 개인적으로 프로젝트나 연구에서 사용해본적은 없었던 방법론이었다. Stacking은 여러 가지의 모델을 사용해서 학습과 예측을 수행한 다음에, 예측값을 다시 설명변수로 사용하는 모델들을 학습하게 된다. 이러한 과정을 여러 번 거쳐 최종 예측값을 도출하게 된다. 세미나에서 소개한 논문에서는 이러한 stacking 기법 안에서 연산량을 줄이기 위한 optimal sub-ensemble selection에 대한 내용과 더불어 분류 모델의 규칙을 추출하기 위한 방법을 제안하였다. 특히 규칙 추출 부분은 stacking이 아니라 일반적인 랜덤포레스트 모델에도 적용이 가능하기 때문에, 연산량을 고려하지 않는다면 적용을 고려해봐도 좋을 것 같다는 생각이 들었다. 모델의 성능향상에만 신경을 쓰게 되면서 결과의 해석에 대한 부분은 소홀히 하게 되는데, 논문의 타겟 도메인인 의학 분야와 같이 결과에 대한 해석이 중요한 분야에서는 중요한 연구라고 생각된다.

금일은 Ensemble Learning 중 Stacking 기법에 대한 설명을 들을 수 있었다. 나에게 있어 이번 세미나는 주제부터 크게 관심을 갖게 된 내용이었다. 현재 관심 있게 생각하고 있는 것이 Ensemble Learning 기법이기 때문이다. 기존에는 Ensemble Learning 중 Bagging과 Boosting 방법론이 자주 사용되었다. Bagging의 경우 데이터에서 여러 번 Sampling을 하여 만든 Model들의 성능을 Mean등으로 합쳐서 단일 Model의 비해 성능을 높이는 기법이다. Boosting의 경우 순차적으로 Ensemble하는 기법으로 Model에 의해 예측된 결과값에 대해 잘 맞춘 데이터와 못 맞춘 데이터에 대해 각각 가중치를 주면서 못 맞췄던 데이터도 결국 잘 맞출 수 있게 학습을 진행한다. 오늘 들은 Stacking의 경우 Model로 예측한 값으로 Meta Model을 만들어 예측을 한번 더 진행하는 방식이다. Stacking 기법의 경우 기존에 전통적으로 사용되었던 단일 Model들에 비해 성능이 높아짐을 알 수 있었다. 하지만 성능 향상 대비 시간이 얼마나 더 증가했는지에 대한 내용이 없다는 점이 아쉬웠다.
이번 세미나는 Ensemble Learning에 대해 관심 있게 보고 있는 내게는 귀중한 시간이었다. 특히 예측 값들을 통해 다시 한번 예측한다는 점과 Deep Learning에 비해 해석력이 높은 Machine Learning의 장점을 살리며 성능을 높이기 위한 노력이 인상 깊었다. 이번 세미나에서는 주로 Tree Model을 바탕으로 Stacking 기법에 대한 설명이 진행되었지만, ‘각기 다른 장점을 지닌 Regression Model들을 Stacking해 Model별로 지니고 있는 장점을 살릴 수 있는 Model 또한 만들 수 있지 않을까?’하는 생각이 들었다. 항상 청중들이 쉽게 들을 수 있도록 세미나를 준비해주시는 한규형에게 감사함을 표하며, Ensemble Learning과 관련된 최근 연구 내용을 듣는 것을 통해 해당 기법에 대해 이전에 지니고 있었던 관심도가 한층 더 높아질 수 있는 좋은 세미나 시간이었다.

금일 세미나는 앙상블 러닝이라는 주제로 한규형이 발표하였다. 앙상블의 기본적인 가정은 성능이 좋지 않은 분류기(ex. Decision Tree)를 여러 개 중첩시켜, 예측을 하는 것에 사용하는 방법이다. 앙상블은 크게 Bagging(Bootstrap Aggregating) 과 Boosting 두가지로 나뉜다. 하지만 세미나에서 가장 중심이 된 부분은 Stacking이었다. Stacking은 Meta Modeling 이라고도 불리는데, 여러 가지 분류기를 통해 산출된 예측 값에 대해 이들을 행렬로 재 구성하고, 이들에 대해 예측을 하는 것을 말한다. 행렬을 구축한 후에, 다시 예측이 진행될 때는 주로 Random Forest를 사용한다고 한다. 해당 알고리즘은 특정한 알고리즘을 사용하는 것이 아니라, 기존의 알고리즘들을 결합해 사용하면서 예측력을 높일 수 있는 장점이 있지만, 많은 연산량이 필요하다는 단점이 있다. 이와 같은 내용을 설명하면서 소개한 논문에서는 Stacking과 Feature Selection을 동시에 진행하는 방법을 소개해주었다.
한규형이 해당 논문을 소개하게 된 계기는 특정 프로젝트에 해당 방법론을 이용하기 위해 논문을 읽다가 발표까지 진행하였다고 한다. 나의 얕은 지식으로는 해당 방법론이 왜 한규형이 언급한 프로젝트에 적합한지에 의문이 든다. 논문을 읽어보면서, 한번 더 생각해보고 나 스스로의 응용 방안을 마련 해야겠다는 생각하였다. 발표를 진행해준 한규형에게 감사하다고 말하고 싶다. 배울점이 많은 선배라는 생각이 다시 한번 들었다.

금번 세미나는 박사과정이신 이한규님께서 Ensemble learning에 대한 주제로 진행해 주셨다. Ensemble(합주)이란 여러 사람들이 어울려 조화를 이루어 하나의 화음을 만들어 내는 것으로 Data Science에서는 여러 DATA 분석결과를 조합하여 1ea의 의미있는 DATA를 추출하는 방법을 말한다고 한다. 해당 기법에는 크게 Bagging(반복 Sampling을 통해 만든 Model을 바탕으로 오류를 줄여나가는 방법)과 Boosting(모델링 결과에 가중치를 주어 최적화를 반복하는 기법) 2가지로 나뉘는데, 금번 Seminar는 Meta Modeling이라고 불리는 Stacking 방법에 대하여 소개해 주었다. Stacking 법은 서로 다른 모델들로 Node를 구성하여 해당 Node의 조합을 Stacking하는 기법으로 Performance향상을 기대할 수 있으나, 연산량이 많다는 단점이 있다. 금번 논문은 Stacking기법을 통해 전립선 암에 대한 조기 진단 Factor를 찾아낼 수 있었다는 내용으로 앞으로 기술 발전에 따른 연산 능력이 올라감에 따라 가까운 미래에 해당 기법이 Data분석의 큰 틀을 맡을 날이 올 것이라 느꼈다.

금일 세미나는 Ensemble Learning을 주제로 한규형께서 발표해주셨다. 앙상블 기법이라고 하면 Bagging과 Boosting 두가지 방법이 흔히 많이 쓰이고, 예측 정확성에 있어 좋은 성능을 낸다고 알고 있었지만 오늘 앙상블의 핵심 주제는 Stacking 이라는 생소한 방법이였다. Stacking은 말 그대로 모델을 여러 층으로 쌓는다는 의미로 소개해준 논문에서 제안한 방식은 Base Learner 모델을 선정하는 단계인 Level 1과 최적의 sub ensemble을 선택하기 위한 단계인 Level 2단계, 2단계에서 선정된 best sub ensemble 모델에 대하여 Random forest 방식으로 Rule을 추출해내는 3단계로 구성되었다. 위 방법론은 모델을 앙상블 시킴으로서 예측 및 분류 성능을 높일 뿐만 3단계에서 Rule을 추출해냄으로서 해석력도 보완한 모델이였다.
이번 세미나에서 다룬 모델이 생소하기도 하고 복잡해서 완전하게 이해하기는 어려웠다. 먼저 모델 구조가 너무 복잡해서, 연산량이 많을 것 같고, 다양한 모델을 사용하여 base learner을 구성할 수 있는 만큼 Hyperparameter을 최적화 하기에도 어려울 것 같다는 생각이 들었다. 그래서 제안 방법에서 다른 복잡한 방식보다는 regression tree를 base learner으로 활용한 것 같다. Step 2에서 최적의 sub ensemble을 선택하는 방법으로는 bi-objective optimization 방식을 사용하는데, Multi objective evolutionary process에 대해서 한규형께서 자세하게 설명해주셨음에도 불구하고 잘 이해가 되지 않아 논문을 다시 찾아보거나 관련 공부를 따로 해야 할 것 같다. 마지막으로 Step 3에서 Rule을 추출하는 프로세스는 흥미롭게 잘 들을 수 있었다. Random forest의 importance 스코에에 대해서 깊게 고민해본 적이 없었는데, importance를 초기 가중치로 활용하여 중복되거나 포함관계에 있는 Rule을 제거함으로서 모델 복잡도를 줄이고 해석력을 높일 수 있는 방법이였다. 앞으로 컨셉만 얕게 알거나 겉핥기로만 알던 모델들에 대하여 더 깊게 공부해볼 필요성을 느꼈다.

이번주 세미나는 Ensemble learning에 대해서 진행 되었다. 먼저 Ensemble이란 개개인의 알고리즘을 모아서 하나의 알고리즘으로 만드는 것이 Ensemble이라고 한다. Ensemble learning은 크게 Bagging과 Boosting, Stacking으로 구분되어 져 있다. 이번 주제는 Stacking을 기본으로 하는 알고리즘이다. 알고리즘의 중요한 원리는 최적의 Sub-ensemble을 선택하기 위하여 Multi-object evolutionary process를 적용하는 것이다. 그리고 Decision tree형태를 기반으로 기존 해석력이 낮은 알고리즘들의 단점을 보완해 줄수 있다. 또한 우수한 예측성능을 가진다. 하지만 Stacking을 함으로 모델들이 쌓여서 시간이 얼마나 많이 걸리는 지는 알 수가 없다. 시간이 오래 걸리는 단점만 보완한다면 Bagging과 Boosting과는 비교할수 없을 정도로 많은 곳에 사용할 수 있을것 이라고 생각한다.

오늘은 한규형이 “Ensemble learning”이라는 주제로 세미나를 진행하였다. 앙상블은 크게 Bagging과 Boosting으로 나눌 수 있다. Bagging은 대표적으로 Random Forest를 예로 들 수 있다. Bagging은 Overfitting을 방지하고 병렬적으로 계산이 가능하며, Variance를 감소시킬 수 있다. Boosting은 대표적으로 Gradient Boosting, Adaboost를 예로 들 수 있다. Boosting은 Outlier에 취약하지만 Bias를 감소시킬 수 있다. 다음으로 오늘 소개했던 논문인 “Stacking-based ensemble learning of decision trees for interpretable prostate cancer detection”에서 주가 이룬 Stacking 기법이다. Stacking 기법은 병렬 앙상블 모델 중 하나지만 특정 알고리즘이 있는 것은 아니다. 단지 Performance를 향상시키기 위함이다. 본 세미나에서 언급한 논문의 가장 흥미로운 점은 각각의 트리들이 예측한 결과를 가지고 다시 한번 모델을 사용하여 예측한다는 점이였다. 또한, Rule Extraction Process도 매우 흥미로웠다. 하지만 Rule을 Extraction 하는 과정에서 엄청난 계산이 발생할 것 같았다. 오늘 유익한 세미나를 준비해준 한규형에게 감사하다는 말을 전하고 싶다.

금일 세미나에서는 한규형이 Stacking-based ensemble learning of decision trees for interpretable prostate cancer detection 논문을 소개했다. 모델의 성능 향상을 위해서 흔히 사용하는 앙상블 기법에는 bagging, boosting, stacking 등이 있다. 오늘 소개한 방법은 stacking에 기반한 방법론 이다. Stacking 기법은 여러개의 base learner로 예측한 값 들을 입력으로 최종 모델을 이용하여 한 번 더 target을 예측하도록 한다. 이로써 여러개의 모델을 결합하여 예측 성능을 향상시킬 수 있다. 오늘 소개한 논문에서는 전립선 암 발병 예측 문제에 stacking을 적용하여 정확한 예측 성능을 달성했다. 또한 기존의 앙상블 기법이 모델의 해석력이 떨어진다는 단점이 존재하는데 이를 극복하기 위해 base learner로 사용한 decision tree로 부터 중요한 rule set을 도출하는 방법론을 제안하였다. 도출한 rule 중 일부는 의학적으로 의미있음을 확인하여 제안 하는 rule set 선택 방법이 효과적임을 입증하였다.

오늘 세미나는 stacking기반 앙상블 기법에 대하여 진행되었다. stacking은 앙상블기법의 대표적인 방법론인 bagging, boosting과는 달리 각각의 만들어진 베이스모델들을 잘 합치는 방법을 학습한다. 본 발표에서 소개된 논문에서는 stacking을 이용하여 해석 가능한 의료분야 모델을 구축하였다. 베이스 모델로는 랜덤성을 가진 트리를 사용하며 유전알고리즘을 통해 베이스모델들의 최적 조합을 찾는다. 이 때 모델의 해석 가능성을 높이기 위해 모델의 예측 정확성과 복잡도를 고려한다. 베이스모델들이 결정되면 랜덤포레스트를 이용하여 stacking을 구현하였다. 완성된 모델로부터 인간수준의 타당한 룰을 도출하기 위해 feature importance를 이용, 각 베이스모델에 가중치를 부여한다. 이후 베이스 모델 내에 존재하는 룰 간의 포함 및 중복 관계, 정확성, 복잡도, 일반화가능성을 모델 가중치와 함께 고려하여 타당한 룰들을 도출한다. 실제 의사가 검토해 본 결과, 도출된 룰들은 상당히 의미가 있었다고 한다.
이번 세미나에서 가장 흥미로웠던 부분은 복잡한 앙상블 모델로부터 인간수준의 룰을 도출하는 부분이었다. 비록 매우 큰 계산비용이 요구될듯 하였지만 신중한 판단을 내려야 하는 의료 등의 일부 분야에서 좋은 결과를 낼 수 있을 것이라 생각했다. 특히 인공지능 기반의 의사결정이 아직 완벽한 신뢰를 얻지 못한 의료분야에서 이러한 해석가능 모델은 현실적으로 많은 니즈가 존재할 것이라 생각하였다.