이진 분류 (Binary Classification)



이진 분류(Binary Classification)의 결과는 이산(discrete) 값입니다.



예를 들어 위와 같은 그림이 주어졌을 때 고양이인지 아닌지를 구분하는 경우를 생각해봅시다.


이러한 상황이 Binary Classification인 이유는

결과가 '고양이이다(1)'와 '고양이가 아니다(0)'라는 두 가지 이산값밖에 없기 때문입니다.




컴퓨터에 사진은 위의 그림과 같은 형태로 저장이 됩니다.


그림의 색깔은 R(Red), G(Green), 그리고 B(Blue)를 이용하여 표현되고

각각의 색은 픽셀로 이루어져있습니다.


위의 그림의 경우 각각의 색에 대해서 4 X 5의 픽셀로 표현되어 있습니다.


각각의 cell 안의 값은 pixel intensity를 나타내고

pixel intensity는 feature vector를 만드는 데 사용됩니다.



고양이 사진을 구분하는 예시로 돌아가 고양이 사진이 64 X 64의 픽셀로 구성되어 있다고 가정합시다.


feature vector를 만들기 위해서는, pixel intensity 값을 각각의 색에 대해서 "unroll" 혹은 "reshape"해야 합니다.



위의 그림은 아까의 예시를 feature vector로 나타낸 것입니다.

Red, Green, Blue 순서대로 pixel intersity값을 위에서 아래로 (column) 나열한 것입니다.


이때, 모든 값의 개수를 feature vector의 차원이라하고 로 나타냅니다.


고양이 사진의 경우에는  입니다.






이번에는 Training examples이 한 개가 아닌 여러 개인 상황을 살펴보겠습니다.


Training examples의 개수를 흔히 으로 표현합니다.


일 때

개의 Training examples은 다음과 같이 표현할 수 있습니다.



따라서 이때 x를 "unroll"해주게 되면 feature vector X는 아래와 같습니다.




이때 Python에서 X.shape 라는 명령어를 입력하게 되면 X의 shape(차원)을 출력해주는데

위의 경우에는 입니다.




또한 결과에 해당하는 y를 "unroll"해주면 아래와 같습니다.


그리고 Y.shape은 입니다.






로지스틱 회귀 (Logistic Regression)



로지스틱 회귀는 지도학습에서 사용되는 학습 알고리즘으로 결과가 0 혹은 1만 존재하는 경우에 사용됩니다.


로지스틱 회귀라는 이름을 들으면 numerical value를 예측하는 regression problem에 사용되는 방법으로 보이지만

이와 달리 binary classification에 사용되는 방법입니다.


그 이유는 Logistic Regression의 결괏값은 0과 1사이의 값에 해당하고

이는 해당 class (0 확은 1)에 속할 확률을 뜻하여 이를 바탕으로 0으로 예측할 지 혹은 1로 예측할 지를 결정하기 때문입니다.


예를 들어 Logistic Regression 결과 1일 확률을 0.7으로 예상했을 경우 

0일 확률이 0.3으로 더 작으므로 해당 observation을 1로 예측하게 됩니다.




이를 수식으로 정리해보도록 하겠습니다.


주어진 에 대해서 를 구하는 것이 목표입니다.


흔히 


이때 Logistic Regression의 핵심은를 만족해야 한다는 것입니다.


이 조건을 만족시키기 위해서 사용하는 것이 'Sigmoide function'입니다.





...작성중