Method of evolving classifier programs for signal processing and control
First Claim
1. A method of evolving programs for processing an input signal having a plurality of features comprising:
- examining said features of said input signal;
creating a classifier program responsive to said features;
comparing the output of the classifier program to a desired output to produce a fitness function;
creating a plurality of classifier programs; and
optimizing the classifier program by using the fitness function to guide the evolution of the classifier program.
0 Assignments
0 Petitions
Accused Products
Abstract
The present invention is a method of evolving classifier programs for signal processing and control. The present invention uses an ‘evolver’ program examine a large number of potential features, which may be from multiple signals to create a ‘classifier’ program. The output of the classifier program is compared to the desired output. One or more classifier programs is then created and optimized by the evolver program by means of genetic programming. The desired output is again compared to actual classifier program output and the difference is used as a measure of fitness to guide the evolution of the classifier program. The optimized classifier program produced by the present invention is fitter than the background art at correctly providing a repeatable and accurate output, especially for complex and simultaneous input signals. The classifier program may either operate within the program structure of the evolver program or it may be used as an independent program, as, for example, an individualized control program for the controller of a powered prosthesis.
-
Citations
8 Claims
-
1. A method of evolving programs for processing an input signal having a plurality of features comprising:
-
examining said features of said input signal;
creating a classifier program responsive to said features;
comparing the output of the classifier program to a desired output to produce a fitness function;
creating a plurality of classifier programs; and
optimizing the classifier program by using the fitness function to guide the evolution of the classifier program.
-
-
2. A method of evolving programs for processing signal from a domain comprising the steps of:
-
selecting and actuating sensors appropriate for the domain;
sensing the domain environment using the selected sensors to produce raw sensor data;
acquiring and recording the raw sensor data;
calculate single event data consisting of the raw signal data between the start and stop of a signal event;
calculate a single event feature set that includes all features calculated for each sensor;
add the single event feature set to the training database;
add the classification for the single event feature set to the training database, which consists of records, each of which contains one event classification and the features associated with that event;
calculate confidence by evaluating a classifier against the testing database and establishing its accuracy;
resolve any unrecognized and misclassified signal event data to determine the proper classification;
add the now-recognized signal event data to the training database for future refinement of the classifiers;
randomly and evenly divide the training database into separate training and testing sets, such that 1. each set contains events of all desired signal classifications 2. each set contains adequate numbers of events for each desired signal classification 3. the two sets are statistically equivalent and interchangeable;
select values for items required for using genetic programming including initial fitness functions, population parameters, random seeds, genetic operators and termination criteria;
run the genetic program until it finishes according to the termination criteria, then, record data, results and statistics about each run separately;
determine if genetic program converged to acceptable solutions; and
convert signal classifiers from genetic program form into one appropriate for evaluation/execution by the embedded domain classifier program.
-
-
3. A method of evolving programs to process at least one input signal comprising the steps of:
-
generating a database of signals from said input signal channel;
converting the signals in said input signal database to a form encountered in field use;
calculating features from each signal in the converted signal database to characterizing the classification of said signals;
producing at least one candidate classifying program responsive to said calculated features of said signals;
producing a fitness function calculation program that calculates a value proportional to the signal classification success of candidate classifying program; and
evolving the classification program using the fitness function to optomize the signal classifying program.
-
-
4. A method of evolving programs for processing a plurality of signal channels sensing the electric signals from a user'"'"'s residual limb to control the user'"'"'s prosthesis comprising the steps of:
-
collecting signal data from a plurality of sensors on the user'"'"'s residual limb while the user commands each desired motion a plurality of times to form a database of known motion commands associated with the electrical signals from the user'"'"'s residual limb resulting from the motion command;
reducing the plurality of electric signals in a time interval close to and including the motion command to a feature set;
performing a separability analysis to choose a subset of signal channels and signal features that yields the best discrimination of the motion commands that the user generates;
evolving a motion discriminating program using the subset of signal channels and features predicted to offer the best discrimination and a fitness function. - View Dependent Claims (5, 6, 7, 8)
this separability analysis consists of;
listing all possible pairs of motions that the controller must discriminate between;
computing, for each pair, a normalized separation distance equal to the difference between a each feature'"'"'s averages on each channel for both members of the motion pair divided by half the sum of the feature'"'"'s standard deviations on that channel;
averaging the normalized separation distances across all pairs of motions for a given channel and feature; and
ranking the channels and features by these pair-based average separation distances; and
choosing the N channels and Q features with the highest average separation distances, which will offer the best discrimination performance.
-
-
6. A method as in claim 4 wherein the signal features consist of:
-
(1) Mean absolute value (MAV) (2) MAV slope between time intervals;
(3) Energy;
(4) Rate of change of energy;
(5) Average value;
(6) Number of zero crossings;
(7) Number of up slopes;
(8) Number of down slopes;
(9) Waveform complexity;
(10) Mean frequency;
(11) Median frequency;
(12) Energy or power at any frequency;
(13) Variance;
(14) Autoregressive or autoregressive moving average parameters; and
ratios or other combinations of the above both within or between said channels and said time intervals.
-
-
7. A method as in claim 4 wherein the choices of the best channels and features are chosen on averages of the normalized separation distances across channels or features rather than across all motion pairs.
-
8. A method as in claim 4 wherein the separability analysis is omitted and all channels and features are used to predicted the best discrimination and a fitness function.
Specification