Machine Learning/Classification 7

추론과 결정

세 가지 결정 이론 세 가지 결정 이론(오분류 비율 최소화, 기대 손실 최소화, 거부 옵션) 결정 이론(decision theory)란 불확실성이 존재하는 상황에서 최적의 의사결정을 내리는 방법에 대한 이론이다. 특히 분류 문제에서 여러가지 label값들 중 하나의 값의 확률이 100%로 나타나는 것이 mldiary.tistory.com 지금까지 분류 문제를 두 개의 단계로 나누어 보았다. 첫 번째는 추론 단계(inference stage)로 훈련 데이터셋을 활용하여 p(Ck|x)에 대한 모델을 학습시키는 단계이다. 두 번째는 결정 단계(decision stage)로 학습된 사후 확률들을 이용해서 최적의 클래스 할당을 시행하는 것이다. 두 가지 문제를 한 번에 풀어내는 방법을 생각해 볼 수도 있는데, x..

세 가지 결정 이론(오분류 비율 최소화, 기대 손실 최소화, 거부 옵션)

결정 이론(decision theory)란 불확실성이 존재하는 상황에서 최적의 의사결정을 내리는 방법에 대한 이론이다. 특히 분류 문제에서 여러가지 label값들 중 하나의 값의 확률이 100%로 나타나는 것이 아니라면 예측 결과가 틀릴 수도 있는 위험에 처하게 된다. 이러한 불확실성이 존재하는 상황에서 결정을 내리는 3가지 방법론에 대해 소개한다. 결정 이론을 이해하고 비교하기 위해 다음과 같은 예시를 생각해보자. 환자의 엑스레이 이미지를 바탕으로 그 환자가 암에 걸렸는지 아닌지 판단하는 진단 문제를 고려해보자. 이 경우 입력 벡터 x는 이미지의 픽셀 강도 집합에 해당할 것이며, t는 환자가 암에 걸렸는지 아닌지를 나타내는 출력 변수일 것이다. 여기서는 환자에게 암이 있다고 판단할 경우에는 클래스 C1..

스태킹 앙상블 (Stacking Ensemble)

이번 글에서는 앙상블 모델의 한 종류인 스태킹 앙상블(Stacking Ensemble)에 대해 소개한다. Stacking Ensemble 스태킹 앙상블은 여러 모델을 이용하여 결과를 도출한 후 이를 종합하여 최종 예측을 한다는 점에서 보팅, 배깅 등의 다른 앙상블과 공통점이 있다. 스태킹 앙상블의 가장 중요한 차이점은 다음과 같다. 개별 알고리즘으로 예측한 데이터를 기반으로 다시 예측을 수행한다 왼쪽 그림이 보팅, 오른쪽 그림이 스태킹이다. 보팅은 학습데이터를 이용해 개별 모델들을 학습하고, 학습된 모델들을 기반으로 검증데이터의 label을 예측하여 예측결과를 합산하는 방식이다. 스태킹은 반면, 학습데이터를 이용하여 개별 모델을 학습하고, 학습 과정 중에 예측했던 개별 모델의 예측값을 모두 취합하여 최종..

부스팅(Boosting) - XGBoost, LightGBM

이번 글에서는 부스팅(Boosting)과 대표적인 부스팅 알고리즘인 XGBoost, LightGBM에 대해 소개한다. Boosting 부스팅은 여러 개의 약한 학습기(weak learner)를 순차적으로 학습-예측하면서 잘못 예측한 데이터에 가중치 부여를 통해 오류를 개선해 나가며 학습하는 방식이다. 위의 그림은 부스팅의 기본 알고리즘을 그림으로 나타낸 것이다. 부스팅은 다음과 같은 순서로 진행된다. 첫 번째 분류기 이용하여 데이터셋을 분리한다(Box 1). 세 개의 Positive 데이터가 잘못 분류된 것을 확인할 수 있다. Box 1에서 잘못 분류된 데이터에 가중치를 두어 옳게 분류할 수 있도록 두 번째 분류기를 생성한다. 그 결과 Negative 데이터 3개가 잘못 분류된 것을 확인할 수 있다. 설..

배깅(Bagging) - 랜덤 포레스트(Random Forest)

이번 글에서는 앙상블 학습 유형 중 하나인 배깅에 대해 소개한다. 보팅(Voting) 배깅(Bagging) 부스팅(Boosting) Bagging Bagging은 이전 글에서 소개한 Voting과는 달리 같은 알고리즘으로 여러개의 분류기를 만들고, 보팅으로 최종 결정하는 알고리즘이다. 대표적으로는 랜덤 포레스트(Random Forest) 알고리즘이 있다. 랜덤 포레스트는 결정 트리(Dicision Tree)를 기반 알고리즘으로 사용한다. 랜덤 포레스트는 앙상블 알고리즘 중 비교적 빠른 속도를 가지고 있고, 다양한 영역에서 높은 예측 성능을 보인다. Bagging이 Voting과 다른 점은 크게 두 가지이다. 보팅은 여러가지 종류의 Classifier를 사용하지만, 배깅은 한 종류의 Classifier를 ..

Ensemble Learning - Voting(보팅)

Ensemble Learning(앙상블 학습)은 여러 개의 분류기(Classifier)를 생성하고 그 예측을 결합하여 보다 정확학 최종 예측을 도출하는 기법이다. 이미지, 영상, 음성 등의 비정형 데이터의 분류는 딥러닝이 앙상블보다 뛰어난 성능을 보이고 있지만 정형 데이터 분류에 있어서는 앙상블이 더 뛰어난 성능을 나타내고 있다. 대표적인 앙상블 학습 유형은 3가지가 있다. 보팅(Voting) 배깅(Bagging) 부스팅(Boosting) 이번 글에서는 앙상블 학습 유형 중 하나인 보팅(Voting)에 대해 소개한다. Voting Voting은 일반적으로 서로 다른 알고리즘을 가진 분류기를 결합한다. 위의 그림은 Voting 방식을 도식화한 것이다. 동일한 데이터 셋에 대하여 Decision Tree, ..

결정 트리(Decision Tree)

이번 글에서는 머신러닝 분류(Classification)의 기본이 되는 결정트리에 대해 소개한다. 결정트리(Decision Tree) 결정 트리는 트리 기반의 분류 규칙을 만드는 것이다. 분류 알고리즘은 feature를 이용하여 label을 예측하는 형식으로 이루어 지는데, 결정트리는 feature의 값을 특정 기준으로 나누며 label을 분류한다.유전자의 발현량을 feature로 이용하여 방광암 환자와 정상인을 분류하는 분류기를 가정해보자. CALD1,JAZF1 유전자는 방광암 발병 환자에게서 높은 발현량을 가지는 것으로 알려져 있다. 이를 이용하여 다음과 같은 결정 트리를 생성할 수 있다.먼저 CALD1의 발현량을 기준으로 나눈다. CALD1의 발현량이 8 이하일 경우 0(Neagtive)로 분류하였..