Study/머신러닝

5. Logistic Regression

우당탕탕코린이 2024. 2. 21. 22:18

 

로지스틱 함수

  • 로지스틱 회귀 분류기는 로지스틱 함수(시그모이드 함수)를 사용하는 분류기이다.
  • 로지스틱 함수 (Logistic Function)
    • 시그모이드 함수 (Sigmoid Function)
    • 입력된 값에 0과 1 사이의 값을 할당하는 함수

시그모이드 함수의 수식
s자형 곡선인 시그모이드 함수.


피처 변환

  • 로지스틱 회귀에서 함수의 입력인 z는 피처 x의 가중합이다.
    • 즉, 입력 피처들이 선형 변환된 값.

  • 주어진 데이터를 선형 변환만으로 완벽하게 목적하는 공간으로 매핑하는 것은 어렵다. 때문에 보통 절편(=bias)를 식에 추가하여 사용한다.

W_0이 절편


로지스틱 회귀 분류기

  • 로지스틱 함수를 통한 피처 벡터 x의 클래스 판별

  • 로지스틱 함수가 항상 0과 1 사이의 값을 가지기 때문에 y^를 p(y=1|x)로 생각할 수 있다. 즉, 해당 값을 확률 자체로 판단할 수 있다.
    • ex) 확률이 0.5보다 크면 1이라 판단하고, 0.5보다 작으면 0이라 판단한다.
  • 로지스틱 회귀 분류 방법에서 학습은, 피처를 잘 변환해줄 수 있는 가중치 w를 찾아내는 과정이다.
  • 잘 변환한다? 좋은 가중치이다?
    • 음성 클래스들은 y^가 0에 가깝도록
    • 양성 클래스들은 y^가 1에 가깝도록 변환.
  • 즉, 예측 확률과 실제 클래스 레이블의 차이가 작을수록 좋은 가중치.
  • 가중치를 찾기 위해서 Binary Cross Entropy를 cost funtion으로 사용할 수 있다.
    • 한쪽 class에 확률이 쏠릴수록 cost 값이 작아지고
    • class 양쪽에 확률이 반반될수록 cost 값이 커진다.
    • 수식 설명을 하자면, 해당 클래스에 속한 각 확률값들에 log를 씌운 값들을 모두 더한 것이다. 즉, 정답 클래스에 높은 확률을 부여했을수록 높은 값이 반환되고, 전체적으로 cost는 낮아지게 된다.(음수를 씌웠기 때문에)

BCE 수식


다중 로지스틱 회쉬 (=소프트맥스 회귀)

  • 지금까지 다뤘던 로지스틱 회귀 알고리즘을 이진 분류 외에 다중 클래스 분류로도 확장시키자.
  • 3개 이상의 클래스에 대한 로지스틱 회귀를 다중 로지스틱 회귀 (Multinomial Logistic Regression)이라 한다.
    • 소프트맥스 함수를 사용하기 때문에 소프트맥스 회귀(Softmax Regression)이라고 부르기도 한다.
  • 시그모이드 함수를 사용했던 기존과는 달리, 다중 클래스 문제는 소프트맥스 함수를 사용한다.
    • K개의 클래스가 있을 때 피처 벡터 x에 대한 클래스 k에 대한 예측값 ( = 클래스 k일 확률)

다중 로지스틱 회귀 수식

  • cost function
    • 앞선 BCE를 다중 클래스로 변환하면 된다.
    • 해당 클래스에 대한 예측 확률을 반영.

 

 

 

Reference