Neural Networks
: Cost function & Back Propagation
아래 내용은 Andrew Ng 교수님의 강의와 자료를 기반으로 학습한 내용을 정리하여 작성하였습니다.
개인의 학습 내용이기에 잘못 해석 및 이해하고 있는 부분도 있을 수 있으니, 다양한 자료를 기반으로 참고하시는 걸 추천드립니다.
지난 글까지 Neural Networks의 Model과 간단한 예제들을 확인해 보았습니다. 이번 글에서는 Neural networks의 Cost function과 오차를 줄이기 위한 방법인 BackPropagation에 대해 알아보겠습니다.
Cost function
Cost function은 앞서 Linear regression과 Logistic regression에서 그 개념을 살펴보았습니다. 우리가 만든 Model, 즉 hypothesis function이 입력에 대해 원하는 출력을 얼마나 정확하게 나타낼 수 있는지 오차를 표현하는 함수로서 Model이 얼마나 잘 표현되어 있는지를 나타내는 함수였습니다.
Back propagation
Cost function은 앞서 Linear regression과 Logistic regression에서 그 개념을 살펴보았습니다. 우리가 만든 Model, Learning algorithm이 제대로 동작하기 위해서 우리는 Cost function이 최소화가 되도록 계속해서 반복해 왔습니다. 이번에도 마찬가지로 Cost function이 최소가 되도록 하는 방법에 대해 알아보겠습니다. 앞에서 Cost function을 정의 했었습니다. J를 최소화 하는게 저희가 목표이고, J를 최소화 하기위해선 J와 J를 theta에 대해 편미분한 수식이 필요합니다. 어떻게 정의해야 할까요?
먼저 J를 구하기 위해서는 Forward propagation을 이용합니다. Forward propagation은 Input layer부터 Output layer 방향으로 진행하는 방식으로, 입력으로 제공된 Training data를 이용해서 Cost function을 구할 수 있습니다. 아래와 같이 한 layer 씩 계산해 나아가는 것 입니다. Log 함수를 이용하는 방법은 Logistic regression에서 한번 언급하였습니다. 위의 Cost function은 Non-convex 형태이기에 Convex형태로 만들어 주기 위해 Log 함수를 사용합니다.
'AI > Machine Learning' 카테고리의 다른 글
Building a spam classifier (0) | 2018.03.18 |
---|---|
Advice for applying machine learning (0) | 2018.02.13 |
Neural Networks - Model representation example (0) | 2018.02.05 |
Neural Networks - Model representation (0) | 2018.01.30 |
Non-linear hypotheses (0) | 2018.01.30 |