미누에요

[Machine Learning] 로지스틱 회귀(Logistic Regression) 본문

AI

[Machine Learning] 로지스틱 회귀(Logistic Regression)

미누라니까요 2024. 11. 11. 11:33
728x90
반응형
SMALL

회귀(Regression)과 분류(Classification)은 엄연히 다른 문제이다.

 

하지만 분류 문제에 회귀를 적용한 방법이 있다.

바로 그 방법이 로지스틱 회귀(Logistic Regression)이다.

 

 

로지스틱 회귀(Logistic Regression)

한마디로 쉽게 요약하면, 로지스틱 함수를 이용하여 분류 문제를 회귀식으로 나타내는 것이다.

  • 주로 이진 분류에 사용
  • 선형 회귀의 특징을 보유

 

우선 이전에 사용했던 예시를 가져왔다.

 

공장에서 A라는 장치를 통과하는 시간을 X로, 그에 따른 제품의 불량여부를 Y로 두었다.

위 분포를 보면 A장치를 통과하는 시간이 적을 때 불량이 나오고 있다.

 

만약 위의 분류 문제를 회귀(Regression)으로 접근해본다면 어떨까 ?

 

이전에 설명했듯, 회귀는 데이터를 가장 잘 나타내는 선을 찾는 것이다.

단순 선형 회귀를 사용한다면 아래와 같이 선을 그릴 수 있을 것이다.

 

 

어떤가 ? 위 그래프가 선을 잘 나타내고 있는가 ?

 

아직 많이 부족해 보인다. 이렇게 분류 문제는 단순 회귀식으로 표현하기 어렵다는 문제점이 존재한다.

분류 문제는 데이터가 끊어진 형태로 존재하기 때문에 단순한 회귀식으로는 표현하는 데 한계가 존재한다.

 

따라서 우리는 선을 조금 더 구부려서 데이터에 적합하게 만들 것이다.

 

 

이 과정에서 시그모이드 함수(Sigmoid function = logistic function)이 사용된다.

 


시그모이드 함수(Sigmoid function) , Logistic Function)

시그모이드 함수는 S자형 곡선을 갖는다.

시그모이드 함수의 식

식은 위와 같다.

 

이러한 식으로 그려지는 시그모이드 함수의 형태는 아래와 같다.

특징

  • x값이 커지면 g(x)는 1에 수렴
  • x값이 작아지면 g(x)는 0에 수렴

 

시그모이드 함수를 적용하면 1에 가까운 값과 0에 가까운 값에 데이터가 몰리게 된다.


 

보니까 분류 문제의 데이터에 이 Sigmoid 함수를 적용한다면 조금 더 데이터의 분포를 잘 나타내는 회귀식이 될 거 같지 않은가 ?

 

이 Sigmoid 함수를 우리가 제시한 분류 그래프에 적용해 보겠다.

 

단순 선형 회귀로 그린 것보다 훨씬 데이터를 잘 나타내고 있다.

 

이렇게 Sigmoid 함수를 사용하여 분류 문제를 회귀식으로 나타내는 것을 로지스틱 회귀(Logistic Regression)이라고 한다.

 


로지스틱 회귀가 분류 문제에 시그모이드 함수를 사용해서 회귀식을 적용한다는 것은 알겠는데, 분류 문제면 결론적으로 0과 1로 구분이 되어야한다.

근데 우리는 아직 로지스틱 회귀를 사용하여 0과 1을 분류하지 않았다. 이 분류는 어떻게 하는걸까 ? 

 

 

로지스틱 회귀에서 결과값은 결정 경계(Decision Boundary)라는 것을 사용하여 분류한다.

 

결정 경계(Decision Boundary)

데이터를 분류하는 기준값!

 

일반적으로 시그모이드 함수는 0~1 사이의 값을 가지므로 0.5를 기준으로 판변

  • y값이 0.5보다 크면 1(True)
  • y값이 0.5보다 작으면0(False)

 

불량품 예시로 본다면 y값이 0.5보다 크다면 양품, 0.5보다 작다면 불량임을 나타낸다.

 

 

728x90
반응형
LIST