SonJJU

크리에이티브 커먼즈 라이선스
Creative Commons License

이 포스팅은 Coursera, Machine Learning, Andrew Ng의 강의를 정리한 글입니다.

필자가 공부를 더 하는대로 업데이트 됩니다.



Logistic regression

저번 포스팅에서 다룬 Regression에서 좀 더 나아가 보자.
지난 번엔 선형 회귀식을 통해 어떠한 값을 예측을 해 보았다. 그리고 회귀식을 세우고 적당한 변수를 찾는 데에는 비용함수를 이용했다.

그렇다면 선현 회귀를 이용해 분류(Classification)도 해보자.
연속적인 값을 가진 데이터는 문제가 없지만 categorical한 데이터는 문제가 생긴다.

예 혹은 아니오로 나타나는 데이터를 어떻게 식을 통해 나타내느냐 이다. 이 문제를 해결하기 위해 각 값에 숫자를 넣어준다.

예를 들어 어떠한 환자가 종양을 가지고 있는데 그것이 양성이면 1, 음성이면 0을 할당하여 숫자로 표현 가능하게 한다. 그렇다면 이 데이터는 예, 아니오 에서 1, 0의 값을 가지게 된다. 
이 과정을 거치면 선형 회귀식을 만드는 것이 가능하게 되는데 간단한 예를 보면 다음과 같다.

Machine Learning, Andrew Ng

그림을 보면 어느정도 합리적인 선형 회귀가 나온다. 만약 위의 hθ (x)가 적당히 잘 그려져 0.5를 기준으로 y의 1,0 값이 나뉜다고 하자.

hθ(x)

그렇다면 인 데이터에선 y=1로 분류 될 것이고 인 데이터에선 y=0으로 분류 될 것이다.


하지만 위에서 정했듯이 y값은 0 혹은 1 뿐이 없지만 는 1 보다 크거나 0 보다 작을 수가 있다는 것을 알 수 있다.

1과 0의 값을 예측하는데 100 또는 -256 같은 값이 나온다면 이는 별로 합리적이라고는 할 수가 없다.

이런 문제를 해결하려 하는 것이 Logistic regression이다.


먼저 Logistic function의 정의는 이렇다.

와 같이 새로운 함수 g를 만든다. 다음 식을 간단하게 하기 위해 를 정의한다.

그리고 나서 를 정의한다. 이것이 logistic function이다.

  • logistic function은 sigmoid function이라고도 불리는데 같은 것을 의미한다.
굳이 이런 함수를 쓰는 이유는 logistic function의 모양 때문이다. 이 함수의 모양은 다음과 같은데

0.5를 지나며 1과 0을 넘지 않는다.

1과 0을 넘는 단순한 선형식의 문제점을 보완할 수 있는 모양이다.

그리고 이 식을 갖는 특징 덕분에 다음과 같은 확률 계산이 가능해진다.

말로 풀어 쓰면 'parameter 세타를 가진 x식이 y=1의 값을 가질 확률과 parameter 세타를 가진 x식이 y=0의 값을 가질 확률을 더한 것은 1이다.'

hθ(x)=P(y=1|x;θ)=1P(y=0|x;θ)P(y=0|x;θ)+P(y=1|x;θ)=1

저작자 표시 비영리 변경 금지
신고
DISQUS 로드 중…
댓글 로드 중…

블로그 정보

SonJJU - 손주형

Data Scientist, SonJJU

최근에 게시된 글

티스토리 툴바