MG
[ML / Andrew Ng] Neural Networks - Model Representation 본문
[ML / Andrew Ng] Neural Networks - Model Representation
MG# 2022. 5. 10. 00:13NN(neural network)의 모델은 위 그림과 같습니다. logistic regression과 마찬가지로 logistic function을 사용하고 feature인 input을 넣어주고 중간의 일련의 과정을 지나 output인 h를 출력한다. 이때 중간에 사용하는 함수를 sigmoid activation function, g(z)라고 부르고 theta를 weights라 부른다. 그리고 첫번째 feature을 x0를 bias unit이라하고 이 값은 1이기에 굳이 나타내지 않기도 합니다.
중간 과정을 자세히 들여다보면 뇌의 뉴런이 서로서로에게 영향을 주듯 보이며 각 노드의 무리를 layer라고 합니다. layer가 나뉘어져 이전 layer가 그 다음 layer에게 영향을 주며 끝까지 이어갑니다. 여기서 첫번째 layer를 input layer, 마지막 layer를 output layer, 그 중간을 hidden layer라고 합니다. 그리고 a는 activation unit이라고 불리며 이 값들이 hidden unit을 이루고 마치 여러 변수가 존재하는 것처럼 활용할 수 있습니다.
위 식은 각 hidden layer를 갱신하는 식이다. 위 그림에서 input layer인 x를 각각의 activation unit에 전달시킨다. 그리고 theta_1 벡터로 이들을 각각 곱하고 모두 더한 뒤 g(z) 함수에 넣는다. 이렇게 얻은 a를 또 다시 모아 이번엔 theta_2 벡터로 곱해 g(z) 함수에 넣으면 h값이 나오게 된다. 여기서 중요한 것은 계산과정이 어떻게 이루어지고 흐름이 어떻게 흘러가는지 이해하는 것이다.
theta 벡터를 다시 정의해보자면 theta_j 벡터는 layer j에서 layer j+1로 가는 함수의 weights이다. 그리고 그 행렬은 layer j+1의 개수 x ((layer j) + 1) 이다. 여기서 1은 bias unit까지 계산한 값이다.
위의 식처럼 앞으로 그 계산이 계속 이어가는 것을 forward propagation이라고 한다. 그리고 이 식을 간단하게 하기 위해 z 변수를 정의한다. z는 g(z) 함수의 input이며 위의 그림에서는 theta와 x의 내적곱이 된다. 그렇기에 a와 g(z)의 관계가 형성되는데 a^j = g(z^j) 이다. 많은 변수가 나오고 이를 또 간단하게 하기 위해서 또 변수가 나온다. 이를 잘 요약해서 정리해 다시 한 번 볼 필요가 있다.
'컴퓨터과학 > AI_ML강의 (Andrew Ng)' 카테고리의 다른 글
[ML / Andrew Ng] Neural Networks - Cost Function ans Backpropagation (0) | 2022.05.17 |
---|---|
[ML / Andrew Ng] Neural Networks - Applications (0) | 2022.05.10 |
[ML / Andrew Ng] Neural Networks - Motivations (0) | 2022.05.09 |
[ML / Andrew Ng] Regularization - Solving the Problem of Overfitting (0) | 2022.05.06 |
[ML / Andrew Ng] Logistic Regression - Multiclass Classification (0) | 2022.05.06 |