I'm trying to get a basic layman's grasp of deep belief networks and deep learning in general. I've read a few papers and watched a few presentations, but there's one aspect I'm hoping someone can clarify.

From what I gather, one of the enormous benefits or promises of deep learning is the ability to perform feature selection and pre-processing automatically, without requiring a lot of domain knowledge or external feature manipulation from the user. In addition, larger feature sets seem to improve performance.

I was reading over an interesting paper, titled, "Applying deep learning to enhance momentum trading strategies in stocks," Takeuchi and Li (2013)." In the paper, the authors were able to improve performance over the well known momentum based approach to portfolio selection (jagadeesh et al.). But rather than allow the learner itself to discover and manipulate features, they still manually decided on what features to use (e.g. 12 month and 20 day momentum) as inputs to the learner.

Does this mean that we will still be required to use existing domain knowledge and pre-processing in order to feed features to a belief network, or is the idea that some day, we could just throw huge data sets into the network (explosive time series, etc) and let it do all the feature selection and pre-processing on its own. I'm familiar with data dredging, and the perils, but again, I'm just trying to understand if the promise of deep belief networks could conceptually handle this and minimize the need for domain expertise in some learning problems. Or did I misunderstand the promised benefit of greatly reducing the need for specialized feature engineering as one of the major benefits.

Here's an example blog that makes a similar assertion. "What makes Deep Belief Networks so special?...DBNs are able to discover many of these features by itself from the input data. This greatly reduces the amount of Feature Engineering work required freeing up the data scientist to search for new and higher level features, or go skiing."

  • $\begingroup$ From what I've read so far - rather than obviating the need for domain knowledge, DL puts the requirement at a higher level of abstraction. E.g. for image analysis the idea of taking patches of images is a particular piece of domain knowledge, but a more general one than hand-crafted features. $\endgroup$ Jan 2, 2015 at 8:56

1 Answer 1


You are right - Deep architectures should be able to learn those features that they 'handcrafted'.

Honestly - there is way too much hype around deep learning. To an extend where people are just using them for no reason. In fact, I've seen several papers where people handcrafted features then used deep architectures. This indeed, is sort-of against the entire philosophy of deep learning.

However - the deep architecture would be able to still learn abstractions between the handcrafted features. Whether this is useful or not, is up to the application at hand.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.