본문 바로가기

자연어 처리 과정

Logistic regression

개요

Logistic regression의 분류 가설과 parameter update rule에 대해 알아보자.

 

Hypothesis of logistic regression

training dataset이 아래와 같은 setting을 갖고 있다고 가정한다.

이때, logistic regression이 적용하는 가설은 아래와 같다.

위 g(z)에 해당하는 functiond은 sigmoid 혹은 logistic function이라고 불리며, 아래와 같은 그래프를 형성한다.

출처: https://en.wikipedia.org/wiki/Logistic_function

따라서, 아래와 같다.

Perceptron algorithm의 soft한 버전이라고 생각해볼 수 있다.

 

어떻게 P(y | x, $\theta$)를 최대화 할 수 있을까?

다음과 같이, label이 1일 가능성과 label이 0일 가능성이 나눠진다고 생각해보자.

이 두 식을 한 줄로 정리하면 아래와 같아진다.

그리고 위의 확률 정의를 likelihood로 재정의해준 후, log를 붙여 log-likelihood로 만들어주자.

위의 log-likelihood에서 가설을 풀어서 보면, 그리고 summation 연산을 제거하면 아래와 같은 모습이 된다.

이제 위의 식을 사용하여 parameter $\theta$를 가지고 있을 때 label y일 log-likelihood를 계산할 수 있게 되었다.

 

그렇다면, 어떻게 해야 log-likelihood를 maximizing 시킬 parameter $\theta$를 구할 수 있는 것일까?

 

Maximizing log-likelihood with partial derivatives of l($\theta$) respect to $\theta$

The derivative of the logistic function

가장 먼저 계산의 편의를 위해 logistic function을 미분하면 어떻게 되는지부터 알아보자.

위와 같은 과정을 통해 logistic function의 미분은 g(z)(1 - g(z))임을 알 수 있다.

 

Parameter update rule of logistic regression

우리는 지금까지의 연산을 통해 아래의 Log-likelihood를 유도해냈다.

이제는 log-likelihood를 maximizing 시켜주는 $\theta$를 찾을 수 있도록 해주는 maximum log-likelihood 식을 유도해보자.

그렇게 하기 위해서는 우리는 $\theta$로의 편미분이 필요하다.

우리는 아래와 같은 과정을 통해 mll(maximum log-likelihood)을 얻을 수 있게 된다.

 

'자연어 처리 과정' 카테고리의 다른 글

Regularization  (0) 2023.07.26
Error analysis  (0) 2023.07.26
Perceptron algorithm  (0) 2023.07.23
Eigenvector, eigenvalue 그리고 diagonal과 eigendecomposition  (0) 2023.07.08
Why rank(A^TA) = rank(A)?  (0) 2023.07.06