My Data Story
[개요] 머신러닝 시스템의 종류 본문
◈ '머신러닝 개요' 목차 ◈
1. 머신러닝 시스템의 종류
학습하는 동안 감독의 형태에 따라 지도 학습, 비지도 학습, 준지도 학습으로 구분할 수 있다.
학습하는 방식에 따라 배치 학습, 온라인 학습으로 구분할 수 있다.
머신러닝 시스템이 일반화 되는 방식에 따라 사례 기반 학습, 모델 기반 학습으로 구분할 수 있다.
1. 지도 학습과 비지도 학습
학습하는 동안의 감독 형태나 정보량에 따라 지도 학습과 비지도 학습으로 분류한다.
1.1 지도 학습
지도학습은 훈련 데이터에 레이블, 원하는 답이 포함되어 있다.
전형적인 지도 학습 작업은 분류와 회귀가 있다.
cf. 일부 회귀 알고리즘은 분류에도 사용 가능 (로지스틱 회귀)
- K-최근접 이웃 K-Nearest Neighbors
- 선형 회귀 Linear Regression
- 로지스틱 회귀 Logistic Regression
- 서포트 벡터 머신 SVM
- 결정 트리 Decision Tree
- 랜덤 포레스트 Random Forest
- 신경망 Neural Networks
cf. 오토인코더 또는 제한된 볼츠만 머신 등은 비지도 학습
심층 신뢰 신경망 이나 비지도 사전 훈련 등은 준지도 학습
1.2 비지도 학습
비지도 학습은 훈련 데이터에 레이블이 없다.
군집
계층 군집 분석은 각 그룹을 더 작은 그룹으로 세분화 가능하다.
이상치 탐색은 훈련하는 동안 정상 샘플만을 만나 이를 인식하도록 훈련한다.
특이치 탐색은 훈련 세트에 있는 모든 샘플과 달라 보이는 새로운 샘플 탐지하는 것이 목적이다.
알고리즘으로 감지하고자 하는 모든 샘플을 제거하여 훈련 세트를 구성한다.
- K-평균 Kmeans
- DBSCAN
- 계층 군집 분석
- 이상치 탐색 Outlier Detection
- 특이치 탐색 Novelty Detection
- One Class SVM
- Isolation Forest
시각화와 차원 축소
시각화 사용하면, 데이터가 어떻게 조직되어 있는 지 이해 가능하고 예상치 못한 패턴 발견할 수 있다.
차원 축소 사용하면 상관관계 있는 여러 특성을 하나로 합칠 수 있다.
머신러닝 적용하기 전에, 차원 축소 알고리즘을 통해 데이터 차원 줄이면 유용할 수 있다.
요즘은 모든 데이터를 다 넣고 머신러닝 적용하는 추세이다.
- 주성분 분석 PCA
- 커널 PCA
- 지역적 선형 임베딩 LLE
- t-SNE t-distributed stochastic neighbor embeding
연관 규칙 학습
- Aprior
- Eclat
1.3 준지도 학습
일부 데이터만 레이블이 있는 경우 준지도 학습을 활용한다.
지도 학습과 비지도 학습의 조합으로 구성된다.
1.4 강화 학습
학습하는 시스템을 강화학습이라고 한다.
환경을 관찰해서 행동을 실행하고, 그 결과로 보상 또는 벌점을 받는다.
시간이 지남에 따라 가장 큰 보상을 위해 정책이라는 최상의 전략을 스스로 학습한다.
2. 배치 학습과 온라인 학습
2.1 배치 학습
가용한 데이터를 모두 사용해 훈련한다.
보통 시간과 자원이 많이 소모되어 오프라인에서 작동한다.
새로운 데이터 학습하기 위해서는 전체 데이터(이전 데이터 + 새로운 데이터) 사용하여 시스템 새로 훈련 후,
기존 시스템 중지시켜 교체한다.
2.2 온라인 학습
데이터를 순차적으로 한 개씩 또는 미니배치 묶음 단위로 주입하여 훈련한다.
새로운 미니 배치의 데이터 주입 시, 이전 데이터로 생성한 모델 파라미터를 가져와서 훈련 시작한다. (partial_fit())
온라인 학습이 적합한 시스템
- 연속적으로 데이터를 받고 빠른 변화에 스스로 적응해야 하는 시스템
- 컴퓨팅 자원이 제한된 시스템 (많은 양의 데이터를 나눠 주입하여 훈련 진행)
온라인 학습 시스템에서 학습률 중요하다.
- 학습률 높이면, 데이터에 빠르게 적응하지만 이전 데이터는 금방 잊어버린다.
- 학습률 낮추면, 시스템의 관성이 커서 학습이 느려진다.
나쁜 데이터 주입 시, 시스템 성능이 점진적으로 느려진다.
- 시스템 모니터링하고 성능 감소하면 즉각적으로 학습 중지시키고 원복한다.
이때, 이상 탐지 알고리즘을 통해 입력 데이터를 모니터링하여 비정상 데이터를 잡아내야 한다.
3. 사례 기반 학습과 모델 기반 학습
머신 러닝 시스템이 어떻게 일반화 되는 가에 따라 구분된다.
3.1 사례 기반
시스템이 훈련 데이터를 기억하며 학습한다. 새로운 데이터와 학습 데이터 간의 유사도를 측정하여 비교한다.
3.2 모델 기반
샘플들의 수리적 모델을 만들어 예측에 사용한다. 모델 기반의 머신 러닝 작업 과정은 다음과 같다.
step1
데이터 확인
step2
모델 선택 (모델의 종류나 완전히 정의된 모델 구조 선택)
모델의 종류 ex. 선형 회귀
완전히 정의된 모델 구조 ex. 하나의 입력과 하나의 출력을 가진 선형회귀
step3
모델 훈련 (훈련 데이터에 가장 잘 맞는 모델 파라미터를 찾기 위해 알고리즘 선택)
이때, 최적의 모델 파라미터를 찾기 위해 측정 지표를 정해야 한다.
측정 지표는 효용함수(얼마나 좋은지) 또는 비용함수(얼마나 나쁜지) 중 선택한다.
step4
새로운 데이터 예측
'Machine Learning > 1. 머신러닝 프로젝트 절차' 카테고리의 다른 글
[개요] 머신러닝 프로젝트 절차(4) - 머신러닝 알고리즘을 위한 데이터 준비 (0) | 2021.08.12 |
---|---|
[개요] 머신러닝 프로젝트 절차(3) - 데이터 이해를 위한 탐색 ... 수정중 (0) | 2021.08.12 |
[개요] 머신러닝 프로젝트 절차 (2) - 데이터 샘플링 및 훈련/테스트 세트 만들기 (0) | 2021.08.12 |
[개요] 머신러닝 프로젝트 절차(1) - 큰 그림 보기 (0) | 2021.08.12 |
[개요] 머신러닝의 주요 도전 과제 (0) | 2021.08.12 |