딥러닝:이진분류
틀:딥러닝이론 딥러닝을 위한 자료. 이론에 대해 다룬다.
개요
맞느냐 아니냐 2가지의 분류.
역사
퍼셉트론>아달린>로지스틱회귀[1]
여러 유닛 사용하기. 위에서 본 것은 1차방정식에 대한 가중치만 보았지만... 입력값이 여러개일 때가 있다.
그런 경우엔 y=w_1*x_1 + w_2*x_2 + ...+b 형태로 다양한 입력값을 받아 예상하는 함수를 만들 수 있다. 그리고 뉴런은 이러한 입력값들을 받아 신호를 보내거나, 그렇지 않거나.. 두 가지로만 반응한다. 이렇게 여러 가지 입력을 받는 것은 성공. 그러나, 함수의 형태가 1차방정식(선형)의 형태다. x^2, x^n 형태로 반응할 때에 대해선 대응할 수가 없다. 그래서 이 방정식에 더해 활성화 함수라는 것을 사용한다. 선형방정식만 표현되는 한계를 극복하기 위해 활성화함수는 비선형 방정식을 사용하고, 모든 x^n 형태에 대해 포함하기 위해서 e^x 꼴의 함수를 사용한다. 일반적으로 로지스틱 회귀에선 [1/(1+e^-z)] 형태의 시그모이드 함수를 사용한다.
게다가, 0과 1만 판단하는 함수에서 얼마나 잘 예측하여 정답을 얻은 것인지 판단할 재료가 필요하다. 예측을 얼마나 가깝게 했는지에 따라 학습의 정도를 달리해야 하기 때문에. 또한, 시그모이드함수를 사용하면 0~1 사이의 값을 얻어 예측확률이라 해석할 수도 있다.
시그모이드 함수
시그모이드함수가 만들어지기까지..
오즈비
성공과 실패의 비율을 나타낸 것. 성공확률/(1-성공확률) 의 식이다.
로짓함수
오즈비는 성공확률이 0.9가 되면 급격하게 커진다. 때문에 여기에 자연로그를 취해보는데, 이를 로짓함수라 한다. 성공확률이 0.5일 때 0이 되고, 0, 1일 땐 각각 무한대로 커진다.
로지스틱 함수
로짓함수=z 라 하고, 이를 성공확률에 대해서 정리하면 성공확률은=1/(1+e^-z) 의 관계가 얻어진다. 따라서 이를 성공확률로 해석한다. 그리고 이 모양이 s자 형태가 되는데, 이 모양으로부터 시그모이드 함수라고도 부르게 되었다.
학습은 로지스틱함수의 결과값으로 이루어진다.
이진분류가 목표였기 때문에 -무한~+무한 사이의 값을 통제할 방법이 필요했고, 로지스틱 함수가 조건에 잘 들어맞았다. 그리고 이 값이 0.5보다 크면 1, 작다면 0으로 처리해 이진분류를 할 수 있게 되었다.
이제 손실함수에 대해 정의해야 한다. 다중분류를 위한 크로스엔트로피 손실함수를 이진분류버전으로 개량하여 사용하고 있다. 이 함수를 변형하여 실제 정답에 따라 학습시킨다. 정답이 1인 경우 -ln(활성화함수의 출력값), 정답이 0인 경우, -ln(1-활성화함수의 출력값)
손실함수의 미분은 87에 안내. 가중치와 절편 업데이트는 91페이지에.
- ↑ Do it! 정직하게 코딩하며 배우는 딥러닝 입문. 77p