[H-ML] Chapter 1

GGG·2022년 8월 10일
0
post-thumbnail

Chapter 1 한 눈에 보는 머신러닝

머신러닝

데이터에서부터 학습하도록 컴퓨터를 프로그래밍하는 방식.
학습에 사용하는 샘플을 training set, 각 훈련 데이터를 training instance라고 한다.

전통적인 프로그래밍 기법과 비교

전통적인 프로그래밍

머신러닝

전통적인 기법은 문제의 복잡도가 높아짐에 따라 규칙 복잡도의 증가로 유지 보수에 어려움이 있다. 머신 러닝 접근은 데이터에서 패턴을 찾으므로 프로그램이 짧아지고 유지 보수가 쉬운 장점이 있다. 이러한 패턴을 찾는 것을 데이터 마이닝이라고도 한다.

머신러닝 도입분야

  • 기존 솔루션으로 많은 수동 조정과 규칙이 필요한 문제
  • 전통적 방식으로 해결방법 없는 복잡한 문제
  • 유동적인 환경
  • 복잡한 문제와 대량의 데이터에서 통찰

머신러닝 시스템의 종류

감독 여부, 실시간성, 일반화 방식 등으로 분류할 수 있다.

지도 학습
훈련데이터에 label이 포함되는 머신러닝 시스템
classification, regression이 해당된다.

비지도 학습
훈련데이터에 label이 없는 머신러닝 시스템
clustering, visualization, dimensionality reduction

준지도 학습
비지도 학습 + 지도 학습 조합하는 머신러닝 시스템(clustering 후 labeling하는 방식과 같이)
deep belief network

강화학습
시스템(agent)이 environment 관찰하고 action을 수행할 때 그 결과로 reward나 penalty를 부과하는 머신러닝 시스템
가장 큰 보상 얻기 위한 최상의 전략(policy)를 구하게 된다.

Batch learning
Batch 단위로 학습을 하는 방식으로 점진적 학습이 불가하며 offline learning이라고도 한다.
자원이 제한된 시스템에서 사용할 수 있다.

Online learning
데이터 1개씩이나 mini-batch 단위로 학습하는 방식이다.
빠른 변화에 스스로 적응해야하는 시스템에 적합하며 learning rate와 나쁜 데이터 선별이 중요하다.

평가지표

utility function 얼마나 모델이 좋은지?
cost function 얼마나 모델이 나쁜지?

머신러닝 흐름

데이터 분석 → 모델 선택 → 훈련데이터로 학습 → 추론 및 평가

주요 도전 과제: 나쁜 알고리즘과 데이터

모델에 데이터가 충분하면 일반적으로 성능이 증가한다. 따라서 모델 개발 비용과 데이터 수집 비용을 계산하여 적절한 분배가 중요하다.

대표성 없는 훈련 데이터
error, outlier, noise → feature engineering

적절하지 않은 알고리즘
Overfitting: 모델 복잡도가 데이터에 비교해 크게 높을 때 → 규제(regularization) 등의 전략 필요Underfitting: 모델 복잡도가 낮을 때 → 더 성능이 높은 모델 선택

Generalization error
새로운 샘플에 대한 에러 비율

Holdout validation
줄어든 훈련 세트에서 다양한 하이퍼파라미터 학습
검증 세트에서 가장 좋은 모델 선택하여 전체 훈련세트를 학습
최종 모델 테스트 셋에서 평가

profile
GGG

0개의 댓글