머신러닝 시스템의 종류는 굉장히 많고, 다음과 같이 크게 3가지로 분류됩니다.

1. 지도, 비지도, 준지도, 강화학습

2. 온라인 학습과 배치 학습

3. 사례 기반 학습과 모델 기반 학습

위의 3가지 머신러닝 기법들은 원하는대로 융합될 수 있습니다.


1. 지도학습과 비지도학습


지도학습(Supervised Learning)

지도학습에는 알고리즘에 주입하는 훈련 데이터에 레이블(Lable)이라는 원하는 답이 포함되어야 합니다.

분류(Classification)가 전형적인 지도 학습 작업이며, 숫자 인식을 좋은 예로 들 수 있습니다.


다른 작업으로는 예측 변수(Predictor Variable)라 불리는 특성(Feature)을 사용해 최종적인 결과를 예측합니다.

위와 같은 종류의 작업을 회귀(Regression)라고 부릅니다.


일부 회귀 알고리즘은 분류에 사용할 수도 있고 사용할 수 없는 경우도 있습니다.

분류에 널리 쓰이는 로지스틱 회귀(Logistic Regression)는 클래스에 속할 확률을 출력합니다.


아래는 가장 중요한 지도 학습 알고리즘들입니다.

    • K-최근접 이웃(k-Nearest Neighbors)
    • 선형 회귀(Linear Regression)
    • 로지스틱 회귀(Logistic Regression)
    • 서포트 벡터 머신(SVM, Support Vector Machine)
    • 결정 트리(Decision Tree)와 랜덤 포레스트(Random Forest)
    • 신경망(Neural Network)



비지도 학습(Unsupervised Learning)

비지도 학습(Unsupervised Learning)은 지도 학습에서 필요했던 레이블이 필요하지 않습니다. 

시스템이 아무런 도움 없이 학습해야 합니다.아래는 가장 중요한 비지도 학습 알고리즘입니다.


    • 군집(Clustering)
      - K-평균(k-Means)
      - 계층 군집 분석(HCA, Hierarchical Cluster Analysis)
      - 기댓값 최대화(Expectation Maximization)

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

    • 연관 규칙 학습(Association Rule Learning)
      - 어프라이어리(Apriori)
      - 이클렛(Eclat)

계층 군집 알고리즘을 사용하면 각 그룹을 더 작은 그룹으로 세분화할 수 있습니다.

시각화 알고리즘은 레이블이 없는 대규모의 고차원 데이터를 넣으면 도식화가 가능한 2D나 3D 표현을 만들어줍니다.

차원 축소는 너무 많은 정보를 잃지 않으면서 데이터를 간소화하는데 사용됩니다. 예를 들어 차의 주행거리는 연식과 매우 연관되어 있으므로 차원 축소 알고리즘으로 두 특성을 차의 마모 정도를 나타내는 하나의 특성으로 합칠 수 있습니다. 이를 특성 추출(Feature Extraction)이라고 합니다.

이상치 탐지는 학습 알고리즘에 주입하기 전에 데이터셋에서 이상한 값을 자동으로 제거하는 작업입니다. 정상 샘플로 훈련되고, 새로운 샘플이 정상인지 아닌지 판단합니다.

연관 규칙 학습은 대량의 데이터에서 특성 간의 흥미로운 관계를 찾습니다. 어떠한 상품을 구매한 사람이 다른 상품을 구매하는 경향이 있다는 것을 찾을 때 활용합니다.



준지도 학습(Semisupervised Learning)

준지도 학습(Semisupervised Learning)에서는 레이블이 일부만 있어도 데이터를 다룰 수 있습니다. 

대부분의 준지도 학습 알고리즘은 지도 학습과 비지도 학습의 조합으로 이루어져 있습니다.


구글 포토 호스팅 서비스가 좋은 예로, 이 서비스에 가족사진을 모두 올리면 사람 A는 사진 1, 5, 11에 있고, 사람 B는 사진 2, 5, 7에 있다고 자동으로 인식합니다.

이는 비지도 학습입니다. 이제 시스템에 필요한 것으로 이 사람들이 누구인가 하는 정보입니다. 사람마다 레이블이 하나씩만 주어지면 사진에 있는 모든 사람의 이름을 알 수 있고,

편리하게 사진을 찾을 수 있습니다.


예를 들어 심층 신뢰 신경망(Deep Belief Network)은 여러 겹으로 쌓은 제한된 볼츠만 머신이라 불리는 비지도 학습에 기초합니다.

RBM이 비지도 학습 방식으로 순차적으로 훈련된 다음 전체 시스템이 지도 학습 방식으로 세밀하게 조정됩니다.



강화 학습(Reinforcement Learning)

강화 학습은 매우 다른 종류의 알고리즘입니다. 여기서는 학습하는 시스템을 에이전트(Agent)라고 부르며 환경(Environment)을 관찰해서 행동(Action)을 실행하고 보상(Reward)을 받습니다. 시간이 지나면서 가장 큰 보상을 얻기 위해 정책(Policy)이라고 부르는 최상의 전략을 스스로 학습합니다. 정책은 주어진 상황에서 에이전트가 어떻게 행동해야 하는지를 판단합니다.

딥마인드의 알파고 프로그램도 강화 학습의 좋은 예라고 할 수 있습니다.



Reference

    • 오렐리앙 제롱, '핸즈온 머신러닝', 한빛미디어, 2018


+ Recent posts