2023. 9. 8. 23:57ㆍGoogle ML Bootcamp/1. Neural Networks and Deep Learning
Cost function을 왜 사용하는지.
y 는 true.
p(y|x) 란 x가 주어졌을 때 y=1일 확률을 의미
- binary classification의 경우 y=0 or y=1 두가지 경우밖에 없음
따라서 y=1 -> p(y|x) = y*
y = 0 -> p(y|x) = 1-y*
이걸 하나의 방정식으로 표현하면 y* **y * (1-y*) **(1-y)
왜? y=0과 y=1을 대입했을 때 우리가 원하는 p(y|x)가 나오기 때문.
이때 양변에 log를 취해주게 되면 우리가 앞서 정의한 loss function이 나오게 된다.
log p(y|x) = y log(y*) + (1-y) log(1-y*)
여기까지는 loss를 구했을 뿐인데, 우린 이걸 최소화 하고 싶으므로 앞에 음수를 표기한다
min log p(y|x) = - [ y log(y*) + (1-y) log(1-y*) ]
여기까지는 loss function을 알아보았다.
how about cost function (= sum of loss function about m examples)
- 각 loss function을 통해 나온 m개의 p(y|x)를 모두 곱한다.
- cost가 최소가 되기 위해서는 sum of loss function이 최대가 되어야한다(음수가 붙어있으므로)
- 따라서 최대우도법과 같은 수학적 통계기법을 활용하여 cost function을 정당성을 입증한다.
'Google ML Bootcamp > 1. Neural Networks and Deep Learning' 카테고리의 다른 글
23. Neural Network Representation (0) | 2023.09.09 |
---|---|
22. Neural Networks Overview (0) | 2023.09.09 |
20. Quick tour of Jupyter/iPython Notebooks (0) | 2023.09.08 |
19. A Note on Python/Numpy Vectors (0) | 2023.09.08 |
18. Broadcasting in Python (0) | 2023.09.08 |