데이터로부터 학습하도록 컴퓨터를 프로그래밍하는 것,
어떤 작업 T에 대한 컴퓨터 프로그램 성능이 P로 측정되었는데, E라는 경험으로 성능이 향상됐다면, 이 컴퓨터 프로그램은 작업 T와 성능 측정 P에 대해 경험 E로 학습한 것이라 할 수 있다. - Tom Mitchell, 1997
- E - 훈련데이터
- P - 정확도
머신러닝 기술을 적용해서 대용량의 데이터를 분석하면 겉으로는 보이지 않던 패턴을 발견할 수 있다. (👉Data mining) 이 점을 활용한 애플리케이션 사례들은 다양한 분야에서 발견할 수 있다.
✅ 지도 학습
: 알고리즘에 주입하는 훈련 데이터에 레이블이 포함된 경우
ex) 분류, k-nearest neighbors, linear regression, logistic regression, support vector machine, 결정 트리, 랜덤 포레스트, 신경망
✅ 비지도 학습
: 훈련 데이터에 레이블이 포함되어 있지 않은 경우 - 시스템 도움 없이 알고리즘 스스로 학습해야 한다.
ex) 군집 (k-means, DBSCAN, 이상치&특이치 탐지, isolation forest)
시각화와 차원축소 (PCA, t-SNE)
연관 규칙 학습 (Apriori, Eclat)
✅ 준지도 학습
: 대부분의 준지도 학습은 지도 학습과 비지도 학습이 결합된 형태
✅ 강화 학습
: 학습하는 시스템(Agent)이 환경을 관찰해서 행동을 실행하고, 그 결과로 reward/penalty 를 받는다. 시간이 지나면서 큰 reward를 얻기 위해 policy라는 최상의 전략을 스스로 학습한다.
✅ 배치 학습 (Batch learning)
: 점진적으로 학습 불가, 가용한 데이터를 모두 사용해서 훈련시켜야 한다.
✅ 온라인 학습 (= 점진적 학습)
: 데이터를 순차적으로 한 개씩 / mini-batch 단위로 주입하여 시스템을 훈련
--> 매 학습 단계가 빠르고 비용이 적어, 데이터가 도착하는 대로 즉시 학습 가능
but! 시스템에 나쁜 데이터가 주입됐을 때 시스템 성능이 점진적으로 감소할 수도 있다.
✅ 사례 기반 학습
: 시스템이 훈련 샘플을 기억함으로써 학습 진행. 유사도 측정을 통해 '새로운 데이터 & 학습한 샘플'을 비교하는 식으로 일반화
✅ 모델 기반 학습
: 샘플들의 모델을 만들어 예측에 사용하는 것
데이터분석 - 모델 선택 - 훈련데이터로 모델 훈련 - 새로운 데이터에 모델 적용해서 예측, 그 다음 이 모델이 성공적으로 일반화되는지 관찰 (테스트와 검증)
문제정의 - 데이터 구하기 - 데이터 분석 및 시각화 - 머신러닝 알고리즘에 사용할 데이터 준비 - 모델 선택 및 훈련 - 모델 파인튜닝 - 솔루션 제시 - 시스템 론칭, 모니터링, 유지 보수
✅ Pipeline 이란?
:데이터 처리 component들이 연속되어 있는 것을 데이터 pipeline이라고 한다. 머신러닝 시스템은 데이터를 조작하고 변환할 일이 많아 파이프라인을 사용하는 일이 매우 흔하다.