[머신러닝]Machine Learning 개요

Date:     Updated:

카테고리:

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)라고 부르는 작은 단위로 묶은 뒤 이 데이터 셋을 학습 시킴
    • 미니 배치의 크기가 작기 때문에 학습 단계가 빠르고 비용이 적기 때문에 데이터가 도착하는 대로 즉시 학습 가능하다.
    • 연속적으로 데이터를 받고 빠른 변화에 스스로 적응해야 하거나, 자원이 매우 한정된 환경에 적합하다.
    • 새로운 데이터 샘플을 학습하면, 학습이 끝난 데이터는 더 이상 필요하지 않기 때문에 보관하지 않아도 되므로, 저장 공간을 많이 아낄 수 있다.

Reference

머신러닝 개요

MachineLearning 카테고리 내 다른 글 보러가기

댓글 남기기