AI/DL/ML (13) - Logistic regression

xsldihsl·2024년 5월 14일
0

AI/ML/DL

목록 보기
13/25

Contents

  1. Logistic regression
  2. Sigmoid function: Mapping inputs to probabilities

1. Logistic regression

Logistic regression estimates the probability of an event occurring based on a given set of independent variables.

Logistic regression 은 '회귀' 라는 이름을 가졌지만 대표적인 분류 알고리즘이며, 이는 인공 신경망의 기본이 된다. 선형회귀와 매우 비슷하게 선형함수를 학습하지만 sigmoid 또는 logistic 함수를 적용해 분류로 활용된다.

z = a x Weight + b x Length + c x Diagonal + d x Height + e x Width + f

선형함수 z 를 이대로 사용하게 되면 회귀와 다를 것 없이 (-∞, +∞) 의 범위를 갖는다. 하지만 이를 0 에서 1 사이로 변환해줄 수 있다면 확률처럼 다룰 수 있을 것이다. 따라서 이런 변환을 가능케 하는 함수로 Sigmoid function 을 들 수 있다.


2. Sigmoid function: Mapping inputs to probabilities

S-shaped 이기 때문에 sigmoid 라 불리는 이 함수는 logistic 이라고도 하며, tanh 그래프와 그 모양이 같지만 range 를 달리한다. 다음에 보이는 것처럼 sigmoid 함수는 최대 1.0, 최소 0.0 을 갖는다.

이를 이용해 Φ 또는 z 의 값을 기준으로 분류를 할 수 있다. 아래의 두 경우는 equivalent 하다.

ΦzClassification
Φ > 0.5z > 0Positive class
Φ ≤ 0.5z ≤ 0Negative class

특히 sklearn 의 .predict() 는 z 값만을 보고 판단하는 반면 .predict_proba() method 는 Φ 를 계산해 확률값으로 출력한다. 따라서 굳이 sigmoid function 에 넣지 않고도 z 만을 이용해 판단의 목적을 이룰 수도 있으나, 확률에 기반해 양성과 음성 class 로 분류하는 것이 일반적이다. 다음 글에서는 Logistic regression 을 이용한 binary 와 multiclass classification 을 구현해보도록 하겠다.


0개의 댓글