1-8 Multiclass Logistic regression을 위한 Pivoting( One vs Rest :OvR)

codingart(66)
Published in
#kr
Words
275
Reading
2 min
Listen
Play
7y

noname01.png

Perceptron 에 의한 3종의 Iris flowers Data Classification 작업은 선형적 분리가 불가능한 문제이므로 위와 같이 실패 사례를 보여 준다. 그 자세한 내용에 관해서는 아래 내용을 참조해 보기 바란다.

1-5 Iris flowers data 머신 러닝을 위한 sklearn 라이브러리 활용
https://steemit.com/kr/@codingart/1-5-iris-flowers-data-sklearn

이런한 문제 해결을 위해 고안된 방법이 Multiclass Logistic Regression 이며 scikit-learn 라이브러리에서 Logostic Regression 라이브러리 함수 형태로 지원이 되고 있다. 단 C= 100.0 이란 파라메터 용법이 있는데 이는 데이타들이 섞이는 구간에서 Overfitting 현상을 피하기 위한 Regularization 알고리듬을 실행시키는 기능을 가진다.

noname02.png

Logistic regression 은 2개의 라벨 값을 다루기에 적합한 머신 러닝 기법이므로 Iris flowers 데이터처럼 3개 또는 그 이상의 라벨 값을 가지는 경우에 하나의 라벨 값을 가지는 데이터를 Pivoting 할 필요가 있다. Pivoting 이라 함은 하나를 선정 후 나머지 중에서 하나씩 대응시켜 1:1 문제로 귀착시킨다는 의미이다. 즉 Pivot으로 선정된 데이터에 대하여 나머지 데이터들을 대상으로 1:1 문제로 환원하여 리그 방식으로 처리하는 개념이다.

만약 전체 대상 자체가 2가지 즉 K=2라면 Pivoting 공식은 우리가 알고 있는 Logistic regression으로 환원되어야 한다.

K개의 라벨 값 중 K값을 가지는 경우를 Pivot 으로 설정하고 라벨 값이 1∼(K-1)범위 중에서 하나씩 대상으로 선정해 매치시키기로 하고 각 라벨 값에 따른 확률을 pi 라 하자.

이들 확률비의 자연로그 값을 선형 Hypothesis 형태로 가정하자.

noname03.png

이 식을 유도하려면 볼츠만 확률분포 유도과정과 이로부터 Logistic Regression 확률 분포 과정을 함께 다루어야 하지만 그대로 인정하고 사용해도 그다지 문제 가 되지는 않는다. 이 식을 풀어서 다시 쓰도록 하자.

noname04.png

위의 확률들과 K 번째 확률을 다 더하면 1.0 이 되어야 한다.

noname05.png

이 식을 정리하면 Pivot 확률이 아래와 같이 얻어진다.

noname06.png

이 Pivot 확률을 사용하여 (2)식에 대입하여 K-1 번째 데이터까지에 대한 확률 공식을 유도할 수 있다.

noname07.png

이 마지막 공식에서 K=2 라면 Logistic regression으로 귀착됨을 쉽게 알 수 있으며 K 값이 2 이상이라도 cost 함수를 구성하여 경사하강법을 적용하면 계산이 가능하다.

1-8 Multiclass Logistic regression을 위한 Pivoting( One vs Rest :OvR) | Ecency