Thread Subject: Neural Network

Subject: Neural Network

From: Amal

Date: 9 Sep, 2008 07:14:07

Message: 1 of 12

Hello,

How we can improve neural network when the number of ouput layer is greater thatn input layer, I mean can we find a fitting function when the number of input less than the number of ouput. Y=f(x).where Y={y0,y1,y2,y3,y4,y5}, and X={x0,x1,x2}.

Subject: Neural Network

From: Greg Heath

Date: 11 Sep, 2008 06:16:17

Message: 2 of 12

On Sep 9, 3:14=A0am, "Amal " <Amal_khassaw...@hotmail.com> wrote:
> Hello,
>
> How we can improve neuralnetwork when the number of ouput layer
> is greater thatn input layer
,
Why do you think it needs improving?

More outputs than inputs is not uncommon.

> I mean can we find a fitting function when the number of input less
> than the number of ouput. Y=3Df(x).where Y=3D{y0,y1,y2,y3,y4,y5}, and X=
=3D{x0,x1,x2}.

Yes. No source code changes to training algorithms are necessary.

Hope this helps.

Greg

Subject: Neural Network

From: Amal

Date: 11 Sep, 2008 10:12:02

Message: 3 of 12

Hello,

I think it is need improving becuase neural network cannot find a good fitting function when the number of output is greater than the number of input, actually i try it on my data and i got very bad result, so im trying to improve my network by changing the training algorithm.
when the number of output is too large comparing with the number of input the neural network can not find good fitting for these data.

Greg Heath <heath@alumni.brown.edu> wrote in message <ca09b77a-914d-4582-84f4-5b8be13ebd96@a1g2000hsb.googlegroups.com>...
> On Sep 9, 3:14=A0am, "Amal " <Amal_khassaw...@hotmail.com> wrote:
> > Hello,
> >
> > How we can improve neuralnetwork when the number of ouput layer
> > is greater thatn input layer
> ,
> Why do you think it needs improving?
>
> More outputs than inputs is not uncommon.
>
> > I mean can we find a fitting function when the number of input less
> > than the number of ouput. Y=3Df(x).where Y=3D{y0,y1,y2,y3,y4,y5}, and X=
> =3D{x0,x1,x2}.
>
> Yes. No source code changes to training algorithms are necessary.
>
> Hope this helps.
>
> Greg

Subject: Neural Network

From: Greg Heath

Date: 11 Sep, 2008 18:04:57

Message: 4 of 12

CORRECTED FOR THE HEINOUS SIN OF TOP-POSTING!

On Sep 11, 6:12=A0am, "Amal " <Amal_khassaw...@hotmail.com> wrote:
> Greg Heath <he...@alumni.brown.edu> wrote in message <ca09b77a-914d-4582-=
84f4-5b8be13eb...@a1g2000hsb.googlegroups.com>...
> > On Sep 9, 3:14=3DA0am, "Amal " <Amal_khassaw...@hotmail.com> wrote:
>
> > > How we can improve neuralnetwork when the number of ouput layer
> > > is greater thatn input layer
> > ,
> > Why do you think it needs improving?
>
> > More outputs than inputs is not uncommon.

> I think it is need improving becuase neural network cannot find a good fi=
tting
> function when the number of output is greater than the number of input,

In general, this is not true. You may have an atypical case.

> actually i try it on my data and i got very bad result, so im trying to i=
mprove
> my network by changing the training algorithm. when the number of output
> is too large comparing with the number of input the neural network can no=
t
> find good fitting for these data.

Calculate the correlation coefficient matrix of the outputs.
Partition
the data into subsets within which the targets are significantly
correlated.
Design a separate net for the outputs in each cluster.

Hope this helps.

Greg

Subject: Neural Network

From: Greg Heath

Date: 11 Sep, 2008 18:21:35

Message: 5 of 12

On Sep 11, 6:12=A0am, "Amal " <Amal_khassaw...@hotmail.com> wrote:
> Hello,
>
> I think it is need improving becuase neural network cannot find a good fi=
tting function when the number of output is greater than the number of inpu=
t, actually i try it on my data and i got very bad result, so im trying to =
improve my network by changing the training algorithm.
> when the number of output is too large comparing with the number of input=
 the neural network can not find good fitting for these data.

Can you email or post your data? Some of us might like to see exactly
what your problem is.

If you do, don't expect a rapid turn around time.

Greg

Subject: Neural Network

From: Amal

Date: 14 Sep, 2008 05:19:02

Message: 6 of 12

I send a sample of data to your email.

Greg Heath <heath@alumni.brown.edu> wrote in message <9656fffa-1437-4938-badc-d4ddf6fd141e@s50g2000hsb.googlegroups.com>...
> On Sep 11, 6:12=A0am, "Amal " <Amal_khassaw...@hotmail.com> wrote:
> > Hello,
> >
> > I think it is need improving becuase neural network cannot find a good fi=
> tting function when the number of output is greater than the number of inpu=
> t, actually i try it on my data and i got very bad result, so im trying to =
> improve my network by changing the training algorithm.
> > when the number of output is too large comparing with the number of input=
> the neural network can not find good fitting for these data.
>
> Can you email or post your data? Some of us might like to see exactly
> what your problem is.
>
> If you do, don't expect a rapid turn around time.
>
> Greg

Subject: Neural Network

From: Greg Heath

Date: 19 Sep, 2008 04:59:02

Message: 7 of 12

On Sep 14, 1:19=A0am, "Amal " <Amal_khassaw...@hotmail.com> wrote:
> I send a sample of data to your email.

OK. Might be able to look at it over the weekend.

P.S. You just sent the data without any explanation.
I had no idea what it was for because when I Googled
your name, nothing came up (I didn't include the underscore).

P.P.S. Please refrain from top-posting.... It is annoying.

Subject: Neural Network

From: Amal

Date: 19 Sep, 2008 13:22:01

Message: 8 of 12

"Amal " <Amal_khassawneh@hotmail.com> wrote in message <gai6s6$qpk$1@fred.mathworks.com>...
> I send a sample of data to your email.
>
> Greg Heath <heath@alumni.brown.edu> wrote in message <9656fffa-1437-4938-badc-d4ddf6fd141e@s50g2000hsb.googlegroups.com>...
> > On Sep 11, 6:12=A0am, "Amal " <Amal_khassaw...@hotmail.com> wrote:
> > > Hello,
> > >
> > > I think it is need improving becuase neural network cannot find a good fi=
> > tting function when the number of output is greater than the number of inpu=
> > t, actually i try it on my data and i got very bad result, so im trying to =
> > improve my network by changing the training algorithm.
> > > when the number of output is too large comparing with the number of input=
> > the neural network can not find good fitting for these data.
> >
> > Can you email or post your data? Some of us might like to see exactly
> > what your problem is.
> >
> > If you do, don't expect a rapid turn around time.
> >
> > Greg
>
Thank you for your posts, and am posting from down as you ask..
back to subject, the data was just a sample, I am a researcher in bioinformatics field, and the data i send is about proteins, the input represent the protein sequence and the output represent its corrosponding torsion angle, my work try to analyze if there is a relationship between protein amino acids and its angles.

i am ready for any anymore expalnation ..
Amal

Subject: Neural Network

From: Greg Heath

Date: 21 Sep, 2008 19:15:01

Message: 9 of 12

On Sep 19, 9:22 am, "Amal " <Amal_khassaw...@hotmail.com> wrote:
> "Amal " <Amal_khassaw...@hotmail.com> wrote in message <gai6s6$qp...@fred.mathworks.com>...
> > I send a sample of data to your email.
>
> > Greg Heath <he...@alumni.brown.edu> wrote in message <9656fffa-1437-4938-badc-d4ddf6fd1...@s50g2000hsb.googlegroups.com>...
> > > On Sep 11, 6:12=A0am, "Amal " <Amal_khassaw...@hotmail.com> wrote:
> > > > Hello,
>
> > > > I think it is need improving becuase neural network cannot find a good fi=
> > > tting function when the number of output is greater than the number of inpu=
> > > t, actually i try it on my data and i got very bad result, so im trying to =
> > > improve my network by changing the training algorithm.
> > > > when the number of output is too large comparing with the number of input=
> > > the neural network can not find good fitting for these data.
>
> > > Can you email or post your data? Some of us might like to see exactly
> > > what your problem is.
>
> > > If you do, don't expect a rapid turn around time.
>
> > > Greg
>
> Thank you for your posts, and am posting from down as you ask..
> back to subject, the data was just a sample, I am a researcher in bioinformatics field, and the data i send is about proteins, the input represent the protein sequence and the output represent its corrosponding torsion angle, my work try to analyze if there is a relationship between protein amino acids and its angles.
>
> i am ready for any anymore expalnation ..

The data you sent appears to have serious problems.

1. The number of input and output columns is not the same:

      size(X0) = [ 18 46 ] % Must delete the last column!
      size(Y0) = [ 64 45 ]

      X0 = X0(:,1:end-1);

2. Only 35 columns of X0 are unique

% Valid duplicate observations? Check the corresponding columns in Y0

3. rank(X0) = 13 and rank(Y0) = 31 % Consider variable
reductions

4. Only 17 rows of X0 are unique and only 61 rows of Y0 are unique.
    a. Rows 16 and 17 of X0 are identical; delete Row 17
    b. Rows 1, 62, 63 and 64 of Y0 are identical; delete Row
62-64
    c. Rows 1, 62, 63 and 64 of Y0 are identicallly
       zero. Therefore they have zero variance; delete Row 1


      X1 = unique(X0,'rows'); % Row 17
      Y1 = unique(Y0,'rows'); % Rows 62-64
      deleterowsX1 = find(~var(X1')) % []
      deleterowsY1 = find(~var(Y1')) % Row 34

      size(Y1) = [ 17 45 ]
      size(X1) = [ 60 45 ]

5. CX = corrcoef(X1') shows that all of the cross correlation
   coefficients among input variables 3 to 7 exceed 0.98. This
   accounts for rank(X1) = 13. In addition, CX(1,2) = 0.97


% I J CX(I,J)
% 1 2 0.97204
% 3 4 1
% 3 5 0.98835
% 4 5 0.98835
% 3 6 1
% 4 6 1
% 5 6 0.98835
% 3 7 0.98129
% 4 7 0.98129
% 5 7 0.99916
% 6 7 0.98129


At this stage I would feel confident removing input variables,
2 t0 6 resulting in

        X2(2:6) = [];
        size(X2) = [12 45]
        rank(X2) = 12

6. Take a look at CY = corrcoef(Y1') to see which Y rows are
   obviously redundant and can be readily removed from training
   the model. You should find 22 output variables are
   highly correlated with abs(CY(i,j)) > 0.95. An alternative
   is to use PCA and obtain 31 or less linearly independent
   output variables.

7. Before designing a 12-H-31 MLP, take a look at a linear
   model.

Hope this helps.

Greg

Subject: Neural Network

From: Greg Heath

Date: 22 Sep, 2008 03:05:27

Message: 10 of 12

On Sep 21, 3:15 pm, Greg Heath <he...@alumni.brown.edu> wrote:
> On Sep 19, 9:22 am, "Amal " <Amal_khassaw...@hotmail.com> wrote:
> > "Amal " <Amal_khassaw...@hotmail.com> wrote in message <gai6s6$qp...@fred.mathworks.com>...
> > > I send a sample of data to your email.
> > > Greg Heath <he...@alumni.brown.edu> wrote in message <9656fffa-1437-4938-badc-d4ddf6fd1...@s50g2000hsb.googlegroups.com>...
> > > > On Sep 11, 6:12=A0am, "Amal " <Amal_khassaw...@hotmail.com> wrote:
> > > > > Hello,
>
> > > > > I think it is need improving becuase neural network cannot find a good fi=
> > > > tting function when the number of output is greater than the number of inpu=
> > > > t, actually i try it on my data and i got very bad result, so im trying to =
> > > > improve my network by changing the training algorithm.
> > > > > when the number of output is too large comparing with the number of input=
> > > > the neural network can not find good fitting for these data.
>
> > > > Can you email or post your data? Some of us might like to see exactly
> > > > what your problem is.
>
> > > > If you do, don't expect a rapid turn around time.
>
> > > > Greg
>
> > Thank you for your posts, and am posting from down as you ask..
> > back to subject, the data was just a sample, I am a researcher in bioinformatics field, and the data i send is about proteins, the input represent the protein sequence and the output represent its corrosponding torsion angle, my work try to analyze if there is a relationship between protein amino acids and its angles.
>
> > i am ready for any anymore expalnation ..
>
> The data you sent appears to have serious problems.
>
> 1. The number of input and output columns is not the same:
>
> size(X0) = [ 18 46 ] % Must delete the last column!
> size(Y0) = [ 64 45 ]
>
> X0 = X0(:,1:end-1);
>
> 2. Only 35 columns of X0 are unique
>
> % Valid duplicate observations? Check the corresponding columns in Y0

OK. There are no duplicate columns in Y0. However, that means
there are 10 observations for which the X-->Y transformation
is not unique, This scatter can be considered as noise and the
effects should be revisited.

> 3. rank(X0) = 13 and rank(Y0) = 31 % Consider variable
> reductions
>
> 4. Only 17 rows of X0 are unique and only 61 rows of Y0 are unique.
> a. Rows 16 and 17 of X0 are identical; delete Row 17
> b. Rows 1, 62, 63 and 64 of Y0 are identical; delete Row
> 62-64
> c. Rows 1, 62, 63 and 64 of Y0 are identicallly
> zero. Therefore they have zero variance; delete Row 1
>
> X1 = unique(X0,'rows'); % Row 17
> Y1 = unique(Y0,'rows'); % Rows 62-64
> deleterowsX1 = find(~var(X1')) % []
> deleterowsY1 = find(~var(Y1')) % Row 34
>
> size(Y1) = [ 17 45 ]
> size(X1) = [ 60 45 ]
>
> 5. CX = corrcoef(X1') shows that all of the cross correlation
> coefficients among input variables 3 to 7 exceed 0.98. This
> accounts for rank(X1) = 13. In addition, CX(1,2) = 0.97
>
> % I J CX(I,J)
> % 1 2 0.97204
> % 3 4 1
> % 3 5 0.98835
> % 4 5 0.98835
> % 3 6 1
> % 4 6 1
> % 5 6 0.98835
> % 3 7 0.98129
> % 4 7 0.98129
> % 5 7 0.99916
> % 6 7 0.98129
>
> At this stage I would feel confident removing input variables,
> 2 t0 6 resulting in
>
> X2(2:6) = [];
> size(X2) = [12 45]
> rank(X2) = 12
>
> 6. Take a look at CY = corrcoef(Y1') to see which Y rows are
> obviously redundant and can be readily removed from training
> the model. You should find 22 output variables are
> highly correlated with abs(CY(i,j)) > 0.95. An alternative
> is to use PCA and obtain 31 or less linearly independent
> output variables.
>
> 7. Before designing a 12-H-31 MLP, take a look at a linear
> model..

With 12 inputs, 45 observations and O outputs,there are
Neq = 45*O equations to estimate Nw = (12+1)*O
= weights. The ratio Neq/Nw = 3.48 is marginal for
insuring weight estimate accuracy but is independent
of the number of outputs. Nevertheless, smaller numbers
of outputs improve computational efficiency and precision.

Using the unreduced 60 outputs, the linear model yields

NMSE = 0.366, R^2 = 0.634

and with the degree of freedom adjustment,

NMSEadj = 0.497, Radj^2 = 0.503

8. Using a NN to effect a factor of 10 reduction in NMSEadj
should be satisfactory. However, the increase of Nw caused
by hidden nodes might require regularization. N = 45 may
not be large enough to support Stopped Training.

Hope this helps.

Greg

Subject: Neural Network

From: Amal

Date: 24 Sep, 2008 11:04:02

Message: 11 of 12

Greg Heath <heath@alumni.brown.edu> wrote in message <a085d3b2-8d28-4973-9bdd-e99573524fdf@c58g2000hsc.googlegroups.com>...
> On Sep 21, 3:15 pm, Greg Heath <he...@alumni.brown.edu> wrote:
> > On Sep 19, 9:22 am, "Amal " <Amal_khassaw...@hotmail.com> wrote:
> > > "Amal " <Amal_khassaw...@hotmail.com> wrote in message <gai6s6$qp...@fred.mathworks.com>...
> > > > I send a sample of data to your email.
> > > > Greg Heath <he...@alumni.brown.edu> wrote in message <9656fffa-1437-4938-badc-d4ddf6fd1...@s50g2000hsb.googlegroups.com>...
> > > > > On Sep 11, 6:12=A0am, "Amal " <Amal_khassaw...@hotmail.com> wrote:
> > > > > > Hello,
> >
> > > > > > I think it is need improving becuase neural network cannot find a good fi=
> > > > > tting function when the number of output is greater than the number of inpu=
> > > > > t, actually i try it on my data and i got very bad result, so im trying to =
> > > > > improve my network by changing the training algorithm.
> > > > > > when the number of output is too large comparing with the number of input=
> > > > > the neural network can not find good fitting for these data.
> >
> > > > > Can you email or post your data? Some of us might like to see exactly
> > > > > what your problem is.
> >
> > > > > If you do, don't expect a rapid turn around time.
> >
> > > > > Greg
> >
> > > Thank you for your posts, and am posting from down as you ask..
> > > back to subject, the data was just a sample, I am a researcher in bioinformatics field, and the data i send is about proteins, the input represent the protein sequence and the output represent its corrosponding torsion angle, my work try to analyze if there is a relationship between protein amino acids and its angles.
> >
> > > i am ready for any anymore expalnation ..
> >
> > The data you sent appears to have serious problems.




Thank you for deep explanation, i know that my data have a lot of problems.



> > 1. The number of input and output columns is not the same:
> >
> > size(X0) = [ 18 46 ] % Must delete the last column!
> > size(Y0) = [ 64 45 ]
> >
> > X0 = X0(:,1:end-1);

thanks.





> > 2. Only 35 columns of X0 are unique
> >
> > % Valid duplicate observations? Check the corresponding columns in Y0


Yes, it is a valid duplication.


> OK. There are no duplicate columns in Y0. However, that means
> there are 10 observations for which the X-->Y transformation
> is not unique, This scatter can be considered as noise and the
> effects should be revisited.


I need these becuase it mean a lot in my research.



>
> > 3. rank(X0) = 13 and rank(Y0) = 31 % Consider variable
> > reductions
> >
> > 4. Only 17 rows of X0 are unique and only 61 rows of Y0 are unique.
> > a. Rows 16 and 17 of X0 are identical; delete Row 17
> > b. Rows 1, 62, 63 and 64 of Y0 are identical; delete Row
> > 62-64
> > c. Rows 1, 62, 63 and 64 of Y0 are identicallly
> > zero. Therefore they have zero variance; delete Row 1
> >
> > X1 = unique(X0,'rows'); % Row 17
> > Y1 = unique(Y0,'rows'); % Rows 62-64
> > deleterowsX1 = find(~var(X1')) % []
> > deleterowsY1 = find(~var(Y1')) % Row 34
> >
> > size(Y1) = [ 17 45 ]
> > size(X1) = [ 60 45 ]
> >
> > 5. CX = corrcoef(X1') shows that all of the cross correlation
> > coefficients among input variables 3 to 7 exceed 0.98. This
> > accounts for rank(X1) = 13. In addition, CX(1,2) = 0.97
> >
> > % I J CX(I,J)
> > % 1 2 0.97204
> > % 3 4 1
> > % 3 5 0.98835
> > % 4 5 0.98835
> > % 3 6 1
> > % 4 6 1
> > % 5 6 0.98835
> > % 3 7 0.98129
> > % 4 7 0.98129
> > % 5 7 0.99916
> > % 6 7 0.98129
> >
> > At this stage I would feel confident removing input variables,
> > 2 t0 6 resulting in
> >
> > X2(2:6) = [];
> > size(X2) = [12 45]
> > rank(X2) = 12

I have a question for you here, when you delete these rows that is mean you delete part of the sequences in my research and i want the complete sequence.My idea in this work is to look to the whole sequnce and try to find the relation between the element of the sequence and it is corrosponding angle values, and try predicting the effect of neighbors.

> > 6. Take a look at CY = corrcoef(Y1') to see which Y rows are
> > obviously redundant and can be readily removed from training
> > the model. You should find 22 output variables are
> > highly correlated with abs(CY(i,j)) > 0.95. An alternative
> > is to use PCA and obtain 31 or less linearly independent
> > output variables.
> >
> > 7. Before designing a 12-H-31 MLP, take a look at a linear
> > model..
>
> With 12 inputs, 45 observations and O outputs,there are
> Neq = 45*O equations to estimate Nw = (12+1)*O
> = weights. The ratio Neq/Nw = 3.48 is marginal for
> insuring weight estimate accuracy but is independent
> of the number of outputs. Nevertheless, smaller numbers
> of outputs improve computational efficiency and precision.
>
> Using the unreduced 60 outputs, the linear model yields
>
> NMSE = 0.366, R^2 = 0.634
>
> and with the degree of freedom adjustment,
>
> NMSEadj = 0.497, Radj^2 = 0.503
>
> 8. Using a NN to effect a factor of 10 reduction in NMSEadj
> should be satisfactory. However, the increase of Nw caused
> by hidden nodes might require regularization. N = 45 may
> not be large enough to support Stopped Training.
>
> Hope this helps.
>
> Greg


Hope you see my notice in between, but in general you don't think that you deal with input in behalf of output, that is mean you treat them independently.Thank you so much for your notice, they was a great help, but i have to analyze my data more to check if i can apply your ideas.
Again thank you..

Amal

Subject: Neural Network

From: Greg Heath

Date: 7 Oct, 2008 07:34:53

Message: 12 of 12

On Sep 24, 7:04 am, "Amal " <Amal_khassaw...@hotmail.com> wrote:
> Greg Heath <he...@alumni.brown.edu> wrote in message <a085d3b2-8d28-4973-9bdd-e99573524...@c58g2000hsc.googlegroups.com>...
> > On Sep 21, 3:15 pm, Greg Heath <he...@alumni.brown.edu> wrote:
> > > On Sep 19, 9:22 am, "Amal " <Amal_khassaw...@hotmail.com> wrote:
> > > > "Amal " <Amal_khassaw...@hotmail.com> wrote in message <gai6s6$qp...@fred.mathworks.com>...
> > > > > I send a sample of data to your email.
> > > > > Greg Heath <he...@alumni.brown.edu> wrote in message <9656fffa-1437-4938-badc-d4ddf6fd1...@s50g2000hsb.googlegroups.com>...
> > > > > > On Sep 11, 6:12=A0am, "Amal " <Amal_khassaw...@hotmail.com> wrote:
> > > > > > > Hello,
>
> > > > > > > I think it is need improving becuase neural network cannot find a good fi=
> > > > > > tting function when the number of output is greater than the number of inpu=
> > > > > > t, actually i try it on my data and i got very bad result, so im trying to =
> > > > > > improve my network by changing the training algorithm.
> > > > > > > when the number of output is too large comparing with the number of input=
> > > > > > the neural network can not find good fitting for these data.
>
> > > > > > Can you email or post your data? Some of us might like to see exactly
> > > > > > what your problem is.
>
> > > > > > If you do, don't expect a rapid turn around time.
>
> > > > > > Greg
>
> > > > Thank you for your posts, and am posting from down as you ask..
> > > > back to subject, the data was just a sample, I am a researcher in bioinformatics field, and the data i send is about proteins, the input represent the protein sequence and the output represent its corrosponding torsion angle, my work try to analyze if there is a relationship between protein amino acids and its angles.
>
> > > > i am ready for any anymore expalnation ..
>
> > > The data you sent appears to have serious problems.
>
> Thank you for deep explanation, i know that my data have a lot of problems.
>
> > > 1. The number of input and output columns is not the same:
>
> > > size(X0) = [ 18 46 ] % Must delete the last column!
> > > size(Y0) = [ 64 45 ]
>
> > > X0 = X0(:,1:end-1);
>
> thanks.
>
> > > 2. Only 35 columns of X0 are unique
>
> > > % Valid duplicate observations? Check the corresponding columns in Y0
>
> Yes, it is a valid duplication.
>
> > OK. There are no duplicate columns in Y0. However, that means
> > there are 10 observations for which the X-->Y transformation
> > is not unique, This scatter can be considered as noise and the
> > effects should be revisited.
>
> I need these becuase it mean a lot in my research.
>
> > > 3. rank(X0) = 13 and rank(Y0) = 31 % Consider variable
> > > reductions
>
> > > 4. Only 17 rows of X0 are unique and only 61 rows of Y0 are unique.
> > > a. Rows 16 and 17 of X0 are identical; delete Row 17
> > > b. Rows 1, 62, 63 and 64 of Y0 are identical; delete Row
> > > 62-64
> > > c. Rows 1, 62, 63 and 64 of Y0 are identicallly
> > > zero. Therefore they have zero variance; delete Row 1
>
> > > X1 = unique(X0,'rows'); % Row 17
> > > Y1 = unique(Y0,'rows'); % Rows 62-64
> > > deleterowsX1 = find(~var(X1')) % []
> > > deleterowsY1 = find(~var(Y1')) % Row 34
>
> > > size(Y1) = [ 17 45 ]
> > > size(X1) = [ 60 45 ]
>
> > > 5. CX = corrcoef(X1') shows that all of the cross correlation
> > > coefficients among input variables 3 to 7 exceed 0.98. This
> > > accounts for rank(X1) = 13. In addition, CX(1,2) = 0.97
>
> > > % I J CX(I,J)
> > > % 1 2 0.97204
> > > % 3 4 1
> > > % 3 5 0.98835
> > > % 4 5 0.98835
> > > % 3 6 1
> > > % 4 6 1
> > > % 5 6 0.98835
> > > % 3 7 0.98129
> > > % 4 7 0.98129
> > > % 5 7 0.99916
> > > % 6 7 0.98129
>
> > > At this stage I would feel confident removing input variables,
> > > 2 t0 6 resulting in
>
> > > X2(2:6) = [];
> > > size(X2) = [12 45]
> > > rank(X2) = 12
>
> I have a question for you here, when you delete these rows that is mean you delete part of the sequences in my research

No. It doesn't. See below.

>and i want the complete sequence.My idea in this work is to look to the whole sequnce and try to find the relation between the element of the sequence and it is corrosponding angle values, and try predicting the effect of neighbors.

If you have inputs x1, x2 with correlation coefficient
CX12 > 0.98, then, with small error

x2 ~ x20+C12*(x1-x10)*(sx1/sx2)) .

where (xi0,sxi) are the mean and standard deviation of xi.
Therefore x1 and x2 are, for all practical purposes, linearly
dependent. Consequently, it is sufficient to use only one of
them to predict y(x1,x2) ~g1(x1) ~ g2(x2).

In fact when predictors are linearly dependent (or nearly
so), models relating input and output tend to be nonunique
and, therefore, unstable. Therefore, it is impossible to
deduce the influence of an individual predictor.
Consequently, it is usually wise to remove near linear
dependencies among inputs by either removing
"redundant" inputs or using orthogonal linear input
combinations (e.g., PCA).

Similarly, if you have outputs y1(x), y2(x) with correlation
coefficient CY12 > 0.98, then, with small error

y2 ~ y20+C12*(y1-y10)*(sy1/sy2)) .

Therefore y1(x) and y2(x) are, for all practical purposes,
linearly dependent. Consequently, it is sufficient to use
x to predict only one of them, say y1. Then y2 can be
obtained from y1. Unlike inputs, keeping linearly
dependent outputs should not significantly degrade the
model. However, the additional unnecessary calulations
are a waste of resources.

> > > 6. Take a look at CY = corrcoef(Y1') to see which Y rows are
> > > obviously redundant and can be readily removed from training
> > > the model. You should find 22 output variables are
> > > highly correlated with abs(CY(i,j)) > 0.95. An alternative
> > > is to use PCA and obtain 31 or less linearly independent
> > > output variables.
>
> > > 7. Before designing a 12-H-31 MLP, take a look at a linear
> > > model..
>
> > With 12 inputs, 45 observations and O outputs,there are
> > Neq = 45*O equations to estimate Nw = (12+1)*O
> > = weights. The ratio Neq/Nw = 3.48 is marginal for
> > insuring weight estimate accuracy but is independent
> > of the number of outputs. Nevertheless, smaller numbers
> > of outputs improve computational efficiency and precision.
>
> > Using the unreduced 60 outputs, the linear model yields
>
> > NMSE = 0.366, R^2 = 0.634
>
> > and with the degree of freedom adjustment,
>
> > NMSEadj = 0.497, Radj^2 = 0.503
>
> > 8. Using a NN to effect a factor of 10 reduction in NMSEadj
> > should be satisfactory. However, the increase of Nw caused
> > by hidden nodes might require regularization. N = 45 may
> > not be large enough to support Stopped Training.
>
>
> Hope you see my notice in between, but in general you don't think that you deal with input in behalf of output, that is mean you treat them independently.Thank you so much for your notice, they was a great help, but i have to analyze my data more to check if i can apply your ideas.
> Again thank you..

Let me emphasize the following:

If inputs are linearly dependent, their individual
influence on individual outputs cannot be deduced. In
addition, the models produced tend to be unstable
because they are not unique.

Therefore input reduction via eliminating redundant
input variables or using linearly independent linear
combinations (e.g., PCA) is warranted.

Hope this helps.

Greg

Tags for this Thread

Everyone's Tags:

Add a New Tag:

Separated by commas
Ex.: root locus, bode

What are tags?

A tag is like a keyword or category label associated with each thread. Tags make it easier for you to find threads of interest.

Anyone can tag a thread. Tags are public and visible to everyone.

Tag Activity for This Thread
Tag Applied By Date/Time
neural network Amal 9 Sep, 2008 03:15:22
rssFeed for this Thread

Public Submission Policy

NOTICE: Any content you submit to MATLAB Central, including personal information, is not subject to the protections which may be afforded information collected under other sections of The MathWorks, Inc. Web site. You are entirely responsible for all content that you upload, post, e-mail, transmit or otherwise make available via MATLAB Central. The MathWorks does not control the content posted by visitors to MATLAB Central and, does not guarantee the accuracy, integrity, or quality of such content. Under no circumstances will The MathWorks be liable in any way for any content not authored by The MathWorks, or any loss or damage of any kind incurred as a result of the use of any content posted, e-mailed, transmitted or otherwise made available via MATLAB Central. Read the complete Disclaimer prior to use.

Contact us at files@mathworks.com