MachineLearning - Classification(1)

2019. 2. 1. 17:02Artificial Intelligence

* 첨부된 자료의 모든 저작권은 Coursera에 있음을 미리 밝힙니다.





Machine Learning - Classification (1 Vs 1)



save image



이전까지 살펴모았던 Linear Regression 모델은 주어진 데이터를 바탕으로 선형 회귀모델을 예측해 내는 것이었다. 

즉, 연속적인 파라미터의 값들에 대해 y값(결과값)을 추론해 낼 수 있는 가설 함수를 찾고 데이터를 입력하여 학습을 시키면서 가설함수가 예측한 값과 실제 데이터와의 오차를 줄이는 과정을 통해 더욱 정확한 가설함수를 찾아내는 것이다.


이번에 살펴볼 Classification에 대한 가설함수의 모델도 위와 비슷한 과정을 거친다. 하지만 Classification과 Regression 모델이 갖는 서로 다른 특성때문에 함수를 예측하는 과정에서 본질적인 차이가 있을 수 밖에 없다.

Classification 은 말 그대로 '분류'하는 것이다. Regression 모델은 알고리즘이 Linear Regression을 통해 가설함수 y = 2x+1을 예측했다면, x가 2일 때는 y = 5, x가 -1일 때는 y = -1을 예측한다. 하지만 Classification 모델에서는 어떤 데이터가 주어졌을 때 그 데이터의 결과를 이산적인 값으로 판단한다. 

다시말해서, x의 값에 따라서 y의 값도 연속적으로 변하는 것이 아니라, 데이터를 특정 경계선으로 나누고 그 경계선의 어느 쪽에 위치하는지를 판단하는 모델이라는 것이다.

이 메일이 스팸인지 아닌지, 이 세포가 악성 종양인지 아닌지를 판단하는 것이므로 기존의 Llinear Regression 모델과는 조금은 다른 접근법을 취해야 할 필요가 있다. 



save image



Classification 모델도 Linear Regression 모델이 예측하는 방법과 비슷한 방법을 사용한다. 다만 조금 차이가 있는 것은, 선형 방정식을 예측하여 파라미터 값을 대입하고 그 결과를 해석하는 과정에서 Classification 모델은 그 결과 자체를 출력하지 않고, 그 결과값이 경계선의 어느 위치에 있는지를 판단하여 1인지 0인지를 출력한다. (1 vs 1인 경우) 이 때, 가설함수의 치역의 범위가 0<h(x)<1의 범위를 갖도록 함수를 조정할 수 있다면, 가설함수의 결과값을 토대로 1인지 0인지 판단하기가 상대적으로 간단해진다.

그래서 Classification 모델에서는 h(x)가 [0,1]의 치역을 갖도록 함수를 조정한다. 


위에 제시된 함수가 바로 그것인데, 이 함수는 "Logistic Function" 혹은 "Sigmoid Function"이라고 불리며, 정의역의 값에 상관없이 치역이 항상 [0,1]범위 내에 위치하여 가설함수가 예측한 값을 토대로 결과값이 0인지 1인지를 판단하기가 상대적으로 쉬워진다는 특징을 가지고 있다. 



save image



Logistic Function 을 이용하여 가설함수를 세우면,  파라미터의 값이 0이상일 때 가설함수의 값이 0.5 이상이 되고, 

결과적으로 y = 1인 값을 도출하게 되며 파라미터의 값이 0 이하일 때 가설함수의 값이 0.5 이하가 되고, 

결과적으로 y = 0인 값을 도출하게 된다.



save image


Decision Boundary란, 가설함수를 설정하고 Gradient Descent등의 방법을 통해 theta 벡터를 구하게 되면, 그 벡터값을 파라미터에 곱해서 나온 식들로 표현되는 일종의 경계선을 의미한다. 










반응형