1

how can I make a NN such that some input variables are "more important" than others. For example lets say my input layer has 2 neurons and I want to stress that input one is 70% important and other one only 30% because though formula-wise they measure same thing, first one contributes more to final outcome than other. Something like weighing samples, just I want to weigh individual inputs globally.

Is that even possible/make sense?

Marin
  • 1,311
  • 16
  • 35
  • 1
    What you are after is a weighted graph. Yes, it is possible and makes sense. – S. Albano Aug 03 '12 at 19:15
  • ? a neural network is weighted graph. – Franck Dernoncourt Aug 03 '12 at 19:17
  • Yes. http://stackoverflow.com/questions/8150772/pybrain-how-to-print-a-network-nodes-and-weights?rq=1 – S. Albano Aug 03 '12 at 19:18
  • What you want to do is pre-train those first two NN connections. Here is another person who appears to be looking into the same thing: http://stackoverflow.com/questions/9549868/pybrainhow-can-i-put-specific-weights-in-a-neural-network?rq=1 – S. Albano Aug 03 '12 at 19:26
  • They protect the user from the internals pretty well. I think he was on the right track when he brought up the possibility of serializing, then editing the graph, as per this thread: http://stackoverflow.com/questions/6006187/how-to-save-and-recover-pybrain-traning – S. Albano Aug 03 '12 at 19:33

2 Answers2

2

Check out this tutorial How to measure importance of inputs?

Terms such as "importance," "saliency," and "sensitivity" do not have precise, widely-accepted meanings. This answer will discuss a variety of methods that have been proposed to measure the importance of inputs, but the list is by no means exhaustive. Different measures of importance are likely to be useful in different applications of neural nets. The main point of this answer is that there is no single measure of importance that is appropriate for all applications.

Franck Dernoncourt
  • 77,520
  • 72
  • 342
  • 501
0

Here is a tutorial for extending the connections and layers in pybrain:

http://www.pybrain.org/docs/tutorial/extending-structure.html

It appears that you should be able to create connections from your input nodes with the desired behavior as subclasses of the connection object.

Then you put pieces together:

http://www.pybrain.org/docs/tutorial/netmodcon.html#netmodcon

Attaching your two input modules with instances of the weighted connection to your module.

S. Albano
  • 707
  • 7
  • 21