10. 로지스틱 회귀분석
목차
- Step 0. 로지스틱 회귀분석 개념
- Step 1. 로지스틱 회귀분석 적용
Step 0. 로지스틱 회귀분석 개념
분류문제는 종속변수가 범주형인 경우 적용하는 방법론이다. 대표적으로 기본적인 모형으론 로지스틱 회귀모형과 의사결정나무 모형이 있다
이번에는 로지스틱 선형회귀모형에 대해 공부를 해보자
가장 기본적인 분류 문제로는 이항 분류(binary classification)이 있다. 자료구조는 위와 같다. $Yi$는 확률변수로 해당 경우가 발생할 확률이다.
첫번째는 $Xi$인 벡터와 $B$ 의 모수를 곱한 선형식이다. 확률은 0 ~ 1의 범위를 가져야 하는데 해당 식의 문제점은 확률이 양쪽 범위를 모두 벗어난다.
그래서 확률에 로그를 취한 두번째 식으로 발전 시켰지만, 확률이 0 미만 즉, 음의 방향으로 무한대로 작아질 수 있다.
그래서 (성공확률)/(실패확률)로 표현하는 odds 개념을 발견했지만, 해당 확률이 1 보다 커질 수 있는 문제점이 있다.
그래서 최종적으로 찾은 식인 오즈에 로그를 취한 로지스틱 선형회귀모형이다. 확률의 범위는 0 ~ 1로 표현이 가능하다.
위에서 도출해낸 로지스틱 회귀모형을 이용해서 최대우도추정식을 유도하면 위 그림 첫 번째 식 처럼 나타낼 수 있다. 그러나 구해야할 모수가 안보이기에 모수 $B$를 나타내기 위해 두 번째 식으로 표현이 가능하다.
$ni$는 몇번 시도했는지를 나타내는 식이므로 상수항 취급하여 마지막 항은 없는셈 치고 계산해도 무관하다.
선형 회귀식에서 기울기를 갱신하듯이 마찬가지로 기울기 갱신이 필요하다. 위에서 구한 로그 우도함수를 $B$로 편미분하여 기울기를 구한 뒤, 학습률을 곱해주며 기울기를 갱신해주는 최대경사도법을 적용시켜 학습시키는 알고리즘이다.
이제 위 개념들을 코딩으로 함수로 표현하여 데이터를 적용시켜보도록 하자
Step 1. 로지스틱 회귀분석 적용
1 |
|
1 |
|
선형식을 만들기 위해 기존 데이터 크기와 맞는 절편 생성을 해보기전에 기초적인 np 의 함수들을 공부하자
1 |
|
기본적인 np 함수들을 공부했으니, 이제 iris 데이터에 적용시켜보자
1 |
|
1 |
|
이제 분석해야할 기본적인 데이터셋을 구축을 했다. 앞서 이론에서 배웠던 수식들을 함수로 표현해보자
1 |
|
이제 위 함수들을 조합해서 로지스틱의 최종 알고리즘을 구축하자
1 |
|