Are Neural Nets better than Random Forests, given the increase in computation time?




While going through the discussion forums in Kaggle (handwritten digit problem) I cam across the below post:

I wanted to know if better accuracy in neural nets is achieved(as compared to random forests) at the expense of computational efficiency.21 hrs seems too long a time to me for an algorithm to run.Random forest had taken around 15-20 mins for my case and I had got an accuracy rate of 96.55%.
If neural nets take so much of time,when do we kind of use this technique.



Neural nets are expected to be more computation intensive algorithms. However, I am pretty sure that this 21 hours can be reduced.

  1. I am not sure whether the person here has used any back propagation, which should reduce the time to convergence.
  2. There are libraries like NVIDIA CUDA, which allow you to run neural nets using GPU, which reduces the time required for these computations significantly. You can try them for deep neural nets.
  3. I have heard people use Torch Lua for Neural nets very widely. Google, FB, Hinton’s lab, all use a version of LUA. You can give that a try as well.

Now, coming to the question, why do we use Neural nets?

Because their performance is just far better than any other algorithm in a lot of use cases. For example, voice recognition and image recognition, see the best results and efficiencies with use of Neural nets only.

Also, you have to remember that the result of the competition and use of image / voice softwares in life are both evaluated on accuracy - so even if the accuracy comes at higher computational costs, you will go ahead with them.