본문 바로가기

Convolutional Neural Network (CNN) 딥러닝 시대에 적합한 컨볼루셔널 뉴럴 네트워크입니다. 매트랩으로 되어있고, 스탠포드 응 교수님의 UFLDL의 CNN을 누군가 풀어놓은 것을 기반으로 만들었습니다. (링크: http://deeplearning.stanford.edu/wiki/index.php/UFLDL_Tutorial) MNIST를 사용하고, 원래는 mean-pooling과 sigmoid를 써서 성능이 97%정도가 나왔는데, max-pooling과 ReLU를 쓰니 98.5%가 나오더군요. 역시 대세인 것에는 이유가 있습니다. 다만 ReLU를 쓸 경우 임의의 weight에 대해서 학습이 안되는 현상이 있어서 rng로 랜덤 시드를 고정하고, Gaussian weight를 줄 때 variance를 약간 수정했습니다. 현재 세팅에서 돌리면 잘 돌.. 더보기
Deep Neural Network (DNN) 딥러닝 시대에 '약간' 뒤쳐지는 Deep Belief Network (DBN)으로 pre-train 한 Deep Neural Network (DNN) 입니다. Multi-layer perceptron이라고 할 수도 있겠지만, pre-training이 추가됬으니까요. 물론 요즘엔 pre-training을 거의 하지 않는다고 합니다. ReLU가 나와서, SGD로 학습을 시키면 잘된다고 합니다. 그림 출처는 아래 링크 DNN 학습 코드는 http://www.mathworks.com/matlabcentral/fileexchange/42853-deep-neural-network 를 사용했고, http://enginius.tistory.com/606 와 같은 spiral data를 만들어서 분류 실험을 하였습니다... 더보기
Boosting Methods 딥러닝 시대에 시대를 역행하는 부스팅 방법론들입니다. - AdaBoost (https://en.wikipedia.org/wiki/AdaBoost) - Boosted Random Fern Ensemble Method는 크게 Bagging과 Boosting으로 나뉘며 각 특징은 다음과 같다. 쉽게 생각해서 Bagging은 머리가 좋지만 고집이 쎈 놈들을 모아다가 의견의 평균을 내는 것이고, Boosting은 머리 안좋은 놈들을 많이 모아다가 특정 문제마다 강한 애들을 학습 데이터를 통해 골라서 각 사람의 의견의 가중치를 줘서 결정을 하는 것입니다. (개인적인 해석임) 학습에 사용된 데이터와 검증에 사용된 데이터입니다. 실험 결과 ======== Boosted Random Fern (7-depth 50 tre.. 더보기
산낙지를 잘 먹는 아이 더보기