티스토리 뷰
로지스틱 회귀, 오즈값, 시그모이드 함수에 대해 알아본다.
로지스틱 회귀
선형회귀분석과 유사하지만 종속변수가 양적척도가 아닌 질적척도이다.
특정 수치를 예측하는 것이 아닌 어떤 카테고리에 들어갈지 분류하는 모델로, 기본 모형은 종속변수가 0과 1이라는 이항으로 이루어진다. (ex. 구매/미구매, 성공/실패)
선형회귀의 사상은 그대로 유지하되 종속변수가 1이 될 확률로 변환되고, 그 확률에 따라 0과 1의 여부를 예측한다.
이를 위해서는 오즈(Odds)와 로짓변환을 이용한다. (S자 커브로 변하는 것을 오즈, 로짓변환으로 표현한다.)
확률을 표현하기 위해서는 선형회귀가 아닌 S자 모형으로 변환한다.
오즈값 (Odds Ratio)
오즈는 사건이 발생할 가능성이 사건이 발생하지 않을 가능성보다 어느정도 큰지 나타내는 값으로, 성공확률/실패확률이다.
위험인자에 노출된 사람 중에서 암환자인 오즈값 = a/b = Odds1
위험인자에 노출되지 않은 사람 중에서 암환자인 오즈값 = c/d = Odds2
Odds Ratio (오즈비; 교차비; 승산비) = Odds1/Odds2 = 'a/b' / 'c/d'
만약 발생 확률이 60% 발생하지 않을 확률 40%, 오즈비는 1.5이다.
오즈값의 문제
오즈값은 발생확률이 1에 가까워질수록 기하급수적으로 커지고, 최솟값은 0이 된다. 균형 있는 값이 아니다.
로짓 logit
logit = log (오즈비)로, p와 1-p가 모두 0과 1 사이의 값이고, p가 0에 가까울수록 오즈비는 0, 1에 가까울수록 오즈비는 무한대가 된다.
시그모이드(Sigmoid) 함수
로그를 취한 오즈에 시그모이드 함수를 적용한 최종의 로지스틱 회귀식이다.
비용함수 (Cost Function)
$$y = 1 \Rightarrow cost (H(x), y) = -log(H(x))$$
$$y = 0 \Rightarrow cost(H(x), y) = -log(1-H(x))$$
$$J(w) = -\frac{1}{n}\sum_{i=1}^{n}[y^{(i)}logH(x^{(i)})+(1-y^{(i)})log(1-H(x^{(i)}))]$$
로지스틱회귀는 평균제곱오차를 사용하지 않는다.
시그모이드 함수는 0과 1사이의 값을 가진다.
0 일 때 y값이 1에 가까워지면 오차가 커지며 실제값이 1일 때 y값이 0에 가까워지면 오차가 커진다.
크로스 엔트로피(Cross Entropy) 함수라고도 하며, 가중치를 찾기 위해 크로스 엔트로피 함수의 평균을 취한 함수 사용한다.
로지스틱회귀 모델 MLE
선형 회귀 분석과는 다르게 로지스틱 회귀분석은 직선으로 회귀계수 추정이 어려운 상황이다. 따라서 로지스틱 회귀분석은 Maximum Likelihood Estimation 회귀 계수 구한다.
MLE는 주어진 데이터를 이용해 가능도를 최대화하는 파라미터를 찾는 통계기법, 가중치와 절편을 추정한다.
로지스틱 관련 실습 코드
2024_B.D.A_Data-Analysis-Modeling/Data_Analysis_Modeling/12주차 로지스틱 회귀.ipynb at main · SeonHoYoo/2024_B.D.A_Data
Contribute to SeonHoYoo/2024_B.D.A_Data-Analysis-Modeling development by creating an account on GitHub.
github.com
'B.D.A' 카테고리의 다른 글
[BDA 데이터 분석 모델링반 (ML 1) 14회차] 의사결정 트리(DT) (6) | 2024.08.04 |
---|---|
[BDA 데이터 분석 모델링반 (ML 1) 13회차] 로지스틱 회귀 실습 (3) | 2024.07.24 |
[BDA 데이터 분석 모델링반 (ML 1) 11회차] 라쏘 회귀, 릿지 회귀 (3) | 2024.07.17 |
[BDA 데이터 분석 모델링반 (ML 1) 10회차] 다항회귀, 다중회귀 (1) | 2024.07.11 |
[BDA 데이터 분석 모델링반 (ML 1) 9회차] 선형회귀 응용 (2) | 2024.06.29 |
- Total
- Today
- Yesterday