Skip to content

Latest commit

 

History

History
52 lines (51 loc) · 3.1 KB

chap09.md

File metadata and controls

52 lines (51 loc) · 3.1 KB

CHAP 9

머신러닝

  • 기계학습과 전통적인 프로그래밍과의 차이점
    • 전통적인 프로그래밍: 원하는 절차를 '프로그래밍'하는 것. 명시적인 프로그래밍
      • 개발자가 구체적인 프로그램 코드를 작성해야함
    • 기계학습 : 데이터만 제공하면 됨
  • 머신 러닝 == 함수 근사(function approximation): 항상 입력을 받아서 출력하는 함수 y=f(x)를 학습한다고 생각
  • 특징(features): 우리가 학습 모델에게 공급하는 입력. 간단한 경우에는 입력 자체가 특징이 됨
  • 레이블(label): y=f(x)에서 y에 해당
  • 샘플 or 예제: 머신러닝에 주어지는 특정한 예. y=f(x)에서 x에 해당.
  • 학습(learning): 모델을 만들거나 배우는 것
  • 예측(prediction): 학습된 모델을 레이블이 없는 샘플에 적용하는 것. -> 학습된 모델을 사용하여 유용한 예측(y)를 해내는 것
  • 지도 학습: 정답을 알려줌.
    • 회귀 (regression): 입력과 출력이 모두 실수
      • 실수 입력(x)과 실수 출력(y)가 주어질 때 입력에서 출력으로의 매핑 함수를 학습하는 것
      • 데이터를 많이 수집하면 기울기 조절 가능
      • 잘 fitting한 f(x)를 구하면 예측을 더 잘함
    • 분류(classification): 입력을 두 개 이상의 레이블(유형)으로 분할하는 것
      • 해당 모델 학습 시 레이블 제공해야함
      • disjoint하다 (겹친 것이 없다)
      • y=f(x)에서 y가 이산적인 경우에 분류(인식) 문제라 함.
      • 신경망, kNN,SVM,의사 결정 트리 등의 알고리즘 있음
  • 비지도 학습: 컴퓨터가 스스로 입력들을 분류. 레이블 y가 주어지지 않음
    • 데이터들의 상관도를 분석하여 유사한 데이터들을 모을 수 있음
    • 클러스터링(군집화, clustering): 데이터 간 거리를 계산하여 입력을 몇 개의 그룹으로 나누는 방법
  • 강화 학습(reinforcement learning): 컴퓨터가 어떤 행동을 취할 때마다 외부에서 벌이나 보상이 주어짐
    • 결과가 즉시 나타나지 않음 -> "지연 보상" 문제
  • 머신러닝의 과정
    1. 학습 데이터 모으기
    2. 학습 데이터 정제하기(전처리)
    3. 모델 학습하기
    4. 평가
    5. 예측
  • 머신러닝에는 항상 훈련 데이터와 테스트 데이터가 있어야 한다
  • 모델 선택
  • 평가: 테스트 데이터 사용
    • 일반적인 훈련 데이터와 테스트 데이터의 비율은 80:20 또는 70:30
  • 머신러닝의 성능 평가 : 혼동 행렬
    • TP
    • FN
    • FP
    • TN
    • 정확도(Accuracy) = (TP+TN)/(TP+TN+FP+FN)
    • True Postiive rate = TP/(TP+FN)
    • False negative rate = FN/(TP+FN)
    • True negative rate(=Sensitivity) = TN/(FP+TN)
    • False Positive rate= FP/(FP+TN)
    • Precision = TP/(TP+FP)
    • Recall = TP/(TP+FN)
    • F-measure= 2 * Precision * Recall / (Precision+Recall)
      • harmonic mean(조화 평균): 주어진 수들의 역수의 산술 평균의 역수 => 평균 변화율을 구할 때 자주 사용