Concept Learning

특정 범주(Category)에 속하는 Training example을 기반으로 일반적인 범주 정의를 학습하는 과정

흄이 제시한 귀납추론이 이론적 토대가 된다.

ex) 우리가 지금까지 봐온 4개의 다리를 가졌고, 털이 있으며, 야옹 소리를 내는 동물은 고양이였으니까, 우리가 앞으로 볼 고양이도 그런 특징을 가질 것이다. 그러면 이때

  • 지금까지 봐온 고양이 또는 강아지들: Training Example
  • “고양이”라는 개념(Concept) → 실제 분류 기준 (우리는 알지 못함)
  • 가설(Hypothesis) → 고양이는 4개의 다리를 가졌고, 털이 있으며, 야옹 소리를 냄.

이걸 조금만 수학적으로 표현하자면… 이 고양이라는 개체로 분류할 수 있는 함수가 로 존재하고, 이와 유사하게 동작할 거라 기대하는 가설 함수 가 있다. 그리고 이 를 조정하는 들로 울음소리, 다리, 털 등의 input이 있는 것이다.

즉 이 Concept은 하나의 목표 함수(function)로 볼 수 있고, Concept Learning은 데이터를 기반으로 다양한 가설 를 검증, 수정해나가며 사물을 분류하는 함수 를 추론하는 과정이다.

그래서 Concept Learning은 탐색(search) 문제로도 볼 수 있다.

  • 목표: Training Data에 가장 적합한 가설(hypothesis) 을 찾는 것.
  • 탐색 공간: 미리 정의된 가능한 가설 공간(hypothesis space).

그렇다면 적합한 가설은 무엇일까? 아무래도 실제 함수(Concept)에 가장 근사된 것일 테고, 이는 주어진 데이터에도, 우리가 보지 못한 새로운 데이터에도 잘 일반화가 가능해야 함을 의미한다. (단순히 우리가 본 데이터들에만 완벽히 들어맞는 걸 원하지 않는다.)

Ex)

  • 털이 있으면 모두 고양이다. 라는 가설 → 강아지도 털이 있다. 너무 일반적이다.
  • 내가 가진 훈련 데이터(내가 봐왔던 고양이들의 특징)를 모두 만족시키는 가설: 귀의 크기가 5cm 미만, 눈은 코보다 크며, 야옹 소리를 내고 네 발로 걸어다닌다. → 내가 보지 못한 고양이 중 귀의 크기가 6cm인 고양이가 있을 수 있다. 너무 구체적이다.

이렇듯 가설은 너무 복잡해서도, 너무 간단해서도 안 된다.

이 Concept를 추정하기 위한 여러 알고리즘이 책에 소개되어 있지만, 다음에 등장할 Inductive Bias의 공부에 크게 상관이 있는 파트는 아니라고 판단, 우선은 넘어가기로..


참고자료: https://www.cs.cmu.edu/afs/cs.cmu.edu/user/mitchell/ftp/mlbook.html