인공지능/머신러닝

[머신러닝 - 이론] Logistic Regression (로지스틱 회귀)

바보1 2022. 10. 18. 18:01


앞의 글을 읽으시면 이해에 도움이 됩니다.

 

2022.05.07 - [Computer Science/머신러닝] - [머신러닝 - Python] 활성화 함수 - 시그모이드 함수 구현 (Activation Function - Sigmoid Function Implemetation)

 

[머신러닝 - Python] 활성화 함수 - 시그모이드 함수 구현 (Activation Function - Sigmoid Function Implemetation)

퍼셉트론은 계단 함수를 사용하지만, 이는 활성화 함수의 일부일 뿐이다. 실제로 제대로 된 신경망을 구현하기 위해서는 다양한 활성화 함수를 이용해야만 한다. 대표적인 활성화 함수로는 시

hi-guten-tag.tistory.com


1. 로지스틱 회귀란?

 

 

어떤 회귀 알고리즘은 분류에서도 사용할 수 있습니다.

 

로지스틱 회귀(logistric regression)은 샘플이 특정 클래스에 속할 확률을 추정하는데 널리 사용됩니다.

 

추정 확률이 50%가 넘으면 모델은 그 샘플이 해당 클래스에 속한다고 예측(레이블이 '1'인 양성 클래스)합니다.

 

만약에 그게 아니라면 클래스에 속하지 않는다고 예측합니다.

 

이를 이진 분류기라고 합니다.


2. 확률 추정

 

 

로지스틱 회귀는 선형 회귀 모델과 비슷하게, 입력 특성의 가중치 합을 계산합니다.

 

하지만 선형 회귀처럼 바로 결과를 출력하지 않고, 결괏값의 로지스틱을 출력합니다.

\(\hat{p} = h_\theta(x) = \sigma (\theta^Tx)\)
(vectorized form)

이때 \(sigma\)는 0과 1 사이를 출력하는 시그모이드 함수(Sigmoid Function)입니다.

 

해당 함수는 다음과 같이 정의됩니다.

\(\sigma(t) = \frac{1}{1 + \exp(-t)}\)
(위의 글에서는 해당 시그모이드 함수를 구현해 놓았음)

 

확률 p가 0.5를 넘기면 해당 샘플을 레이블 1이라고 예측하고,

확률 p가 0.5를 넘기지 못한다면 해당 샘플을 레이블 0이라고 예측합니다.


3. 훈련과 비용 함수

 

 

로지스틱 회귀 모델의 훈련 목적은 양성 샘플(y = 1)에 대해서는 높은 확률을, 음성 샘플(y = 0)에 대해서는 낮은 확률을 

추정하는 모델의 파라미터 \(\theta\)를 찾는 것입니다.

 

따라서 아래의 수식으로 나타낼 수 있습니다.

\(c(\theta)= \begin{cases} -log(\hat{p}) & \text{ if } y = 1\\ -log(1 - \hat{p}) & \text{ if } y = 0 \end{cases}\)

y = 1 일 때, p가 0에 가까워지면 (음성 샘플이라고 추정) 손실함수는 무한대로 발산
y = 0 일 때, p가 1에 가까워지면 (양성 샘플이라고 추정) 손실함수는 무한대로 발산

 

따라서 전체 훈련 세트에 대한 비용 함수는 모든 훈련 샘플의 비용을 평균화한 것입니다.

 

이를 로그 손실이라고 부르며 아래와 같이 하나의 식으로 쓸 수 있습니다.

\(J(\theta) = -\frac{1}{m}\sum_{i = 1}^{m}\begin{bmatrix} y^{(i)}log(\hat{p}^{(i)}) + (1 - y^{(i)})log(1 - \hat{p}^{(i)})\end{bmatrix}\)

해당 비용 함수의 최솟값을 계산하는 방정식이 따로 없기 때문에, 경사 하강법이 전역 최솟값을 찾는 것을 보장합니다.


4. 결정 경계 (Decision Boundaries)

 

 

로지스틱 회귀는 결정 경계를 생성할 수 있습니다.

꽃잎의 너비에 따라서 virginica인지 아닌지 확률을 출력합니다.

 

그때 나오는 결정 경계는 위와 같습니다.

 

하지만 꽃잎의 너비가 약 1.3~1.7까지는 약간 애매한 것 같습니다.

(암 환자를 예측해야 하는 경우에는 약간의 오차도 허용하면 안 됨)

 

따라서 로지스틱 회귀는 해당 경우에 불확실하다고 출력할 수도 있습니다.

 

 

만약 두 개의 특성을 이용해서 결정 경계를 만들면 어떻게 될까요?

 

점선은 모델이 50% 확률을 추정하는 지점으로, 이 모델의 결정 경계입니다.

 

해당 경계는 선형임에 주의하셔야 합니다.

 

어떤 특성의 중요도에 따라서 결정 경계가 위아래로 움직일 수 있습니다.

 

해당 모델은 맨 위의 선을 넘어가는 꽃들에 대해서는 90% 이상의 확률로 Iris virginica라고 판단할 것입니다.

 

 

다음 글에서는 로지스틱 회귀 모델이 이진 분류기가 아닌 다중 클래스를 분류할 수 있도록 일반화 한 소프트맥스 회귀, 다항 로지스틱 회귀에 대해 소개하도록 하겠습니다.

 

감사합니다.

 

지적 환영합니다.