본문 바로가기

Machine Learning/CNN (ConvNets)

(CNN Study) Logistic Regression, Sigmoid Function

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
Linear Regression의 용도를 먼저 생각해보자.

Linear Regression 은 주어진 x, y를 이용하여 hypothesis 를 계산하고, 학습된 데이터를 바탕으로 미지의 x'에 대한 y'을 예측해 내는 용도로 사용된다고 볼 수 있다.

이 경우는 y값이 정해져 있지 않은 경우 편리하게 사용될 수 있다.
이게 무슨 의미인지 도표를 통해 확인해 보자.

10 

30

20 

40

40 

60

 50  

 70 


위 경우 아래 수식으로 표현할 수 있는데, 

여기서 W = 1, b = 20 을 나타낸다.

위 경우에서 만약 x로 50를 입력할 경우 y는 70로 예측이 가능하다.


자 이제 입력데이터에 대한 값에 의미를 부여해보자.
x는 공부한 시간, y는 점수라고 하고, 점수가 50점 이상이면 pass 미만이면 fail 이라고 할 때, 
위 데이터를 이용하면 우리는 pass, fail 을 아주 쉽게 예측할 수 있다. x가 30 미만일 경우 fail 이 될 것이고, 그 위는 pass 가 될 것이라는 것을 쉽게 예측할 수 있다.

그래프로 표현하면 아래와 같다.



그런데! 학습 데이터가 아래와 같을 경우,

10

30

20 

40

30 

50

 120  

 100 


해당 데이터를 이용하여 hypothesis를 그려보면 다음과 같이 그려질 수 있다.

이 경우 처음 제시하였던 50점을 만들기 위한 시간을 예측해보면 11시간 정도 공부하였을 때 50점 이상 맞을 수 있을 것이라 예측 할 수 있지만 실제 데이터와는 오차가 크게 존재한다고 볼 수 있다.

이것을 해결하기 위해 제안할 수 있는 function 이 sigmoid function 이다.


Logistic function(sigmoid) 는 최소 0 최대 1 로 수렴하는 그래프이며 pass/fail 에 대한 결정을 내리기 위한 training set 을 이용할 때 유용하게 사용 될 수 있다.


위 변경 된 training set을 sigmoid function 을 이용해 그래프로 표현해 보면 아래와 같으며, 


위와 같이 정확한 결과를 얻을 수 있는 것을 볼 수 있다.

(x가 30보다 작으면 fail, x가 30보다 클 경우 pass)


자 그렇다면 해당 그래프에 대한 Hypothesis를 보자.


이에 대한 cost function은 다음과 같디ㅏ.


cost 가 가장 작은 hypothesis를 찾기 위해 이전 linear regression 에서와 동일하게 gradient descent algorithm을 이용한다.



'Machine Learning > CNN (ConvNets)' 카테고리의 다른 글

(CNN Study) Multi-variable Linear regression  (0) 2017.04.02
(CNN Study) Linear Regression  (0) 2017.04.02