https://www.youtube.com/watch?v=o3x_AYc2kxQ&list=PLiPvV5TNogxIS4bHQVW4pMkj4CHA8COdX&index=8
비선형 classification의 경우 feature들의 차원 n에 따라 가설 함수가 복잡해질 수 있다. 그리고 이로 인해 파라미터의 차원이 높아질 수 있으며, 시간 복잡도가 매우 높아질 수 있기에 이는 매우 비효율적이다.
위 문제점을 해결하기 위해 Neuron 신경망을 모방하여 머신러닝에 적용한 Neural Network 개념이 나왔다. 아래 그림은 하나의 Logistic Unit을 보여주는 예시이다.
- input wire :
- weights :
- output wire :
bias unit 는 1로 설정한 후, 입력 벡터 에 대해서 activation funtion 값을 구한 후, 해당 activation function 값으로 최종 가설 함수 값을 구한다.
다음은 여러 개의 Neuron을 갖는 Neural Network의 예시이다.
- 위 그림에서 Layer 1은 "input layer"를 의미한다.
- 위 그림에서 Layer 2은 "hidden layer"를 의미한다.
- 위 그림에서 Layer 3은 "output layer"를 의미한다.
- layer 1에서 각각의 파라미터 , , 를 입력값과 연산하여 activation func.에 적용한 후 , , 을 구한다.
- layer 2에서는 , , 을 입력값으로 보고 파라미터 , , 와 연산하여 activation func.에 적용한 후 다음 값()을 구한다.
- layer 3은 output layer이므로 정의된 함수에 의해서 최종값을 구한다.
자세한 내용은 다음 그림과 같다.
- : 번째 레이어에서의 유닛 들에 대해서 activation func.를 적용하여 나오는 값.
- : 번째 레이에서 번째 레이어로 넘어갈 때 유닛들과의 연산에 적용되는 weights 행렬.
- 따라서 의 차원은 "다음 레이어의 유닛 수 x (현재 레이어의 유닛 수 + 1)"이다. 여기서 +1은 bias unit때문에 1을 추가한 것이다.
아래 그림은 위 과정을 벡터로 표현한 예시이다.
- 유닛과 weight의 연산값들의 벡터를 로 표현하였다.
- : 1번째 레이어에서 weights 과 units 을 연산하여 나온 값들의 벡터.
- 유닛 값들의 벡터를 로 표현하였다.
- : 3번째 레이어 유닛 값들의 벡터로, 2번째 레이어에서 에 대하여 activation func.을 적용한 결과값들의 벡터.
따라서 가 다음 레이어의 입력값으로 적용한다는 것을 알 수 있다.
그리고 hidden layer는 다양하게 존재할 수 있으며, 따라서 neural network의 구조도 다양하게 존재할 수 있다.
이제 위 개념들을 가지고 XOR/XNOR 연산에 Neural Network를 적용해보자. 예시는 아래 그림과 같다.
- 두 개의 입력값 과 가 존재한다.
- 만약 과 가 서로 다르다면 , 같다면 로 본다.
위 과정을 위해 먼저 AND 연산에 대해서 적용해보자.
- AND 연산에서 가설 함수는 다음과 같다.
- 따라서 우측 아래처럼 AND 연산에 해당하는 테이블을 구할 수 있다.
다음으로 OR 연산이다.
- OR 연산에서 가설 함수는 다음과 같다.
- 마찬가지로 우측 부분과 같이 OR 연산에 해당하는 테이블을 구할 수 있다.
이제 NOT 연산에 대해서 적용해보자.
- NOT 연산에서 가설 함수는 다음과 같다.
- 우측 부분에서 NOT 연산에 해당하는 테이블을 확인할 수 있다.
- 또한, NOT 연산을 통해서 (NOT ) AND (NOT )를 구할 수 있다.
이제 위 연산들을 가지고 조합을 해서 XNOR 에 대한 전체 Neural Network를 구성해보자.
1. (= " AND ") ->
2. (= "(NOT ) AND (NOT )") ->
3. (= " OR ")
또한, Neural Network는 여러 개의 클래스에 대한 분류도 가능하다. 위처럼 value가 결과값을 나오는 게 아니라 벡터가 결과값으로 나온다.
예시에서 결과 벡터의 차원은 으로, 벡터에는 pedestrian, car, motorcycle, etc.에 대한 각 값이 포함된다.