Logistic Regression

2026. 6. 1. 11:31Machine Learning

Logistic Regression이 필요한 이유

일반적인 선형 회귀 문제

일반적으로 선형 회귀 문제를 해결한다하면, 수치형 특징변수 X와 연속된 숫자로 이뤄진 종속변수 Y간의 관계를 선형으로 가정하고 이를 가장 잘 표현 할 수 있는 회귀계수를 추정하는 것이라 할 수 있다.

일반적인 선형 회귀 문제

이진 분류 문제

이진 분류 문제는 선형적이지 않다. 특징변수 X와, 0과 1로 구성된 범주형 종속변수 Y간의 관계를 추정한다.

이진 분류 문제 데이터

이 과정에서 선형회귀로 분석한다면 범주형 자료는 분석하기 어려울 것이다. 이를 해결하기 위해 Logistic Regression이 고안되었다.

선형회귀로는 범주형 자료분석이 어려움

 


Logistic Regression 개요

로지스틱 함수

로지스틱 함수(Logistic function)는 처음에는 빠르게 증가하다가 점점 증가 완만하게 증가하며 한계값에 가까워 지는 S자 모양의 함수다.

로지스틱 함수

로지스틱 함수를 사용한다면 이전에 봤던 이진 분류 문제를 해결할 수 있다. 범주형 데이터가 0인지 1인지의 확률을 분석할 수 있다.

로지스틱 함수를 통한 이진 분류 문제 해결


퍼셉트론

퍼셉트론이란 원시적 신경망(인공뉴런)이다. 딥러닝과 같은 현대 신경망은 퍼셉트론을 병렬과 순차 구조로 결합해서 만든다. 퍼셉트론은 현대 신경망의 중요한 구성 요소이다.

신경망 vs 퍼셉트론

퍼셉트론의 구조

입력층은 여러 개의 노드이다. 여기서 첫 번째 노드인 x_0 노드는 바이어스 노드로써, 항상 1이 입력된다. 바이어스 노드는 기준선을 이동시키고, 0이어도 출력 가능하기 위해 필요하다. 입력층의 i 번째 노드는 특성변수 x = (x_1, x_2, ... , x_d)^T의 요소 x_i를 담당한다.
출력층은 한 개의 노드이며 출력층과 입력층은 가중치 w_i를 가진 에지를 통해 연결되어있다.

퍼셉트론의 구조


퍼셉트론의 동작

퍼셉트론은 Net input function과 활성 함수로 구성되어 있다. Net input function은 특징값과 가중치를 곱한 결과를 모두 더한 것이다(아래 수식에서는 s이다). 퍼셉트론의 활성함수로는 계단함수를 사용한다. 활성함수의 최종 출력 y는 +1 또는 -1이다.

퍼셉트론의 동작 수식화

 

적응선형뉴런

적응선형뉴런(ALN)은 퍼셉트론의 얼마나 에러가 심한지 표현 할 수 없다는 단점을 개선한 범주형 자료분석 모델이다. 이 과정에서 퍼셉트론과는 다르게 Quantizer가 사용되었다.

적응선형뉴런과 퍼셉트론의 차이

ALN의 타겟 변수 y도 범주형 변수이므로 퍼셉트론과 마찬가지로 0 또는 1의 값을 가진다. x와 y 사이의 관계를 학습하는 것이 목표라는 점도 동일하다.

 

손실함수 L(w)는 정닶값 pi(z_i) 에서 예측한 값 y_i를 뺀 후 제곱한 결과를 모두 더한 값의 절반을 취하는 것이다. 이 손실함수를 최소화 하는 가중치 w를 구하는 것이 핵심이다. 손실함수를 최소화하는 가중치 w를 대입한 pi(zi)를 pi_hat(zi)로 표기할 때, pi_hat(zi) > h이면 y_hat  = 1, 그렇지 않으면 y_hat = 0으로 할당한다(단, h는 threshold 값이다).

ALN의 손실함수


Logistic Regression

Logistic Regression은 ALN의 출력값 해석 문제와 분류 기준 문제를 해결한 버전이다. ALN에서 활성 함수를 사용할 때 Logistic Regression에서는 시그모이드 활성 함수를 사용한다. 이를 통해 0과 1 둘 중 하나로만 예측할수밖에 없었던 ALN의 단점을 "0일 확률 OO%" 처럼 신뢰도까지 예측할 수 있게 되었다. 즉, 각 점주형 변수값을 가질 확률을 p_i를 활용한다는 것이다(p_i = P(y_i = 1 | x_i)).

 

Logistic Regression과 적응선형뉴런의 차이

 

즉, 요약하면 다음 표와 같다.

항목 ALN Logistic Regression
출력 실수 전체 0~1
확률 해석 불가능 가능
분류 기준 애매함 명확함
활성화 함수 선형함수 시그모이드 함수
비용 함수 MSE Cross Entrophy
분류 문제 적합성 낮음 높음

 

예를 들어, n 명의 건강검진 결과를 바탕으로 어떤 질병에 걸렸을지 확률을 계산한다고 해 보자. 이 경우,

  • x_i: i 번째 사람의 건강검진 결과
  • y_i: i 번째 사람의 질병 유무
  • p_i: i 번째 사람의 건강검진 결과를 바탕으로 추정한, i 번째 사람의 질병 확률

Log-Odds

선형 회귀에서 예측값의 범위는 −∞ ≤ 𝑧 ≤ ∞ 이다. 그러나 확률의 범위는 0 ≤ 𝑝 ≤ 1 이다. 이를 해결하기 위해 log-odds를 활용한다.

 

Odds

Odds란 임의의 사건 A가 발생하지 않을 확률 대비 일어날 확률의 비율이다. Odds의 범위는 0 ≤ Odds ≤ ∞ 이다. 하지만 우리는 −∞까지의 범위를 다뤄야 하기에 여기에 약간 변형이 필요하다.

Odds

Log-Odds

이러한 Odds에 log를 취한 값이 Log-Odds이다. Log-Odds의 범위는 −∞ ≤ Log-Odds ≤ ∞ 이다.

Log-Odds

이 Log-Odds는 선형회귀의 대상으로 활용된다.

Log-Odds를 활용한 활성함수

즉, logistic regression의 경우 𝜙(𝑧) = 1 / {1+𝑒^(−𝑧)} 이다.

 


w의 추정 및 분류

Logistic regression은 손실함수로 음의 로그우도함수를 사용한다. 주어진  𝐱_𝑖 들에 대해서 𝑦_𝑖가 모두 독립이라고 가정하자. 그럴 경우,

w의 추정 및 분류


Logistic regression의 실전 활용

Step1. 전체 데이터 셋

Step2. w값 최적화

Step3. 분류 예측


범주가 3개 이상일 경우

범주가 3개 이상일 경우 손실함수로 Cross entropy를 사용한다.

범주가 3개 이상일 경우

'Machine Learning' 카테고리의 다른 글

사전과정과 최적화  (0) 2026.04.15
파이썬과 머신러닝  (0) 2026.04.13
머신러닝 기초수학  (0) 2026.04.13
머신러닝 개요  (0) 2026.04.12