Let's say I have a neural network with many features, but the features can be grouped into roughly 4 subsets A, B, C, D
. I want to train the neural network using features A, B, C
and compare how correlated the output is with the full neural network. It's kind of like cross validation, but using hold-out features instead of hold-out samples. The idea is to learn which features are affecting the output the most. Is this a viable idea, and is there any literature in this direction?
3 Answers
It is a strange thing to do.
The essence of Neural network is automatically do feature selection and transformation according to training samples. Why we want to do that manually?
One way I can think about the reason is doing manual feature hold out can be used to regularize the model to prevent over fitting. Is that your intention? If Yes, directly change the regularization parameter may be a better option.
Here is a tutorial for regularized neural network. The regularized cost function can be found around 3:15 in the video.
-
$\begingroup$ Let me give an example. Let's say that I am trying to predict the stock market, and I have features related to the health of the economy, and another group of features related to the state of politics. Now if my NN outputs opposite results when trained on feature set A vs. feature set B, this could indicate tumultuous times ahead for the stock market, and I should be careful. Does this make sense? $\endgroup$ Commented Nov 8, 2016 at 3:24
-
$\begingroup$ @EdwardYu not really. are you trying to say you are afraid of some not so good features or very good "cheating" features? $\endgroup$ Commented Nov 8, 2016 at 3:26
-
$\begingroup$ I am afraid of features making conflicting predictions - that is, a neural network trained on feature set
A
will produce opposite output from a neural network trained on feature setB
. However, training onA + B
still gives good results. $\endgroup$ Commented Nov 8, 2016 at 3:36 -
$\begingroup$ @EdwardYu conflicting features will never be a problem. The training will select useful features and combination and complicated transformation of features automatically. $\endgroup$ Commented Nov 8, 2016 at 3:38
Agree with @hxd1011!
One occasion that I think it makes sense is when your dataset is not big enough for your neural network to figure out the relationships between inputs and output(s) by itself. In this case, you might want to try feeding the neural network with a subset of your inputs.
I have a similar issue. I have Calculation, based on a formula that depends on X which in turn depends on A, B, C, D as subset features. The prediction has to be made based on X.
A good analogy can be delivery time calculated by FedEx based on Postal Code. While the actual duration is based on statistical information of the postal code like rural or urban, distance from retail office, driving distance, road condition, service time etc. etc.
How can we turn this into a machine learning model from historical data and actual delivery duration experienced, without writing a big formula for calculation.
-
$\begingroup$ This does not really answer the question. If you have a different question, you can ask it by clicking Ask Question. To get notified when this question gets new answers, you can follow this question. Once you have enough reputation, you can also add a bounty to draw more attention to this question. - From Review $\endgroup$ Commented Sep 26, 2021 at 19:20
-
$\begingroup$ As it’s currently written, your answer is unclear. Please edit to add additional details that will help others understand how this addresses the question asked. You can find more information on how to write good answers in the help center. $\endgroup$– Community BotCommented Sep 26, 2021 at 19:25