지금까지 결과값 y와 한 개 이상의 변수 x를 다루는 선형 회귀에 대해 알아보았습니다.

 

이번에, 알아볼 방법은 로지스틱 회귀라는 방법입니다.

 

단순히 이진 기법으로

결과가 0인지 1인지...

pass인지 non pass인지...

성공했는지 실패했는지...

 

이런 식으로 데이터에 따라서 결과가 두 가지로만 나타나지는 경우입니다.

 

이러한 현상들도 우리 일상에서 많이 일어나는 방법입니다.

 

두 가지의 샘플 데이터를 통해 알아보도록 하겠습니다.

 

왼쪽은 성적 분류에 따른 pass인지 non pass인지를 나타나는 데이터셋이고,

오른쪽은 여러 가지 환자 정보에 따라서, 질병을 예측하는 데이터 셋입니다.

 

두 가지 샘플 모두는 결과가 둘 중 하나로만 나오는 경우입니다.

 

새로운 값을 주어지고, 이것이 pass(0)인지 non pass(1)를 예측하라고 가정하고...

선형 회귀로 접근을 하게 된다면, 분명 결과가 0과 1 사이의 숫자로 결과를 예측할 것입니다.

 

사실, 여기서 우리는 이러한 데이터도 선형 회귀로도 접근을 해보면 어떨까라는 생각을 할 수 있습니다.

 

어차피 결과는 0과 1중 하나일 테니...

0.5를 기준으로 0.5보다 높거나 같으면 1!

0.5보다 작으면 0!

으로 판단하게만 만들어주면 되기 때문입니다.

 

하지만, 0.5 근처에서 얻은 데이터들에서는 정확성이 떨어질 수도 있기 때문에...

우리는 선형 회귀가 아닌 sigmoid 함수로 답을 예측해야 합니다.

 

(sigmoid가 궁금하신 분들은, 다음 포스팅을 참고하세요! 조금 어려울 수 도 있지만,

원리를 몰라도 상관없기 때문에, 궁금하신 분들만 참고하세요!ㅎ)

 

Sigmoid함수는 다음과 같습니다.

 

 

다음으로는 sigmoid함수의 비용(cost)을 구하는 식(=Binary Crossentropy)은 다음과 같습니다.

 

우리는 선형 회귀 포스팅을 통해, 새로운 가설식과 cost를 구할 수 있다면...

머신러닝이 가능함을 확인하였습니다.

 

가설식으로 sigmoid 함수를 선택하고, 이 함수에 맞는 cost 식을 이용한다면

로지스틱 회귀, 즉... pass인지 non pass인지를 예측할 수 있을 것입니다.

반응형

+ Recent posts