Neural Network은 자식새끼 알아서 크라고 냅두는 시골 엄마다

계속 핫한 숯같은 딥러닝, 그 기초 개념인 neural network을 알아보려고 한다. Neural network에 대해서 이래 저래 인터넷을 찾아봐도 잘 모르겠어서, 차근차근 ESL을 통해 neural network를 알아가는 과정을 기록했다. Engineering 입장에서가 아닌 stat/math 입장에서 저술한 책으로, 좋은 평가를 받은 책으로 알고 있기 때문에, 출처는 믿을만 하다고 본다.

Supervised learning의 기본적인 개념 안에서 neural network를 설명할 수 있는 가장 기초적인 방법들부터 그 의미를 풀어나가고자 하는 것이 주 목적이다. 여기서 언급하는 각각의 방법론에 대한 설명은 각종 이론서에 굉장히 잘 설명이 되어 있을 것이기 때문에, "어떻게 계산하느냐"에 대해서는 설명을 최소화하려고 한다.

최대한 numpy/scipy 레벨에서 알고리즘을 코딩하려고 노력했으나 neural network는 PyTorch의 힘을 빌려서 진행할 것이다.

아래 kyso.io에 올려놓은 notebook으로 견문록을 시작한다. 수식이 제대로 나오지 않는 부분이 꽤 있으므로, github이 보여주는 notebook에서 보시길 추천하기도 한다.




참고 자료

ESL 공부를 위한 Jupyter notebook (shameless plug)
github.com/dgkim5360/the-elements-of-statistical-learning-notebooks

PyTorch
http://pytorch.org