1-9 Logistic Regression과 Regularization 파라메터

codingart(66)
Published in
#kr
Words
397
Reading
2 min
Listen
Play
8y

Iris flowers data처럼 라벨 값이 적어도 3종류 이상인 경우에 대해서 scikit-learn 라이브러리 모듈에서 지원하는 class LogisticRegression사용법을 알아보자. 텐서 플로우 홈페이지에 구글이 Getting started with 에 올려둔 예제 중 MNIST 예제와 Iris flowers data set을 사용하는 scikit-learn 라이브러리 예제가 있다. MNIST는 오픈소스를 가져다 우격 다짐격으로 실행시켜 보면 92% 라는 뭔가 경이적으로 느낄 수도 있는 인식률을 쉽게 확인해 보았으나 Iris flowers data set 예제에서는 뭔가 만만치 않은 어려움을 느꼈던 것이 사실이다. 머신 러닝이라는 토픽은 어떻게 보면 아직까지도 감춰진 내용들을 알아내기 위해 일종의 탐사가 필요하다고 여겨지는 주제이다.

그래도 지금까지의 노력으로 머신 러닝이라는 베일에 가려진 실체를 알아내기 위해 랜덤한 방식으로 접근하면서 숱한 예제 코드들을 성공적으로 다루어보았던 것이 사실이다. 하지만 알면 알수록 일종의 신기루처럼 미궁에 빠져든다는 느낌도 없지 않다. 한마디로 머신러닝이라는 오브젝트가 내게 어떻게 느껴지는지 표현해 보라고 하면 중국인들의 마술인 변검(Bian Lian)을 보는 느낌이랄까?

noname01.png

scikit-learn 라이브러리 모듈이 import 된 경우에 셸에서 “help LogisticRegression(“까지 입력하면 다음과 같이 사용법 요약이 나타난다.

noname02.png

여기서 사용되는 셈플데이타는 이미 앞에서 Adaline 적용을 위해 표준화(Normalization)시킨 Iris 데이터를 그대로 사용하여 예제 문제를 다루도록 하자. 아울러 C=1.0 과 random_state=None 이 두 가지 항목만을 C=100.0 과 random_state=1로 수정하고 나머지 파라메터들은 default로 두어 문제를 다루어보기로 하자. 이 대목에서 “Python Machine Learning“의 저자들도 파라메터 C가 뭘 의미하는지 왜 100.0 이라는 숫치를 선택하게 되었는지 명확한 설명은 없다. 즉 코드를 실행하면 결과는 확실하게 나오지만 왜 어떤 이유로 그렇게 되는지 저자들도 확실한 실체 파악이 힘들지 않았는가 추정해 볼 따름이다. 결국 변검처럼 눈으로 결과를 볼 수 있지만 어떻게 안면 컬러가 변화하기도 하고 때로는 마스크가 변경되는지 빤히 눈을 뜨고도 알아내기가 어려운 그런 문제에 직면한 듯하다.

아직은 경험 부족으로 이 문제를 어떻게 풀어나가야 할 것인지 확실한 감이 없으므로 우선 scikit-learn 라이브러리 documentation을 조사해 보기로 한다.

noname03.png

위 그림이 얻을 수 있는 정보 전체에 해당한다. C는 실수형 파라메터로서 regularization 강도(strength)의 역수이다. regularization이란 용어의 번역이 쉽지않다. regularization 은 레귤라해지는 조건으로 보면 즉 머신 러닝이 될 만한 여건으로 만들어주는 조건으로 상정하자. SVM은 Logistic regreession 이상의 난이도가 있기 때문에 앞으로도 더 논의 해봐야할 주제이다. 일단 C=0.01 로 두어 다음 파이선 코드를 실행해서 결과 그래프를 얻어보자.

noname05.png

Regularization에 관한 간단한 설명이 그다지 도움이 되지 않으므로 좀 무식하게 보이겠지만 regularization 강도가 큰 경우, default 및 강도가 약한 3가지 경우를 차례로 시험해볼 필요가 있다. 즉 C= 0.01, C=0.1, C=1.0, C=100.0 을 시험해 보면 될 듯하다.

noname04.png

Logistic regreession 계산 결과에 의하면 C=100.0 일 때에 3종류의 꽃 분류가 가장 잘되고 있음을 알 수 있디. C 값이 1.0 이하로 떨어지면 라벨 값“1” 영역 classification 이 실패하게 되는 사례를 극명하게 보여준다. Regularization strength가 어떤 의미를 가지는지에 관해서는 별도로 그 내용을 검토해 보기로 한다.

1-9 Logistic Regression과 Regularization 파라메터 | Ecency