티스토리 뷰

728x90

1. Logistic Regression

 이번 글 역시 이전 글과 똑같이 김성훈 교수님의 유튜브 강의를 기반으로 하여 작성하였다. 아래 사진을 클릭하면 동영상 싸이트로 갈 수 있다.


 1. Logistic Regression(Classification)

Logistic Regression의 결과는 yes/no, 1/0과 같이 2개 결과를 가진다. 예로 들어 하나의 변수 x가 있을 때 x의 값 50을 기준으로 작으면 0, 크면 1이라고 한다. 이러한 관계 때문에 데이터의 분포가 Linear Regression과 달라 지고 결과적으로 Linear Regression에서 사용한 Hypothesis(H(x) = Wx+b)를 사용할 수 없다.


 강의에서는 수식을 사용할 수 없는 이유는 2가지를 제시하였다.

 첫번째 이유는 학습으로 인한 오류이다. 아래 왼쪽 사진을 보면 처음 정의했던 기준값이 오른쪽 사진처럼 아주 큰 x값으로 인해 Hypothesis의 기울기가 감소하여 오류가 발생한다.

 

 두번째 이유는 Wx+b 수식으로는 0보다 작거나 1보다 큰 결과 값을 주기 때문이다.


결과적으로 이러한 문제점을 해결하기위해 또 다른 함수가 추가되어야한다는 것을 나타낸다.


 2. Sigmoid

앞에서 설명한 문제점을 해결하기 위해 찾은 수식이 아래와 같고 Sigmoid Function 또는 Logistic Funcion이라고 부른다. 아래 그래프를 보면 z값이 커지면 1로 수렴하고 작아지면 0으로 수렴함다. 우리는 z자리에 H(x)인 Wx+b를 집어 넣어 0에서 1사이의 값으면 치환할 수 있다. 추가적으로 아래 수식에는 b가 없는데 계산을 줄이기 위해 W에 포함시켰거나 H(x) 정의 시 따로 정의하지 않았을 수도 있다.

      


 3 . Cost 함수

 H(x) = Wx + b 수식에 sigmoid 함수를 적용하였기 때문에 기존의 cost 함수도 변경되어야한다. 기존 Linear Regression의 Cost 함수는 왼쪽 아래와 같이 둥근 밥그릇? 모양이지만 Sigmoid 함수가 적용된 수식을 같은 Cost함수에 적용시키면 울퉁 불퉁한 밥그릇 모양인된다. 따라서 왼쪽 그래프에서는 Local 최소값과 Global 최소값이 같지만 오른쪽 그래프에서는 다르기 때문에 학습 시작점에 따라 Gradient decent algorithm이 찾아가는 최소 Cost값이 달라진다.



아래 사진은 새로운 Cost 함수이다.


새로 가져온 H(x)에는 지수(e)가 들어가기 때문에 지수를 가장 처리하기 쉬운 log함수를 사용한다. H(x)는 0~1 값이 나오지만 log0은 극한이기 때문에 y(real)값에 따라 수식이 나뉘어 진다.


(1) y(real)가 1일 때

 H(x) = 1일때 즉 cost 함수의 x가 1일 때 cost 함수의 y는 0이 된다.

▪ H(x) = 0일때 즉 cost 함수의 x가 0일 때 cost 함수의 y는 무한대(∞)가 된다.


(2) y(real)가 1일 때


 H(x) = 0일때 즉 cost 함수의 x가 0일 때 cost 함수의 y는 0이 된다.

▪ H(x) = 1일때 즉 cost 함수의 x가 1일 때 cost 함수의 y는 무한대(∞)가 된다.


추가적으로 y*A + (1-y)*B 공식(y가 1이면 A, 0이면 B)을 이용하여 하나의 수식으로 나타낸다.


댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함