2 분 소요

머신러닝의 개념에 대해 간단히 복습을 하기 위해 작성하였다.

머신러닝이란?

데이터로부터 학습하도록 컴퓨터를 프로그래밍하는 과학이다.

왜 머신러닝을 사용하는가?

전통적인 프로그래밍 기법보다 프로그램이 훨씬 짧고 유지보수가 쉬우며 대부분 정확도가 더 높다.

데이터의 패턴이 변화하더라고 적응할 수 있다.

머신러닝을 통해 배울 수 있다.

  • 어떤 특징들이 결과를 예측하는 데 유용하게 사용되었는가 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)

        image

      • 시각화 (Visualization) & 차원 축소 (Dimesionality Reduction)
        • 주성분 분석 (Principal Component Analysis; PCA)
        • 커널 (Kernel) PCA
        • 지역적 선형 임베딩 (Locally -Linear Embedding; LLE)
        • t-SNE (t-distributed Stochastic Neighbor Embedding)

        image

      • 이상치 탐지 (Anomaly Detection)
        • 부정 거래를 막기 위해 이상한 신용카드 거래 감지, 제조 결함 감지, 학습 알고리즘 주입 전 데이터셋에 이상한 값 자동 제거

        image

      • 연관 규칙 학습 (Association Rule Learning)
        • 어프라이어리 (Apriori)
        • 이클렛 (Eclat)
  • 준지도학습
    • 레이블이 없는 데이터가 많고 레이블이 있는 데이터는 아주 조금인 경우 사용되는 기법
    • 지도 학습과 비지도 학습의 조합
      • ex) 심층 신뢰 신경망 (Deep Belief Network; DBN)
        • 여러 겹으로 쌓은 제한된 볼츠만 머신(RBM)이라 불리는 비지도 학습에 기초하였다.
        • RBM이 비지도 학습 방식으로 순차적으로 훈련된 다음, 전체 시스템이 지도 학습 방식으로 세밀하게 조정된다.

        image

  • 강화학습
    • 학습하는 시스템을 에이전트라고 부르며 환경을 관찰해서 행동을 실행하고 그 결과로 보상 또는 페널티를 받는 것이다.
    • 시간이 지나면서 가장 큰 보상을 얻기 위해 정책이라고 부르는 최상의 전략을 스스로 학습하도록 하는 알고리즘이다.
    • 정책은 주어진 상황에서 에이전트가 어떤 행동을 선택해야할 지 정의해야한다. ex) AlphaGo

    image

온라인 학습 vs 배치 학습

범주: 실시간으로 점진적인 학습을 하는지

  • 배치 학습 (Batch Learning)
    • 시스템이 점진적으로 학습할 수 없다. 가용한 데이터를 모두 사용해 훈련시켜야하는 경우를 말한다.
    • 먼저 시스템을 훈련시키고 그런 다음 제품 시스템에 적용하려면 더 이상의 학습없이 실행된다.
    • 오프라인 학습이라고도 부른다.
  • 온라인 학습 (Online Learning)
    • 데이터를 순차적으로 한 개씩 또는 미니배치 (mini-batch)라 부르는 작은 묶음 단위로 주입하여 시스템을 훈련한다.
    • 매 학습 단계가 빠르고 비용이 적게 들어 시스템은 데이터가 도착하는 대로 즉시 학습할 수 있다.

    image

사례 기반 학습 vs 모델 기반 학습

범주: 어떻게 일반화되는가

단순하게 알고 있는 데이터 포인트와 새 데이터 포인트를 비교하는 것인지, 아니면 훈련 데이터 셋에서 패턴을 발견하여 예측 모델을 만드는 지

  • 사례 기반 학습 (Instance-based Learning)
    • 시스템이 사례를 기억함으로써 학습하고, 유사도 측정을 사용해 새로운 데이터에 일반화한다.

    image

  • 모델 기반 학습 (Model-based Learning)
    • 샘플들의 모델을 만들어 예측에 사용한다.

    image

댓글남기기