일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- pytorch
- LaTeX
- Python
- 에러기록
- matplotlib
- 딥러닝
- 인공지능
- 옵시디언
- 생산성
- WOX
- Julia
- Dear abby
- 수식삽입
- 논문작성법
- 텝스
- 우분투
- 수치해석
- ChatGPT
- Zotero
- Linear algebra
- obsidian
- teps
- 논문작성
- MATLAB
- Numerical Analysis
- IEEE
- JAX
- Statics
- 고체역학
- 텝스공부
- Today
- Total
뛰는 놈 위에 나는 공대생
[머신러닝] Logistic Regression 본문
로지스틱 회귀모형을 통해 특정 class에 속할 확률을 알 수 있습니다.
1. Logistic Regression 소개
logistic regression은 우리가 흔히 사용하던 linear regression의 변형이라고 볼 수 있습니다.
위 함수는 $f(y)=\frac{1}{1+e^{-y}}$
$logit(p)=\ln\left(\frac{p}{1-p}\right)=\beta_{0}+\beta_{1}X$
linear regression처럼 회귀계수$\beta_{1}$와 intercept인 $\beta_{0}$을 구하는 것은 마찬가지지만,
linear regression에서 $\beta_{1}$이 변수 X의 한 단위 증가에 따른 (예측하고 싶은 변수) y의 증가 비율을 의미한다면
여기서 $\beta_{1}$은 변수 X 한 단위 증가에 따른 $logit(p)$의 증가 비율을 의미하며, 이 logit은 곧 어떤 class일 확률과 아닐 확률의 비를 log로 나타낸 것입니다.
예를 들면, 질병의 유무(positive, negative)로 classification하는 문제일 경우 p가 양성일 확률로 정하고, 1-p는 음성일 확률로 나타나는 셈입니다.
2. ROC와 AUC
logistic regression의 평가지표로 ROC(Receiver Operating Characteristic)와 AUC(Area Under the Curve)를 사용합니다.
true positive rate(recall, sensitivity)와 false positive rate(1-specificity)를 cut off threshold를 바꿔가며 그린 것으로,
AUC는 ROC curve의 아래 부분을 의미합니다. AUC 영역이 넓을수록 성능이 더 뛰어납니다.
제가 예전에 logistic regression을 수행할 때 얻은 ROC curve를 예시로 들고 옵니다.
그 당시에 cut point를 바꿔가면서 그림을 그렸었는데, 안타깝게도 데이터가 편향되어있어서 specificity가 0.8에서 1 사이로밖에 나오지 않았습니다.
그래서 원래 제대로 된 그림은 아래와 같은데 잘려서 나왔네요.
원래는
이와 같은 그림이 나옵니다. 가장 이상적인 경우는 false positive(거짓 양성)이 0이고 true positive이 1인 경우입니다.
'연구 Research > 인공지능 Artificial Intelligent' 카테고리의 다른 글
[인공지능] CUDA & cuDNN 설치하는 방법 (0) | 2021.08.30 |
---|---|
[머신러닝] Boosting method (0) | 2021.05.26 |
[머신러닝] Classification evaluation measure (0) | 2021.05.25 |
[머신러닝] Decision Tree (0) | 2021.05.25 |
[머신러닝] Unsupervised learning : Clustering (0) | 2021.05.25 |