본문 바로가기

Mathematics/Machine Learning

머신러닝의 종류(2) - 비지도학습

반응형

비지도학습

지도학습과 반대인, 비지도학습이 있다. 지도학습이 데이터에 라벨링이 되어 있었다면, 비지도학습에 주어지는 데이터에는 라벨링이 되어 있지 않다. 즉, 기계가 선생님 없이 스스로 데이터가 뭔지를 배워야 한다.

 

비지도학습 예시

  • Clustering
    • K-Means
    • DBSCAN
    • Hierarchical Cluster Analysis (HCA)
  • Anomaly detection and novelty detection
    • One-class SVM
    • Isolation Forest
  • Visualization and dimensionality reduction
    • principal Componet Analysis
    • Kernel PCA
    • Locally-Linear Embedding
    • t-distributed Stochastic Neighbor Embedding (t-SNE)
  • Accociation rule learning
    • Apriori
    • Eclat

비지도학습에 필요한 개념 : 차원 축소(Dimensionality reduction)

차원의 저주라는 게 있다.  훈련샘플이 너무나 많은 특징을 가지고 있을 때 훈련을 느리게 할 뿐만 아니라, 최적의 솔루션을 찾기가 어려워진다. 고차원 공간에서는 상당히 많은 것들이 다르게 작용되고 있기 때문이다. 

 

고차원으로 갈수록 공간에서 데이터가 차지하는 공간이 매우 작아지게 될 수 밖에 없고, 새로운 샘플이 들어오더라도 훈련샘플과 많이 떨어져 있을 가능성이 있기 때문에 추론하고 유의미한 작업을 하기가 어려워지게 된다.

 

그래서 이론적으로 가장 좋은 방법은 훈련 샘플의 밀도가 공간에 충분히 빡빡해질 때까지 훈련 데이터를 키우는 것이지만, 데이터가 무한하지 않기 때문에 차원 축소라는 것을 사용한다.

 

차원축소는 비슷한 특징들끼리 하나로 묶어서 차원을 말그대로 축소시켜 공간을 심플하게 만드는 작업이다. 특징을 하나로 묶는 작업을 특성제거 라고 한다. 예컨데, 차의 이동거리는 차의 연식(age)와 비례하기 때문에 하나로 축소시킬 수 있다는 식이다.

 

다른 머신러닝 알고리즘에 얻어진 트레이닝 데이터를 적용시키기 전에 차원축소를 시켜서 단순화시키는 것이 현명하다. 그래야 데이터가 저장 공간을 효율적으로 사용할 뿐만 아니라, 훨씬 더 잘 작동할 수 있다.

 

비지도학습에 필요한 개념 : 이상 탐지(anomaly detection)

말그대로 평상과 다른 이상을 탐지하는 일이다. 사기를 피하기 위한 비일상적 신용카드 거래, 제조 이상 탐지, 극단적 데이터 제거 등이다. 이렇게 데이터 패턴 인식 상에서 유의미하다고 판단하기 어려운 극단적 데이터의 경우는 미리 자동적으로 제거하는 등 데이터를 처리하여 다른 머신러닝 알고리즘에 적용시키는 것이 좋다.

 

비슷한 알고리즘으로는 novelty detection이라는 것이 있다. 차이점은 outlier에 대한 관용도 차이다. anomaly detection의 경우는 조금 관용적이지만, 어느 정도의 outlier에 대해서는 두 가지 다 잘 돌아간다.

 

 

비지도학습에 필요한 개념 : 연관 규칙 마이닝 (association rule learning)

많은 데이터 속에서 특성 간 연관 규칙을 찾는다. 예컨데, 슈퍼마켓에서 연관 규칙 마이닝을 할 경우, 사람들이 구매한 로그를 분석해보니, 치즈와 삼겹살을 산 사람은 감자칩도 살 가능성이 높다는 것을 발견했다면 이 세 가지를 좀 더 가까이에 둘 수도 있다.

 

 

 


준지도학습 (Semisupervised learning)

준지도학습은 지도학습과 비지도학습을 섞을 형태로 구글 포토를 생각하면 쉽다. clustering하는 작업은 비지도학습에 해당하고, 우리가 분류된 인물들에 이름을 붙혀주는 것은 우리가 한다. 그러면 다음부터는 알아서 그 사람을 찾아준다.

 

 

강화학습 (Reinforcement Learning)

강화학습은 agent라고 하는 learning system이 환경을 분석하고 action을 선택하고 수행하고, 그 과정에서 rewards 혹은 penalties(negative rewards)를 얻는다. 그렇게 함으로써 policy라고 하는 가장 효율적인 전략을 찾아내어 가장 많은 rewards를 얻는 방식으로 알고리즘이 작동한다.

 

어떤 환경에서 어떤 행동을 취할 것인가하는 policy를 스스로 정의내리고 수행하는 것이다. 흔히 생각하는 인공지능에 가장 가깝다고 할 수 있겠다.

 

 

반응형