3 분 소요

머신러닝 핵심개념 정리

데이터 전처리 (Data Preprocessing)

데이터 전처리는 머신러닝 프로젝트의 기초 단계로, 데이터를 분석 가능하고 의미 있게 만드는 과정입니다. 데이터 전처리는 전체 데이터 과학 프로세스의 80%를 차지할 정도로 중요합니다. Anthony Goldbloom에 따르면, 데이터 과학자들은 대부분의 시간을 데이터 클리닝과 전처리에 사용하며, 이는 머신러닝 모델의 성능에 직접적인 영향을 미칩니다.

데이터의 특성과 문제점

특성/문제점 정의 발생 원인 해결 방법
잡음 (Noise) 랜덤 에러나 측정된 변수의 변형된 값 센서의 작동 실패, 데이터 전송 문제 회귀 분석, 클러스터링을 통한 노이즈 제거
결측값 (Missing Value) 데이터 수집 과정에서 누락된 값 데이터 입력 누락, 데이터 수집 오류 평균값, 중앙값 대체 또는 행/열 삭제
이상값 (Outlier) 데이터의 정상적인 범위를 벗어난 값 입력 오류, 측정 오류, 실험 조건의 불일치 시각화를 통한 탐지, 통계적 방법을 통한 처리
불일관성 다양한 출처에서 수집된 데이터의 형식 및 단위 차이 데이터 형식 및 단위의 차이 형식과 단위를 일관되게 맞추기

데이터 전처리 기술

데이터 전처리 기술을 사용하여 위의 특성과 문제점을 해결합니다. 이러한 기술은 데이터의 품질을 높이고 머신러닝 모델의 성능을 개선하는 데 필수적입니다.

전처리 기술 설명
데이터 유형 변환 데이터를 분석에 적합한 형식으로 일관되게 변환
평활화 (Smoothing) 데이터의 잡음을 제거하여 시각화를 용이하게 함
정규화 (Normalization) 데이터를 일정한 범위로 스케일링하여 모델의 성능 향상
표준화 (Standardization) 데이터의 평균을 0, 표준편차를 1로 조정하여 정규분포로 변환
데이터 여과 (Filtering) 중복성과 오류를 제거하여 데이터 품질 향상
데이터 정제 (Cleansing) 잘못된 데이터를 수정하거나 제거

이 표들은 데이터의 특성과 문제점을 명확하게 파악하고, 데이터 전처리 기술을 활용하여 이를 해결하는 데 도움을 줍니다. 데이터 전처리는 머신러닝 모델의 성능을 좌우하는 중요한 단계이며, 이를 통해 보다 정확하고 신뢰성 있는 모델을 구축할 수 있습니다.

데이터 전처리 기술의 예시

  • 결측값 처리 예시
    • 자동 채우기: 결측값을 평균, 중앙값, 최빈값으로 대체하여 데이터의 완성도를 높입니다.
    • 전문가 수작업: 도메인 전문가가 데이터를 수작업으로 수정하는 방법도 있습니다.
  • 잡음 처리 예시
    • 구간화 (Binning): 데이터를 여러 구간으로 나누고 각 구간의 대표값으로 대체하여 잡음을 제거합니다.
    • 회귀값 적용: 데이터의 추세를 가장 잘 나타내는 회귀 함수를 적용하여 잡음을 줄입니다.
  • 이상치 처리 예시
    • 단순 삭제: 이상치가 명백한 입력 오류일 경우 해당 값을 삭제합니다.
    • 통계값 대체: 이상치를 다른 통계값으로 대체하여 데이터의 왜곡을 방지합니다.

머신러닝 알고리즘

머신러닝 알고리즘은 크게 지도학습, 비지도학습, 강화학습으로 분류됩니다.

지도학습 (Supervised Learning)

  • 정의: 입력 데이터와 해당 데이터의 정답(레이블)을 함께 사용하여 학습하는 방법입니다.
  • 예시 알고리즘:
    • 선형 회귀 (Linear Regression): 연속적인 값을 예측하는 데 사용됩니다. 예를 들어, 주택 가격 예측.
    • 로지스틱 회귀 (Logistic Regression): 이진 분류 문제에 사용됩니다. 예를 들어, 이메일 스팸 필터링.
    • 의사결정나무 (Decision Tree): 데이터의 특징을 기반으로 분류 규칙을 생성하여 데이터를 분류하는 알고리즘입니다. 설명력이 뛰어나지만 과적합 문제가 발생할 수 있습니다.

비지도학습 (Unsupervised Learning)

  • 정의: 레이블이 없는 데이터로부터 패턴을 찾는 학습 방법입니다.
  • 예시 알고리즘:
    • K-평균 클러스터링 (K-Means Clustering): 데이터 포인트를 K개의 군집으로 나눕니다.
    • 주성분 분석 (PCA): 데이터의 차원을 축소하여 정보 손실을 최소화하면서 시각화나 처리 속도를 높입니다.

강화학습 (Reinforcement Learning)

  • 정의: 에이전트가 환경과 상호작용하며 보상을 통해 학습하는 방법입니다.
  • 예시: 게임 AI, 로봇 제어 등에서 사용됩니다.

머신러닝 모델 평가 지표

모델 평가지표를 이해하기 위해서는 혼동 행렬(confusion matrix)을 사용하여 각각의 지표를 계산할 수 있습니다. 혼동 행렬은 모델이 분류한 결과를 실제 라벨과 비교하여 참과 거짓을 구분하는 데 사용됩니다.

혼동 행렬 (Confusion Matrix)

실제\예측 예측 Positive 예측 Negative
실제 Positive a (True Positive, TP) c (False Negative, FN)
실제 Negative b (False Positive, FP) d (True Negative, TN)
  • True Positive (TP): 실제 Positive이고, Positive로 예측한 경우
  • False Negative (FN): 실제 Positive인데, Negative로 예측한 경우
  • False Positive (FP): 실제 Negative인데, Positive로 예측한 경우
  • True Negative (TN): 실제 Negative이고, Negative로 예측한 경우

평가지표 계산식

  1. 정확도 (Accuracy): 전체 데이터 중에서 올바르게 예측한 데이터의 비율 \(\text{Accuracy} = \frac{a + d}{a + b + c + d}\)

  2. 정밀도 (Precision): 성으로 예측한 것 중 실제 양성인 데이터의 비율 \(\text{Precision} = \frac{a}{a + b}\)

  3. 재현율 (Recall, Sensitivity): 실제 양성인 데이터 중 양성으로 예측한 비율 \(\text{Recall} = \frac{a}{a + c}\)

  4. 특이도 (Specificity): \(\text{Specificity} = \frac{d}{b + d}\)

  5. F1-score: \(\text{F1-score} = 2 \times \frac{\text{Precision} \times \text{Recall}}{\text{Precision} + \text{Recall}}\)

예시 데이터와 계산 표

다음은 혼동 행렬을 기반으로 각 지표를 계산하는 예시입니다.

예시 데이터

  • True Positive (TP) = 50
  • False Negative (FN) = 10
  • False Positive (FP) = 5
  • True Negative (TN) = 35

계산 표

지표 계산식
정확도 $\frac{a + d}{a + b + c + d}$ $\frac{50 + 35}{50 + 10 + 5 + 35} = \frac{85}{100} = 0.85$
정밀도 $\frac{a}{a + b}$ $\frac{50}{50 + 5} = \frac{50}{55} \approx 0.91$
재현율 $\frac{a}{a + c}$ $\frac{50}{50 + 10} = \frac{50}{60} \approx 0.83$
특이도 $\frac{d}{b + d}$ $\frac{35}{5 + 35} = \frac{35}{40} = 0.875$
F1-score $2 \times \frac{\text{Precision} \times \text{Recall}}{\text{Precision} + \text{Recall}}$ $2 \times \frac{0.91 \times 0.83}{0.91 + 0.83} \approx 0.87$

이 표를 통해 각 지표가 혼동 행렬의 요소를 어떻게 사용하는지, 그리고 각각의 계산 과정이 어떻게 진행되는지 명확히 이해할 수 있습니다. 이를 통해 모델의 성능을 평가하고 개선 방향을 도출할 수 있습니다.

댓글남기기