[이 자료는 Coursera Stranford University Andrew Ng 교수님의 강의 자료를 활용하였습니다.]


* Model Representation - (1)


선형회귀와 로지스틱회귀를 배웠으니 이제 뉴럴 네트워크로 들어가보도록 하겠습니다. 뉴럴 네트워크의 기본적인 아이디어는 아래 그림과 같습니다.

1



위의 그림은 뇌 안에 하나의 뉴런 구조를 보여줍니다. Dendrite 라고 불리는 부분이 신호를 입력받고 Axon 이라는 부분을 통해 다른 뉴런으로 신호를 출력합니다. 그래서 Dendrite 는 input wire, Axon 는 ouput wire 라고도 불립니다.

3



2


뉴럴 네트워크의 몇가지 간단한 표기법에 대해서 보겠습니다.
위 그림에서 superscript 는 몇번째 레이어인지 나타내고 subscript는 레이어의 몇번째 요소(혹은 activation)인지 말해줍니다. 이전에 배웠던 회귀모델들과는 달리 theta 가 대문자로 바뀌었는데 이것은 theta 가 더 이상 벡터가 아닌 행렬로 표현된다는 것을 의미하고 이 행렬을 weights 라고 부릅니다.
위 그림의 2번째 레이어에 있는 hidden 레이어 유닛들을 구하기 위해서는 1번째 레이어에 있는 unit들과 첫번째 레이어의 weight matrix가 필요합니다. 단순 행렬 연산이므로 어려워 보이지는 않습니다.

* Model Representation - (2)


11


Forward propagation 은 뉴럴 네트워크의 기본적인 메커니즘 중 하나입니다. 말 그대로 앞 단계의 레이어들을 지나가면서 연산을 한다는 뜻입니다. 2번째 레이어에 있는 유닛들 a1,a2,a3가 1번째 레이어에 있는 유닛들 그리고 weight 과 어떻게 행렬 연산이 되어야 하는지 확인하고 z superscript 가 어떤 연산과 등가식인지 확인해보는 것이 중요해 보입니다.

22

회귀 모델에서는 내가 구하는 모델이 선형회귀 모델인지 로지스틱회귀 모델인지 또한 feature 들을 조절할 때 어떤 feature 를 넣고 뺴야하는 지가 굉장히 까다로웠습니다. 하지만, 뉴럴 네트워크에서는 내가 가지고 있는 feature 들을 입력하기만 하면 다음 단계들의 레이어에서 네트워크만의 고유 feature 들을 생성하고 처리하게 되서 회귀 모델이 가진 문제점을 쉽게 해결할 수 있을 것처럼 보입니다.

* Multiclass Classification


뉴럴 네트워크를 이용해서 다중 분류 구현을 할 때의 아이디어를 생각해 봅시다.

2


입력 레이어에 유닛들을 넣어주면 히든 레이어를 거쳐서 hypothesis 벡터가 나오게 됩니다. 보행자,차,오토바이,트럭일 때 4가지 경우가 나올 수 있기 때문에 4차원 열 벡터를 만들 수 있는 뉴럴 네트워크를 구현해주면 될것 같습니다.

3

우리가 가지고 있던 Training set 을 입력단에 넣어주고 기계를 학습시킬 때 가설 벡터가 4차원이 나와야 하고 예측값과 실제값이 같은지 만약 틀리다면 어느 정도의 정확도를 가지고 있는지 확인하고 정확도를 높이기 위해서 레이어나 유닛들을 조절해주면 됩니다. 아직 아이디어 부분이기 때문에 구현에 대해서는 나중에 다뤄질 것 같습니다.