컴퓨터과학 챕터 3 약 10분

Ch3. ADsP 데이터분석 준전문가 — 데이터 분석 — 모델링과 알고리즘

O
OIYO 편집부 기여자
3/4

기계학습의 분류 체계

**기계학습(Machine Learning)**은 데이터로부터 패턴을 학습해 예측이나 의사결정을 수행하는 알고리즘의 집합입니다. 학습 방식에 따라 크게 세 가지로 분류됩니다.

지도 학습 (Supervised Learning)

정의: 정답(레이블)이 있는 데이터로 학습하는 방식

특징:

  • 입력(X)과 출력(Y)의 쌍으로 구성된 훈련 데이터 사용
  • 새로운 입력에 대한 출력 예측
  • 성능 평가가 명확

종류:

  • 분류(Classification): 범주형 출력 예측 (예: 스팸/정상 메일, 질병 유무)
  • 회귀(Regression): 연속형 출력 예측 (예: 주가, 매출액)

주요 알고리즘: 의사결정나무, 로지스틱 회귀, SVM, KNN, 랜덤 포레스트, 신경망

비지도 학습 (Unsupervised Learning)

정의: 정답 없이 데이터의 내재된 구조와 패턴을 발견하는 방식

특징:

  • 레이블 없는 데이터 사용
  • 데이터 탐색 및 패턴 발견에 활용
  • 성능 평가가 상대적으로 어려움

종류:

  • 군집분석(Clustering): 유사한 데이터끼리 그룹화 (예: 고객 세분화)
  • 차원 축소(Dimensionality Reduction): 고차원 데이터를 저차원으로 축소 (예: PCA)
  • 연관규칙 분석: 항목 간 연관성 발견 (예: 장바구니 분석)

주요 알고리즘: K-Means, 계층적 군집, DBSCAN, PCA

강화 학습 (Reinforcement Learning)

정의: 환경과의 상호작용을 통해 보상을 최대화하는 정책을 학습

예시: 게임 AI, 자율주행, 로봇 제어


의사결정나무 (Decision Tree)

개념과 원리

의사결정나무는 데이터를 반복적으로 분할하여 트리 구조의 분류/예측 모델을 생성하는 알고리즘입니다.

              [연령 < 30?]
              /           \
         예               아니오
        /                     \
  [소득 < 3000만?]       [구매 이력 있음?]
   /         \             /          \
 구매 안함   구매함     구매함       구매 안함

분기 기준: 불순도 지수

의사결정나무는 분기 시 불순도를 최소화하는 방향으로 변수를 선택합니다.

1. 지니 계수 (Gini Index)

Gini=1k=1Kpk2Gini = 1 - \sum_{k=1}^{K} p_k^2

  • pₖ: k번째 클래스의 비율
  • 값이 0에 가까울수록 순수(pure) 노드
  • CART 알고리즘에서 사용

예시: [0.5, 0.5] → Gini = 1 - (0.5² + 0.5²) = 0.5 (최대 불순도) 예시: [1.0, 0.0] → Gini = 1 - (1.0² + 0.0²) = 0.0 (완전 순수)

2. 엔트로피 (Entropy)

Entropy=k=1Kpklog2(pk)Entropy = -\sum_{k=1}^{K} p_k \log_2(p_k)

  • ID3, C4.5 알고리즘에서 사용
  • 정보 이득(Information Gain) = 부모 엔트로피 - 자식 엔트로피 가중 평균

3. 분산 감소 (Variance Reduction)

회귀 의사결정나무에서 사용. 분할 후 분산이 최대로 감소하는 방향 선택.

주요 알고리즘 비교

알고리즘불순도 기준분기특징
ID3정보 이득(엔트로피)다지 분기범주형 변수만 처리
C4.5정보 이득 비율다지 분기연속형 변수, 결측치 처리
CART지니 계수이진 분기분류 + 회귀 모두 가능
CHAID카이제곱 통계다지 분기범주형 종속변수

과적합 방지: 가지치기

의사결정나무는 훈련 데이터에 과적합되기 쉽습니다.

사전 가지치기(Pre-pruning): 트리 성장 중 조건을 설정하여 조기 중단

  • 최대 깊이(Max Depth) 제한
  • 최소 분기 샘플 수 설정

사후 가지치기(Post-pruning): 완성된 트리를 축소

  • 검증 데이터 오류를 최소화하는 방향으로 가지 제거

의사결정나무의 장단점

장점:

  • 해석이 용이 (White-box 모델)
  • 비선형 관계 처리 가능
  • 스케일링 불필요
  • 수치형·범주형 변수 모두 처리

단점:

  • 과적합에 취약
  • 데이터 변화에 불안정 (분산이 큼)
  • 연속형 변수에 대한 처리 비효율적

앙상블 기법

여러 모델의 예측을 결합하여 성능을 향상시키는 방법입니다.

배깅 (Bagging, Bootstrap Aggregating)

  • 원본 데이터에서 복원 추출로 여러 훈련 세트 생성
  • 각각 독립적으로 모델 학습
  • 예측값 결합 (분류: 다수결, 회귀: 평균)
  • 랜덤 포레스트(Random Forest): 배깅 + 변수 무작위 선택

부스팅 (Boosting)

  • 이전 모델이 오분류한 데이터에 가중치를 높여 순차적으로 학습
  • 약한 분류기들을 결합해 강한 분류기 생성
  • AdaBoost, Gradient Boosting, XGBoost, LightGBM

군집분석 (Clustering)

K-Means 군집분석

가장 대표적인 비지도 학습 알고리즘으로, 데이터를 K개의 군집으로 분류합니다.

알고리즘 순서:

  1. K개의 중심점(Centroid) 무작위 초기화
  2. 각 데이터를 가장 가까운 중심점에 할당
  3. 각 군집의 평균으로 중심점 업데이트
  4. 중심점 변화가 없을 때까지 2~3 반복

K 값 선택 방법: 엘보우 방법(Elbow Method)

  • K에 따른 군집 내 제곱합(SSW) 변화를 그래프로 표시
  • 감소 폭이 급격히 줄어드는 “팔꿈치” 지점이 최적 K

K-Means의 한계:

  • K를 사전에 지정해야 함
  • 구형이 아닌 군집 탐지 어려움
  • 이상치에 민감
  • 초기 중심점에 따라 결과가 달라짐

계층적 군집분석 (Hierarchical Clustering)

트리 구조(덴드로그램)를 이용해 군집을 형성합니다.

병합 방법(Agglomerative):

  • 개별 데이터에서 시작 → 점진적으로 군집 병합 (Bottom-Up)

연결 방법(Linkage):

방법설명특징
단일 연결 (Single)두 군집 간 가장 가까운 거리사슬형 군집 형성 가능
완전 연결 (Complete)두 군집 간 가장 먼 거리컴팩트한 군집 형성
평균 연결 (Average)두 군집 간 평균 거리균형 잡힌 결과
와드 연결 (Ward)군집 내 분산 최소화크기가 비슷한 군집 형성

장점: K 사전 지정 불필요, 덴드로그램으로 군집 구조 시각화 단점: 계산 비용이 큼, 한번 병합하면 취소 불가

DBSCAN

밀도 기반 군집 알고리즘으로, 이상치 탐지에 효과적입니다.

  • 핵심 포인트: 반경 ε 내에 최소 MinPts개의 이웃 포인트 존재
  • 경계 포인트: 핵심 포인트 반경 내에 있지만 MinPts를 충족하지 못함
  • 잡음 포인트(이상치): 어느 군집에도 속하지 않음

주성분분석 (PCA, Principal Component Analysis)

PCA의 목적

차원의 저주(Curse of Dimensionality): 차원이 증가할수록 데이터가 희박해지고 분석이 어려워지는 현상

PCA는 여러 변수를 분산을 최대한 보존하면서 더 적은 수의 주성분으로 변환하는 차원 축소 기법입니다.

PCA 알고리즘

  1. 데이터 표준화 (평균 0, 표준편차 1)
  2. 공분산 행렬 계산
  3. 고유값(Eigenvalue)과 고유벡터(Eigenvector) 계산
  4. 고유값 크기순으로 정렬
  5. 상위 k개 고유벡터로 데이터 투영

설명 분산 비율

설명 분산 비율=λij=1pλj\text{설명 분산 비율} = \frac{\lambda_i}{\sum_{j=1}^{p}\lambda_j}

λᵢ는 i번째 주성분의 고유값. 보통 누적 설명 분산 비율 80~90% 이상을 유지하는 주성분 수 선택

PCA 활용

  • 시각화: 고차원 데이터를 2D·3D로 축소해 시각화
  • 전처리: 다중공선성 문제 해결
  • 잡음 제거: 분산이 낮은 주성분 제거

연관규칙 분석 (Association Rule Mining)

장바구니 분석이라고도 하며, 항목 간의 연관 규칙을 발견합니다.

핵심 지표

지지도(Support): 두 항목이 함께 나타날 확률 Support(AB)=AB 건수전체거래건수Support(A \Rightarrow B) = \frac{A \cap B \text{ 건수}}{전체 거래 건수}

신뢰도(Confidence): A를 구매했을 때 B도 구매할 조건부 확률 Confidence(AB)=AB 건수A 건수Confidence(A \Rightarrow B) = \frac{A \cap B \text{ 건수}}{A \text{ 건수}}

향상도(Lift): 연관 규칙이 무작위 연관보다 얼마나 더 강한지 Lift(AB)=Confidence(AB)Support(B)Lift(A \Rightarrow B) = \frac{Confidence(A \Rightarrow B)}{Support(B)}

  • Lift > 1: 양의 연관관계 (함께 구매 경향)
  • Lift = 1: 독립적
  • Lift < 1: 음의 연관관계

주요 알고리즘: Apriori, FP-Growth


모델 평가 (Model Evaluation)

혼동 행렬 (Confusion Matrix)

분류 모델의 성능을 평가하는 기본 도구입니다.

예측: Positive예측: Negative
실제: PositiveTP (True Positive)FN (False Negative)
실제: NegativeFP (False Positive)TN (True Negative)

주요 평가 지표

정확도 (Accuracy) Accuracy=TP+TNTP+FP+FN+TNAccuracy = \frac{TP + TN}{TP + FP + FN + TN} 전체 예측 중 올바른 예측의 비율. 클래스 불균형 시 오도될 수 있음.

정밀도 (Precision) Precision=TPTP+FPPrecision = \frac{TP}{TP + FP} Positive로 예측한 것 중 실제 Positive의 비율. “스팸으로 분류한 메일 중 실제 스팸 비율”

재현율 (Recall) = 민감도 (Sensitivity) Recall=TPTP+FNRecall = \frac{TP}{TP + FN} 실제 Positive 중 올바르게 예측한 비율. “실제 스팸 메일 중 탐지한 비율”

F1 점수 (F1 Score) 정밀도와 재현율의 조화 평균

F1=2×Precision×RecallPrecision+RecallF1 = 2 \times \frac{Precision \times Recall}{Precision + Recall}

특이도 (Specificity) Specificity=TNTN+FPSpecificity = \frac{TN}{TN + FP} 실제 Negative 중 올바르게 Negative로 예측한 비율

정밀도-재현율 트레이드오프

임계값(Threshold)을 높이면 정밀도는 올라가고 재현율은 낮아집니다.

  • 암 진단: 재현율 중시 (실제 환자를 놓치면 안 됨)
  • 스팸 필터: 정밀도 중시 (정상 메일이 스팸으로 분류되면 안 됨)

ROC 곡선과 AUC

ROC 곡선 (Receiver Operating Characteristic): X축: FPR (False Positive Rate) = 1 - Specificity Y축: TPR (True Positive Rate) = Recall

AUC (Area Under Curve): ROC 곡선 아래 면적

AUC 값해석
AUC = 1.0완벽한 분류기
AUC = 0.9 이상매우 우수
AUC = 0.7~0.9적절한 수준
AUC = 0.5~0.7보통
AUC = 0.5무작위 분류기 (쓸모없음)

교차 검증 (Cross-Validation)

모델의 일반화 성능을 평가하기 위해 데이터를 여러 방식으로 분할합니다.

홀드아웃(Hold-out): 훈련/검증/테스트 세트로 분할 (예: 70/15/15)

K-겹 교차 검증(K-Fold CV):

  1. 데이터를 K개의 폴드로 분할
  2. K번 반복하며 각 폴드를 검증 세트로 사용
  3. K개의 성능 지표 평균으로 최종 성능 산출

계층적 K-겹 교차 검증(Stratified K-Fold): 클래스 비율을 유지하며 분할 → 클래스 불균형 시 권장

과적합과 과소적합

문제특징해결 방법
과적합 (Overfitting)훈련 성능 높고 검증 성능 낮음정규화, 드롭아웃, 더 많은 데이터
과소적합 (Underfitting)훈련·검증 성능 모두 낮음더 복잡한 모델, 더 많은 특성

편향-분산 트레이드오프(Bias-Variance Tradeoff):

  • 높은 편향(High Bias): 모델이 단순 → 과소적합
  • 높은 분산(High Variance): 모델이 복잡 → 과적합

텍스트 마이닝 기초

비정형 텍스트 데이터에서 의미 있는 패턴을 추출하는 분석 방법입니다.

텍스트 전처리

  1. 토큰화(Tokenization): 텍스트를 단어/문장 단위로 분리
  2. 불용어 제거(Stop Words Removal): “의”, “는”, “이” 등 분석에 불필요한 단어 제거
  3. 어간 추출(Stemming): 단어를 어간으로 변환 (running → run)
  4. 원형 복원(Lemmatization): 단어를 원형으로 변환 (better → good)

텍스트 표현 방식

BOW(Bag of Words): 단어 등장 빈도로 텍스트 표현 (단어 순서 무시)

TF-IDF (Term Frequency-Inverse Document Frequency): TF-IDF=TF×IDF=TF×logNdfTF\text{-}IDF = TF \times IDF = TF \times \log\frac{N}{df}

  • TF: 특정 문서에서 단어 등장 빈도
  • IDF: 전체 문서 중 단어가 등장한 문서 수의 역수 (희귀 단어에 높은 가중치)

핵심 요약 정리

알고리즘분류핵심 하이퍼파라미터특징
의사결정나무지도 (분류/회귀)최대 깊이, 최소 샘플해석 용이
K-Means비지도 (군집)K (군집 수)초기화에 민감
계층적 군집비지도 (군집)연결 방법K 사전 지정 불필요
PCA비지도 (차원 축소)주성분 수분산 최대 보존
랜덤 포레스트지도 (앙상블)트리 수, 최대 깊이과적합 강건

실전 퀴즈 5문항

Q1. 혼동 행렬에서 TP=80, FP=20, FN=10, TN=90일 때, 정밀도(Precision)와 재현율(Recall)을 각각 계산하시오.

정답:

정밀도 = TP/(TP+FP) = 80/(80+20) = 80/100 = 0.80 (80%)

재현율 = TP/(TP+FN) = 80/(80+10) = 80/90 ≈ 0.889 (88.9%)

F1 = 2×(0.80×0.889)/(0.80+0.889) = 2×0.711/1.689 ≈ 0.842


Q2. K-Means 군집분석에서 최적 K 값을 결정하는 엘보우 방법을 설명하시오.

정답: 엘보우 방법은 K를 1부터 증가시키면서 각 K에서의 군집 내 제곱합(SSW, Sum of Squares Within clusters)을 계산하고 이를 그래프로 표시합니다.

K가 증가할수록 SSW는 감소하지만, 어느 지점에서부터 감소 폭이 급격히 줄어듭니다. 이 “팔꿈치(elbow)” 모양을 보이는 지점의 K가 최적 군집 수입니다. K를 무한정 늘리면 SSW가 0이 되므로 이 기법으로 적절한 K를 선택합니다.


Q3. 지니 계수가 0인 노드와 0.5인 노드의 의미를 설명하시오.

정답:

지니 계수 = 0: 해당 노드에 하나의 클래스만 존재하는 완전히 순수한(pure) 노드입니다. 의사결정나무의 이상적인 리프 노드 상태입니다.

지니 계수 = 0.5: 두 클래스가 각각 50%씩 존재하는 최대 불순도(maximum impurity) 상태입니다. 어느 클래스도 구분되지 않아 분기의 의미가 없는 상태입니다.


Q4. PCA(주성분분석)를 사용하는 이유와, 주성분 수를 결정하는 기준을 설명하시오.

정답:

PCA 사용 이유: 고차원 데이터에서 발생하는 ‘차원의 저주’를 해결하고, 다중공선성 문제를 완화하며, 데이터를 시각화하기 위해 사용합니다. 원본 데이터의 분산을 최대한 보존하면서 차원을 축소합니다.

주성분 수 결정 기준: 주성분들의 누적 설명 분산 비율이 80~90% 이상이 되는 지점까지의 주성분 수를 선택합니다. 또는 스크리 플롯(Scree Plot)에서 고유값이 급격히 감소하는 지점(팔꿈치)을 기준으로 선택합니다.


Q5. AUC(Area Under Curve) 값이 0.5인 분류 모델은 어떤 의미인가?

정답: AUC = 0.5는 해당 분류 모델이 **무작위 분류기(Random Classifier)**와 동일한 성능임을 의미합니다.

ROC 곡선에서 AUC = 0.5는 대각선(y=x)과 일치하는 경우로, 모델이 양성과 음성을 무작위로 구분한다는 뜻입니다. 실제로 예측 능력이 전혀 없는 쓸모없는 모델입니다. AUC가 1에 가까울수록 좋은 모델이며, AUC = 1은 완벽한 분류를 의미합니다.

O

OIYO 편집부

Content Editor

지식 인큐베이터이자 전문 콘텐츠 크리에이터. 경영, 경제, 법률 및 실생활에 유용한 실무/자격증 중심의 깊이 있는 정보를 연구하고 공유합니다.