개발/머신러닝

[요약] 핸즈온 머신러닝 - 01. 한눈에 보는 머신러닝

소년택이 2022. 4. 14. 15:53

머신러닝의 공학적 정의

어떤 작업 T에 대한 컴퓨터 프로그램의 성능을 P로 측정했을 때 경험 E로 인해 성능이 향상됐다면, 이 컴퓨터 프로그램은 작업 T와 성능 측정P에 대해 경험 E로 학습한 것이다.

by Tom Mitchell, 1997

 

머신러닝을 사용하는 이유

  • 규칙이 동적으로 변할 필요가 있는 문제를 풀때.
  • 전통적인 방식으로는 너무 복잡하거나, 알고리즘이 없는 문제를 해결할때.
  • 대용량 데이터를 분석하여 보이지 않는 규칙을 도출할때.

 

머신러닝 시스템의 종류

사람의 감독 여부

머신러닝 시스템을 훈련하기 위한 데이터들(훈련 세트)이 주어질때 각 데이터에 정답을 표기한 경우 그 정답을 레이블 이라고 한다.

구분 비지도 학습 준지도 학습 지도학습 강화 학습
레이블 없다 일부 있다 전부 있다 계속 추가한다.
유형 군집
이상치, 특이치 탐지
차원 축소
DBN
RBM
분류
회귀, 로지스틱 회귀
SVM
알파고

준지도 학습

구글 포토나, 애플 사진첩은 사진을 분석하여 사람 얼굴의 군집을 만들지만, 실제 레이블링이 된 사진 (사용자가 얼굴을 확인하고 누군지 지정) 은 일부이다. 준지도 학습은 일부의 레이블링한 데이터를 기반으로 클래스를 설정하고 새로운 데이터를 분류한다.

점진적 학습 여부

구분 배치 학습 온라인 학습
학습의 점진성 불가 가능
특징 출시 전 학습을 완료한다.
자동화를 통해 주기적으로 시스템을 교체한다.
출시 후 학습을 계속한다.
학습률로 변화에 대한 민감도를 조정한다.
장점 (교체 하기 전 까지) 모델에 변동이 없다. 변화에 실시간으로 반응한다.
단점 변화에 적응 할 수 없다.
학습 시 비용이 많이 든다.
기존 학습한 특성이 소실 된다.
불량 데이터에 의해 성능이 감소 한다.

일반화

사례 기반

  • 훈련 샘플을 기반으로 한다.
  • 새로운 샘플 유입 시 기존 샘플과의 유사도를 기반으로 분류한다.

모델 기반

  • 학습으로 만들어진 모델을 기반으로 한다.
  • 훈련이란 (선택한)모델이 데이터에 맞도록 파라미터를 찾아내는 과정이다.
  • 새로운 샘플 유입 시 모델에 대입해 분류한다.

 

방해요소

  • 부족한 데이터.
  • 대표성 없는 데이터.
  • 낮은 품질(노이즈, 쓰레기 값)의 데이터.
  • 잘못 된 특성선택.
  • 과대 적합: 훈련데이터에만 적합한 결과, 지나치게 복잡한 모델, 부족한 학습 데이터, 과도한 민감도 (하이퍼파라미터).
  • 과소 적합: 훈련데이터조차 부적합한 결과, 지나치게 단순한 모델, 부실한 특성 선택, 부족한 민감도.

 

검증 방법

  • 수 많은 모델, 수많은 파라미터를 모두 학습하고 검증하는건 현실적으로 불가능.
  • 데이터를 훈련, 개발, 검증 세트로 나눔.
    • 훈련 세트로 훈련 수행.
    • 훈련 + 개발 세트로 모델 검증.
    • 상위 일부 모델 간추린 후 검증 수행.