반응형

분류(Classification)는 주어진 데이터를 미리 정의된 카테고리나 클래스로 나누는 작업입니다. 이 과정은 머신러닝의 지도 학습(Supervised Learning) 방식에 속하며, 입력 데이터와 그에 대한 정답(레이블)을 학습한 후 새로운 데이터를 분류하는 데 사용됩니다. 분류는 두 가지 주요 유형으로 나뉩니다:

  1. 이진 분류(Binary Classification): 두 가지 클래스로 분류하는 문제.
    • 예: 이메일이 스팸인지 아닌지 분류하는 문제.
  2. 다중 클래스 분류(Multi-class Classification): 세 가지 이상의 클래스로 분류하는 문제.
    • 예: 이미지가 개, 고양이, 자동차 중 하나로 분류되는 문제.

주요 분류 알고리즘

  1. 로지스틱 회귀(Logistic Regression):
    • 이진 분류를 위한 확률 기반 모델로, 데이터가 특정 클래스에 속할 확률을 예측합니다.
    • 시그모이드 함수를 사용하여 출력 값을 0과 1 사이의 값으로 변환하여 클래스 레이블을 예측합니다.
    • 예시: 이메일이 스팸인지 아닌지 이진 분류.
  2. 서포트 벡터 머신(SVM, Support Vector Machine):
    • 최대 마진 분류기로, 두 클래스 사이의 경계를 가장 멀리 떨어진 데이터 포인트 사이에 그립니다.
    • 고차원 공간에서도 분류할 수 있는 커널 기법을 사용하여 비선형 데이터를 다룹니다.
    • 예시: 얼굴 인식, 텍스트 분류.
  3. k-최근접 이웃(K-NN, K-Nearest Neighbors):
    • 새로운 데이터 포인트가 입력되면, 가장 가까운 k개의 이웃을 참조하여 다수결로 분류합니다.
    • 단순하고 직관적인 방법이지만, 큰 데이터셋에서는 계산 비용이 높아질 수 있습니다.
    • 예시: 이미지 분류.
  4. 결정 트리(Decision Tree):
    • 데이터를 특성(feature)에 따라 나누어 트리 구조를 형성하여 분류합니다.
    • 각 노드는 데이터의 특정 속성에 따라 분리되며, 최종 노드는 특정 클래스에 대한 예측 값을 제공합니다.
    • 예시: 질병 진단에서 환자의 증상을 기반으로 질병 예측.
  5. 랜덤 포레스트(Random Forest):
    • 다수의 결정 트리를 학습한 후 그 결과를 종합하여 분류하는 앙상블 기법입니다.
    • 개별 트리들이 과적합에 빠질 수 있지만, 랜덤 포레스트는 이를 방지하면서 더 높은 정확도를 제공합니다.
    • 예시: 금융 사기 탐지.
  6. 나이브 베이즈(Naive Bayes):

나이브 베이즈(Naive Bayes)조건부 확률을 기반으로 한 분류 알고리즘입니다. 모든 특성(feature) 간의 독립성을 가정하고, 베이즈 정리를 활용해 데이터를 분류합니다. 나이브(naive)라는 이름은 각 특성이 독립적이라는 가정에서 유래합니다.

베이즈 정리

베이즈 정리는 다음과 같이 표현됩니다:

여기서:

  • P(A∣B)사후 확률로, 사건 B가 발생한 후 사건 A가 일어날 확률입니다.
  • P(B∣A)우도로, 사건 A가 발생한 경우 사건 B가 일어날 확률입니다.
  • P(A)사전 확률로, 사건 A가 일어날 확률입니다.
  • P(B)는 사건 B가 일어날 확률입니다.

나이브 베이즈 알고리즘에서의 사용

  • P(A)는 특정 클래스가 나타날 확률(사전 확률).
  • P(B|A)는 특정 클래스일 때 데이터의 특성(우도).
  • P(B)는 모든 클래스에서 데이터의 특성(증거).

이 수식을 각 클래스에 대해 계산한 후, 사후 확률이 가장 높은 클래스를 선택하여 분류합니다.

베이즈 정리에 맞는 데이터 분포

나이브 베이즈는 각 특성 간의 독립성이 유지되는 데이터를 다룰 때 성능이 높습니다. 베르누이 분포, 다항 분포 또는 가우시안 분포의 특성을 가진 데이터에서 잘 작동합니다.

  • 가우시안 나이브 베이즈(Gaussian Naive Bayes): 연속적인 데이터에서 정규분포를 따르는 특성들을 다룹니다.
  • 베르누이 나이브 베이즈(Bernoulli Naive Bayes): 이진 데이터를 처리할 때 적합.
  • 다항 나이브 베이즈(Multinomial Naive Bayes): 텍스트 데이터처럼 특성이 빈도에 따라 분포할 때 사용합니다.

주로 사용되는 상황

나이브 베이즈는 계산 속도가 빠르고 효율적이기 때문에, 텍스트 분류자연어 처리(NLP)에서 많이 사용됩니다. 또한 특성 간의 상관관계가 크지 않거나, 클래스 간의 분포가 단순할 때 매우 유용합니다.

  • 스팸 필터링: 이메일의 단어나 문장의 빈도를 분석해 스팸 여부를 예측.
  • 감정 분석: 텍스트의 긍정/부정을 예측.
  • 질병 진단: 증상을 기반으로 질병의 가능성을 추정.

나이브 베이즈는 특성 간 독립성을 가정하지만, 실제 데이터에서 이 가정이 완전히 맞지 않더라도 여전히 좋은 성능을 보이는 경우가 많습니다.

 

분류의 평가 지표

  1. 정확도(Accuracy):
    • 전체 예측에서 맞춘 비율.
    • 문제점: 데이터가 불균형할 경우, 정확도만으로 성능을 판단하기 어려울 수 있습니다.
  2. 정밀도(Precision):
    • 모델이 양성으로 예측한 것 중 실제 양성의 비율.
    • 예시: 스팸 필터에서 실제 스팸으로 분류된 이메일 중에서 진짜 스팸 이메일의 비율.
  3. 재현율(Recall):
    • 실제 양성 중에서 모델이 양성으로 예측한 비율.
    • 예시: 암 진단에서 실제 암 환자를 암으로 정확히 예측한 비율.
  4. F1 Score:
    • 정밀도와 재현율의 조화 평균으로, 불균형 데이터셋에서 유용하게 사용됩니다.
    • 예시: 스팸 필터에서 정밀도와 재현율 간 균형을 맞추기 위한 지표.
  5. ROC-AUC:
    • ROC 곡선(True Positive Rate 대 False Positive Rate)의 아래 면적을 측정하여 분류기의 성능을 평가합니다.
    • 1에 가까울수록 성능이 좋은 모델을 의미합니다.
    • 예시: 질병 진단에서 암 환자와 비암 환자를 구분하는 모델의 성능 평가.

분류의 실생활 활용 사례

  1. 이메일 스팸 필터링: 이메일을 분석하여 스팸인지 아닌지를 분류.
  2. 질병 진단: 환자의 증상과 의료 기록을 기반으로 질병 여부를 예측.
  3. 신용 점수 예측: 고객의 금융 기록을 기반으로 대출 상환 가능성을 예측.
  4. 이미지 분류: 개, 고양이, 자동차와 같은 다중 클래스 이미지를 분류.
  5. 텍스트 감정 분석: 소셜 미디어 게시글의 긍정/부정 감정을 분류.

결론

분류(Classification)는 지도 학습의 중요한 부분으로, 여러 가지 분류 알고리즘을 통해 데이터를 특정 카테고리로 구분하는 작업입니다. 각각의 알고리즘은 문제의 특성에 따라 선택될 수 있으며, 정밀도, 재현율, F1 Score, ROC-AUC와 같은 다양한 성능 평가 지표를 통해 모델의 품질을 평가합니다.

반응형

+ Recent posts