 Research
 Open Access
An experimental evaluation of the incidence of fitnessfunction/searchalgorithm combinations on the classification performance of myoelectric control systems with iPCA tuning
 Guillermo A Camacho^{1}Email author,
 Carlos H Llanos^{2},
 Pedro A Berger^{3},
 Cristiano Jacques Miosso^{4} and
 Adson F Rocha^{4}
https://doi.org/10.1186/1475925X12133
© Camacho et al.; licensee BioMed Central Ltd. 2013
Received: 28 May 2013
Accepted: 18 December 2013
Published: 27 December 2013
Abstract
Background
The information of electromyographic signals can be used by Myoelectric Control Systems (MCSs) to actuate prostheses. These devices allow the performing of movements that cannot be carried out by persons with amputated limbs. The state of the art in the development of MCSs is based on the use of individual principal component analysis (iPCA) as a stage of preprocessing of the classifiers. The iPCA preprocessing implies an optimization stage which has not yet been deeply explored.
Methods
The present study considers two factors in the iPCA stage: namely A (the fitness function), and B (the search algorithm). The A factor comprises two levels, namely A_{1} (the classification error) and A_{2} (the correlation factor). Otherwise, the B factor has four levels, specifically B_{1} (the Sequential Forward Selection, SFS), B_{2} (the Sequential Floating Forward Selection, SFFS), B_{3} (Artificial Bee Colony, ABC), and B_{4} (Particle Swarm Optimization, PSO). This work evaluates the incidence of each one of the eight possible combinations between A and B factors over the classification error of the MCS.
Results
A two factor ANOVA was performed on the computed classification errors and determined that: (1) the interactive effects over the classification error are not significative (F_{0.01,3,72} = 4.0659 > f_{ AB } = 0.09), (2) the levels of factor A have significative effects on the classification error (F_{0.02,1,72} = 5.0162 < f_{ A } = 6.56), and (3) the levels of factor B over the classification error are not significative (F_{0.01,3,72} = 4.0659 > f_{ B } = 0.08).
Conclusions
Considering the classification performance we found a superiority of using the factor A_{2} in combination with any of the levels of factor B. With respect to the time performance the analysis suggests that the PSO algorithm is at least 14 percent better than its best competitor. The latter behavior has been observed for a particular configuration set of parameters in the search algorithms. Future works will investigate the effect of these parameters in the classification performance, such as length of the reduced size vector, number of particles and bees used during optimal search, the cognitive parameters in the PSO algorithm as well as the limit of cycles to improve a solution in the ABC algorithm.
Keywords
Introduction
The loss of capabilities to manipulate objects with the hands is considered a high impact disease due to the physical, psychological and financial sequels related[1, 2]. A current technological aid for upper limb amputation and deficiency is represented by the use of a myoelectric hand prosthesis. This device overcomes the inability to grasp and manipulate objects[3] and in some cases to sense and explore the surrounding world[4]. A myoelectric prosthesis is composed of two main systems: (a) the prosthesis and (b) the Myoelectric Control System (MCS), which is the topic of this work. The electromyographic signals (EMG) are used as an input of the MCS, which classifies patterns of the EMG signals and operate actuators in the prosthesis.
The conventional MCS classifies the myoelectric patterns in movement classes. The processing in the MCS is composed of three stages: feature extraction, dimensionality reduction and classification. Recently, Hargrove et al.[5] proposed a complementary architecture which improves the performance of the conventional MCS. This new architecture mixes 3 components: (a) a high crosstalk level EMG acquisition system, (b) an individual Principal Component Analysis (iPCA) transformation stage and (c) the conventional myoelectric control system. The main disadvantage of the iPCA projection is the dimensionality increment of the electromyographic patterns, in which the pattern dimension N is incremented by a factor corresponding to the control system’s number of classes C.
To deal with the dimensionality increment it is possible to compute a reduced iPCA transformation that generates just the N_{1} most discriminative dimensions instead of the complete set C × N (with N_{1} < C × N). The reduced iPCA transformation is used in[5] and requires an optimization process that intends to find a subset of N_{1} elements from a given set of C × N channels, warranting the maximum discrimination information in the selected subset. The optimization is based on a search strategy and a fitness function, i.e. a function that measures the quantity of discriminative information in the selected subset of channels.
The optimization in myoelectric control systems with iPCA tuning is explored by the authors in[6], where the analysis is focused on the effects of factors A and B over the performance of myoelectric control systems with iPCA tuning; with A representing the fitness function factor with two levels (A_{1} classification error and A_{2} correlation factor) and B representing the search algorithm factor with three levels (B_{1} sequential forward selection (SFS), B_{2} sequential floating forward selection, B_{3} artificial bee colony (ABC)). Our paper presents new results that complete the investigation in[6]. Specifically, we evaluate a new level for the B factor: B_{4} particle swarm optimization (PSO) for a total of eight treatment alternatives.
The paper is organized as follows: Section 'Related works’ discusses previous works in this research area. Section 'Background’ describes the principal component analysis, the problem of channel optimization, the search algorithms and the fitness functions considered. In Section 'Methods’ we present the experimental methodology. In Section 'Results’ the simulation results are given. In Section 'Discussion’ the results are discussed, and finally the conclusions are presented in Section 'Conclusions’.
Related works
Different approaches for the control of myoelectric prostheses have been used. These can be grouped in two trends[7]: (a) coordinated control[8] and (b) sequential control which is the main topic of the current study. In the latter, the degrees of freedom are actuated one at a time, in a sequence, as one carries out a multifunction task. These systems are based on pattern recognition architectures where the patterns are represented by the EMG signal characteristics (x) and the classes are represented by the movements of the prosthesis (y).
Summary of the classification parameters and errors reached in the last years
Classifier  Channels  Classes  Features  Subjects  Error  Additional processing  Reference  Year 

MLP  2  4  MAV, MAVS, ZC, SSC, WL.  9  9.25%  [9]  1993  
LDA, MLP  5  4  WPT. Transient  16  6.25%  [30]  1998  
PCA, LDA  4  6  WPT. Stationary  11  6.80%  [13]  2001  
LDA  4  4  TD. Stationary  12  5%  Majority vote  [12]  2003 
GMM  4  6  AR6+RMS+TD. Stationary  12  3.10%  Majority vote  [21]  2005 
Suppress interclass data  
LDA  8  7  AR4+RMS. Stationary  30  7.40%  Majority vote  [29]  2007 
Suppress interclass data  
SVM  4  5  RMS +AR6. Stationary  11  3%  Majority vote  [23]  2008 
Suppress interclass data  
LDA  10  11  AR6 Stationary  10  6.50%  [5]  2009  
LDA  10  11  AR6 Stationary  10  5%  iPCA Transformation  [5]  2009 
In order to obtain a solution to the previous described disadvantages the authors propose and evaluate in[6], a set of novel configurations for the iPCA tuning, based on two factors: (A) fitness function and (B) search algorithm. The A factor with two levels: (A_{1}) classification error and (A_{2}) correlation factor. The B factor with three levels: (B_{1}) sequential forward selection (SFS), (B_{2}) sequential floating forward selection and (B_{3}) artificial bee colony (ABC). In this context, this article evaluates a new level for the B factor: B_{4} particle swarm optimization (PSO). The overall results suggest an advantage on the use of the PSO algorithm with respect to other studied algorithms, with regard to the running time during the training stage.
Background
Principal Components Analysis
PCA is an orthogonal linear transformation used to convert a set of observations of possibly correlated variables into a set of values of uncorrelated variables called principal components. Given M observations of an N dimensional random vector z, the PCA transformation is performed by firstly subtracting the mean of the vector from z[5], x = z  E{z}, computing the N × N covariance matrix C_{ x } = E{x x^{ T }} and, then, applying s = W x, where s is the vector of the main component and W is the matrix in which each column is an eigenvector of C_{ x }. Usually the M observations would typically be samples taken from any C possible classes. This is known as universal PCA (uPCA) or global PCA[34]. This property of ignoring class information allows us to argue that PCA is suboptimal for classification purposes[35].
A recent variation, called individual PCA (iPCA)[34, 35], groups the M observations according to their class membership. Separate projection matrices W_{1},…,W_{ C } with size N × N are found for each class (see Figure1). This set of matrices can be interpreted as a unique C N × N size transformation matrix W_{ iPCA } formed by the concatenation of rows of the separate projection matrices. The iPCA method effectively “tunes” the data prior to classification and has been shown to improve classification accuracies for some pattern recognition problems[36]. The main drawback of this method is the linear increment of the dimensionality of the patterns with the number of classes C. To overcome this problem, a reduced iPCA transformation matrix W_{ R } is defined in[5]. This solution uses a transformation matrix with the best N_{1} basis of the W_{ iPCA } matrix (N_{1} < C N).
Channel optimization
The optimization task of finding a subset of N_{1} elements from a given set of CN channels can be interpreted as a discrete optimization problem (integer elements from the selected subset). The optimization scheme in Figure1 is used to carry out this task. In this scheme, a validation data set x_{ v } is projected with the W_{ iPCA } matrix. The projected pattern s is a C N × M size vector. The vector O^{′} is a subset of the CN dimensions in s and its components change at each iteration, following a specific strategy defined by the search algorithm. The fitness function evaluates the quality of an EMG pattern with regard to the discriminative information. The evaluated patterns by the fitness function are established by the rows of s which compose the O^{′} vector. When the stop conditions are reached, the scheme provides the selected channel subset O as output.
Search algorithms
The search algorithms treated in this study are the following: (a) Sequential Forward Selection (SFS), (b) Sequential Floating Forward Selection (SFFS), (c) Particle Swarm Optimization (PSO), and (d) Artificial Bee Colony (ABC); then, the same will be described.
Sequential Forward Selection (SFS)
This is one of the first developed search methods in the literature related to feature selection issue. The search procedure consists of the following steps: (a) compute the fitness function for each of the CN channels and then select the channel with the best value, and (b) form all possible two dimensional vectors that contain the winner from the previous step and compute the fitness for each of them, (c) select the vector with the best value, (d) continue the process until the N_{1} vector length has been completed. The main drawback of this algorithm is the nesting effect; that is, once a channel has been selected there is no possibility to discard it[32].
Sequential Floating Forward selection (SFFS)
This is a suboptimal search algorithm proposed by Pudil et al. in 1994[31] with the purpose of eliminating the nesting effects of the SFS algorithm. This algorithm begins the search with an initial subset of two channels. For each subsequent iteration, two tasks are necessary: (a) search the candidate channel which minimizes the fitness function and add it to the selected subset O^{′}, (b) verify if the fitness function can be optimized by replacing a channel from the selected subset O^{′}. Consequently, the SFFS search is performed dynamically, incrementing and decrementing the selected channels in the subset O^{′} until reach the target length N_{1}. An efficient way to implement this algorithm is presented in[31, 37].
Particle Swarm Optimization (PSO)
where, i is the particle index for i ∈ 1,…,S; j is a specific dimension for j ∈ 1,…,N_{1}; w is the inertia weight; r_{1}, r_{2} and r_{3} are random numbers uniformly distributed in the range (0,1); c_{1} is a cognitive parameter; c_{2} and c_{3} are social parameters; r(.) is a rounding function used to adapt the original PSO for the discrete optimization problem[39, 40].
It is possible that the solution computed with the PSO algorithm contains repeated elements (i. e. that the vector O^{′} has repeated elements). This leads to EMG patterns with high level of redundancy and it does not benefit the localization of the global minimum on the considered fitness functions. To overcome this, a modification on the conventional PSO algorithm was added. Whenever the search process leads to a solution with repeated elements, then, that solution will be penalized with a high fitness value and without evaluating the fitness function. This will hinder the EMG patterns with high level of redundancy from being selected as the optimal solutions in the minimization problem.
Artificial Bee Colony (ABC)
This is an optimization technique proposed in 2005 by Karaboga[42]. In ABC, each solution to the optimization problem is called food source and is represented by a N_{1}dimensional vector. The colony of artificial bees contains three groups of bees: employed bees, onlookers and scouts. The first half of the colony consists of employed artificial bees and the second half are the onlookers. For each food source there is only one employed bee. Therefore, the number of employed bees is equal to the number of food sources. An employed bee whose food source has been exhausted becomes a scout. The ABC algorithm can be implemented in two steps[43].

Initialization step: the algorithm generates a random initial solution set of length S. Each solution x_{ i }(i = 1,2…,S) is a N_{1}dimensional vector. The employed bees measures the nectar amount of each solution, return to the hive and share the nectar information with the onlooker bees.

Iterative step: the solution set is submitted to repetitive search cycles. During these cycles, the bees change its memory contents, searching the food source with the best fitness. Each bee is able to remember just one food source localization x_{ i }. Each cycle is computed in three phases: (a) employed phase, at this phase each employed looks for a new food source v_{ i } around its current position x_{ i } using (6). If the nectar quantity of this new position improves the previous one, then the bee position is updated. Once each employed bee has finished this phase, a probability factor p_{ i } is computed (7). Using this factor indicates the nectar level at each x_{ i } food source. (b) Onlooker phase, at this phase the onlooker bees use the probability factor p_{ i } of each employed bee and select a x_{ i } food source. Afterwards, a new v_{ i } food source around the selected neighborhood localization is computed (6). Finally, if the fitness value of this new position improves the previous one, then the bee position is updated. (c) Scout phase, whenever the exploration of a x_{ i } food source does not finish with a solution improvement, a counter increments the number of trials of that food source. If the value in this counter is greater than a threshold C_{ lim }, this x_{ i } food source is discarded and a new food source is randomly selected by a scout bee.${v}_{\mathit{\text{ij}}}={x}_{\mathit{\text{ij}}}+{\varphi}_{\mathit{\text{ij}}}({x}_{\mathit{\text{ij}}}{x}_{\mathit{\text{kj}}})$(6)
where f(.) represents the fitness function value and S represents the number of food sources.
Fitness functions
A fitness function is a particular type of function used to summarise, as a single figure of merit, how close a design solution is to achieving the setting aims. In this case, the aim is related with the maximum discrimination information in a subset of C × N channels obtained after the iPCA transformation. Two fitness functions have been used in this study: (a) Classification error, and (b) Correlation factor, which will be described here:
Classification error
Correlation factor
for p = 1,…,N; q = 1,…,N.
Myoelectric Control Systems with iPCA tuning
Figure2 depicts the myoelectric control scheme with iPCA tuning[5], which uses an iPCA transformation for tuning input patterns. This transformation is a variation of the PCA (Principal Component Analysis) that was initially used for improving the classification performance in problems of face recognition[34]. The purpose of the iPCA transformation is to generate a new signal space where the discriminative information related to the movement class is amplified, as long as other types of information are attenuated. However, there is a drawback: the patterns’ dimensions increase by a factor of C. Considering an input pattern corresponding to N EMG channels and a classification system with C classes, one has to use of a transformation matrix W_{ iPCA } with size C N × N. Therefore, the projection of the input signal results in a new dimension pattern CN (see Figure1)[5].
Methods
EMG signal acquisition
We used data collected by the University of New Brunswick  Canada, with authorization of Dr. Levis Hargrove. These data were acquired in an experiment approved by the University of New Brunswick’s Research Ethics Board[5]. The data were sampled from ten healthy subjects performing eleven motion classes. EMG signals were acquired from ten sites on the forearm using adhesive duotrodes manufactured by 3M. These signals were amplified to guarantee potentials in range [+5,5]V and a bandwidth of 1Hz to 500Hz. Afterwards, the signals were sampled at 1KHz and quantized with a 16bit resolution.
Experimental data were collected during eight trials. Each trial consists of two repetitions of eleven motion classes performed in sequential order, namely: (1) wrist pronation, (2) wrist supination, (3) wrist flexion, (4) wrist extension, (5) hand open, (6) key grip, (7) chuck grip, (8) power grip, (9) fine pinch grip, (10) tool grip, and (11) rest position or no movement.
In the present study, the EMG data recorded from trials 1 and 3 were used as a training data set. EMG data recorded from trials 2 and 4 were used as a test data set. And finally, EMG data recorded from trials 5 and 6 were used as a validation set to resolve the optimization problem defined in the Background Section. Otherwise, for all these sets, the intermotion class delays were excluded such as reported in[5].
Computing the reduced iPCA matrix
In this case, for all search algorithms the N_{1} parameter was set to 30, such as recommended in[5]. This value provides good classification accuracy.
The SFS algorithm was configured with just one stop criterion, namely: length of the selected subset equal to N_{1}.
PSO algorithm parameters
Symbol  Parameters  Value 

ε  Minimum value of fitness function  0 
c _{ 1 }  Cognitive parameter  2 
c _{ 2 }  Social parameter  2 
c _{ 3 }  Social parameter  1 
w  Inertial weight  [0.8, 0.1] 
S  Swarm size  10 
[v_{ m i n },v_{ m a x }]  Velocity limits  [109, 109] 
[x_{ m i n },x_{ m a x }]  Position limits  [1, 110] 
C _{ m a x }  Maximum number of iterations  120 
ABC algorithm parameters
Symbol  Parameter  Value 

ε  Minimum value of fitness function  0 
S  Number of food sources  10 
[v_{ min },v_{ max }]  Limit values  [1, 110] 
C _{ max }  Number of maximum cycles  120 
C _{ lim }  Limit of cycles to improve a solution  6 
For the PSO algorithm the minimum value of cost function (ε) was defined by the minimum possible value for the classification error and correlation factor (in this case equal to zero). The number of particles (S) was set to 10; for greater values, the search time was increased and the time for the experiments could exceed the available time (2 months to get experimental data), specially when the classification error were used as fitness function. For lower values, the search performance could be compromised due to the characteristics of population based stochastic optimization algorithms. The limit values (v_{ min }, v_{ max }, x_{ min }, x_{ max }) were defined by the dimension of the search space: C × N, where C is the number of movement classes (C = 10) and N is the number of acquisition channels (N = 11). The maximum number of iterations C_{ max } was set to 120; this value showed good results for both fitness functions. The algorithm used similar values for cognitive and social parameters (c_{1}, c_{2} and c_{3}) allowing a neutral strategy, i.e. a strategy were the confidence in the experience of each particle is equal to the confidence in the experience of the swarm. The inertial weight w decreases linearly allowing that the particles polish the search in the last iterations; this configuration induces an effect of global search in the first iterations and local search at the last ones.
In the ABC algorithm the parameters were configured having two requirements in mind: (a) high performance in the optimal search, (b) assurance of conditions to make fair comparisons between bioinspired algorithms. Then, the number of food sources (S) was configured to 10, equal than the number of particles in the PSO algorithm. The limit values (v_{ min }, v_{ max }) were defined by the dimension of the search space: C × N. The number of maximum cycles (C_{ max }) was set 120, equal that the maximum number of iterations in the PSO algorithm. The minimum value of the fitness function was set to 0, because this was the minimum value achievable by both fitness functions: classification error and correlation factor. The limit of cycles to improve a solution (C_{ lim }) was configured to 6; this value showed good classifications performances and affordable times of search.
To compute the classification error fitness function, the processing scheme formed by the blocks inside the dotted line in Figure2, (i.e. the conventional myoelectric control system) has been used. The configuration was the following: overriding windowing feature extraction[12] with lengths of 150 ms and sliding windows of 25 ms, features conformed by the first 6 autoregressive coefficients (AR6)[18], dimensionality reduction method based on Uncorrelated LDA (ULDA)[29] and LDA (Linear Discriminant Analysis) classifier[46]. At this stage, each channel was independently used to train and, subsequently, to test the control system, such as presented in[5].
At the second task (row selection block in Figure5) we used equation (12) to compute the reduced iPCA transformation matrix corresponding to each pair fitness function/search algorithm. Note that, at the output, eight reduced transformation matrices${W}_{R}^{\mathit{\text{ij}}}$ were obtained as consequence of an optimization procedure computed eight times (the subindexes i, j indicate the fitness function and the search algorithm, respectively).
System evaluation
Results
The simulations proposed in this paper were performed on the Matlab platform and are based on the myoelectric control toolbox presented in[29]. Nevertheless, we have made some modifications and added some new functionalities to the myoelectric control toolbox presented in[29]. These modifications were necessary to appropriately parse the EMG data base that had a different structure than the used in[29]. The added functionalities were done for configuring and implementing all the iPCA related functions, namely: optimal search, transformation matrices computing projections and performance indicators computing. The resulting simulator is a powerful tool for experimentation with iPCA myoelectric control, designed on a modular fashion that permits evaluation of different approaches in each of the processing steps. Here we show results separated in two main stages: (a) first, the results registered during reduced iPCA transformation matrix computing, and secondly, (b) results registered during EMG pattern classification.
Comparison of numberofiterations/meaniterationrunningtime for the eight treatment alternatives during optimization
Fitness function  SFS  SFFS  PSO  ABC 

Class. error  30/1282s  64.9/1705s  120/155s  120/475s 
Corr. factor  30/5.62s  78.3/7.61s  120/0.79s  120/1.12s 
A two factor analysis of variances (ANOVA) was performed over the error classification results, which has determined the following behaviors: (a) there was no statistical evidence of the dependence between the interaction of both factors (i.e. search algorithm and fitness function) and the classification error (F_{0.01,3,72} = 4.0659 > f_{ AB } = 0.09), (b) there was statistical evidence of the dependence between the fitness function factor and the classification error (F_{0.02,1,72} = 5.0162 < f_{ A } = 6.56), and (c) there was no statistical evidence showing the dependence between the search algorithm factor and the classification error factor, (F_{0.01,3,72} = 4.0659 > f_{ B } = 0.08).
Discussion
The analysis of simulation results may be performed taking into account two major aspects: (a) the computational complexity of the search process, and (b) the overall classification accuracy, using a fitness function. The metric used to measure the computational complexity was the number of iterations and the computational time of each iteration (see Table4). The product of these two metrics defines the search time (i.e. the time necessary to find an optimal solution) and gives an estimate of the computational complexity. With regard to the number of iterations is important to mention that: (a) the bioinspired algorithms used the maximum number of iterations (120) in each search and (b) the sequential algorithms never reached the maximum number of iterations (120). Therefore, the number of iterations is irrelevant to develop comparisons among bioinspired algorithms; otherwise, the same is important to compare both sequential and bioinspired algorithms. The search time in Figure7 shows that: (a) solutions founded with error classification fitness function are more susceptible to long search times. The data have shown a relation of 250:1 between the search time of the classification error fitness function and the search time of the correlation factor fitness function. This was already expected due to the complexity associated with the supervised and nonsupervised fitness functions (see fitness functions in Background Section); (b) the major and minor search time of the algorithms, regardless of the fitness function, are for SFFS and PSO respectively. The difference between these two algorithms is significant and indicates that the SFFS algorithm consumes almost four times more iterations than the PSO algorithm, for the case of maximum number of iterations = 120. The PSO algorithm is 14 percent better than the ABC algorithm, when correlation factor was used as fitness function. The difference (with respect to SFS) reaches 31 percent when classification error is used as fitness function.
This advantage of PSO over the other evaluated search algorithms is consequence of the low number of evaluations of the fitness function in each iteration of the PSO algorithm. The fitness values shown in Figure8 indicate the following behaviors: (a) the fitness computed on the classification error fitness function was lower than that computed with correlation factor as fitness function; (b) the optimal solutions computed with sequential algorithms were closer to the global minimum than the ones computed with the bioinspired algorithms. These results suggest a superiority of the solutions computed with sequential algorithms. In order to generalize that behavior, it is necessary to test the bioinspired algorithms using other configuration parameters; (c) the fitness reached with the sequential algorithms SFS and SFFS are similar and, therefore, we can suggest that the nesting effect associated with the SFS algorithm is not significant in the considered fitness functions.
Figure9 shows the comparison of the performances reached when the patterns were tuned with the different transformation matrices${W}_{R}^{\mathit{\text{ij}}}$ (i = 1,2; j = 1,…,4). The results indicate the following aspects: (a) the classification rates are similar to the previous ones published in[5] and the classification error of the conventional myoelectric control architecture is superior to the classification error of the myoelectric control architecture with iPCA tuning; (b) there are similar levels of classification error when transformation matrices${W}_{R}^{i\bullet}$ were used (i.e. transformation matrices computed with the i fitness function and each of the search algorithms); and (c) there are differences between classification errors when transformation matrix${W}_{R}^{\bullet j}$ was used (i.e. transformation matrices computed with the j search algorithm and each of the fitness functions).
The response presented in (a) validates the superiority of the iPCA tuned architecture over the conventional myoelectric control architecture. Otherwise, the (b) response was not expected. Due to the superiority of fitness that was computed with sequential algorithms (see Figure8), greater differences between the classification errors were expected. For instance, that classification errors associated to transformation matrices computed with sequential algorithms (${W}_{R}^{\mathit{\text{ij}}}$ with j = 1,2) were less than classification errors associated to transformation matrices computed with bioinspired algorithms (${W}_{R}^{\mathit{\text{ij}}}$ with j = 3,4). This suggests that finding of the minimal value for the fitness function is not a sufficient condition to guarantee minimal classification errors during the evaluation of the myoelectric control system.
Finally, the (c) response was expected, basically by two reasons: (i) the superiority of classification error over correlation factor in determining the discriminant information in the selected subsets. (ii) The superior fitness of computed solutions using systems with classification error fitness function (see Figure8).
The confusion matrices displayed in Additional file1: Table S5, Additional file2: Table S6, Additional file3: Table S7 and Additional file4: Table S8 provide a direct comparison between the optimization alternatives used. Additional file1: Table S5 and Additional file3: Table S7 compare classification accuracy when the transformation matrices${W}_{R}^{2j}$ were used (i.e. the transformation matrices computed with the correlation factor fitness function and the sequential and bioinspired algorithms). Additional file2: Table S6 and Additional file4: Table S8 compare classification accuracy when the transformation matrices${W}_{R}^{1j}$ were used (i.e. the transformation matrices computed with the classification error fitness function and the sequential and bioinspired algorithms).
In Additional file1: Table S5 and Additional file3: Table S7, the values in white (left columns) show processing with SFS algorithm and the values in gray (right columns) show the results with SFFS algorithm. In Additional file2: Table S6 and Additional file4: Table S8, the values in white (left columns) show processing with PSO algorithm and the values in gray (right columns) show the results with ABC algorithm.
The results along the main diagonal are correct classifications (accuracy) and those lying outside of the main diagonal are incorrect classifications. Empty cells correspond to an error of 0% and the accuracies were rounded to the nearest tenth of a percent. The values on these tables confirm two trends: (a) similar levels on classification error when transformation matrices${W}_{R}^{i\bullet}$ were used and (b) differences between classification errors when transformation matrices${W}_{R}^{\bullet j}$ were used.
Conclusions
This paper has presented and evaluated the use of bioinspired optimization algorithms in the iPCA stage of Myoelectric Control Systems for hand prosthesis. The influence of fitness function and searching algorithms on myoelectric control systems with iPCA tuning were investigated in terms of optimization performance (e.g. running time, number of iterations, mean search time), solution fitness and classification performance. The alternatives considered for fitness functions were the following: classification error, correlation factor, and for search algorithms: SFS, SFFS, PSO and ABC. The experimental results suggest superiority on classification performance when reduced iPCA matrices computed with classification error fitness function were used. The results have also shown the independence of classification performance with regard to the search algorithm. However, a practical advantage was found in using PSO algorithm during the optimal search. This advantage is related to the computational time of the process during the parameter configuration stage and was corroborated for a particular set of configuration parameters in the algorithm. Future studies will be carried out to investigate other configuration parameters in the PSO algorithm as well as the effects of the selected subset length N_{1} on the classification performance.
Nomenclature
MCSs Myoelectric Control Systems
iPCA individual principal component analysis
PCA principal component analysis
ABC artificial bee colony
PSO particle swarm optimization
EMG electromyographic signals
SFS sequential forward selection
SFFS sequential floating forward selection
MLP multilayer perceptron
NNs neural networks
LDA linear discriminant analysis
ULDA uncorrelated linear discriminant analysis
GMMs Gaussian mixture models
HMMs hidden Markov models
SVMs support vector machines
TD Time Domain
MAV mean absolute value
MAVS mean absolute value slope
ZC zero crossings
SSC slope sign changes
WL wave length
AR autoregressive
STFT small time Fourier transform
WT Wavelet transform
WPT Wavelet packets transform
TDAR concatenated TD and AR features
x generic EMG signal
y vector of classes of movement
$\stackrel{\u02c6}{y}$ vector of predicted classes of movement
${\stackrel{\u02c6}{y}}_{\mathit{\text{ij}}}$ vector of predicted classes of movement computed with${W}_{R}^{\mathit{\text{ij}}}$
e_{ ij } classification error of the system configured with the${W}_{R}^{\mathit{\text{ij}}}$ transformation matrix
x_{ v } validation data set of EMG signals
x_{ tr } training data set of EMG signals
x_{ tst } test data set of EMG signals
x_{ i } position vector of the i particle and position vector of the i food source in the PSO algorithm and ABC algorithm respectively
v_{ i } velocity vector of the i particle and new position vector around x_{ i } in the PSO algorithm and ABC algorithm respectively
${p}_{{\mathit{\text{best}}}_{i}}$ best individual position for the i particle in the PSO algorithm
gfbest first best position explored so far in the PSO algorithm
w inertial weight in the PSO algorithm
gsbest second best position explored so far in the PSO algorithm
r_{1}, r_{2} and r_{3} random numbers uniformly distributed in the range (0,1)
c_{1} cognitive parameter in the PSO algorithm
c_{2}and c_{3} social parameters in the PSO algorithm
p_{ i } probability factor of each employed bee in the ABC algorithm
C_{ lim } limit of cycles to improve a solution in the ABC algorithm
C_{ max } maximum number of iterations and maximum number of cycles in the PSO algorithm and ABC algorithm respectively
ϕ_{ ij } random number in the range [1,1] that controls the production of food source positions around x_{ i } in the ABC algorithm
s iPCA projected pattern from x
M number of observations of the EMG signal
O^{ ′ } vector of possible optimal set of channels
O vector of optimal set of channels
O_{ ij } vector of optimal set of channels computed with the i fitness function and the j search algorithm
ε minimum value of fitness function
C_{ x } cross correlation factor
R_{ x } correlation coefficient matrix
F_{ c } normalized correlation factor
j index for the search algorithm
i index for the fitness function
C number of classes of movement
N length of the pattern vector
N_{1} length of the reduced size vector
S the number of particles and bees used during optimal search with bioinspired algorithms
W PCA transformation matrix
W_{ c } PCA transformation matrix for the c movement class
W_{ iPCA } iPCA transformation matrix
W_{ R } reduced iPCA transformation matrix
${W}_{R}^{\mathit{\text{ij}}}$ reduced iPCA transformation matrix computed with the i fitness function and the j search algorithm
Declarations
Acknowledgements
The Authors would like to thank Dr. Levi Hargrove from the Neural Engineering Center for Artificial Limbs at the Rehabilitation Institute of Chicago for providing us with the EMG data set, and Dr. A. D. C. Chan from the Department of Systems and Computing Engineering at Carleton University for providing us with the Matlab Library for myoelectric control. Additionally, thanks also to Daniel Muñoz from FGAUnB for his help in the configuration of the bioinspired algorithms.
Authors’ Affiliations
References
 Micera S, Carpaneto J, Raspopovic S: Control of hand prostheses using peripheral information. Biomed Eng, IEEE Rev 2010, 3: 48–68.View ArticleGoogle Scholar
 McGimpsey G, Bradford TC: Limb prosthetics services and devices. Critical unmet need: market analysis  white paper. Tech. rep., Bioengineering Institute Center for Neuroprosthetics  Worcester Polytechnic Institution 2011Google Scholar
 Edeer D, Martin CW: Upper limb prostheses  A review of the literature with a focus on myoelectric hands. Tech. rep., Richmond, BC: WorkSafeBC EvidenceBased Practice Group February 2011.http://worksafebc.com/health_care_providers/Assets/PDF/UpperLimbProstheses2011.pdf
 Yao J, Carmona C, Chen A, Kuiken T, Dewald J: Sensory cortical remapping following upperlimb amputation and subsequent targeted reinnervation: a case report. c, EMBC, 2011 Annual International Conference of the IEEE, Aug. 30 2011–Sept. 3 2011, pp. 1065–1068.http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6090248&isnumber=6089866
 Hargrove L, Li G, Englehart K, Hudgins B: Principal components analysis preprocessing for improved classification accuracies in patternrecognitionbased myoelectric control. Biomed Eng, IEEE Trans 2009, 56(5):1407–1414.View ArticleGoogle Scholar
 Camacho G, Llanos C, de A Berger P, Miosso C, da Rocha A: Evaluating different combinations of feature selection algorithms and cost functions applied to iPCA tuning in myoelectric control systems. Engineering in Medicine and Biology Society (EMBC), 2012 Annual International Conference of the IEEE, Aug. 28 2012–Sept. 1 2012, pp. 6508–6513.http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6347485&isnumber=6345844
 Merletti R, Parker P: Electromyography: Physiology, Engineering and Noninvasive Applications. 2004. http://dx.doi.org/10.1002/0471678384View ArticleGoogle Scholar
 Nielsen J, Holmgaard S, Jiang N, Englehart K, Farina D, Parker P: Simultaneous and proportional force estimation for multifunction myoelectric prostheses using mirrored bilateral training. Biomed Eng, IEEE Trans 2011, 58(3):681–688.View ArticleGoogle Scholar
 Hudgins B, Parker P, Scott R: A new strategy for multifunction myoelectric control. Biomed Eng, IEEE Trans 1993, 40: 82–94. 10.1109/10.204774View ArticleGoogle Scholar
 Tenore F, Ramos A, Fahmy A, Acharya S, EtienneCummings R, Thakor N: Decoding of individuated finger movements using surface electromyography. Biomed Eng, IEEE Trans 2009, 56(5):1427–1434.View ArticleGoogle Scholar
 Kelly M, Parker P, Scott R: The application of neural networks to myoelectric signal analysis: a preliminary study. Biomed Eng, IEEE Trans 1990, 37(3):221–230. 10.1109/10.52324View ArticleGoogle Scholar
 Englehart K, Hudgins B: A robust, realtime control scheme for multifunction myoelectric control. Biomed Eng, IEEE Trans 2003, 50(7):848–854. 10.1109/TBME.2003.813539View ArticleGoogle Scholar
 Englehart K, Hudgin B, Parker P: A waveletbased continuous classification scheme for multifunction myoelectric control. Biomed Eng, IEEE Trans 2001, 48(3):302–311. 10.1109/10.914793View ArticleGoogle Scholar
 Chu JU, Moon I, Lee YJ, Kim SK, Mun MS: A supervised featureprojectionbased realtime EMG pattern recognition for multifunction myoelectric hand control. Mechatronics, IEEE/ASME Trans 2007, 12(3):282–290.View ArticleGoogle Scholar
 Park SH, pil Lee S: EMG pattern recognition based on artificial intelligence techniques. Rehabil Eng, IEEE Trans 1998, 6(4):400–405. 10.1109/86.736154View ArticleGoogle Scholar
 Micera S, Sabatini AM, Dario P, Rossi B: A hybrid approach to EMG pattern analysis for classification of arm movements using statistical and fuzzy techniques. Med Eng Phys 1999, 21(5):303–311. http://www.sciencedirect.com/science/article/pii/S1350453399000557 10.1016/S13504533(99)000557View ArticleGoogle Scholar
 Chan F, Yang YS, Lam F, Zhang YT, Parker P: Fuzzy EMG classification for prosthesis control. Rehabil Eng, IEEE Trans 2000, 8(3):305–311. 10.1109/86.867872View ArticleGoogle Scholar
 Chan A, Englehart K: Continuous myoelectric control for powered prostheses using hidden Markov models. Biomed Eng, IEEE Trans 2005, 52: 121–124. 10.1109/TBME.2004.836492View ArticleGoogle Scholar
 Ajiboye A, Weir R: A heuristic fuzzy logic approach to EMG pattern recognition for multifunctional prosthesis control. Neural Syst Rehabil Eng, IEEE Trans 2005, 13(3):280–291. 10.1109/TNSRE.2005.847357View ArticleGoogle Scholar
 Khezri M, Jahed M: Realtime intelligent pattern recognition algorithm for surface EMG signals. BioMed Eng OnLine 2007, 6: 45. http://www.biomedicalengineeringonline.com/content/6/1/45 10.1186/1475925X645View ArticleGoogle Scholar
 Huang Y, Englehart K, Hudgins B, Chan A: A Gaussian mixture model based classification scheme for myoelectric control of powered upper limb prostheses. Biomed Eng, IEEE Trans 2005, 52(11):1801–1811. 10.1109/TBME.2005.856295View ArticleGoogle Scholar
 Chu JU, Lee YJ: Conjugatepriorpenalized learning of gaussian mixture models for multifunction myoelectric hand control. Neural Syst Rehabil Eng, IEEE Trans 2009, 17(3):287–297.View ArticleGoogle Scholar
 Oskoei M, Hu H: Support vector machinebased classification scheme for myoelectric control applied to upper limb. Biomed Eng, IEEE Trans 2008, 55(8):1956–1965.View ArticleGoogle Scholar
 Liu YH, Huang HP, Weng CH: Recognition of electromyographic signals using cascaded kernel learning machine. Mechatronics, IEEE/ASME Trans 2007, 12(3):253–264.View ArticleGoogle Scholar
 Shenoy P, Miller K, Crawford B, Rao R: Online electromyographic control of a robotic prosthesis. Biomed Eng, IEEE Trans 2008, 55(3):1128–1135.View ArticleGoogle Scholar
 Khokhar ZO, Xiao ZG, Menon C: Surface EMG pattern recognition for realtime control of a wrist exoskeleton. BioMed Eng OnLine 2010, 9: 41. http://www.biomedicalengineeringonline.com/content/9/1/41 10.1186/1475925X941View ArticleGoogle Scholar
 Graupe D, Salahi J, Kohn KH: Multifunctional prosthesis and orthosis control via microcomputer identification of temporal pattern differences in singlesite myoelectric signals. J Biomed Eng 1982, 4: 17–22. http://www.sciencedirect.com/science/article/pii/0141542582900218 10.1016/01415425(82)900218View ArticleGoogle Scholar
 Kang WJ, Shiu JR, Cheng CK, Lai JS, Tsao HW, Kuo TS: The effect of electrode arrangement on spectral distance measures for discrimination of EMG signals. Biomed Eng, IEEE Trans 1997, 44(10):1020–1023. 10.1109/10.634653View ArticleGoogle Scholar
 Chan ADC, Green GC: Myoelectric control development toolbox. 30th Conference of the Canadian Medical & Biological Engineering Society, Toronto, Canada, Volume Paper M0100. 2007Google Scholar
 Kevin E: Signal representation for classification of the transient myoelectric signal. PhD thesis, University of New Brunswick, 1998Google Scholar
 Pudil P, Novovicova J, Kittler J: Floating search methods in feature selection. Pattern Recognit Lett 1994, 15(11):1119–1125. 10.1016/01678655(94)901279View ArticleGoogle Scholar
 Theodoridis S, Koutroumbas K: Pattern Recognition (Third Edition). San Diego: Academic Press; 2006.Google Scholar
 Karaboga D, Akay B: A survey: algorithms simulating bee swarm intelligence. Artif Intell Rev 2009, 31: 61–85. 10.1007/s1046200991274View ArticleGoogle Scholar
 Liu X, Chen T, Kumar B: Face authentication for multiple subjects using eigenflow. Pattern Recognit 2003, 36(2):313–328. 10.1016/S00313203(02)00033XView ArticleGoogle Scholar
 Das K, Osechinskiy S, Nenadic Z: A classwise PCAbased recognition of neural data for braincomputer interfaces. Engineering in Medicine and Biology Society, 2007. EMBS 2007. 29th Annual International Conference of the IEEE, 22–26 Aug. 2007, pp 6519–6522.http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=4353853&isnumber=4352185
 Das K, Nenadic Z: An efficient discriminantbased solution for small sample size problem. Pattern Recognit 2009, 42(5):857–866. 10.1016/j.patcog.2008.08.036View ArticleGoogle Scholar
 Karlsson S, Yu J, Akay M: Timefrequency analysis of myoelectric signals during dynamic contractions: a comparative study. Biomed Eng, IEEE Trans 2000, 47(2):228–238. 10.1109/10.821766View ArticleGoogle Scholar
 Eberhart R, Kennedy J: A new optimizer using particle swarm theory. Micro Machine and Human Science, 1995. MHS '95., Proceedings of the Sixth International Symposium on, 4–6 Oct 1995, pp. 39–43.http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=494215&isnumber=10679
 Khushaba R, AlAni A, AlJumaily A: Swarm intelligence based dimensionality reduction for myoelectric control. Intelligent Sensors, Sensor Networks and Information, 2007. ISSNIP 2007. 3rd International Conference on, 3–6 Dec. 2007, pp. 577–582.http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=4496907&isnumber=4496790
 Jin J, Wang X, Zhang J: Optimal selection of EEG electrodes via DPSO algorithm. Intelligent Control and Automation, 2008. WCICA 2008, 7th World Congress on, 25–27 June 2008, pp. 5095–5099.http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=4593756&isnumber=4592780
 Forbes R, Nayeem Mohammad T: Particle swarm optimization on multifunnel functions. http://www.cs.colostate.edu/~nayeem/papers/pso_paper.pdf
 Karaboga D: An idea based on honey bee swarm for numerical optimization. Tech. Rep. TR06, Erciyes University 2005Google Scholar
 Karaboga D, Basturk B: A powerful and efficient algorithm for numerical function optimization: artificial bee colony (ABC) algorithm. J Glob Optimization 2007, 39: 459–471. 10.1007/s108980079149xMathSciNetView ArticleGoogle Scholar
 Mogk JP, Keir PJ: Crosstalk in surface electromyography of the proximal forearm during gripping tasks. J Electromyography Kinesiol 2003, 13: 63–71. 10.1016/S10506411(02)000718View ArticleGoogle Scholar
 MATLAB: Version 7.10.0 (R2010a). Natick: The MathWorks Inc.; 2010.Google Scholar
 Hargrove L, Englehart K, Hudgins B: A comparison of surface and intramuscular myoelectric signal classification. Biomed Eng, IEEE Trans 2007, 54(5):847–853.View ArticleGoogle Scholar
Copyright
This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.