[머신러닝] Logistic Regression

2021. 5. 25. 23:59·연구 Research/인공지능 Artificial Intelligent

로지스틱 회귀모형을 통해 특정 class에 속할 확률을 알 수 있습니다.

 

1. Logistic Regression 소개

logistic regression은 우리가 흔히 사용하던 linear regression의 변형이라고 볼 수 있습니다.

 

그림 출처 : https://ko.wikipedia.org/wiki/%EC%8B%9C%EA%B7%B8%EB%AA%A8%EC%9D%B4%EB%93%9C_%ED%95%A8%EC%88%98#/media/%ED%8C%8C%EC%9D%BC:Logistic-curve.svg

 

 

위 함수는 $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 사이로밖에 나오지 않았습니다.

 

당시에 나왔던 sensitivity, specificity, accuracy, f1 score

그래서 원래 제대로 된 그림은 아래와 같은데 잘려서 나왔네요.

 

원래는

이와 같은 그림이 나옵니다. 가장 이상적인 경우는 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
'연구 Research/인공지능 Artificial Intelligent' 카테고리의 다른 글
  • [인공지능] CUDA & cuDNN 설치하는 방법
  • [머신러닝] Boosting method
  • [머신러닝] Classification evaluation measure
  • [머신러닝] Decision Tree
보통의공대생
보통의공대생
수학,프로그래밍,기계항공우주 등 공부하는 기록들을 남깁니다.
  • 보통의공대생
    뛰는 놈 위에 나는 공대생
    보통의공대생
  • 전체
    오늘
    어제
    • 분류 전체보기 (460)
      • 공지 (1)
      • 영어 공부 English Study (40)
        • 텝스 TEPS (7)
        • 글 Article (21)
        • 영상 Video (10)
      • 연구 Research (99)
        • 최적화 Optimization (3)
        • 데이터과학 Data Science (7)
        • 인공지능 Artificial Intelligent (40)
        • 제어 Control (45)
      • 프로그래밍 Programming (103)
        • 매트랩 MATLAB (25)
        • 파이썬 Python (33)
        • 줄리아 Julia (2)
        • C++ (3)
        • 리눅스 우분투 Ubuntu (6)
      • 항공우주 Aeronautical engineeri.. (21)
        • 항법 Navigation (0)
        • 유도 Guidance (0)
      • 기계공학 Mechanical engineering (13)
        • 열역학 Thermodynamics (0)
        • 고체역학 Statics & Solid mechan.. (10)
        • 동역학 Dynamics (1)
        • 유체역학 Fluid Dynamics (0)
      • 수학 Mathematics (34)
        • 선형대수학 Linear Algebra (18)
        • 미분방정식 Differential Equation (3)
        • 확률및통계 Probability & Sta.. (2)
        • 미적분학 Calculus (1)
        • 복소해석학 Complex Analysis (5)
        • 실해석학 Real Analysis (0)
      • 수치해석 Numerical Analysis (21)
      • 확률 및 랜덤프로세스 Random process (2)
      • 추론 & 추정 이론 Estimation (3)
      • 기타 (26)
        • 설계 프로젝트 System Design (8)
        • 논문작성 Writing (55)
        • 세미나 Seminar (2)
        • 생산성 Productivity (3)
      • 유학 생활 Daily (7)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    옵시디언
    수치해석
    Dear abby
    텝스공부
    Python
    생산성
    고체역학
    Linear algebra
    Zotero
    JAX
    에러기록
    인공지능
    Numerical Analysis
    pytorch
    Julia
    ChatGPT
    matplotlib
    논문작성법
    teps
    obsidian
    서버
    텝스
    WOX
    LaTeX
    우분투
    딥러닝
    IEEE
    논문작성
    MATLAB
    Statics
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
보통의공대생
[머신러닝] Logistic Regression
상단으로

티스토리툴바