본문 바로가기
(책) 머신러닝, 딥러닝/핸즈온 머신러닝

CHAPTER 1 한눈에 보는 머신러닝

by 탶선 2020. 3. 25.
반응형

머신러닝(machine learning)

  • 데이터로부터 학습하도록 컴퓨터를 프로그래밍 하는 과학
  • 명시적 프로그래밍 없이 컴퓨터가 학습하는 능력을 갖추게 하는 연구 분야

훈련 세트(training set) 

  • 시스템이 학습하는 데 사용하는 샘플

훈련 사례(training instance), 샘플(sample)

  • 각 훈련 데이터

 

 

왜 머신러닝을 사용하는가?

전통적 접근 방법 보다 프로그램이 짧아지고 유지 보수하기 쉬우며 대부분 정확도가 더 높음(ex 스팸 분류)

 

 

데이터 마이닝(data mining)

  • 대용량의 데이터를 분석하여 겉으로 보이지 않던 패턴을 발견하는 기술

 

 

차원 축소(dimensionality reduction)

  • 정보를 잃지 않으면서 데이터를 간소화

 

 

특성 추출(feature extraction)

  • 원시 데이터로 부터 머신러닝에 적합한 데이터(모델을 학습 시킬 예)로 정제하는 것
  • 특성을 결합하여 유용한 특성을 만듦

 

 

지도 학습(supervised learning)

  • 알고리즘에 주입하는 훈련 데이터에 label(답)이 포함된 학습
  • (분류, 회귀)

 

 

비지도 학습(unsupervised learning)

  • 훈련 데이터에 레이블(답)이 없는 학습
  • 군집(clustering), 차원축소(dimensionality reduction), 이상치 탐지(anomaly detection), 연관 규칙 학습(association rule learning)

 

 

 

이상치 탐지(anomaly detection)

  • 비지도 학습
  • 학습 알고리즘에 주입되기 전 데이터셋에서 이상한 값을 자동으로 제거하는 작업

 

 

연관 규칙 학습(association rule learning)

  • 비지도 학습
  • 대량의 데이터에서 특성 간 흥미로운 관계를 찾는 작업

 

 

준지도 학습(semisupervised learning)

  • 레이블이 일부만 있는 데이터를 학습

 

 

강화 학습(reinforcement learning)

  • 환경(environment)을 관찰하여 행동(action)을 실행, 그 결과로 보상(reward)을 받는 알고리즘
  • 시간이 지나면서 가장 큰 보상을 얻기 위해 정책(policy)라고 부르는 최상의 전략을 스스로 학습하는 알고리즘
  • 학습하는 시스템 - 에이전트(agent)

 

 

배치 학습(batch learning), 오프라인 학습(offline learning) 

  • 점진적으로 학습 불가, 데이터를 모두 사용해 훈련
  • 시스템을 훈련시키고 제품 시스템에 적용하여 더 이상의 학습 없이 실행하여 적용만 시키는 알고리즘
  • 시간, 자원을 많이 소모
  • 시스템이 입력 데이터의 스트림으로부터 점진적으로 학습할 수 없음

 

 

온라인 학습(online learning)

  • 데이터를 순차적으로 한개씩 또는 미니배치(작은 묶음 단위로 주입)로 시스템을 훈련시키는 알고리즘
  • 매 학습 단계가 빠르고 비용이 적게 듦
  • 데이터의 도착 즉시 학습 가능
  • 연속적으로 데이터를 받고 빠른 변화에 스스로 적응해야 하는 시스템에 적합
  • 컴퓨팅 자원이 제한된 경우 적합

 

 

학습률(learning rate) 

  • 시스템이 변화하는 데이터에 얼마나 빠르게 적응하는지에 대한 파라미터
  • 모델이 얼마나 세세하게 학습을 할지
  • 한번 학습할때 얼만큼 변화를 주는지에 대한 상수

 

 

사례 기반 학습

  • 시스템이 사례를 기억함으로써 학습
  • 이미 알고 있는 데이터와 새로운 데이터 간의 유사도를 통해 예측하는 방법

모델 기반 학습

  • 샘플들의 모델을 만들어 예측에 사용하도록 하는 학습
  • 학습 데이터로부터 일반화 할 수 있도록 모델을 만들어 예측

 

 

머신러닝의 주요 도전 과제 

  • 머신러닝 알고리즘이 잘 작동하도록 하기 위해선 많은 양의 데이터가 필요
  • 일반화(학습데이터가 아닌 새로운 데이터를 예측하는데 전반적으로 잘 예측할 수 있도록 하는 것)가 잘 되도록 새로운 데이터를 학습 데이터가 잘 대표하도록 해야함
  • 학습 데이터 정제
    • 에러, 이상치, 노이즈 제거 등
  • 학습에 필요한 특성을 잘 찾아야 함
    • 특성 선택
    • 특성 추출
  • 과대적합(overfitting) - 훈련 데이터에 너무 잘 맞지만 일반성이 떨어지는 경우
    • 파라미터 수가 적은 모델 선택 해결
    • 데이터의 특성 수를 줄이거나, 모델에 제약을 걸어(규제 regularization) 해결
    • 훈련 데이터를 더 모아 해결
    • 훈련 데이터의 노이즈를 줄여 해결
  • 과소 적합(underfitting) - 모델이 너무 단순하여 데이터의 내재된 구조를 학습하지 못하는 경우
    • 파라미터가 더 많은 모델을 선택하여 해결
    • 도 좋은 특성을 추가하여 해결
    • 모델의 제약을 줄여 해결

 

 

 

# 본 게시물은 "Hands_On Machine Learning with Scikit-Learn & TensorFlow" 를 읽고 작성하였습니다. #

반응형

'핸즈온 머신러닝' 카테고리의 다른 글

Chapter 5 서포트 벡터 머신(svm)  (0) 2020.09.18
Chapter4 모델 훈련  (0) 2020.09.17
Chapter3 분류  (0) 2020.04.11
CHAPTER 2 머신러닝 프로젝트 처음부터 끝까지  (0) 2020.03.26

댓글