이번 포스팅에서는 Neural Network의 기본을 알아본다.
Introduction to a neural nework
single neuron에서 neural network 의 구조는 다음과 같이 생겼다.
x는 input, w는 weight, b는 bias.
f는 activation function이다. activation func의 예시를 ReLU라고 할 때, 뉴런 하나를 통과한 결과를 h(x)라 할 때 다음과 같다.
우리는 ReLU와 같은 activation 함수를 통해 모델의 비선형성을 확보할 수 있다. 또한, 이와 같은 layer를 stack함으로 모델이 더 복잡한 문제를 해결할 수 있도록 한다.
모델을 하나 더 쌓은 경우 다음과 같은 모습이 된다.
이제 여러개의 feature를 neural network에서 어떻게 다루는지 살펴보자.
각 feature를 x1...x5라고 하고, 3개의 hidden node를 이용해 2 layer neural network를 구성했다고 하면, 다음과 같이 만들어볼 수 있을 것이다.
이때 각 hidden node와 h(x)단계에서 식은 다음과 같을 것이다.
Fully connected neural network
Fully connectef neural network는 위의 상황보다 더 generic parameterization된 방식이다.
한마디로 우리가 feature들의 정보와 원하는 결과의 관계를 잘 알 수 없으므로 모든 node에서 모든 information을 사용하는 것이다.
어떤 형태인지 그림으로 조금 더 쉽게 이해를 해볼 수 있다.
Vectorization
거대한 neural network연산에서 loop문을 반복하는 것은 매우 큰 낭비이다. 우리는 matrix multiplication을 통해 결과를 얻는다. 따라서 metrices의 형태를 잘 이해해야 한다.
조금 더 일반화 하여 r layer fully connected neural network에서 matrix크기는 다음을 통해 이해할 수 있다.
'ML' 카테고리의 다른 글
[ML] Lab 6 (0) | 2023.12.04 |
---|---|
[ML] k-Nearest Neighbors (0) | 2023.12.03 |
[Machine Learning] Decision Trees (0) | 2023.10.18 |
[ML] Generative learning algorithm (0) | 2023.10.08 |
[ML] Gaussian Discriminant Analysis (0) | 2023.09.23 |