기계 학습

Machine Leaning

인공지능의 한 분야로, 데이터를 통해 스스로 학습하는 알고리즘이다.

기계 학습은 한 마디로 해결하려는 문제에 대해 많은 데이터를 쌓아서 그 문제와 매우 유사하게 데이터 생성 및 예측을 할 수 있는 모델을 만드는 것이라 할 수 있다.

그렇기에 데이터의 품질과 양이 모델의 성능을 좌우한다.

대부분의 데이터는 (X, Y)의 형태로 주어진다. 이 때 X는 특징 벡터, Y는 목푯값이다.

예전에는 기계 학습 알고리즘이 지도 여부로 구분되어 지도학습, 비지도학습 두 종류였지만, 최근 일부만 지도하는 준지도 학습과 정책을 학습시키는 강화학습이 새로운 분류로 생겨나 총 네 가지로 구분한다.

  • 지도학습(Supervised Learning): 데이터가 특징 벡터X와 목푯값Y의 쌍으로 주어진다. 주어진 데이터로부터 하나의 함수를 유도하는 학습 방식이다.
    지도학습으로 해결할 수 있는 문제는 대표적으로 아래가 있다.
    • 회귀(Regression): 함수의 출력으로 실수를 내놓는 경우를 회귀 문제라고 한다. 여러 자료 간의 관계 여부를 예측하고 모델로 나타내야 할 때 사용된다.
    • 분류(Classification): 출력이 데이터의 부류를 나타내는 이산적인 값인 경우를 분류 문제라고 한다. 말 그대로 특정 데이터가 어떤 부류에 속하는지를 모델로 나타내야 할 때 사용된다.
  • 비지도학습(Unsupervised Learning): 지도학습과 다르게 데이터로 특징 벡터X만이 주어진다. 데이터 간의 패턴을 찾아내어 새로운 정보를 발견해준다.
    비지도학습으로는 다음과 같은 문제를 해결할 수 있다.
    • 군집화(Clustering)
    • 밀도 추정(Density Estimation)
    • 공간 변환
  • 준지도학습(Semi-Supervised Learning): 지도학습과 비지도학습의 특징을 모두 갖는 유형으로 일부 데이터에만 목푯값Y을 부여하는 방식이다.
    데이터는 많지만 모든 데이터에 목푯값을 부여하기 어려운 상황에 사용된다.
  • 강화학습(Reinforcement Learning): 어떤 환경에서 현재 상태를 인식하는 에이전트가 보상을 최대화하도록 행동을 하게끔 정책을 훈련시키는 방식이다.

데이터로 주어진 특징 벡터X들 간의 기하학적 관계를 기반으로 추론하는 방법이다. 주로 벡터끼리의 거리나 코사인 유사도를 사용한다.

특징 공간에서의 정확한 확률분포를 알아냈다는 것은 분류 문제를 이미 푼 것이나 마찬가지이다. 대표적인 예로 베이즈 정리에 기반하여 사후 확률분포를 확실히 추정했다면 argmax 과정을 거쳐 분류하면 된다.

대부분의 훈련 집합은 고차원으로 정의된 매우 희소한 데이터에 불과하기 때문에 확실한 확률 분포를 추론하기가 매우 어렵다. 그렇기에 보통 기계 학습은 적절한 모델을 선택하고 이 모델을 근사시키기 위한 목적함수를 정의하여 목적함수를 최소화하는 방향으로 학습한다. 이 때 목적함수를 최소로 하는 과정을 최적화라고 한다.

최적화 문제를 해결하기 위한 대표적인 방법으로는 미분이 있다. 미분을 사용하면 목적함수의 극점1)을 찾아가는 데 필요한 방향을 쉽게 알 수 있고, 극점에 도달 했는지 판별하는 데에도 도움이 된다.


1)
미분값이 0인 점을 뜻한다.