Week 05: Neural Network Cost Function
1. Cost Function
Training Set
은 아래와 같다고 하자.
$$ (X^1,y^1),(x^2,y^2),(x^3,y^3)...(x^n,y^m) $$
$L$은 network에 존재하는 Layer의 수이다.
아래와 같은 network 모형에서는 $L$은 4이다.
$s_{l}$은 layer $l$에서의 unit의 숫자이다. 단 여기서 bias unit은 카운트 하지 않는다.
결국, 아래와 같은 값을 가지게 된다.
- $l$ = 4
- $s_1$ = 3
- $s_2$ = 5
- $s_3$ = 5
- $s_4$ = 4
2. Types of classification problems with NNs
Binary Classification
당연히 output은 0,1 이다.
k = 1 이다.
Multi-class classification
k개의 distinct classifications가 존재 한다.
$y$는 k-dimensional vector of real numbers이다.
모습은 아래와 같다.
Cost function for neural networks
일반적인 (regularized) logistic regression cost function은 아래와 같다.
위 식에 약간의 중첩 summation을 추가한 것이다.
이것은 다중 아웃풋 노드를 처리하기 위함이다.
$h_{\theta}(x)$는 k dimensional vector이고 $h_{\theta}(x)_{i}$는 vector에서 i로 참조 되어 진다.
Cost function만 따로 띠어내면 아래와 같다.
결국, k=4라고 할 때 각각의 Logistic regression classifier를 합하게 된다.
트레이닝 데이터 1에서 m 까지에서 가능한 output vector를 모두 합친것을 의미한다.
삼중 summation 되어서 복잡해 보이지만, 그냥 단순히 모든 $\theta$를 합친다는 의미이다.
즉 l layer에서의 j 번째 unit에서 i 번째 input이나 activation과 매칭되는 모든 것들의 합을 구해서 람다 만큼 증폭을 시켜서 overfitting을 줄여주는 것이다.
최종적으로 두개의 식을 합치면 regularized neural network cost function을 아래와 같이 구할 수 있다.
'MOOC > Machine Learning (python)' 카테고리의 다른 글
Week 10: Online Learning (0) | 2017.07.20 |
---|---|
Week 05: 2. Backpropagation Algorithm (1) | 2017.02.05 |
Programming Exercise 4: Neural Networks Learning (0) | 2017.01.02 |
Autonomous Driving Example (0) | 2016.10.12 |
Putting it together (0) | 2016.10.12 |