의료 영상 데이터 분석 기법 - 로지스틱 모델
의료 영상 데이터 분석 기법 - 로지스틱 모델
불연속적인 값을 예측하는 분류 모델에 대해 알아보도록 합시다. 예를 들어 유방암의 크기에 따른 악성, 양성 구분을 수행하는 간단한 기계학습 모델을 생각해 봅시다. 그림 3에서 보듯이 x값을 유방암의 크기, y값을 악성 1, 양성 0이라고 하면 데이터를 표시해보면 붉은색 점으로 표현됩니다. 기존의 선형 회귀 방식으로는 이러한 데이터를 제대로 표현할 수 없음을 그림 3의 왼쪽 그림이 잘 보여주고 있습니다. 여기서 새로운 함수를 도입하여 이러한 문제를 해결하고 이 방식을 로지스틱 회귀라고 불립니다. 우선 모델의 출력 값이 0과 1 사이 있어야 하고 경사 하강법을 쉽게 적용할 수 있도록 미분 가능한 함수이면 더욱 좋을 것입니다.
로지스틱 또는 시그모이드 함수 개념과 특징
이러한 특징을 모두 가지고 있는 함수가 로지스틱 또는 시그모이드 함수입니다. 로지스틱 함수는 –3 이하의 입력값에 대해 거의 0에 가깝고 3 이상에 대해서는 거의 1에, 그리고 0의 입력값에 대해 0. 5의 값을 가지는 특성을 가지고 있습니다. 이 로지스틱 함수를 선형 회귀분석에서 사용한 값에 적용하여 분류 모델을 만들 수 있으며, 이를 로지스틱 회귀 모델이라고 합니다. 이제 모델의 학습에 적합한 손실 함수를 정의해보도록 합시다. 정답 레이블 y가 0 또는 1의 값을 가지므로 y가 1일 경우와 y가 0일 경우로 나뉘어 생각해보면 쉽습니다. 우선 y가 1인 악성인 겨우 모델의 예측값인 h세타 x가 1의 값을 가지면 손실이 0이 되면 좋겠고, 0의 값을 가질 경우는 무한대였으면 좋겠습니다. 그리고 앞에서도 말했듯이 미분 가능 즉, 모든 구간에서 경사 값을 쉽게 계산할 수 있으면 더욱 좋겠습니다. 이러한 함수가 바로 –log 함수입니다. log함수는 0에서 -∞의 값을, 1에서 0의 값을 가지므로 이를 음수를 곱하여 뒤집으면 정확히 우리가 원하는 형태를 가지게 되며, 미분 가능합니다. 그림 4에서 이를 잘 보여주고 있습니다. y가 1인 악성인 경우, 모델이 예측값인 h세타 x를 –log 함수에 넣으면 되고 y가 0인 양성인 경우에는 예측값을 뒤집어 1-h세타 x를 만들고 1을 –log 함수에 넣으면 됩니다. 이를 각 학습 데이터에 대해 수식으로 표현해보면 아래와 같습니다. y값이 1 또는 0인 경우를 나누지 않고 하나의 수식으로 손실 함수를 만들 수 있으며, 각 경우를 –log함수 앞에 y 또는 1-y를 곱하는 형식으로 아래와 같이 한 줄에 표현 가능합니다. 아래 손실 함수는 대단히 유명해서 이진 크로스 엔트로피라고 합니다. 분류 모델에서 주로 사용됩니다. 인공지능의 핵심은 정형화된 손실 함수를 정의하고 이를 줄이는 방향으로 최적 값을 찾아가는 과정입니다. 이 중 손실 함수를 이해하는 것이 가장 중요합니다. 분류 모델에 있어서 크로스 엔트로피를 주요 사용하게 되며 이 손실 함수에서는 –log 함수가 사용되었습니다. 이렇게 이진 크로스 엔트로피로 손실 함수를 정의하고 나면 좋은 점은 최적 값을 찾아가는 과정 즉, 경사 하강법에서 계산하여야 하는 미분 값은 선형 회귀와 같이 3, 4와 동일한 식으로 얻을 수 있습니다. 위에서 살펴본 간단한 분류 모델인 로지스틱 회귀 알고리즘이 가진 의미를 생각해 봅시다. 이를 위해 유방암의 크기뿐만 아니라 환자 나이 또한 입력값으로 하여 악성과 양성을 나누는 것을 가정해보면 그림 5와 같이 데이터들을 이차원 평면에 표시할 수 있으며, 로지스틱 회귀 알고리즘이 학습을 통해 얻게 되는 것이 이들을 나누는 경계선, decision boundary라는 것을 알 수 있습니다. 인공지능에 있어서 분류 모델이 하는 역할은 주어진 학습 데이터들이 위치하는 다차원 공간에서 여러 레이블들로 구분하는 경계를 찾는 것입니다. 방금 살펴본 가장 간단한 분류 모델에 속하는 로지스틱 회귀는 선형으로 2차원의 경우 선, 3차원의 경우 면과 같이 경계를 찾는 것입니다.
로지스틱 선형 회귀 모델의 한계점
로지스틱 선형회귀는 분류 알고리즘이며 학습을 통해 두 분포를 나누는 경계를 찾는 것입니다. 일반적인 N개의 특징 값이 있는 경우에 아래와 같이 수학적으로 표현할 수 있습니다. 학습과정을 통해 –LOG 함수를 기반으로 하는 손실 함수인 크로스 엔트로피를 최솟값으로 갖는 세타 0, 세타 1, 세타 2, 세타 3 그리고 세타 n을 찾는 것입니다. 그림 6은 두 분포를 나누는 여러 경계선들을 보여주고 있습니다. 이 중 어느 것이 가장 좋을까요. 로지스틱 선형 회귀를 통해 얻어지는 경계선은 이 중 어느 것일까요. 또한 그림 7과 같이 두 분포가 비선형적으로 주어지는 경우에는 로지스틱 선형 회귀 알고리즘은 제대로 학습되지 않습니다. 그림 7과 같은 분포는 도저히 2차원의 선으로는 나누어지지 않습니다. 로지스틱 선형 회귀 선형 회귀 알고리즘은 경계를 전체 분포를 보고 결정하게 되어있어 아웃라이어에 취약하며, 그림 7과 같이 복잡하게 분포되어 있는 경우에는 적용할 수 없다는 한계가 있습니다. 이러한 로지스틱 선형 회귀 모델은 한 개의 계층을 가진 인공신경망 모델과 매우 유사한데, 이와 같은 한계 때문에 많이 사용되지 못하고 이후에 나온 서포트 벡터 머신에게 인공지능 대표 주자 자리를 넘겨주게 됩니다.