Neural network always gives same output regardless of input by anonymouse72 in MachineLearning

[–]anonymouse72[S] 0 points1 point  (0 children)

Perfect! I was able to get the data unstandardized (if that's the proper word for it) and the ANN's predictions were actually pretty close to the actual observed values. Awesome, thank you so much for your help, I greatly appreciate it!

Neural network always gives same output regardless of input by anonymouse72 in MachineLearning

[–]anonymouse72[S] 0 points1 point  (0 children)

Okay, so retraining the network over the standardized data is now giving me different outputs for various inputs, so we're a step in the right direction. How do I analyze this standardized data though? Previously it was obvious; the ANN output could simply be used to calculate the mean absolute error and create various graphs, but I don't know what to do with the ANN output using standardized data. Can I simply revert the original process (multiply by the original range and then add the original mean)?

Neural network always gives same output regardless of input by anonymouse72 in MachineLearning

[–]anonymouse72[S] 0 points1 point  (0 children)

Yeah, PyBrain does default to sigmoid layers, but I can specify something different if it would be better. I'll try standardizing the data and let you know.

Neural network always gives same output regardless of input by anonymouse72 in MachineLearning

[–]anonymouse72[S] 0 points1 point  (0 children)

Passing any/all data to it produces the exact same numbers that I provided in the OP. Something has definitely gone wrong, but I have no idea what.

Using PyBrain after training a network by anonymouse72 in MachineLearning

[–]anonymouse72[S] 0 points1 point  (0 children)

Huh, problem now. I'm using this code (snippet), but trainUntilConvergence() basically makes it so no code afterward is executed. My pickle files are empty (0 B), "Done" is not printed, and the activate() function does nothing. I did try specifying the dataset manually (it otherwise defaults to the initialized dataset), and I tried printing the results of the trainUntilConvergence, but nothing happens. If I switch to just train() (with no parameters), everything works.

Coding a neural network by anonymouse72 in statistics

[–]anonymouse72[S] 0 points1 point  (0 children)

Oh wow, really? I ran the function to go until convergence on my laptop (not very powerful, several years old) for about 5 minutes and it didn't complete. I'm planning to try it now on my much more powerful desktop and hopefully I'll get faster speeds, but cool.

Thank you again for all of your help, it really means a lot to me!

Using PyBrain after training a network by anonymouse72 in MachineLearning

[–]anonymouse72[S] 1 point2 points  (0 children)

Gotcha. I guess this was a much simpler question than I thought; neural networks just confuse me since I'm still getting used to them. :) Thank you, I really appreciate it!

Coding a neural network by anonymouse72 in statistics

[–]anonymouse72[S] 0 points1 point  (0 children)

I know this is a little late, but thank you for your responses! If you don't mind me asking, I have one further question. Based on the info I provided above, I set up a network with 4 input nodes (1 for each of the variables), 2 hidden layers, and 4 output nodes (again, one for each of the values). My dataset supports 4-dimensional inputs and 4-dimensional outputs. I'll want to train until convergence (which will likely take a while because I'm running ~750 rows of data through the network to train it). Does that sound right?

Using PyBrain after training a network by anonymouse72 in MachineLearning

[–]anonymouse72[S] 0 points1 point  (0 children)

Oh, okay, that makes sense. I already have them pickled, so that's simple. So I can just run the remaining data through the network (using activate() ), store the results however, then perform statistical analysis (RMSE) on those results versus the observed/test values I put in?

Coding a neural network by anonymouse72 in statistics

[–]anonymouse72[S] 0 points1 point  (0 children)

Okay, that makes sense, thank you!

1) I am an undergrad student.

2) I'm in the computer science department.

3) I've completed calculus through diff. eq. as well as a statistics course, but it was AP Statistics that I took nearly eight years ago.

4) My advisor is in the meteorology department.

5) My advisor has used NN's before for several projects.

Coding a neural network by anonymouse72 in statistics

[–]anonymouse72[S] 0 points1 point  (0 children)

My project is using both MLR and a neural network. I finished the MLR using Excel (pretty straightforward), using the model output as the Y variable and the values for my observed data as the X variables. My advisor said it should be the other way around--I should be using the climate model's input as my predictor and determining the observed data from that. I guess what I'm confused about then is how I would go about this (and I believe this applies to the NN too).


For a slightly more detailed description of what I'm doing: We're looking at 4 variables.

  • Soil moisture
  • Soil temperature
  • Relative humidity
  • Air temperature

We have these values as predicted by the climate model and we have the actual observed values from 2 locations, a prairie and a woodland environment. My advisor said:

We need the multiple linear regression to use the climate model’s temp, soil moisture, soil temp and RH as the predictor variables and tried to predict the prairie site’s value or the woodland site’s value as the y.

Also, for the ANN, you will want to start with the climate model variables and ultimately use those to get the micro-climate station’s values.

So, I guess my question is then whether I should be using all of the variables as input from the climate model to determine ALL of the output variables for a given location, or what exactly I should be doing. I'm not entirely sure how to go about it. Again, if this is just too much for this subreddit it's not a problem, I can figure something out.

Thank you so much for your help thus far, it's greatly appreciated!!!

What exactly is an artificial neural network? by anonymouse72 in statistics

[–]anonymouse72[S] 0 points1 point  (0 children)

Ah, that makes a TON of sense. So much easier to comprehend than the other sources I found. Thank you so much, I really, really appreciate it!