 Research
 Open Access
 Published:
An experimental evaluation of the incidence of fitnessfunction/searchalgorithm combinations on the classification performance of myoelectric control systems with iPCA tuning
BioMedical Engineering OnLine volume 12, Article number: 133 (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.
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).
Starting from one of the first works that made use of a multilayer perceptron (MLP) neural networks (NNs)[9–11], various classifiers such as linear discriminant analysis (LDA)[12–14], (neuro) fuzzy[15–20], Gaussian mixture models (GMMs)[21, 22], hidden Markov models (HMMs)[18], and support vector machines (SVMs)[23–25] have been used. Some commonly investigated feature sets include time domain (TD) features: MAV, MAVS, ZC, SSC, WL[12, 26], autoregressive (AR) coefficients[27], cepstral coefficients[28], the shorttime Fourier transform (STFT), the wavelet transform (WT), the wavelet packet transform[13] (WPT), and concatenated TD and AR (TDAR)[21, 29] features. These solutions have reached different classification errors, depending on the number of classes and other factors (see Table1 for a summary of the different errors reported in last years). For instance, in[29] an error of 7.4% is reported in a problem with 7 movement classes and 8 electromyography channels. Recently, a new strategy has been proposed in which the temporalspatial information, contained within muscle crosstalk, may implicitly add class discriminatory information to the classification problem[21]. This proposal has been investigated by Hargrove[5] observing a significative reduction in the classification error. In a problem with 7 movement classes and 6 EMG channels the system yielded a classification error of 1.9%.
The proposal in[5] mixes 3 components: (a) a high crosstalk level EMG acquisition system (i.e. an acquisition system with an special distribution of electrodes that permits that the signal generated by the M_{1} muscle can be detected by the electrode associated with the M_{2} muscle, where muscles M_{1} and M_{2} are near[7]), (b) an 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 original pattern dimension N is incremented by a factor corresponding to the control system’s number of classes C, i.e. it generates a new pattern with dimension C times N. To deal with the dimensionality increment it is possible to compute a reduced iPCA transformation that computes just the N_{1} most discriminative dimensions instead of the complete set C × N (with N_{1} < C × N). This solution requires an optimization search 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. Because of the time of response of these systems, the optimization process must be conducted during a configuration stage, before the classification tasks. This optimization uses a search algorithm and a fitness function as depicted in Figure1. The results in[5] were computed using a combination of SFS (sequential forward selection) algorithm and the classification error fitness function. Despite important reported advantages, there are also some disadvantages for that configuration: (1) The SFS algorithm presents the nesting effect, i.e., once a channel has been selected there is no possibility of discarding it[31]. (2) The SFS algorithm does not use random components[32]; note that this type of components can help by finding different solutions and potentially lead to better ones[33] in problems with more than one local optimum. (3) The use of the classification error as the fitness function requires a supervised procedure, in which the classes associated to each pattern are known, being computationally expensive, due to the need for evaluating the classifier’s output at each iteration.
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)
This is a population based stochastic optimization technique developed by Eberhart and Kennedy in 1995[38]. In this algorithm, it is assumed that there exists a swarm with S particles. Consider that the search space is N_{1}dimensional, and the ith particle of the swarm can be represented by a dimensional position vector x_{ i } = (x_{i 1},x_{i 2},…,x_{ i }N_{1}). The velocity of the particle is denoted by v_{ i } = (v_{i 1},v_{i 2},…,v_{ i }N_{1}). Additionally, consider that the best individual position for the i particle is${p}_{{\mathit{\text{best}}}_{i}}=({p}_{i1},{p}_{i2},\dots ,{p}_{i}{N}_{1})$ and also that the first and second best position explored so far are gfbest and gsbest respectively. The velocity of the particle and its position are updated according to (1) and (2).
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].
The purpose of including the second best particle gsbest in the velocity update equation is to increase the diversity and slow convergence by addressing each particle to move toward the weighted sum of both the best and second best solution the swarm has generated[41]. Considering a minimization problem the local best of each particle is updated according to (3).
where, f(.) is the fitness function. Finally, the first and second global best of the swarm are updated according to (4) and (5).
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 k ∈ (1,2,…S) and j ∈ (1,2,…N_{1}) are randomly chosen indexes, with k ≠ i. ϕ_{ ij } is a random number in the range [1,1] that controls the production of food source positions around x_{ i }.
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
This is the same factor that has been used to measure the performance of the myoelectric control system; therefore, it is the ideal function to compare the discriminative information of the EMG patterns. This factor is computed as the relation between number of incorrect decisions and the total number of decisions of the system. To compute this relation, is necessary to know the predicted class vector$\stackrel{\u02c6}{y}$ and, therefore, the classification scheme composed of the block diagrams inside the dotted line in Figure2 (i.e. the conventional myoelectric system) must be performed. Consequently, there is a significant computational complexity involved in classification error computation.
Correlation factor
Several factors have been proposed to quantify the amount of common signals presented between the two dimensions of a signal, the most common being the cross correlation factor[44]. The equation used to compute this factor for a discrete two dimension vector x is
where E is mathematical expectation and μ_{ i } = E[x_{ i }]. For Ndimensional vectors, the correlation coefficient matrix is more used, where (9) defines each element of the matrix; each element varies within the range [1,1].
for p = 1,…,N; q = 1,…,N.
R_{ x } is an N × N matrix with correlation coefficients computed for each pair of dimensions of the vector x. This matrix is symmetric and has ones in its main diagonal; therefore, to quantify the correlation level it is enough to consider the lower or upper diagonal elements. An alternative considering the lower elements is
where tril(.) is a function that returns the lower triangular elements of the matrix without the main diagonal ones. To limit the correlation factor between [0,100] we have defined the expression in (11), which has been used for computing the correlation factor between dimensions of the EMG signal.
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].
A reduced iPCA transformation can be defined for reducing the effects of dimension pattern increments. In this solution, it is necessary to compute a reduced iPCA transformation matrix W_{ R }. This matrix projects the input patterns and generates just the N_{1} most discriminative dimensions at the output (with N_{1} < C N). To compute W_{ R } it is necessary to solve the block diagram in Figure1. The output of this scheme is the vector O, which contains N_{1} channels selected from the CN set. Using this vector, the relation between the iPCA transformation matrix and the reduced iPCA transformation matrix is defined, as stated in (12), where the Matlab[45] notation for submatrices is used.
Methods
In order to evaluate the classification performance for each fitnessfunction/searchalgorithm combination, a methodology based in three steps has been applied (namely, EMG signal acquisition, computing the reduced iPCA matrix, and system evaluation) which are depicted in Figure3.
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.
The intensity of the contraction was determined by the subject, but they were encouraged to contract to a level that they comfortably repeated throughout the experiment. During all trials, subjects elicited the contraction from the rest position, held the contraction for 4 s and then returned to the rest position for a predefined intermotion class delay period. Trials 1, 2, 3 and 4 used intermotion class delay periods of 3, 2, 1 and 0 s respectively. Trials 5–8 used intermotion class delay periods of 2 s. The result is a data set composed of myoelectric signals x in each channel and a vector of target classes associated y. A sample of the collected data excluding the intermotion class delays is depicted in Figure4.
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
This step has been implemented in two sequential tasks depicted in Figure5: (a) search of the reduced dimension vector O, and (b) building of the reduced iPCA transformation matrix W_{ R }. The first task began with the computing of the iPCA transformation matrices using the training data x_{ tr }. Afterwards, the validation data x_{ v } were projected with iPCA transformation matrices and the transformed patterns s were used to run the optimal subset channel search. The result of this search is the vector O composed of the N_{1} channels with most discriminative information. This search was evaluated with the eight possible combinations of fitnessfunction/searchalgorithm. Therefore, at the end of this task the subsets O_{ ij } were obtained, where the subindexes i, j indicate the fitness function and the search algorithm, respectively; for i = 1,2; j = 1,2,3,4.
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}.
The SFFS algorithm used two stop criteria: (1) the same defined in SFS and (2) the maximum number of iterations (C_{ max } = 120). The latter was selected considering tests which show a mean number of iterations of 78.3 (with a standard deviation of 23.04) to find a solution. The PSO and ABC algorithms used other kind of parameters summed up in Table2 and Table3, respectively. For both fitness functions the optimization problem was defined as a minimization and the parameters were set with the next criteria:
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
The last proceeding of the methodology was the evaluation of the classification system. This was carried out in two phases as depicted in Figure6: (a) the test data (x_{ tst }) classification, and (b) the classification error computing. The first phase was achieved with the iPCA preprocessing and the conventional classification scheme (see Figure2), using the same configuration described for the classification error fitness function computing. This process was computed for each of the reduced iPCA transformation matrices${W}_{R}^{\mathit{\text{ij}}}$; the output of this phase was the predicted class vector${\stackrel{\u02c6}{y}}_{\mathit{\text{ij}}}$. The second phase compares the vector${\stackrel{\u02c6}{y}}_{\mathit{\text{ij}}}$ with the target vector y to compute the classification error as defined in equation (13). The classification error was individually evaluated for each user k of the system.
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.
The results of the first stage of the system are shown in Figure7 and Figure8. Figure7 depicts the mean search time, i.e. the time necessary to compute the optimal vector O. The left figure shows the search time for classification error fitness function and the right figure for correlation factor fitness function. Complementary information on this subject is presented in Table4. This table summarizes the mean values of the number of iterations and the time of each single iteration for each fitnessfunction/searchalgorithm combination. Note that both bioinspired algorithms were stopped by the maximum iterations criteria (120 iterations); this means that the time performance comparison among bioinspired algorithms just depends on the time of each single iteration of the search algorithm. The SFS algorithm was stopped when reached 30 iterations and the SFFS have different mean iterations number for each fitness function. The times in Table4 have been computed on a PC with 2.8GHz processor, 8Gb RAM memory and 4 cores. Figure8 depicts the mean fitness value reached during the optimal search. This value is presented for the eight evaluated combinations of search algorithm and the fitness function.
The results of the next main stage (the EMG pattern classification stage) are shown in Figure9. This figure displays the mean classification errors generated when each of the eight reduced matrices${W}_{R}^{\mathit{\text{ij}}}$ were used in the myoelectric control system. The black bars indicate the classification errors obtained with the transformation matrix${W}_{R}^{1j}$ (i.e. the transformation matrices computed with the classification error fitness function) and white bars indicate the classification errors obtained with the transformation matrix${W}_{R}^{2j}$ (i.e. transformation matrices computed with the correlation factor fitness function). The vertical line on the bars represents one standard deviation of intersubject error variability. The red line indicates the mean classification error obtained when the EMG patterns were classified without the iPCA transformation.
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
References
 1.
Micera S, Carpaneto J, Raspopovic S: Control of hand prostheses using peripheral information. Biomed Eng, IEEE Rev 2010, 3: 48–68.
 2.
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 2011
 3.
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
 4.
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
 5.
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.
 6.
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
 7.
Merletti R, Parker P: Electromyography: Physiology, Engineering and Noninvasive Applications. 2004. http://dx.doi.org/10.1002/0471678384
 8.
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.
 9.
Hudgins B, Parker P, Scott R: A new strategy for multifunction myoelectric control. Biomed Eng, IEEE Trans 1993, 40: 82–94. 10.1109/10.204774
 10.
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.
 11.
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.52324
 12.
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.813539
 13.
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.914793
 14.
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.
 15.
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.736154
 16.
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)000557
 17.
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.867872
 18.
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.836492
 19.
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.847357
 20.
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/1475925X645
 21.
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.856295
 22.
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.
 23.
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.
 24.
Liu YH, Huang HP, Weng CH: Recognition of electromyographic signals using cascaded kernel learning machine. Mechatronics, IEEE/ASME Trans 2007, 12(3):253–264.
 25.
Shenoy P, Miller K, Crawford B, Rao R: Online electromyographic control of a robotic prosthesis. Biomed Eng, IEEE Trans 2008, 55(3):1128–1135.
 26.
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/1475925X941
 27.
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)900218
 28.
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.634653
 29.
Chan ADC, Green GC: Myoelectric control development toolbox. 30th Conference of the Canadian Medical & Biological Engineering Society, Toronto, Canada, Volume Paper M0100. 2007
 30.
Kevin E: Signal representation for classification of the transient myoelectric signal. PhD thesis, University of New Brunswick, 1998
 31.
Pudil P, Novovicova J, Kittler J: Floating search methods in feature selection. Pattern Recognit Lett 1994, 15(11):1119–1125. 10.1016/01678655(94)901279
 32.
Theodoridis S, Koutroumbas K: Pattern Recognition (Third Edition). San Diego: Academic Press; 2006.
 33.
Karaboga D, Akay B: A survey: algorithms simulating bee swarm intelligence. Artif Intell Rev 2009, 31: 61–85. 10.1007/s1046200991274
 34.
Liu X, Chen T, Kumar B: Face authentication for multiple subjects using eigenflow. Pattern Recognit 2003, 36(2):313–328. 10.1016/S00313203(02)00033X
 35.
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
 36.
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.036
 37.
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.821766
 38.
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
 39.
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
 40.
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
 41.
Forbes R, Nayeem Mohammad T: Particle swarm optimization on multifunnel functions. http://www.cs.colostate.edu/~nayeem/papers/pso_paper.pdf
 42.
Karaboga D: An idea based on honey bee swarm for numerical optimization. Tech. Rep. TR06, Erciyes University 2005
 43.
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/s108980079149x
 44.
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)000718
 45.
MATLAB: Version 7.10.0 (R2010a). Natick: The MathWorks Inc.; 2010.
 46.
Hargrove L, Englehart K, Hudgins B: A comparison of surface and intramuscular myoelectric signal classification. Biomed Eng, IEEE Trans 2007, 54(5):847–853.
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.
Author information
Affiliations
Corresponding author
Additional information
Competing interests
The authors declare that they have no competing interests.
Authors’ contributions
GAC implemented the modifications on the Matlab libraries to include the bioinspired algorithms and developed the experiments. GAC and CHL sorted the results and were responsible for the statistical analysis. GAC, CHL and PAB participated in the design of the study and contributed to the result discussion. CJM and AFR helped drafting and revising the manuscript. All authors read and approved the final manuscript.
Electronic supplementary material
Authors’ original submitted files for images
Below are the links to the authors’ original submitted files for images.
Rights and permissions
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.
About this article
Cite this article
Camacho, G.A., Llanos, C.H., Berger, P.A. et al. An experimental evaluation of the incidence of fitnessfunction/searchalgorithm combinations on the classification performance of myoelectric control systems with iPCA tuning. BioMed Eng OnLine 12, 133 (2013). https://doi.org/10.1186/1475925X12133
Received:
Accepted:
Published:
Keywords
 Artificial bee colony (ABC)
 Electromyography
 Individual principal component analysis (iPCA)
 Myoelectric control
 Particle Swarm optimization (PSO)
 Prosthesis
 Pattern recognition