나는 MNIST, CIFAR, STL-10 등에 Random Forests를 적용하는 것에 대한 문헌을 찾지 못했기 때문에 순열 불변의 MNIST로 직접 시도 할 것이라고 생각했습니다 .
에서 R , 나는 시도했다 :
randomForest(train$x, factor(train$y), test$x, factor(test$y), ntree=500)
2 시간 동안 실행되었으며 2.8 % 테스트 오류가 발생했습니다.
나는 또한 시도 scikit가 배울 와 함께,
RandomForestClassifier(n_estimators=2000,
max_features="auto",
max_depth=None)
70 분 후 2.9 %의 테스트 오류가 발생했지만 n_estimators = 200 대신 7 분 후에 2.8 %의 테스트 오류가 발생했습니다.
OpenCV를 사용하여 시도했습니다.
rf.train(images.reshape(-1, 28**2),
cv2.CV_ROW_SAMPLE,
labels.astype('int'))
6.5 분 동안 실행되었으며 rf
예측에 사용 하면 테스트 오류가 15 %가되었습니다. 랜덤 포레스트에 대한 파이썬 바인딩이 params
적어도 버전 2.3.1에서 인수 를 무시하는 것처럼 보이기 때문에 얼마나 많은 나무를 훈련했는지 알 수 없습니다 . 교체 때문에, 내 의심 - 나는 또한 분류 문제를 해결하려는 것이 아니라 회귀보다 OpenCV의을 명확하게하는 방법을 알아낼 수 astype('int')
로하면 astype('float32')
동일한 결과를 제공합니다.
에서 신경망 의에 대한 순열 불변 훈련은 아마 하나 개의 CPU에 2 시간 이상이 걸릴 것이지만 MNIST 벤치 마크, 예술의 상태는 0.8 % 테스트 오류입니다.
랜덤 포레스트를 사용하는 MNIST에서 2.8 % 테스트 오류보다 훨씬 더 잘 수행 할 수 있습니까? 일반적인 합의는 랜덤 포레스트가 최소한 커널 SVM만큼 우수하다는 것이며 1.4 % 테스트 오류를 얻을 수 있다고 생각했습니다.