2019년 8월 20일 화요일

Inductive bias란?


인공지능에 대한 논문을 읽다보면 inductive bias란 용어를 자주 본다. 하지만 inductive bias가 정확히 어떤 의미인지 설명해놓은 곳을 찾기가 힘들어, 정리해보려고 한다.

--------------------------------------------------------------------------------------------------------------

일단 영문 위키의 정의를 보면, "The inductive bias of a learning algorithm"은 학습 시 보지 못한 입력에 대한 출력을 예측할 때 사용된 가설들이다.

예를 들어, 데이터를 0과 1로 구분하는 함수 f를 학습시킨다고할 때, 이 f를 어떤 함수들의 집합에서 골라야할 지를 지정해야 한다. 그리고 어떤 함수를 선택해야할 지에 대한 기준을 설정할 필요가 있다.

학습 데이터를 완벽하고 가장 쉽게 반영하는 함수는 테이블이다(모조리 기억하는 것). 이 데이터가 입력됐을 때의 출력은 저것이라고 지정하는 방식이다. 하지만 inductive bias의 정의에 나와 있듯이, 이 방식은 "학습 시 보지 못한 입력"에 대해서는 아무런 답을 주지 못한다.

그래서 함수 f를 가능한 가설로부터 찾아낸다고 하고, 가설공간을 H로 표기한다. 그리고 이 H에 대해 제약 조건을 설정한다. 이 때의 제약 조건을 inductive bias 또는 bias라고 한다. 이런 bias를 기준으로 이용하여 여러 가설들 중 하나를 선택할 수 있다.

이런 inductive bias의 예시는 아래와 같은 것들이 있다.

  • Maximum margin : 분류 공간을 나눌 때, 경계와의 margin을 가장 크게 하는 가설을 선택하겠다는 것으로, support vector machine에서 사용하는 inductive bias이다.
  • Minimum description length : 가장 단순한 가설이 맞을 확률이 높다는 가정 하에, 그러한 가설을 찾겠다는 inductive bias이다. Information gain을 줄이는 방식으로 학습하는 decision tree에서 사용한다.
  • 그 외에 Nearest neighbors(k-nearest neighbors), Maximum conditional independence(Naive Bayes classifier), Minimum features 등이 있다.

Inductive bias는 그냥 bias라고 불리기도 하며, bias-variance trade-off란 용어에 나오는 그 bias이다.


참고 사이트

http://blog.naver.com/PostView.nhn?blogId=cake54&logNo=40108485351

https://en.wikipedia.org/wiki/Inductive_bias

http://www.aistudy.com/ai/learning_dean.htm

http://axon.cs.byu.edu/~martinez/classes/478/slides/Bias.pdf