로지스틱 회귀(Logistic Regression)

Stop._.bmin·2023년 1월 31일
0
post-custom-banner

둘 중 하나를 결정하는 문제를 이진 분류(Binary Classification)라고 한다. 이런 문제를 풀기 위한 대표적인 알고리즘이 로지스틱 회귀(Logistic Regression)

1. 이진 분류(Binary Classification)

공부 시간과 성적 간의 관계를 직선의 방정식으로 표현한다는 가설 하에, 주어진 데이터로부터 가중치 w와 편향 b를 찾아 데이터를 가장 잘 표현하는 직선을 찾았다. 이번에는 배울 둘 중 하나의 선택지 중에서 정답을 고르는 이진 분류 문제를 직선으로 표현하는 것은 적절하지 않다.

학생들이 시험 성적에 따라서 합격, 불합격이 기재된 데이터가 있다고 가정하자.
시험 성적이 x라면 합불 결과는 y이다. 이 데이터로부터 특정 점수를 얻었을 때의 합격, 불합격 여뷰를 판정하는 모델을 만들고자 한다.


위 데이터에서 합격을 1, 불합격을 0이라고 하였을 때 그래프를 그려보면 아래와 같다.

이러한 점들을 표현하는 그래프는 알파벳의 S자 형태로 표현된다. 이러한 x와 y의 관계를 표현하기 위해서는 직선을 표현하는 함수가 아니라 s자 형태로 표현할 수 있는 함수가 필요하다.

이번 예제의 경우 실제값(레이블에 해당하는 y)가 0 또는 1이라는 두 가지 값만을 가지므로, 이 문제를 풀기 위해서 예측값은 0과 1사이의 값을 가지도록 한다. 0과 1사이의 값을 확률로 해석하면 문제를 풀기가 훨씬 용이해진다. 최종 예측값이 0.5보다 작으면 0으로 예측했다고 판단하고, 0.5보다 크면 1로 예측했다고 판단한다. 만약 y = wx + b의 직선을 사용할 경우, y값이 음의 무한대부터 양의 무한대와 같은 큰 수들도 가질 수 있는데 이는 직선이 분류문제에 적합하지 않는 두번째 이유다.

출력이 0과 1 사이의 값을 가지면서 S자 형태로 그려지는 함수: 시그모이드 함수(Sigmoid Function)

2. 시그모이드 함수(Sigmoid function)

시그모이드 함수는 종종 σ로 축약해서 표현하기도 한다.

여기서 e는 자연상수다. 여기서 구해야 할 것은 w(weight)b(bias)다.

실습 과정

3. 비용함수(Cost function)

비용함수로는 평균 제곱 오차를 사용하지 않는다. 평균 제곱 오차를 로지스틱 회귀의 비용 함수로 사용했을 때는 좋지 않은 로컬 미니멈에 빠질 가능성이 지나치게 높아 문제 해결이 어렵다

로지스틱 회귀에서 평균 제곱 오차를 비용 함수로 사용하면, 경사 하강법을 사용하였을 때 찾고자 하는 최소값이 아닌 잘못된 최소값에 빠질 가능성이 매우 높다. 이를 전체 함수에 걸쳐 최소값이 글로벌 미니멈(Global Minimum)이 아닌 특정 구역에서의 최소값인 로컬 미니멈(Local Minimum)에 도달했다고 한다.

로컬 미니멈에 지나치게 쉽게 빠지는 비용함수는 cost가 가능한한 최소가 되는 가중치 w를 찾는다는 목적에 좋지 않은 선택이다.

로지스틱 회귀라는 문제에서 가중치 w를 최소로 만드는 적절한 새로운 비용 함수를 찾아야한다. 가중치 최조화하는 아래의 어떤 함수를 목적함수라고 하자. J는 목적함수(object function)을 의미한다.

위의 식에서 샘플 데이터의 개수가 n개이고 어떤 함수 f가 실제값과 예측값의 오차를 나타내는 함수라고 할 때, 여기서 새로운 함수 f를 어떻게 정의하느냐에 따라서 가중치를 최소하는 적절한 목적함수가 완성된다.

목적함수는 전체 데이터에 대해서 어떤 함수 f의 값의 평균을 계산하고 있다. 적절한 가중치를 찾기 위해서 결과적으로 실제값과 예측값에 대한 오차를 줄여야 하므로 여기서 이 f는 비용함수(cost function)라고 한다.

시그모이드 함수는 0과 1사이의 y값을 반환한다. 실제값이 0일 때 y값이 1에 가까워지면 오차가 커지며 실제값이 1일 때 y이 0에 가까워지면 오차가 커짐을 의미한다.

이를 반영할 수 있는 함수는 로그 함수를 통해 표현 가능하다.

위의 두 함수를 그래프 상으로 표현하면 아래와 같다.

실제값 y가 1일 때의 그래프를 파란색 선으로, 실제값 y가 0일 때의 그래프를 빨간색 선으로 표현하였다. 두 그래프의 경향성을 아래의 하나의 식으로 표현할 수 있다.

결과적으로 로지스틱 회귀의 목적 함수는 아래와 같다.

이때 로지스틱 회귀에서 찾아낸 비용 함수를 크로스 엔트로피(Cross Entropy)함수라고 한다.

결론적으로..

  • 로지스틱 회귀는 비용 함수로 크로스 엔트로피를 사용한다.
  • 가중치를 찾기 위해서 크로스 엔트로피 함수의 평균을 취한 함수를 사용한다.
profile
원하는 만큼만
post-custom-banner

0개의 댓글