[딥러닝] Sigmoid function, Cost function of Logistic regression

zzwon1212·2023년 12월 15일
0

딥러닝

목록 보기
1/33
post-thumbnail

1. Sigmoid function

  • 아래 항목들을 따라가며 sigomid function을 유도해보자.

1.1. 정의

  • binary 사건 Y의 발생 확률

    • P(Y=1)=pP(Y=1) = p
    • P(Y=0)=1pP(Y=0) = 1-p
  • 오즈(odds): 성공 확률과 실패 확률의 비율

    • odds=p1podds = {p \over 1-p}
  • 로짓(logit): odds의 로그 변환

    • logit(p)=log(p1p)logit(p) = \log({p \over 1-p})
    • 0에서 1까지의 확률을 실수 전체의 범위로 변환하는 역할

1.2. Logistic regression

  • 위의 logit에 선형 회귀 모형을 적용한 것을 Logistic regression이라고 한다.

    • log(p1p)=β0+β1x1++βkxk\log({p \over 1-p}) = \beta_0 + \beta_1x_1 + \cdots + \beta_kx_k
  • 여기서는 독립변수 XX가 1개인 simple logistic regression으로 식을 전개해보자.

log(p1p)=β0+β1xelog(p1p)=eβ0+β1xp1p=eβ0+β1xp=(1p)eβ0+β1xp=eβ0+β1xpeβ0+β1xp+peβ0+β1x=eβ0+β1xp=eβ0+β1x1+eβ0+β1xp=eβ0+β1xeβ0+β1x1+eβ0+β1xeβ0+β1xp=11+e(β0+β1x)\log({p \over 1-p}) = \beta_0 + \beta_1x \\ \, \\ e^{\log({p \over 1-p})} = e^{\beta_0 + \beta_1x} \\ \, \\ {p \over 1-p} = e^{\beta_0 + \beta_1x} \\ \, \\ p = (1-p)e^{\beta_0 + \beta_1x} \\ \, \\ p = e^{\beta_0 + \beta_1x} - pe^{\beta_0 + \beta_1x} \\ \, \\ p + pe^{\beta_0 + \beta_1x} = e^{\beta_0 + \beta_1x} \\ \, \\ p = {e^{\beta_0 + \beta_1x} \over 1 + e^{\beta_0 + \beta_1x}} \\ \, \\ p = {{e^{\beta_0 + \beta_1x} \over e^{\beta_0 + \beta_1x}} \over {1 + e^{\beta_0 + \beta_1x} \over e^{\beta_0 + \beta_1x}}} \\ \, \\ p = {1 \over 1 + e^{-(\beta_0 + \beta_1x)}} \\

1.3. Sigmoid function과 그래프

위의 수식 전개를 통해 구한 p에서 z=β0+β1xz = \beta_0 + \beta_1x로 치환하면 sigmoid function을 아래와 같이 나타낼 수 있다.

  • Sigmoid function
    σ(z)=11+ez\sigma(z) = {1 \over 1 + e^{-z}}

  • If zz is large, σ(z)11+0=1\sigma(z) \approx {1 \over 1 + 0} = 1
  • If zz is large negative, σ(z)0\sigma(z) \approx 0

2. Logistic regression의 Cost function

  • Logistic regression
    • y^=σ(wTx+b)\hat{y} = \sigma(w^Tx + b), where σ(z)=11+ez\sigma(z) = {1 \over 1 + e^{-z}}

2.1. Loss function

  • L(y^,y)=(ylogy^+(1y)log(1y^))L(\hat{y}, y) = -(y \log{\hat{y}} + (1-y) \log{(1-\hat{y})})

    • If y=1y=1, L(y^,y)=logy^L(\hat{y}, y) = -\log{\hat{y}}
      y^\hat{y}이 0에 가까우면 loss값이 커지고, y^\hat{y}이 1에 가까우면 loss값이 0으로 수렴한다.

    • If y=0y=0, L(y^,y)=log(1y^)L(\hat{y}, y) = -\log{(1-\hat{y})}
      y^\hat{y}이 0에 가까우면 loss값이 0으로 수렴하고, y^\hat{y}이 1에 가까우면 loss값이 커진다.

    즉, 예측값 y^\hat{y}들이 실제값 yy들을 잘 맞힌다면 아래 정의한 cost가 작아지고, 많이 틀린다면 cost가 커진다.

2.2. Cost function

  • J(w,b)=1mi=1mL(y^(i),y(i))=1mi=1m[y(i)logy^(i)+(1y(i))log(1y^(i))]J(w, b) = {1 \over m} \sum_{i=1}^{m} L(\hat{y}^{(i)}, y^{(i)}) = -{1 \over m} \sum_{i=1}^{m}[y^{(i)} \log{\hat{y}^{(i)}} + (1-y^{(i)}) \log{(1-\hat{y}^{(i)})}]
profile
JUST DO IT.

0개의 댓글

관련 채용 정보