배워서 남 주자

AI/인공지능 및 기계학습 개론

[인공지능 및 기계학습 개론] 4.2 Introduction to Logistic Regression

신라면순한맛 2022. 8. 24. 01:00

이번 포스팅에서는 Logistic Regression에 대해서 소개해보도록 하겠습니다.

 

http://www.edwith.org/machinelearning1_17/lecture/10591

 

[LECTURE] 4.2. Introduction to Logistic Regression : edwith

- 신승재

www.edwith.org

 


 

강의에서는 logistic function과 sigmoid function이 약간 잘못 설명이 되어있는 듯 하여 정정하고자 합니다. 사실 치명적인 오류라기보다는 때에 따라 이렇게 불렀다 저렇게 불렀다 하는 감이 없지않아 있는데, 그래도 처음 정의할 때만큼은 제대로 해야 헷갈리지 않으므로 여기서 확실히 정의하고 가고자 합니다.

 

우선 Logistic function이란 다음의 꼴을 만족하는 함수를 뜻합니다.: $$ L(x) = \frac{A}{1+Be^{-Cx}} $$ 이 때 평행이동은 고려하지 않았습니다. $C$는 보통 양수를 쓰는 듯 하고 (정확히는 음수를 쓰는 걸 본 적이 없고), 그런 의미에서 $$ L'(0) = C\cdot AB $$ 이기 때문에, $A, B$는 고정하고 생각하면 $C$의 역할은 해당 curve의 가파른 정도를 나타낸다고 할 수 있겠습니다. 즉, $C$가 커지면 curve의 기울기가 커지는 것이죠. 또, $x\rightarrow\infty$라면 $L(x)\rightarrow A$이므로 $A$는 이 함수에게 기대할 수 있는 supremum임을 알 수 있고, $x\rightarrow -\infty$라면 $0$으로 가는 특징 또한 알 수 있습니다. Logistic function의 역함수를 logit function이라고 합니다.

 

여기서 Sigmoid function은 logistic function의 special case로써, 아래의 함수를 뜻합니다. $$ \sigma(x)\coloneqq\frac{1}{1+e^{-x}} $$ 

 

Sigmoid Function

 

Sigmoid function의 특징으로는

  • Bounded (유계)
  • Differentiable (미분 가능)
  • Real-valued function (실수값 함수)
  • Defined for all real inputs (정의역이 모든 실수)
  • With positive derivative (증가 함수)

 

라는 특징이 있습니다. 

 


 

이제 이런 sigmoid를 주어진 data에 맞게 적당히 맞추는, Fitting 작업을 해보도록 하겠습니다. 이를 위해서 logit function $$ f(x)=\log\frac{x}{1-x} $$로부터 시작을 해보겠습니다. Logit function으로부터 시작하는 이유는 별건 없고, notation상 그게 편하기 때문인 것 같습니다. 이어서 보시면 왜 notation 말을 한 지 아실 수 있는데요. Logit function의 정의역은 이미 0에서 1사이로써 확률 도메인으로 생각할 수 있기 때문에 건들지 않고, logit function의 함숫값을 늘리고 줄여서 주어진 data에 맞추고자 합니다. 실제로 logit function format에 지난 예에서의 A15를 나타내는 $x$와 확률을 나타내는 $p$를 넣어서 쓰면 $$ x=\log\frac{p}{1-p} $$와 같고, 여기서 위아래로 옮기고 ($b$) 양 옆 위아래로 늘리고 줄이면서 ($a$) 주어진 data에 맞추는 것을 식으로 표현하면 아래와 같습니다.: $$ ax+b=\log\frac{p}{1-p} $$ 그런데 여기서 좌변의 식을 multivariate version으로 치환하면 $$ X\theta=\log\frac{p}{1-p} $$와 같아집니다. 이렇게 바꿔놓고 보니 linear regression 꼴과 굉장히 흡사하죠. 우변이 logit function임을 제외하고는 형태가 같음을 알 수 있습니다. 이를 토대로 logistic regression 식을 표현하면 아래와 같습니다.: $$ P(Y|X)=\frac{1}{1+e^{-X\theta}}=\frac{e^{X\theta}}{1+e^{X\theta}} $$ Supervised learning에서는 given dataset으로부터 $x$와 그에 대응하는 label infomation $y$를 알고 있기 때문에, 이를 통해 최종적으로 $\theta$를 찾는 것이 목표가 되겠습니다. 만약에 logistic regression을 이용하여 bernoulli experiment를 modeling하고 싶다고 한다면, $$ P(y|x)=\mu(x)^y(1-\mu(x))^{1-y} $$에서 확률값인 $\mu(x)$를 아래와 같이 logistic function으로 modeling하면 될 것입니다. $$ \mu(x) = \frac{1}{1+e^{-\theta^t x}}=P(y=1|x) $$ 

 


 

이번 포스팅에서는 여기까지 다루도록 하고, 다음 시간에는 실제로 이 $\theta$를 어떻게 찾을 수 있는지 알아보도록 하겠습니다.