로지스틱 함수

2021. 5. 6. 02:36 AI, 머신러닝/머신러닝

로지스틱 함수

y=11+ez

 

선형 회귀 분석의 경우 모델을 위해 만들어 지는 함수는 아래와 같다.

y=Wx+b

y=W1x1+W2x2+...+Wixi+b

y=WX

이 1차 함수는 독립변수   의 변화를 관찰하는 것이 목적인 함수라고 할때 독립변수  와 종속변수  는 모두 음의 무한대  에서 양의 무한대 

혈압과 나이에 대한 상관 관계를 확인/예측하기 위해 선형 회귀 분석을 사용 할 수 있고 이때 나이와 혈압은 연속형 변수로 1차 함수 그래프로 표현하기에 문제가 없다.

그러나 암의 경우와 같이 발병 여부가 데이터로 주어졌을 경우 종속변수   는 발병=1, 정상=0 과 같은 범주형 변수의 범위를 갖게 된다.

발병여부를 선형식으로 표현하기 위해 하루에 담배를 5개피 피는 사람을 기준으로 1의 값을 얻기 위해 기울기   를 편의상 1로 놓고  y=154=1 의 결과를 얻을 수 있다.

하지만 담배의 갯수가 10개비로 늘어날 경우   y=1104=6 으로 발병=1, 정상=0 의 범위를 넘어가게 된다.

즉, 독립변수   에서  

 

종속변수 범위의 확장

종속변수   의 범위를    에서   로 확장하기 위해 odds 비  odd ratio=p1p 와 로지트 함수(Logit function)  z=logit(odds ratio)=log(p1p) 을 이용한다.

odds ratio

실패 확률에 대한 성공 확률의 비율이다. 성공 확률을   라고 한다면 실패 확률은  1p 가 된다.

이렇게 보았을때 odds 비는   p1p 와 같이 표현할 수 있다.

는 0에서 1사이의 값을 가지므로 위 식을 계산해 보면  010=0 값을 갖게 되고   가 가장 큰 1이 되는 경우  111=10= 값을 갖게 된다.

다시 말하면 승산(Odds)이란 사건 A가 발행하지 않을 확률 대비 일어날 확률의 비율을 뜻하며   odds = P(A)P(Ac)=P(A)1P(A) 와 같이 쓸 수 있다.

승산(Odds)이 커질수록 사건   가 발행할 활률이 커진다고 볼 수 있다.

이렇게 odds 비를 적용해   에 대해 0부터 

logit function

odds 비를 통해 0부터    에서   로 확장하기 위해 odds에 자연로그를 취한다.

logit(odds ratio)=ln(p1p)

로지스틱 회귀 모델식 유도

  1. 종속 변수   를 1이 될 확률로 두고 식을 세운다.
    P(Y=1|X=x)=β0+β1x1+β2x2++βnxn=βTx
  2. 좌변을 승산(odds)로 설정 한다.
    P(Y=1 | X=x)1P(Y=1| X=x)=βTx
  3. 좌변(승산)에 자연로그를 취한다.
    ln(P(Y=1 | X=x)1P(Y=1| X=x))=βTx
  4. p(x) , 위 식의 우변을   U로 치환해 확률   에 대한 식을 도출한다.
    p(x)1p(x)=ea 
    p(x) = ea{1p(x)} = eaeap(x) 
    p(x)(1 +ea) = ea 
    p(x) = ea1+ea=ea1+ea1ea1ea=11ea+1=11+ea 
    P(Y=1 | X=x) = 11+e(βTx)

이항 로지스틱 회귀의 결정 경계

이항로지스틱 모델에 범주 정보를 모르는 입력벡터   를 넣으면 범주 1에 속할 확률을 반환해 준다.

범주 1로 분류할 수 있는 확률값은 다음과 같이 표현 할 수 있다.

P(Y=1 | X=x) >P(Y=0 | X=x)

범주가 두개이므로 위 식의 좌변을   p(x) 로 치환하면 다음과 같이 식을 정리 할 수 있다.

p(x) > 1p(x)

p(x)1p(x)>1

βTx>0

 

마찬가지로   βTx<0  이면 해당 데이터의 범주를 0 으로 분류할 수 있다. 따라서 로지스틱 모델의 결정경계 (decision boundry) 는   βTx=0  인 하이퍼플레인 (hyperplane) 이다.

입력벡터가 2차원인 경우 다음과 같이 시각화 할 수 있다.

 

출처: https://unabated.tistory.com/entry/로지스틱-함수?category=735138 [랄라라]