newbie: How to use neural pattern recognition to create a base signal and recognizing signal.(having very little matlab experience)

3 views (last 30 days)
i am doing a project that use signals(neural,voice) to command a machine. i've heard that neural pattern recognition, matlab is able to create a database of signals and able to recognize it when a similar signal passes through the network. i have 33 samples of 1000 elements signals including 6 possible signals that i have decided to use as the base(a single command only). Also,i have gone through the GUI version of the neural pattern recognition with given sample but stuck at creating target signal (1 and 0) for my own. i need a guidance on the creating, understanding target and subsequence possible problems to proceed with my project. Thank you.
*As a newbie,i do not know the codes very well.

Accepted Answer

Greg Heath
Greg Heath on 25 Jul 2014
1. Use PCA to reduce the dimensionality
2. Use k-means with k=6 to separate the data into 6 classes.
3. There are many ways to obtain unbiased estimates of error rates
a. Repeat and combine results: Randomly choose 22 for training
and 11 for testing
b. Repeat and combine results: Use 3-fold cross-validation
c. For either of the above,
i. Add noise to training data and parameterize performance via SNR
ii. Add noise to test data and parameterize performance via SNR
iii. Add noise to all data and parameterize performance via SNR
I favor 1, 2, 3b, 3cii
Hope this helps.
Thank you for formally accepting my answer
Greg

More Answers (1)

Greg Heath
Greg Heath on 21 Jul 2014
33 examples span, at most, a 32-dimensional subspace. Therefore you should try to reduce the dimensionality of the examples.
Principle component analysis chooses orthogonal directions in the directions of maximum variance. However, that does not necessarily maximize class separation.
The alternative is partial-least-squares
help plsregress
doc pls regress
However, that can only be used if the correct class is used.
So, the best advice is to use pca. Then cluster the data into 6 groups using k-means.
Hope this helps.
Thank you for formally accepting my answer
Greg
  1 Comment
Image Analyst
Image Analyst on 25 Jul 2014
David's "Answer" moved here since it's a comment, not an Answer to his original question.
i realize that neural clustering helps making target for my inputs, i am using 20 for clustering, 10 for pattern recognition and discarding 3. i have 1 question, what size of the 2-axis dimension should i use in clustering considering achieving high accuracy and less time spent on training and plotting confusion later during pattern recognition.
each sample has 1000 elements, each element is a reading per every 0.005 sec(5 secs per sample). So should i cluster them according to 20 samples or the thousand elements.
*aim: to achieve higher accuracy, consuming less time in the next part and less complication.

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!