0. 설명
로지스틱회귀에서 사용하는 loss function인 binary cross entropy가 어떻게 만들어졌는지 살펴본다
1. loss function의 의미
loss function은 우리가 원하는값이 나오면 작은값이 나와야 하고, 우리가 원하지 않은 값이 나오면 커야 한다.
즉 결과값이 0이 나와야 하는데 1이나오면 loss는 커져야 하고, 0이 나오면 loss는 작아져야 한다.
이를 식으로 나타내면 아래와 같다.
2. log함수
그런 역할을 해주는 식이 log함수이다. 식은 아래와 같다
즉 label이 0이면 0에 가까워질수록 작아지고, 1에 가까워질수록 커지는 -log(1-x)를 loss function으로 쓰고
label이 1이면 1에가까워질수록 작아지고, 0에 가까워질수록 커지는 -log(x)를 loss function으로 쓰는 것이다.
이를 식으로 나타내면 아래와 같아진다.
3. 한줄 식으로 쓰기
조건문을 달지않고 한줄의 식으로 쓰기 위해선 label(y==실제값)을 아래와 같이 적절하게 곱해주면된다.
y가 0일때는 (실제값이 0일때는) log(y_hat)이 없어지면서 0일때 loss function인 log(1-y_hat)만 남게되고
y가 1일때는 (실제값이 1일때는) log(1-y_hat)이 없어지면서 1일때 loss function인 log(y_hat)만 남게 되는 것이다.
4. back propagation
back propagation을 적용하면 위와 같고 이를 이용해서 파라미터를 개선하면 아래와 같은 식으로 표현된다.
그리고 이 식은 선형회귀에서 파라미터를 개선할때의 모양과 똑같은 모양이 된다.
* 출처 : 패스트캠퍼스 "수학적으로 접근하는 올인원 딥러닝 패키지" 신경식 강사