머신러닝 - 주요 용어 정리

사과 톡톡톡·2024년 7월 15일

머신러닝 & 딥러닝

목록 보기
1/10

머신러닝에서 주로 사용하는 용어들의 설명을 아예 따로 정리하기로 했다.

1. 머신러닝 이란?

머신러닝(기계 학습, Machine Learning)은 컴퓨터가 명시적으로 프로그래밍되지 않아도 데이터를 통해 학습하고 예측을 할 수 있도록 하는 기술이다.
기본적으로 머신러닝은 대량의 데이터를 분석하여 패턴을 찾아내고, 그 패턴을 기반으로 미래의 데이터를 예측하거나 분류하는 데 사용된디.

머신 러닝의 주요 개념

    1. 데이터: 머신러닝 모델을 훈련시키기 위해서는 대량의 데이터가 필요.
      이 데이터는 입력(features)과 출력(labels)으로 구성될 수 있음.
    1. 모델: 데이터에서 패턴을 학습하는 알고리즘.
      모델은 다양한 형태를 취할 수 있으며, 학습 방식에 따라 여러 종류로 나뉨.
    1. 훈련(training): 모델이 주어진 데이터에서 패턴을 학습하는 과정.
      모델은 데이터를 통해 가중치를 조정하고, 이를 통해 예측을 더욱 정확하게 만듬.
    1. 테스트(testing): 학습된 모델의 성능을 평가하는 과정.
      훈련에 사용되지 않은 새로운 데이터를 사용하여 모델의 예측 능력을 검증.
    1. 평가(evaluation): 모델의 성능을 수치적으로 평가하는 단계.
      예를 들어, 정확도(accuracy), 정밀도(precision), 재현율(recall), F1 점수 등이 사용.

머신러닝의 종류

    1. 지도 학습(Supervised Learning): 입력 데이터와 그에 상응하는 출력 라벨이 주어질 때, 모델이 입력 데이터를 출력에 맞추어 학습하는 방식.
      예) 이미지 분류, 스팸 이메일 탐지.
    1. 비지도 학습(Unsupervised Learning): 입력 데이터만 주어지고, 출력 라벨이 없는 경우.
      모델은 데이터의 구조나 패턴을 스스로 찾아냄.
      예) 군집화(clustering)나 차원 축소(dimensionality reduction).
    1. 강화 학습(Reinforcement Learning): 에이전트가 환경과 상호작용하며 보상을 최대화하는 방향으로 학습하는 방.
      예) 게임 플레이, 로봇 제어.

2. 회귀 분석

회귀 분석이란?

회귀분석(Regression Analysis)은 두 개 이상의 변수 간의 관계를 분석하고 모델링하는 통계 기법.
주로 하나의 종속 변수(반응 변수)와 하나 이상의 독립 변수(설명 변수) 간의 관계를 파악하고 예측하는 데 사용.
회귀분석의 목표는 주어진 독립 변수들로부터 종속 변수를 예측하는 모델을 만드는 것

1. 단순 회귀(Simple Regression)

단순 회귀는 하나의 독립 변수(x)와 하나의 종속 변수(y) 간의 관계를 직선으로 모델링하는 방법.
이 방법은 두 변수 간의 선형 관계를 분석하고 예측할 때 사용.

사용상황

  • 두 변수 간의 관계를 단순하게 설명하고자 할 때
  • 예) 키(x)와 몸무게(y) 간의 관계를 분석할 때

2. 다항 회귀(Polynomial Regression)

다항 회귀는 독립 변수와 종속 변수 간의 비선형 관계를 모델링하기 위해 독립 변수의 다항식 항을 추가하는 방법.
이는 곡선 형태의 관계를 모델링할 때 유용.

사용 상황

  • 변수들 간의 관계가 비선형일 때
  • 예) 차량의 속도(x)와 연료 소비량(y) 간의 관계가 비선형일 때

3. 다중 회귀(Multiple Regression)

다중 회귀는 여러 개의 독립 변수와 하나의 종속 변수 간의 관계를 모델링하는 방법.
이는 여러 변수들이 종속 변수에 미치는 영향을 동시에 분석할 때 사용.

사용 상황

  • 종속 변수에 영향을 미치는 여러 요인을 분석하고자 할 때
  • 예) 주택 가격(y)을 방의 수(x1), 지역(x2), 건축 연도(x3) 등의 여러 변수들로 예측할 때

요약

  • 단순 회귀: 두 변수 간의 선형 관계를 분석할 때 사용.
  • 다항 회귀: 변수 간의 비선형 관계를 모델링할 때 사용.
  • 다중 회귀: 여러 변수들이 종속 변수에 미치는 영향을 동시에 분석할 때 사용.

3. 분류 분석

분류 분석이란?

분류(Classification)는 머신러닝에서 데이터 포인트를 미리 정의된 클래스 레이블 중 하나로 분류하는 작업.
분류 분석은 주로 이산형 데이터(정해진 범주의 데이터)를 처리하는 데 사용되며, 다양한 알고리즘과 기술을 사용하여 구현.

주요 개념

    1. 훈련 데이터(Training Data): 모델을 학습시키기 위해 사용하는 데이터로, 각 데이터 포인트는 입력(features)과 정답(label, class)으로 구성.
    1. 테스트 데이터(Test Data): 학습된 모델의 성능을 평가하기 위해 사용하는 데이터로, 모델이 예측한 결과와 실제 라벨을 비교하여 정확도를 측정.
    1. 특징(Features): 각 데이터 포인트를 설명하는 속성들.
      예를 들어, 이메일 분류에서는 이메일의 단어 빈도, 길이 등이 특징이 될 수 있음.
    1. 라벨(Labels): 각 데이터 포인트가 속하는 클래스.
      예를 들어, 스팸 이메일 분류에서는 '스팸' 또는 '정상'이 라벨이 됨.
    1. 모델(Model): 학습 과정을 통해 생성된 함수로, 새로운 데이터 포인트를 입력받아 클래스 레이블을 예측.
    1. 정확도(Accuracy): 모델이 올바르게 예측한 데이터 포인트의 비율.
      하지만 데이터의 불균형이 있을 경우, 정밀도(Precision), 재현율(Recall), F1 점수 등 다른 평가 지표도 사용됨.

주요 분류 알고리즘

1. K-최근접 이웃(K-Nearest Neighbors, KNN):

  • 새로운 데이터 포인트를 예측할 때, 가장 가까운 K개의 이웃 데이터를 기준으로 다수결 원칙에 따라 분류.
  • 단순하고 이해하기 쉽지만, 계산 비용이 많이 들 수 있음.

2. 서포트 벡터 머신(SVM, Support Vector Machine):

  • 클래스 간의 경계를 최대한 넓게 만드는 초평면(hyperplane)을 찾음.
  • 고차원 공간에서도 효과적으로 작동하며, 커널 트릭을 통해 비선형 분류도 수행할 수 있음.

3. 결정 트리(Decision Tree):

  • 데이터의 특징들을 기준으로 트리 구조를 생성하여 분류.
  • 각 노드는 특징을 기준으로 데이터를 분할하고, 잎(leaf) 노드는 최종 클래스 레이블을 나타냄.

분류 분석의 적용 사례

    1. 이메일 스팸 필터링: 이메일을 '스팸' 또는 '정상'으로 분류.
    1. 이미지 인식: 이미지 데이터를 '고양이', '개', '자동차' 등으로 분류.
    1. 의료 진단: 환자의 진단 데이터를 기반으로 특정 질병 여부를 분류.
    1. 신용 리스크 평가: 대출 신청자의 데이터를 바탕으로 '신용 등급' 분류.
    1. 추천 시스템: 사용자의 과거 행동을 기반으로 '관심 있을 만한 제품' 분류.

분류 분석의 과정

    1. 데이터 수집 및 준비: 데이터를 수집하고, 누락된 값 처리, 정규화 등 전처리 작업 수행.
    1. 특징 선택 및 추출: 모델에 가장 중요한 특징들을 선택하고, 필요 시 새로운 특징을 생성.
    1. 모델 학습: 훈련 데이터를 사용하여 분류 모델 학습.
    1. 모델 평가: 테스트 데이터를 사용하여 모델의 성능 평가.
    1. 하이퍼파라미터 튜닝: 모델의 성능을 최적화하기 위해 하이퍼파라미터 조정.
    1. 배포 및 유지 관리: 최적화된 모델을 실제 환경에 배포하고, 성능을 모니터링 및 유지 관리.

4. 군집 분석

군집 분석이란?

군집 분석(Clustering)은 데이터셋을 유사한 데이터 포인트끼리 그룹(군집)으로 묶는 비지도 학습(Unsupervised Learning) 방법.
이는 데이터의 구조나 패턴을 발견하는 데 사용되며, 주로 데이터 분할, 탐색적 데이터 분석, 이상치 탐지 등에 활용.

주요 군집 분석 알고리즘

1. K-평균 군집화(K-Means Clustering)

작동 원리:

  • K-평균 군집화는 데이터를 K개의 군집으로 나누는 알고리즘.
  • 각 군집의 중심(centroid)을 초기화하고, 각 데이터 포인트를 가장 가까운 중심에 할당.
  • 모든 데이터 포인트의 할당이 끝나면, 각 군집의 중심을 다시 계산.
  • 이 과정을 군집의 중심이 수렴할 때까지 반복.
    특징:
  • 비교적 단순하고 빠르게 수렴.
  • 군집의 개수(K)를 미리 지정해야 함.
    사용 시기:
  • 군집의 수가 알려져 있거나 미리 설정할 수 있을 때.
  • 데이터셋이 비교적 균일하게 분포되어 있을 때.
    장점:
  • 구현이 간단하고 계산 속도가 빠름.
  • 대규모 데이터셋에서도 효율적.
    단점:
  • 군집의 수(K)를 미리 알아야 함.
  • 초기 중심 선택에 따라 결과가 달라질 수 있음.
  • 구형 군집에 적합하며, 복잡한 형상의 군집은 잘 처리하지 못함.

2. DBSCAN(Density-Based Spatial Clustering of Applications with Noise)

작동 원리:

  • DBSCAN은 밀도 기반 군집화 알고리즘으로, 데이터 포인트의 밀집 지역을 군집으로 식별.
  • 두 개의 주요 매개변수(입실론(ε)과 최소 포인트 수(minPts))를 사용하여 밀도 연결성을 정의.
  • 밀도가 높은 영역을 확장하여 군집을 형성하고, 밀도가 낮은 포인트는 이상치로 간주.
    특징:
  • 임의의 형태의 군집을 잘 찾아냅니다.
  • 이상치(outlier)를 자연스럽게 처리할 수 있음.
    사용 시기:
  • 군집의 형태가 불규칙할 때.
  • 이상치를 감지하고 처리해야 할 때.
    장점:
  • 임의의 형태의 군집을 처리할 수 있음.
  • 이상치 감지가 가능.
    단점:
  • 매개변수(ε와 minPts)의 설정이 민감.
  • 데이터의 밀도가 균일하지 않을 경우 성능이 저하될 수 있음.

군집 분석의 적용 사례

  1. 고객 세분화: 고객의 구매 행동을 바탕으로 유사한 고객 그룹을 식별하여, 맞춤형 마케팅 전략을 수립할 수 있음.
  2. 이미지 분할: 비슷한 색상이나 텍스처를 가진 이미지 영역을 군집화하여, 이미지의 각 부분을 구분할 수 있음.
  3. 문서 군집화: 유사한 주제를 가진 문서들을 그룹화하여, 문서의 주제별 분포를 분석할 수 있음.
  4. 이상치 탐지: 데이터에서 이상치나 비정상적인 패턴을 감지하여, 사기 탐지나 품질 관리에 활용할 수 있음.

군집 분석의 과정

  1. 데이터 수집 및 준비: 데이터를 수집하고 전처리 과정을 통해 누락된 값을 처리하거나 정규화.
  2. 알고리즘 선택: 데이터의 특성과 분석 목적에 맞는 군집화 알고리즘을 선택.
  3. 모델 학습 및 평가: 선택한 알고리즘을 사용하여 데이터를 군집화하고, 결과를 평가.
    평가 지표로는 실루엣 계수(Silhouette Score), 군집의 응집도(cohesion)와 분리도(separation) 등이 사용.
  4. 결과 해석 및 활용: 군집화 결과를 해석하고, 비즈니스 인사이트 도출이나 추가 분석에 활용.

5. 군집 분석

군집 분석이란?

군집 분석(Clustering)은 데이터셋을 유사한 데이터 포인트끼리 그룹(군집)으로 묶는 비지도 학습(Unsupervised Learning) 방법.
이는 데이터의 구조나 패턴을 발견하는 데 사용되며, 주로 데이터 분할, 탐색적 데이터 분석, 이상치 탐지 등에 활용.

주요 군집 분석 알고리즘

1. K-평균 군집화(K-Means Clustering)

작동 원리:

  • K-평균 군집화는 데이터를 K개의 군집으로 나누는 알고리즘.
  • 각 군집의 중심(centroid)을 초기화하고, 각 데이터 포인트를 가장 가까운 중심에 할당.
  • 모든 데이터 포인트의 할당이 끝나면, 각 군집의 중심을 다시 계산.
  • 이 과정을 군집의 중심이 수렴할 때까지 반복.
    특징:
  • 비교적 단순하고 빠르게 수렴.
  • 군집의 개수(K)를 미리 지정해야 함.
    사용 시기:
  • 군집의 수가 알려져 있거나 미리 설정할 수 있을 때.
  • 데이터셋이 비교적 균일하게 분포되어 있을 때.
    장점:
  • 구현이 간단하고 계산 속도가 빠름.
  • 대규모 데이터셋에서도 효율적.
    단점:
  • 군집의 수(K)를 미리 알아야 함.
  • 초기 중심 선택에 따라 결과가 달라질 수 있음.
  • 구형 군집에 적합하며, 복잡한 형상의 군집은 잘 처리하지 못함.

2. DBSCAN(Density-Based Spatial Clustering of Applications with Noise)

작동 원리:

  • DBSCAN은 밀도 기반 군집화 알고리즘으로, 데이터 포인트의 밀집 지역을 군집으로 식별.
  • 두 개의 주요 매개변수(입실론(ε)과 최소 포인트 수(minPts))를 사용하여 밀도 연결성을 정의.
  • 밀도가 높은 영역을 확장하여 군집을 형성하고, 밀도가 낮은 포인트는 이상치로 간주.
    특징:
  • 임의의 형태의 군집을 잘 찾아냅니다.
  • 이상치(outlier)를 자연스럽게 처리할 수 있음.
    사용 시기:
  • 군집의 형태가 불규칙할 때.
  • 이상치를 감지하고 처리해야 할 때.
    장점:
  • 임의의 형태의 군집을 처리할 수 있음.
  • 이상치 감지가 가능.
    단점:
  • 매개변수(ε와 minPts)의 설정이 민감.
  • 데이터의 밀도가 균일하지 않을 경우 성능이 저하될 수 있음.

군집 분석의 적용 사례

  1. 고객 세분화: 고객의 구매 행동을 바탕으로 유사한 고객 그룹을 식별하여, 맞춤형 마케팅 전략을 수립할 수 있음.
  2. 이미지 분할: 비슷한 색상이나 텍스처를 가진 이미지 영역을 군집화하여, 이미지의 각 부분을 구분할 수 있음.
  3. 문서 군집화: 유사한 주제를 가진 문서들을 그룹화하여, 문서의 주제별 분포를 분석할 수 있음.
  4. 이상치 탐지: 데이터에서 이상치나 비정상적인 패턴을 감지하여, 사기 탐지나 품질 관리에 활용할 수 있음.

군집 분석의 과정

  1. 데이터 수집 및 준비: 데이터를 수집하고 전처리 과정을 통해 누락된 값을 처리하거나 정규화.
  2. 알고리즘 선택: 데이터의 특성과 분석 목적에 맞는 군집화 알고리즘을 선택.
  3. 모델 학습 및 평가: 선택한 알고리즘을 사용하여 데이터를 군집화하고, 결과를 평가.
    평가 지표로는 실루엣 계수(Silhouette Score), 군집의 응집도(cohesion)와 분리도(separation) 등이 사용.
  4. 결과 해석 및 활용: 군집화 결과를 해석하고, 비즈니스 인사이트 도출이나 추가 분석에 활용.

6. Confusion Matrix

컨퓨전 매트릭스란?

컨퓨전 매트릭스(confusion matrix)는 머신러닝 분류 모델의 성능을 평가하기 위해 사용되는 표.
이 매트릭스는 모델이 예측한 결과와 실제 라벨을 비교하여, 분류가 얼마나 정확하게 이루어졌는지 시각적으로 나타냄.
컨퓨전 매트릭스는 이진 분류와 다중 클래스 분류 모두에 사용할 수 있음.
이진 분류의 경우, 컨퓨전 매트릭스는 2x2 표로 구성.

구성 요소

    1. True Positive (TP): 실제 클래스가 긍정(Positive)이고 모델이 긍정으로 예측한 경우.
    1. True Negative (TN): 실제 클래스가 부정(Negative)이고 모델이 부정으로 예측한 경우.
    1. False Positive (FP): 실제 클래스가 부정인데 모델이 긍정으로 예측한 경우.
      이것을 Type I 오류 또는 "False Alarm"이라고도 함.
    1. False Negative (FN): 실제 클래스가 긍정인데 모델이 부정으로 예측한 경우.
      이것을 Type II 오류 또는 "Miss"라고도 함.

이진 분류의 컨퓨전 매트릭스

예측 긍정 (Positive)예측 부정 (Negative)
실제 긍정True Positive (TP)False Negative (FN)
실제 부정False Positive (FP)True Negative (TN)

주요 성능 지표

  • 정확도 (Accuracy): 전체 예측에서 올바르게 예측된 비율.

    Accuracy=TP+TNTP+TN+FP+FN{Accuracy} =\frac{TP + TN}{TP + TN + FP + FN}

  • 정밀도 (Precision): 긍정으로 예측한 것 중 실제로 긍정인 비율.

    Precision=TPTP+FP{Precision} = \frac{TP}{TP + FP}

  • 재현율 (Recall) 또는 민감도 (Sensitivity): 실제 긍정인 것 중에서 모델이 긍정으로 올바르게 예측한 비율.

    Recall=TPTP+FN{Recall} = \frac{TP}{TP + FN}

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

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

  • 특이도 (Specificity): 실제 부정인 것 중에서 모델이 부정으로 올바르게 예측한 비율.

    Specificity=TNTN+FP{Specificity} = \frac{TN}{TN + FP}

다중 클래스 분류의 컨퓨전 매트릭스

다중 클래스 분류의 경우, 컨퓨전 매트릭스는 n×nn \times n 표로 구성되며, 여기서 (n)은 클래스의 수.
각 셀은 특정 실제 클래스와 특정 예측 클래스 간의 빈도를 나타냄.

Predicted Class 1Predicted Class 2...Predicted Class n
Actual Class 1TP11TP_{11}FP12FP_{12}...FP1nFP_{1n}
Actual Class 2FN21FN_{21}TP22TP_{22}...FP2nFP_{2n}
...............
Actual Class nFNn1FN_{n1}FNn2FN_{n2}...TPnnTP_{nn}

다중 클래스 분류에서는 매 클래스에 대해 개별적으로 정밀도, 재현율, F1 점수를 계산할 수 있으며, 이를 평균내어 모델의 전체 성능을 평가.
컨퓨전 매트릭스는 분류 모델의 강점과 약점을 파악하는 데 매우 유용하며, 특히 불균형 데이터셋을 다룰 때 중요한 정보를 제공.

0개의 댓글