[머신러닝]Machine Learning 개요
카테고리: MachineLearning
Machine Learning
머신러닝(Machine Learning, 기계학습)이란?
“명시적인 프로그래밍 없이 컴퓨터가 학습하는 능력을 갖추게 하는 연구 분야다”
- Arther Samuel, 1959
코딩 테스트 같은 알고리즘 문제를 풀 때는 주어진 문제의 규칙을 보고 직접 알고리즘을 구현한다. 머신러닝은 이와 반대로 컴퓨터ㅔ게 수많은 케이스를 주어주고 학습시킨 뒤 이 케이스를 만족하는 알고리즘을 구현하도록 한다.
Supervised, Unsupervised, Reinforcement
Supervised Learning
Label이 포함되어 있는 훈련 데이터로 학습하는 방법이다. 답이 있는 Dataset을 보고 그 답을 맞추는 알고리즘을 기계가 만들어내게 된다.
알고리즘은 크게 분류(Classification)와 회귀(Regression) 등으로 나눌 수 있다.
- K-nn(K-nearest neighbors)
- Linear Regression
- Logistic Regression
- SVM(Support Vector Machine, Large Margin Machine)
- 의사 결정 나무(Decision Tree)
Unsupervised Learning
비지도 학습은 Label 없이 모든 것을 기계의 판단하에 처리하는 알고리즘이다.
크게는 군집(Clustering), 시각화(Visualization), 연관 규칙 학습(Association Rule Learning) 등으로 나눠진다.
- Clustering
- k-means
- 계층 군집 분석(Hierarchical cluster analysis, HCA)
- 기댓값 최대화(Expectation Maximization)
- 시각화 및 차원 축소
- 주성분 분석(Principle Component Analysis, PCA)
- 커널 PCA(Kernal PCA)
- 지역적 선형 임베딩(Locally-Linear Embedding, LLE)
- t-SNE(t-distributed Stochastic Neighbor Embedding)
- 연관 규칙 학습
- 아프리오리(Apriori)
- 이클렛(Eclat)
Semi-Supervised Learning
이 경우에는 데이터의 일부만 Label이 주어지고, 나머지는 Label은 기계가 채운뒤 재학습 하도록 한다.
- 심층 신뢰 신경망(Deep Belief Network, DBN)
- 볼츠만 머신(Restricted Boltzmann Machine, RBM)
Batch VS Online
- Batch
- 학습시킬 데이터를 미리 준비한 뒤에 준비한 데이터를 학습
- 학습은 런칭 전에 일어나고, 제품에 학습된 내용을 적용하면 더 이상의 학습 없이 사용만 된다.
- 새로운 데이터가 등장하면, 이전 데이터와 새로운 데이터를 합쳐 다시 학습해야한다.
- 방법이 간단
- 시스템이 빠르게 변화해야 하는 상황인 경우네는 사용하기 힘들다.
- Online
- 미니 배치(Mini Batch)라고 부르는 작은 단위로 묶은 뒤 이 데이터 셋을 학습 시킴
- 미니 배치의 크기가 작기 때문에 학습 단계가 빠르고 비용이 적기 때문에 데이터가 도착하는 대로 즉시 학습 가능하다.
- 연속적으로 데이터를 받고 빠른 변화에 스스로 적응해야 하거나, 자원이 매우 한정된 환경에 적합하다.
- 새로운 데이터 샘플을 학습하면, 학습이 끝난 데이터는 더 이상 필요하지 않기 때문에 보관하지 않아도 되므로, 저장 공간을 많이 아낄 수 있다.
댓글 남기기