[comp.ai.neural-nets] expectancy

woody@eos.UUCP (Wayne Wood) (08/14/90)

last resort, open to any suggestions, HELP!!!!

my boss wants me to implement a NN that models "expectancy"... i.e.
when the network receives a given input, it recognizes the input
and if it is contained in a given "expected set" the output nodes
of the network receive an additional boost.

this is vague, but it's all the brief i have.

ihave read Rummelhart et al. from cover(s) to cover(s) and haven't
found a model that would appear to handle this.

all input vectors are the same length with no 'flag' to indicate if the
pattern is in the expected set or not.  he wants the expectancy effect
to be determined during learning of the pattern set (entire set, not
just expected set).

it appears to me (in my ignorance) that he wants the weights to be
selectively modified for patterns representing the expected set so
they achieve higher calculated outputs.  i don't see how this can
be done without disrupting previously learned patterns.

can anybody direct me to articles or discussions of architectures that
can handle this?

forgive a novice for his ignorance.

email answers okay if you don't want to clutter the net.

/***   woody   ****************************************************************
*** ...tongue tied and twisted, just an earth bound misfit, I...            ***
*** -- David Gilmour, Pink Floyd                                            ***
****** woody@eos.arc.nasa.gov *** my opinions, like my mind, are my own ******/

kingsley@hpwrce.HP.COM (Kingsley Morse) (08/15/90)

It all hinges on whether the input vectors specify which output nodes should
be boosted for each input vector. In other words, the training data must
contain:
1.) Many patterns
2.) Each pattern must have:
   a.) an input vector
   b.) an output vector

For example, the training data should have I inputs, O outputs, and P patterns.

    pattern         inputs           outputs
  --------------------------------------------------
      1       1 2 3 4 5 ....I     1 2 3 4 5 6 ....O
      2       1 2 3 4 5 ....I     1 2 3 4 5 6 ....O
      3       1 2 3 4 5 ....I     1 2 3 4 5 6 ....O
      .       1 2 3 4 5 ....I     1 2 3 4 5 6 ....O
      .       1 2 3 4 5 ....I     1 2 3 4 5 6 ....O
      P       1 2 3 4 5 ....I     1 2 3 4 5 6 ....O

So the total amount of data is Px(I+O).

Given that the training data has the necessary stuff, the next step is to
decide what connections to put in the network. A typical connectivity is a
three layer net. The input layer has I "neurons". The output layer has
O "neurons". Inbetween these layers is a hidden layer, whose number of 
neurons is less well defined. If the training data has little redundancy,
the number of hidden layer "neurons" can approach the number of patterns, P.
I recommend starting with less than P hidden layers and adding more to 
improve the network's performance. The drawback is that as you add hidden
layer "neurons", the training time usually increases a lot.              

If we use H "neurons" in the hidden layer, then we can determine how many
connections the network will have; (IxH)+(OxH). Each connection has a
weight which will be adjusted during training. These are the core of the
neural network. A training algorithm such as backpropagaition will fine tune
these weights so that the input patterns will be transformed into the
correct output patterns. 

I hope this helps, if you have any more questions I'll answer them as best I 
can.

							Kingsley

rsun@chaos.cs.brandeis.edu (Ron Sun) (08/15/90)

In article <7035@eos.UUCP> woody@eos.UUCP (Wayne Wood) writes:
>my boss wants me to implement a NN that models "expectancy"... i.e.
>when the network receives a given input, it recognizes the input
>and if it is contained in a given "expected set" the output nodes
>of the network receive an additional boost.
>

Based on what you said, it seems that you ought to look at
Steven Grossberg's work, especially his ART1 and ART2 architectures.
(see Carpenter and Grossberg, in Applied OPtics (?) 1986
and in COMPUTER 1988).
				
>this is vague, but it's all the brief i have.

If that is all you have to do, you may want to try some pattern
recognition techniques (more traditional one, some of which are
implementable in NN).

>ihave read Rummelhart et al. from cover(s) to cover(s) and haven't
>found a model that would appear to handle this.


>all input vectors are the same length with no 'flag' to indicate if the
>pattern is in the expected set or not.  he wants the expectancy effect
>to be determined during learning of the pattern set (entire set, not
>just expected set).
>
>it appears to me (in my ignorance) that he wants the weights to be
>selectively modified for patterns representing the expected set so
>they achieve higher calculated outputs.  i don't see how this can
>be done without disrupting previously learned patterns.
>
>can anybody direct me to articles or discussions of architectures that
>can handle this?
>
>
I don't understand what you are saying here --- you have to tell
the net what is your expected set.





Ron Sun
Brandeis University
Computer Science
Waltham, MA 02254
rsun@cs.brandeis.edu

.