4
$\begingroup$

I have a spatial dataset with some xs and ys at different spatial locations. I want to learn a non linear regression function using neural networks. I looked in to the training data and the outputs are different locations i.e. ys are high correlated. So I was thinking of modelling a multi target prediction, instead of learning a separate regression for each case. I was thinking of learning a joint one using neural networks. I tried to use nntool of Matlab, however it lets me model only one output at a time. What should I do to model multiple outputs at the same time?

$\endgroup$
4
$\begingroup$

nntool accepts any number of input and output dimensions. Simply prepare your data in form of matrices, ie. if you want to train neural network for two target logical function $$ f(x,y) = (x \text{ and } y,x \text{ or } y)$$

you can train it on

Input
0 0
0 1
1 0
1 1

Target
0 0 
0 1
0 1
1 1

and in matlab format Input = [0 0 1 1; 0 1 0 1] and Target = [0 0 0 1; 0 1 1 1].

In other words, Target matrix stores target values in columns, and examples in rows, so if you want to use $n$ target labels, simply create a matrix with $n$ columns.

$\endgroup$
1
$\begingroup$

A paper worth looking at would be

Peter M. Williams, Using Neural Networks to Model Conditional Multivariate Densities, Neural Computation, Vol. 8, No. 4, Pages 843-854, May 1996 (doi:10.1162/neco.1996.8.4.843)

which provides a method for taking into account the correlations between the output variables, however I rather doubt there will be any neural network package that implements it as standard.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.