본문 바로가기
영상처리/Learning

Kullback-Leibler Boosting(KL Boosting)

by 목가 2010. 12. 9.
반응형

일반적인 Two-layer classifier들이 있다.

인풋들이 어떤 함수(파이(1~t))들을 통해서 X라는 값들이되고 이 X값들에 대해서 a라는 가중치를 더해서 선형 조합하여

아웃풋(strong classifier)이되는 것을 말한다. 즉, 두 번의 layer를 거쳐서 출력을 얻게 되기 때문에 Two-layer라고 한다.

boost과정은 기존 방법과 동일한데 함수를 다른 함수를 사용한다.

Kullback에서는 projection 함수를 사용해서 Kullback feature를 찾는다.

여기서 제안한 방법을 보면 다음과 같다.

lHow to choose the type of projection function?
§Kullback-Leibler linear feature
lHow to choose the type of discriminating function?
§Histogram divergences
lHow to learn the parameters from samples?
§Sample re-weighting (Boosting)



위에 식을 보면 k번 만큼 반복을 하게되는데 대부분이 boosting과 비슷하지만 여기서는 기존의 부스팅을 변경하여
pdf의 유사도를 측정한다.

h+와 h-는 파이라는 선형 projection에 놓여진 값들을 각각 negtive와 positive에 대해 분포시킨 분산 값이라고 보면된다.
여기서 파이는 KL값이 가장 크게되는 파이를 선택하게 되는데 KL값이 크다는 것을 생각해 보면 다음과 같다.

h+와 h-값의 차가 커야하고 또한 log(h+/h-)값이 커야 KL값이 커지게 된다.
따라서 h+와 h-의 distribution의 차이가 크고 정보이론에서 봤을 때 상대 엔트로피를 계산하면 log(h+/h-)는
h+가 h-보다 밀도가 큰 부분에서는 값이 크고 완전히 겹쳐진 부분에서는 0이라는 값을 가진다.

그러므로 h+와 h-의 distribution이 얼마나 다른지를 측정하고 둘 사이의 분포 거리가 가장 maximum이 되는
값을 구해서 직선을 찾게 된다.(KL feature)

그리고 adaboost와 마찬가지로 가중치를 업데이트하고 에러값이 일정 값보다 작으면 계속해서 반복을 하게 된다.
반응형

'영상처리 > Learning' 카테고리의 다른 글

Tensorflow 설정방법 - windows용  (0) 2019.03.11
Mean Shift  (1) 2010.12.09
AdaBoost?  (0) 2010.12.09

댓글