Blind Source Separation Based on Covariance Ratio and Artificial Bee Colony Algorithm

The computation amount in blind source separation based on bioinspired intelligence optimization is high. In order to solve this problem, we propose an effective blind source separation algorithm based on the artificial bee colony algorithm. In the proposed algorithm, the covariance ratio of the signals is utilized as the objective function and the artificial bee colony algorithm is used to solve it. The source signal component which is separated out, is then wiped off from mixtures using the deflation method. All the source signals can be recovered successfully by repeating the separation process. Simulation experiments demonstrate that significant improvement of the computation amount and the quality of signal separation is achieved by the proposed algorithm when compared to previous algorithms.


Introduction
Blind source separation (BSS) is an advanced signal processing technique which aims to recover source signals from a received mixture with little prior information.It has received considerable attention in many research fields, such as, speech sound, image, communication, and biomedicine [1][2][3][4].In the literatures, a lot of BSS algorithms have been proposed from different viewpoints, including non-Gaussianity [5], mutual information minimization [6], maximum likelihood [7], tensors [8], principle component analysis (PCA) [9], and neural networks [10] (for a detailed survey, see, e.g., [11][12][13]).Concerning BSS, the separation criteria and optimization method play the two most important roles and are detailed next.Separation criteria are proposed as the measure of separability and optimization method is used to find the optimum solution for objective function which comes from separation criteria.
Optimization methods based on stochastic gradient techniques are often used in conventional BSS algorithms, such as bigradient, back propagation, and natural gradient [14][15][16].Nevertheless, these methods are inclined to fall into local optima unless suitable initial parameters and step length are given.Moreover, the nonlinear functions should be selected in some of these conventional BSS algorithms and it will also affect the separation precision.
The bioinspired intelligence optimization (BIO) method is a research area inspired by natural evolution.Compared with conventional optimization methods, its advantages are distinguished, enabling a lot of research fields to adopt it into their studies.In recent decades, it has been widely used in many fields such as feature selection, power system, data mining, inventory management, biomedical engineering [17,18], and the performance enhancement of these applications had been confirmed.
In recent years, BIO methods have been given great importance in solving the BSS problem.For instance, genetic algorithms (GA) [19][20][21], particle swarm optimization (PSO) algorithm [22][23][24][25], and artificial bee colony (ABC) algorithm [26,27] have been applied to identify the separation matrix or separation vectors within the BSS problem.Compared with conventional gradient-based approaches, the BIO-based approaches for BSS are characterized by high accuracy, efficiency, and robustness.
Mathematical Problems in Engineering However, in these BIO-based BSS algorithms that have been proposed, most of the objective functions are based on fourth-order cumulant (kurtosis).The kurtosis of the signal mixtures is required to be computed repeatedly in the evolution process of each generation.Therefore, the computation complexity of these algorithms is high.In order to overcome the computation difficulties in BIO-based BSS algorithms, we proposed a novel BIO-based BSS algorithms using covariance ratio and modified ABC algorithm.
Our work differs from the above researches in that we use different separation criteria.The covariance ratio is used in the separation process and the modified ABC algorithm is used for solving the objective function based on it.The proposed algorithm differs from the BIO-based BSS algorithms using kurtosis in a way that the fixed two covariance matrices based on mixtures are computed in advance and they will be used in the separation process and without kurtosis of all the sample points from mixtures being computed in the evolution process of each generation.As a result, comparing with BIO-based BSS algorithms using kurtosis, the proposed algorithm can achieve blind separation efficiently with a high separation precision and a low computation complexity.
(2) Extraction Approach.The separation model can be represented as follows: where w  is th 1 ×  separation row vector,  ∈ {1, 2, . . ., }, and   () is the estimate of one source signal. source signals can be recovered sequentially by conducting this separation, otherwise known as extraction, process repeatedly.The task of the two categories of BSS algorithms is to find the separation matrix W or separation row vector w  , respectively.

Objective Function Based on Kurtosis.
Foremost, to perform blind source separation, initially we must define the objective function in BSS context.Most of the objective functions being used in previous BIO-based BSS algorithms are constructed with the idea that the output sources must be independent from their linear mixtures.For this purpose, a measure of independence must be utilized.Kurtosis is the classical measure of independence and it has been used in some BIO-based BSS algorithms.These BIO-based BSS algorithms can also be divided into two categories: (1) batch approach and (2) extraction approach.In [23], a BIO-based BSS algorithm based on adaptive particle swarm optimization is proposed.The sum of the kurtosis absolute values is used as the objective function in this algorithm.It can be represented as follows: where kurt(y  ) is the kurtosis of y  .Subsequently, in [27], a modified ABC algorithm is used to optimize this objective function in (4).The two algorithms are all belonging to batch approach and all the source signals can be recovered synchronously.
For extraction approach, the objective function can be represented as follows: The task of the BIO algorithm in BSS is to find separation row vector w  who can maximize (y  ) and one source can be recovered.In [25,26], PSO and ABC are used, respectively, to optimize the objective function in (5).All the source signals can be separated out efficiently via multiple separations.
These BIO-based BSS algorithms have performed separation with high precision and excellent robustness.Unfortunately, the common problem with these BIO-based BSS algorithms is that their computation amount is large due to the high order cumulants of all the sample points from mixtures being calculated in each evolution process of a BIO algorithm.Therefore, we will propose one type of BIO-based BSS algorithm with different separation criteria and frame, and then, the computation difficulties in BIO-based BSS can be conquered.

Objective Function Based on the Covariance Ratio.
The principle of most BSS algorithms is based on the independent component analysis (ICA) model.Alternatively, we can study the BSS problem from various viewpoints.As an example, many signals in nature such as speech signal, music signal, mechanical vibration signal, and seismic signal have temporal continuity.Therefore, we can separate outsource signals from these mixed signals using temporal structure information.
In [28], a seminal conjecture for blind separation is proposed as follows: the temporal predictability of a signal mixture is usually less than that of any of the source signals that contribute to it.Therefore, the measurement (w  , x) is defined to evaluate the temporal predictability of   ().The definition of (w  , x) is as follows: where  is the number of the sampling points.ỹ () and   () are the short-term and long-term moving average value, respectively, in th separation.Consider the following: where, 0 ≤   ≤ 1, 0 ≤   ≤ 1,   = 2 −1/ℎ  ,   = 2 −1/ℎ  , ℎ  ≫ ℎ  (typically 100 times longer).  and C are defined as where ,  ∈ {1, 2, . . ., }; (6) can be rewritten as follows: where C is a  ×  matrix of long-term covariance between signal mixtures and C is a  ×  matrix of short-term covariance.The task of the optimization algorithm is to find the separation row vector w  , which maximizing the objective function (w  , x), and then, one source signal can be recovered.Subsequently, the theoretical basis of Stone's conjecture is discussed in [29] that Stone's conjecture should be modified as follows: the temporal predictability of any linear mixture of the source signals is between the greatest temporal predictability and the smallest temporal predictability of the source signals.
Recently, Liu and Cheung [30] presented a generalized metric of those algorithms [28,29], which are constructed on the idea that the metric value of any linear combination of source signals is less than the largest one of sources under a loose condition.Accordingly, the generalized metric is a logarithm of a ratio of two covariances, in which the numerator is the covariance of y's transform, whereas the denominator is the covariance of y.In this separation frame, BSS has been formulated as global optimization of a covariance ratio.
The general metric can be presented as follows: The operators  and  may vary in types.Different BSS objective function can be obtained from different operators being selected.In this paper, we will use modified artificial bee colony algorithm to optimize the objective function from (10) and one novel BIO-based BSS algorithm will be proposed.

Artificial Bee Colony Algorithm
3.1.Basic ABC Algorithm.ABC algorithm is one type of BIO algorithm proposed by Karaboga, which simulates the foraging behavior of a bee colony [31].It has been shown to be competitive to other BIO algorithms [32], such as, genetic algorithm (GA), particle swarm optimization (PSO), and ant colony optimization (ACO).
In ABC algorithm, the position of a food source represents a possible solution of the optimization problem.The colonies of artificial bees are divided into two groups: employed bees and onlooker bees.The number of the bees colony is , the number of employed bees is   , and the number of onlooker bees is   .Under normal circumstances, At the initialization stage of ABC algorithm, let X  = { 1   ,  2  , . . .,    } represents the th food source in the colony.And then, each food source is represented as follows: where  ∈ {1, 2, . . ., } and  ∈ {1, 2, . . ., }.The employed bees are randomly assigned onto these food sources to evaluate their nectar amounts.The fitness value of the solution  is proportional to the nectar amount of the food source in the position .Employed bees will search candidate food position V  in the neighbourhood of the old one.The position search equation is represented as follows: where  ∈ {1, 2, . . ., },  has to be different from .By using a greedy selection mechanism, if the fitness value of V  is equal to or better than that of X  , V  will replace X  ; otherwise, X  is retained.After all employed bees complete their neighbourhood searches, each onlooker bee will choose a food source depending on the probability value associated with that food source.The probability value   with which X  is chosen by an onlooker bee can be calculated according to the following formula: where (X  ) is the fitness value of solution .Obviously, roulette selection strategy is used in it.Once the onlooker bee has selected one food source depending on the probability value   , it will produce a modification according to (12).X  will be replaced by the modified food source if the modified food source has a better or equal nectar amount.
In ABC algorithm, if a position corresponding to one employed bee cannot be improved further through a predetermined number of cycles, the employed bee will become a scout bee and will start to produce a food source randomly according to (11).Meanwhile, the old food source is replaced by the new one.
To summarise, ABC algorithm employs three different steps: sending the employed bees onto their food sources and evaluating their nectar amounts; after sharing the nectar information of food sources, searching new food sources in the neighbourhood by the onlookers; determining the scout bees and then sending them randomly onto possible new food sources.

Modified ABC Algorithm.
In order to enhance the optimization property of basic ABC algorithm, some efficient modification strategies have been proposed in [33][34][35][36][37].The MABC algorithm [37] inspired by differential evolution (DE) is one simple yet efficient modified algorithm.In the BSS algorithm we proposed, the MABC algorithm will be used to optimize the objective function and the separation vector can be found.The two modifications in MABC algorithm can be briefly represented as follows.
(1) A Modified Search Equation Based on DE.Differential evolution (DE) [38] strategy is an efficient evolutionary idea used in many hybrid optimization algorithms.In MABC, DE strategy is led into basic ABC algorithm to improve the convergence performance.Hence, the position search equation in neighbourhood is devised as follows: where the 1 and 2 are mutual integers randomly chosen from {1, 2, . . ., }, and different from the base index ; x best is the best individual position with the best fitness value in the current colony; and  ∈ {1, 2, . . ., }.   is a random number in the range [−1, 1].ABC/best/1 can drive the new candidate position only around the best solution of the previous iteration.Therefore, the proposed position search equation described by (14) can increase the exploitation ability of ABC.
(2) Initial Population Process.Population initialization is an important process in BIO algorithms because it can affect the convergence's quality and speed of the final solution.In [37], instead of random initialization, chaotic maps have been used to initialize the population so that the search space information can be extracted to increase the population's diversity and convergence speed.So the initialization approach based on chaotic system is used to generate initial population.Therefore, sinusoidal iterator is selected and its equation can be expressed as follows: ℎ +1 = sin (ℎ  ) , ℎ  ∈ (0, 1) ,  = 0, 1, 2, . . ., , where  is the iteration counter and  is the maximum number of chaotic iterations.The mapped process can improve the ergodicity, randomness, and irregularity of the initial solution.The two modification strategies in MABC can prevent bees from falling into the local minimum and accelerate the evolution convergence process significantly.In the experimental studies [37], 28 benchmark functions were tested to show the superiority of MABC compared with other BIO algorithms.Meanwhile, we will use the spherical coordinates transform in the initial population process according to information about the solution coming from objective function, and then, the convergence speed and search precision can also be improved.This modification will be explained in Section 4.

New BSS Algorithm Based on Covariance
Ratio and MABC Optimization 4.1.Proposed Algorithm.In the proposed BSS algorithm, we will choose the operators  and  in the first place.
According to [39], let (x()) = cov(x()), (x()) = cov(∫  0 x()).Equation ( 10) can be rewritten as follows: Subject to the constraint ‖w  ‖ = 1.Next, the modified ABC algorithm is used to optimize the metric in (16), and then, all the source signals can be separated from mixtures sequentially.The proposed BSS algorithm will be described as follows.
Firstly, parameter coding process should be done according to the number of the unknown variables in the BSS algorithm.The variables needed to be found are the components of the separation row vector w  .That is, in blind separation problem with  source signals, separation row vector is w  = [ ,1 ,  ,2 , . . .,  , ] and the parameter coding for MABC is ( ,1 ,  ,2 , . . .,  , ).The optimization problem can be represented as follows: Subject to the constraint ‖w  ‖ = 1.Secondly, we use spherical coordinates transform to reduce the variable dimensions and search range of MABC according to the constraint.The transform principle can be represented as follows: . . .
The optimization problem for w  has been reformulated as optimization problem for angle vector   = [ ,1 ,  ,2 , . . .,  ,−1 ].The variable dimensions decrease to  − 1 and the searching range of MABC shrinks to 0 ∼ 2.The initial population process will be carried out in this range according to chaotic maps in (15).As a result, the difficulties for searching artificial bee colony have been reduced and the searching time can be saved.
In the separation process, only two × fixed covariance matrices are used repeatedly in evolution process of each generation, without high order cumulant (kurtosis) of all the sample points from mixtures being computed.Therefore, the computation amount of the separation is low.
In case of the same source signal being separated out repeatedly, deflation method is used to remove the source signal component separated out from mixtures.Let  1 () =     () be the first signal separated using the algorithm we proposed and    () is the new mixtures with  1 () being removed from   ().The deflation process can be represented as follows: There will be no component of   () in    () after the deflation process.It is only composed of  1 (), . . .,  −1 (),  +1 (), . . .,   ().   () will be the new mixtures taking the place of   () in the next separation process and another source signal can be derived.Then, all the source signals can be separated out one by one through ongoing separation and deflation process.

Concrete Steps of the BSS Algorithm Proposed.
Step 1: set the dimension and coding of artificial bee colony according to the number of source signals.
Step 2: initialize the population of artificial bees according to (15) in constraint range and they are divided into two sorts, which are employed bees and onlooker bees.
Step 3: compute the fitness value of the nectar source position located by each employed bee according to ( 18) and (19); seek out the best nectar position x best .
Step 4: each employed bee will search new nectar source positions in the neighbourhood of x best .If the better nectar source position is found before reaching the maximum search limit, replace the old nectar source position using the new one.Otherwise, abandon the old nectar source position and generate a new position according to (11).
Step 5: each onlooker bee will select one nectar source position according to the probability selection principle in (13) and search better nectar source position in its neighbourhood.If the better nectar source position is found before reaching the maximum search limit, replace the old nectar source position using the new one.Otherwise, abandon the old nectar source position and generate a new position according to (11).
Step 7: perform deflation process according to (20) and new mixtures    () can be obtained Step 8: If all the source signals have been recovered, cease the computation process.Otherwise, return to step 1 and carry out the next separation process.

Experimental Results
To illustrate the performance of the proposed BSS algorithm, we report some experimental results on the separation of speech and music signals.
The initialization values of the parameter for MABC in the proposed BSS algorithm were set as population size  = 20,   =   = 10,  = 2, limit = 40, maximal generation for evolution  = 200; the algorithm will be carried out in 30 independent runs.The parameter settings in comparison to algorithms were set as follows.

Performance Measure.
In order to measure the accuracy of the proposed algorithm, we evaluate it using three performance indexes: signal-to-noise ratio (SNR), absolute value of correlation coefficient (AVCC), and mean square error (MSE).They are, respectively, defined as follows.The reconstruction index is defined as a signal-to-noise ratio (SNR) of the error [40]; that is, The recovered source   () should be rescaled to the same energy level as their corresponding original sources.Furthermore, an absolute value of correlation coefficient (AVCC) [41] is used to evaluate the similar degree between recovered sources and original sources.Consider the following: The mean square error (MSE) [21] is defined as Higher SNR and AVCC and lower MSE represent better separating results, in other words, the separated signals will be more similar to the source signals.

Separation Results and Performance Analysis.
All simulations are programmed using MATLAB version 2013 and executed on a personal computer equipped with an Intel core i5, 2.4 GHz processor, and 4 G RAM.
Firstly, we will evaluate the performance of the algorithm proposed using wave form.The source signals, mixed signals, and recovered signals using the proposed algorithm are shown in Figures 1(a), 1(b), and 1(c) and Figures 2(a), 2(b), and 2(c).Each signal has 8000 samples.From these figures, we can observe that the proposed algorithm performs separation efficiently.
Figures 1(d) and 2(d) show the scatter plots of each recovered source signal versus three original source signals.
The scatter plot of recovered signal versus the corresponding original source signal is almost a straight line, meaning that each source is recovered with very little interference from others.Then, we can also draw a conclusion that the proposed algorithm performs separation efficiently.
Secondly, we will illustrate the performance of the proposed algorithm using performance indexes: SNR, AVCC, and MSE.A number of 30         From Tables 1, 2, and 3, we can observe that the capability of the algorithm proposed is good.The SNR values between recovered signals and sources exceed 20 dB, the corresponding AVCC values exceed 0.998, and the MSE values are less than 10 −3 .
Meanwhile, the average value of different performance indexes for three way signals is given in Table 4.The results presented in Tables 1, 2, 3, and 4 show that the proposed algorithm provides a better quality of separation than other BIO-based BSS algorithms.
To illustrate the contribution of the improved artificial bee colony algorithm (MABC), the performance comparisons of MABC algorithm and other BIO algorithms (ABC, PSO) with the identical objective function (covariance ratio) have been given in Table 5 and Figures 3 and 4. The results show that MABC algorithm provides a better quality of separation and faster convergence than other BIO algorithms.
The convergence curves for three different objective functions being optimized by MABC, respectively, are shown in Figures 5 and 6.We can draw a conclusion that the   objective function based on covariance ratio results in better separation performance compared with other previous objective functions.
In order to further confirm the validation of the proposed algorithm, the performance comparisons between the proposed algorithm and some widely used algorithms like Fas-tICA [42], extended Infomax [43], and JADE [44] are given in Table 6.The SNR, AVCC, and MSE for four algorithms are presented and the proposed algorithm performs with better results.
To illustrate the most distinguished advantage, we will compare the computation amount of the proposed algorithm with other BIO-based BSS algorithms.Therefore, we compare the computation time between different BIO-based BSS algorithms, under the same computer hardware platform and the same separation tasks, to evaluate the advantage of the proposed algorithm in computation amount.
The average computation time of 30 runs for separating three source signals is presented in Table 7.The proposed algorithm has outperformed the previous four BIO-based BSS algorithms in terms of the average computation time.
From the above, we can draw a conclusion that the proposed algorithm can efficiently overcome the shortcoming of BIObased BSS algorithms in computation amount.It has reduced the computation time for dozens of times and performed better separation than other algorithms.

Conclusion
In this paper, we have presented a new fast BIO-based BSS algorithm.In the proposed algorithm, the objective function for BSS based on covariance ratio is utilized and the modified ABC algorithm is used to solve the objective function.In the separation process, only two  ×  fixed covariance matrices

5. 1 .
Source Signals and Parameter Settings.In the separation experiments, three source speech signals were selected from ICALAB for signal processing-benchmarks, taken from Cichocki Laboratory for Advanced Brain Signal Processing ICALAB Toolboxes website http://www.bsp.brain.riken.jp/ICALAB/.Three music source signals, piano, violin, and guitar sounds were selected from audiophile source website http://www.xrcd.com/.The sensors and sources were set as 3 in the initialization.The elements of the 3 × 3 mixing matrix A are random numbers distributed uniformly in the range [−1, 1].Consider the following:

Figure 1 :
Figure 1: Separation results for speech signals.
independent experiments have been carried out.The average experimental results of separating three speech signals and three music signals are summarized in Tables 1, 2, 3, and 4.

Figure 2 :
Figure 2: Separation results for music signals.

Figure 3 :Figure 4 :
Figure 3: SNR for the three BIO algorithms.

Figure 5 :
Figure 5: SNR for different objective functions.

Table 1 :
SNR for different algorithms.

Table 2 :
AVCC for different algorithms.

Table 3 :
MSE for different algorithms.

Table 4 :
Average value of performance indexes.

Table 5 :
Statistical results of different BIO algorithms.

Table 6 :
Performance comparison between proposed algorithm and three widely used algorithms.