[ML] 머신러닝 기본 개념
머신러닝의 개념에 대해 간단히 복습을 하기 위해 작성하였다.
머신러닝이란?
데이터로부터 학습하도록 컴퓨터를 프로그래밍하는 과학이다.
왜 머신러닝을 사용하는가?
전통적인 프로그래밍 기법보다 프로그램이 훨씬 짧고 유지보수가 쉬우며 대부분 정확도가 더 높다.
데이터의 패턴이 변화하더라고 적응할 수 있다.
머신러닝을 통해 배울 수 있다.
- 어떤 특징들이 결과를 예측하는 데 유용하게 사용되었는가 ex) 데이터 마이닝: 대용량의 데이터를 분석하여 겉으로는 보이지 않던 패턴을 발견하는 것
머신러닝 시스템의 종류
지도 vs 비지도 vs 준지도 학습
범주: 사람의 감독 하에 훈련하는 것인지
- 지도학습
- 훈련 데이터에 레이블이라는 원하는 답이 포함 ex) 분류, 회귀
- 대표적인 알고리즘
- k-최근접 이웃 (K-Nearest Neighbors)
- 선형 회귀 (Linear Regression)
- 로지스틱 회귀 (Logistic Regression)
- 서포트 벡터 머신 (Support Vector Machines; SVM)
- 결정 트리 (Decision Tree)
- 랜덤 포레스트 (Random Forest)
- 신경망 (Neural Networks)
- 비지도학습
- 훈련 데이터에 레이블이 없다.
- 대표적인 알고리즘
- 군집 (clustering)
- k-평균 (K-Means)
- 계층 군집 분석 (Hierarchical Cluster Analysis; HCA)
- 기댓값 최대화 (Expectation Maximization; EM)
- 시각화 (Visualization) & 차원 축소 (Dimesionality Reduction)
- 주성분 분석 (Principal Component Analysis; PCA)
- 커널 (Kernel) PCA
- 지역적 선형 임베딩 (Locally -Linear Embedding; LLE)
- t-SNE (t-distributed Stochastic Neighbor Embedding)
- 이상치 탐지 (Anomaly Detection)
- 부정 거래를 막기 위해 이상한 신용카드 거래 감지, 제조 결함 감지, 학습 알고리즘 주입 전 데이터셋에 이상한 값 자동 제거
- 연관 규칙 학습 (Association Rule Learning)
- 어프라이어리 (Apriori)
- 이클렛 (Eclat)
- 군집 (clustering)
- 준지도학습
- 레이블이 없는 데이터가 많고 레이블이 있는 데이터는 아주 조금인 경우 사용되는 기법
- 지도 학습과 비지도 학습의 조합
- ex) 심층 신뢰 신경망 (Deep Belief Network; DBN)
- 여러 겹으로 쌓은 제한된 볼츠만 머신(RBM)이라 불리는 비지도 학습에 기초하였다.
- RBM이 비지도 학습 방식으로 순차적으로 훈련된 다음, 전체 시스템이 지도 학습 방식으로 세밀하게 조정된다.
- ex) 심층 신뢰 신경망 (Deep Belief Network; DBN)
- 강화학습
- 학습하는 시스템을 에이전트라고 부르며 환경을 관찰해서 행동을 실행하고 그 결과로 보상 또는 페널티를 받는 것이다.
- 시간이 지나면서 가장 큰 보상을 얻기 위해 정책이라고 부르는 최상의 전략을 스스로 학습하도록 하는 알고리즘이다.
- 정책은 주어진 상황에서 에이전트가 어떤 행동을 선택해야할 지 정의해야한다. ex) AlphaGo
온라인 학습 vs 배치 학습
범주: 실시간으로 점진적인 학습을 하는지
- 배치 학습 (Batch Learning)
- 시스템이 점진적으로 학습할 수 없다. 가용한 데이터를 모두 사용해 훈련시켜야하는 경우를 말한다.
- 먼저 시스템을 훈련시키고 그런 다음 제품 시스템에 적용하려면 더 이상의 학습없이 실행된다.
- 오프라인 학습이라고도 부른다.
- 온라인 학습 (Online Learning)
- 데이터를 순차적으로 한 개씩 또는 미니배치 (mini-batch)라 부르는 작은 묶음 단위로 주입하여 시스템을 훈련한다.
- 매 학습 단계가 빠르고 비용이 적게 들어 시스템은 데이터가 도착하는 대로 즉시 학습할 수 있다.
사례 기반 학습 vs 모델 기반 학습
범주: 어떻게 일반화되는가
단순하게 알고 있는 데이터 포인트와 새 데이터 포인트를 비교하는 것인지, 아니면 훈련 데이터 셋에서 패턴을 발견하여 예측 모델을 만드는 지
- 사례 기반 학습 (Instance-based Learning)
- 시스템이 사례를 기억함으로써 학습하고, 유사도 측정을 사용해 새로운 데이터에 일반화한다.
- 모델 기반 학습 (Model-based Learning)
- 샘플들의 모델을 만들어 예측에 사용한다.
댓글남기기