반응형

분류 3

[Tensorflow] How to Retrain Inception’s Final Layer for New Categories

modern object recognition models은 수백만개의 파라미터의 값과 full train을 하는데 걸리는 시간이 주 단위로 걸리게 된다. Transfer learning은 여러개의 categories로 이루어진 set을 fully-trained model인 ImageNet을 대상으로, 새로운 클래스를 추가해서 기존에 존재하는 weights를 다시 retrain하는 것을 말한다. 요약해서 말하면, 이미 트레이닝이 된 모델의 수백만개의 parameters를 그대로 사용하는데, 새로운 클래스를 추가하므로서, 기존 weights를 retrain하는 것을 Transfer learning이라고 한다. 예를 들어서 마지막 final layer를 retraining하고, 그 나머지 모든 layer에 ..

[xgboost] XGBoost 설치 및 데모

Tensorflow와 함께 요즘 핫한 xgboost는 ensemble classification을 해주는 플랫폼이다. 기본 베이스로 decision tree를 사용하고 있다. 학습시키는것도 매우 간단하게 몇개의 파라미터만 넣으면 학습이된다. 근데 더 웃긴건 성능이 잘나온다는 거... 요즘 딥러닝도 뜨고 있지만 xgboost도 성능이 좋아서 kaggle같은 competition에서도 많이 사용하니 참고하면 좋을것 같다. github.com/dmlc/xgboostxgboost (decision tree) 설치하기 python의 pip로 설치가 가능하다. 설치를 하기 전에 c++ compiler가 필요하기 때문에 설치를 해야 한다. mac에서는 $ brew install gcc —without-multilib..

데이터분석 2017.02.07

[Scikit-learn] large data set 학습시키는데 발생하는 문제

scikit-learn을 이용해 기존에 학습하는 데이터 셋이 작을때는 SVC에서 kernel로 모델을 생성했다. 하지만 샘플의 개수가 늘어남에 따라 문제가 생기기 시작했다. 그 이유는 간단하다. scikit-learn에서 이미 샘플의 수가 많으면 동작이 안된다고 명시하고 있다. 정리하면 SVC kernel은 scalable하지 않기 때문에, training set의 small subset에 적합하고, incremental/online learning을 지원하지 않는다. oneline learning은 간단하게 말하면, 모든 데이터를 한번에 모델을 학습시키는데 사용하지 않고, batch 형태로 데이터를 나누어서 학습시킨다. 기존에는 한번의 batch 작업으로 모델을 생성했다면, 여러번의 batch로 모델을..

데이터분석 2017.02.07
반응형