views:

215

answers:

3

Can anyone explain to me how to do more complex data sets like team stats, weather, dice, complex number types

i understand all the math and how everything works i just dont know how to input more complex data, and then how to read the data it spits out

if someone could provide examples in python that would be a big help

+3  A: 

You have to encode your input and your output to something that can be represented by the neural network units. ( for example 1 for "x has a certain property p" -1 for "x doesn't have the property p" if your units' range is in [-1, 1])

The way you encode your input and the way you decode your output depends on what you want to train the neural network for.

Moreover, there are many "neural networks" algoritms and learning rules for different tasks( Back propagation, boltzman machines, self organizing maps).

mic.sca
A: 

More complex data usually means adding more neurons in the input and output layers.

You can feed each "field" of your register, properly encoded as a real value (normalized, etc.) to each input neuron, or maybe you can even decompose even further into bit fields, assigning saturated inputs of 1 or 0 to the neurons... for the output, it depends on how you train the neural network, it will try to mimic the training set outputs.

fortran
+1  A: 

Your features must be decomposed into parts that can be represented as real numbers. The magic of a Neural Net is it's a black box, the correct associations will be made (with internal weights) during the training


Inputs

Choose as few features as are needed to accurately describe the situation, then decompose each into a set of real valued numbers.

  • Weather: [temp today, humidity today, temp yesterday, humidity yesterday...] the association between today's temp and today's humidity is made internally
  • Team stats: [ave height, ave weight, max height, top score,...]
  • Dice: not sure I understand this one, do you mean how to encode discrete values?*
  • Complex number: [a,ai,b,bi,...]

* Discrete valued features are tricky, but can still still be encoded as (0.0,1.0). The problem is they don't provide a gradient to learn the threshold on.


Outputs

You decide what you want the output to mean, and then encode your training examples in that format. The fewer output values, the easier to train.

  • Weather: [tomorrow's chance of rain, tomorrow's temp,...] **
  • Team stats: [chance of winning, chance of winning by more than 20,...]
  • Complex number: [x,xi,...]

** Here your training vectors would be: 1.0 if it rained the next day, 0.0 if it didn't


Of course, whether or not the problem can actually be modeled by a neural net is a different question.

pufferfish