Rishav Pramanik1, Sourodip Sarkar2, Ram Sarkar1. 1. Department of Computer Science and Engineering, Jadavpur University, Kolkata, 700032, India. 2. Department of Electronics and Communication Engineering, Heritage Institute of Technology, Kolkata, 700107, India.
Abstract
Pneumonia is one of the major reasons for child mortality especially in income-deprived regions of the world. Although it can be detected and treated with very less sophisticated instruments and medication, Pneumonia detection still remains a major concern in developing countries. Computer-aided based diagnosis (CAD) systems can be used in such countries due to their lower operating costs than professional medical experts. In this paper, we propose a CAD system for Pneumonia detection from Chest X-rays, using the concepts of deep learning and a meta-heuristic algorithm. We first extract deep features from the pre-trained ResNet50, fine-tuned on a target Pneumonia dataset. Then, we propose a feature selection technique based on particle swarm optimization (PSO), which is modified using a memory-based adaptation parameter, and enriched by incorporating an altruistic behavior into the agents. We name our feature selection method as adaptive and altruistic PSO (AAPSO). The proposed method successfully eliminates non-informative features obtained from the ResNet50 model, thereby improving the Pneumonia detection ability of the overall framework. Extensive experimentation and thorough analysis on a publicly available Pneumonia dataset establish the superiority of the proposed method over several other frameworks used for Pneumonia detection. Apart from Pneumonia detection, AAPSO is further evaluated on some standard UCI datasets, gene expression datasets for cancer prediction and a COVID-19 prediction dataset. The overall results are satisfactory, thereby confirming the usefulness of AAPSO in dealing with varied real-life problems. The supporting source codes of this work can be found at https://github.com/rishavpramanik/AAPSO.
Pneumonia is one of the major reasons for child mortality especially in income-deprived regions of the world. Although it can be detected and treated with very less sophisticated instruments and medication, Pneumonia detection still remains a major concern in developing countries. Computer-aided based diagnosis (CAD) systems can be used in such countries due to their lower operating costs than professional medical experts. In this paper, we propose a CAD system for Pneumonia detection from Chest X-rays, using the concepts of deep learning and a meta-heuristic algorithm. We first extract deep features from the pre-trained ResNet50, fine-tuned on a target Pneumonia dataset. Then, we propose a feature selection technique based on particle swarm optimization (PSO), which is modified using a memory-based adaptation parameter, and enriched by incorporating an altruistic behavior into the agents. We name our feature selection method as adaptive and altruistic PSO (AAPSO). The proposed method successfully eliminates non-informative features obtained from the ResNet50 model, thereby improving the Pneumonia detection ability of the overall framework. Extensive experimentation and thorough analysis on a publicly available Pneumonia dataset establish the superiority of the proposed method over several other frameworks used for Pneumonia detection. Apart from Pneumonia detection, AAPSO is further evaluated on some standard UCI datasets, gene expression datasets for cancer prediction and a COVID-19 prediction dataset. The overall results are satisfactory, thereby confirming the usefulness of AAPSO in dealing with varied real-life problems. The supporting source codes of this work can be found at https://github.com/rishavpramanik/AAPSO.
Pneumonia is a very common disease, especially among children. However, Pneumonia can be treated with low-cost medication. Despite having some affordable treatment procedures, it is very unfortunate that majorly in sub-Saharan Africa and South Asia where poverty still exists to a large extent, it continues to be a reason to cause thousands of deaths every year.1
A possible reason for this is the lack of infrastructural facilities, such as proper testing labs. Besides, pollution and the lack of sense of hygiene due to lower levels of education make things worse. A Chest X-ray (CXR) impression of the lung area is one of the most effective ways to detect Pneumonia [1]. A beam of radiation is passed through the human body, and the image is collected on a special film. Thus, the entire process of examination becomes completely painless and quicker than methods like Computed Tomography (CT) scans. Sample CXRs of Pneumonia affected and normal cases are illustrated in Fig. 1. Typically, there is a good amount of intra-class and inter-class variations for CXRs that make the computer-based detection task much more challenging. This is because the physical structure of every human being is different. The range of Pneumonia patches depends on the severity of infection. Further, the developed Pneumonia patches may have varied shapes and can be located in multiple areas [2]. This makes the task of detection even more difficult.
Fig. 1
CXRs of Pneumonia and normal cases. Images are taken from the Kermany et al. [4] dataset. The top row consists of images belonging to the normal category, whereas images in the bottom row belong to confirmed Pneumonia cases.
With the advancement of technologies, Computer-Aided Detection (CAD) systems are nowadays getting more popular because it requires much less investment for medical laboratory setup, thereby making the medical facilities affordable for all. Typically, such systems consider an image as the input of the suspected organ to make the prediction. Computer scientists generally extract a set of features from the inputs by some means and try to identify the presence of a disease using some machine learning algorithms. Deep learning-based methods now do the same, but they do not need any feature engineering for the detection or classification tasks. Researchers usually perform deep feature extraction with the help of convolutional neural networks (CNNs) and classify using multi-layered neural networks. To train such networks, they rely on an objective function, which is used to optimize the numerous internal-weight values of the deep model. Hence, this is known as “hilly landscape of multiple weight values” [3]. Deep learning-based methods have shown good generalization traits over various problem domains, which prompts researchers around the globe to work tirelessly and come up with more efficient and effective models than earlier. However, this robust nature comes at the cost of high computational resources and, in general it requires a huge amount of data to train the model efficiently. The latter requirement sometimes cannot be fulfilled, especially in the biomedical field.Nowadays, researchers very often use the concept of transfer learning, which alleviates the need for such a huge amount of data for proper training of the models. For this they train the network using a larger dataset (such as ImageNet), then they transfer weights and using which they train the network on a smaller dataset (i.e., the target dataset). However, researchers generally overlook one important aspect when they apply deep learning models, which is the existence of redundant or non-informative features, the presence of which may hamper the overall performance of the network. For that reason, recently we see a good influx of pruning-based deep networks which essentially aim to eliminate irrelevant parts of the deep network and re-train the network. On a similar note, feature selection-based algorithms aim for the same, i.e., such algorithms focus on selecting the best subset of features from a given set of features. Researchers, often devise such methods using popular meta-heuristic-based optimization algorithms such as Genetic Algorithm (GA), Particle Swarm Optimization (PSO), and Ant Colony Optimization (ACO) to name a few.CXRs of Pneumonia and normal cases. Images are taken from the Kermany et al. [4] dataset. The top row consists of images belonging to the normal category, whereas images in the bottom row belong to confirmed Pneumonia cases.In the present work, we propose an adaptive and altruistic PSO (AAPSO) for Pneumonia detection from CXR images. We first use a CNN architecture (pre-trained on the ImageNet dataset), which we fine-tune on the target dataset. The features from the layer preceding the final classification layer are extracted and fed to the proposed AAPSO algorithm to obtain the relevant set of features only, and finally, classify the CXR images using the Nearest Neighbors (NN) classifier. The proposed deep feature-selection method outperforms several state-of-the-art approaches. In a nutshell, we list the highlights of our work as:We propose a deep feature selection-based method for Pneumonia detection from CXR images.Original PSO is improvised with a dynamic adaption parameter which we propose on the assumption: “Relative divergence of a solution is directly dependent on the search time remaining”.Adaptive PSO is further enriched with altruistic qualities for the motive to select the most relevant subset of features from a pool of features extracted by the CNN model.The proposed deep feature selection framework is assessed on a publicly accessible Pneumonia CXR dataset using 5-fold cross-validation scheme.The proposed framework is also tested on several real-life datasets like gene expression-based cancer prediction and COVID-19 prediction to ensure the robustness of the same.The rest of the paper is organized in the following manner: Section 2 consists of past methods proposed in the domain of Pneumonia detection from CXRs and also reviews the different variants of PSO found in the literature for feature selection. Section 3 gives a detailed description of the proposed method, and Section 4 reports the experiments and the corresponding analysis. To check the usefulness of AAPSO on other real-life medical datasets, in Section 5 we extensively evaluate AAPSO on standard UCI datasets, microarray-based gene expression datasets and a COVID-19 prediction dataset. Finally, we conclude our paper in Section 6.
Related work
Pneumonia detection from CXRs
Some recently proposed methods for Pneumonia detection using CXRs are discussed below:Liang and Zheng [5] proposed a deep residual-based model with dilated convolutions having 49 layers for Pneumonia detection. Besides, they added some noise to deal with overfitting. While this inclusion was able to handle the overfitting problem, on the other hand, the experimental results show that the method is less precise for Pneumonia detection which may not be useful in practical scenarios. This problem was possibly due to the reason that the authors opted to adapt the transfer learning procedure by training the network on a large-scale CXR dataset [6]. The dataset used for pre-training itself is imbalanced, therefore there might have been a problem to learn the feature representation in the pre-training process itself. Recently, Zhang et al. [7] proposed a one-class detection technique. The authors used a deep model for feature extraction, and then proposed an anomaly-detection module and a confidence–prediction module, and to fit the anomaly scores the authors used Gaussian distribution. Although the method is of great significance, the authors directly used a pre-trained feature extractor. A fine-tuned network might have given a better feature representation, which would have been more useful for final classification.The work by Chattopadhyay et al. [8] proposed a deep feature-selection technique with a Sine-Cosine Algorithm aided by a local search method. Unsupervised learning approaches have also been proposed in the past. For example, Tang et al. [9] aimed to evaluate the classification-based generalizability of Generative Adversarial Network (GAN) based methods. The authors proposed to use CycleGAN for this task. The authors used the feature maps from the inner layers to calculate the reconstruction loss for unsupervised learning.Ensemble-based methods such as the one by Kundu et al. [10] used three deep CNN models as base learners, and outcomes of those learners were aggregated based on the weighted sum rule. The authors assigned weights based on the entropy of various performance metrics. One of the main problems with this strategy is that deep learners often give very high probabilistic values even for misclassification scenarios. This behavior is observed due to irrelevant features learned within its inner layers. The authors assigned the classifier a weight, used for classification, which might not be practical considering the previous discussion. In the article by Dey et al. [11], the authors proposed an ensemble scheme using principal component analysis (PCA) and a serial fusion. The method was designed to ensemble deep features and handcrafted features such as Complex Wavelet Transform (CWT), Discrete Wavelet Transform (DWT) and Gray-Level Co-Occurrence Matrix (GLCM). The ensembled features were classified using some popular machine learning-based classifiers. A high-dimensional feature vector was used for the final classification. This might have been a concern in performance since no feature selection technique was applied to check the existence of correlated features.
Feature selection using PSO
Since its inception in 1995 [12], PSO has been used successfully to handle many real-life continuous optimization problems [13], [14]. Additionally, for a discrete search space-based optimization problem, like the knapsack problem or the feature selection problem, PSO has been used by many researchers. Below, we review some variants of PSO proposed in recent years.Tran et al. [15] proposed a Variable-Length Particle Swarm Optimization (VLPSO), which divided the population into several partitions. Each partition had a maximum length criterion, which equals the number of features selected from a subset of ranked features. This ranking was done based on symmetrical uncertainty – a filter method. The proposed strategy could very well reduce the computational memory and time required. However, over the course of iterations, the feature ranking was not updated as it is a computationally expensive task. But it may hamper the overall feature selection process. In addition, the particles were updated independently in the different dimensions without considering the interactions among themselves. In another work by Tran et al. [16], they proposed potential PSO (PPSO), a feature-representation mechanism, which could perform feature discretion and selection. This strategy reduced the search space complexity. A new fitness function was also proposed to evaluate the solutions. Results achieved on standard datasets were encouraging, but in the initial stages the method uses a fixed size feature vector for random initialization, this may pose a challenge to explore the search space. Also, this method requires a pre-defined list of cut-points, which might pose an additional challenge.Ansari et al. [17] proposed a bi-stage feature selection method where the first stage consists of two filter methods, and the second stage consists of two wrappers for feature-selection. This approach resulted in using a lot of computational resources and time to optimize with four feature selection algorithms. In the work by Ghosh et al. [18], the authors used GA and PSO, then applied the average weighted combination method (AWCM) followed by a local search method namely sequential one-point flipping (SOPF). This approach was useful and resulted in a good number of feature reductions. The proposed framework requires determining a feature importance score based on accuracy values obtained by GA and PSO, and using the mean of this importance score, features were eliminated. Therefore, the dependency of one feature on another was completely ignored. A work proposed by Guha et al. [19] proposed to hybridize PSO and Gravitational Search Algorithm (GSA) for handwritten script classification. The proposed method introduced a concept of memory into the memory-less GSA while updating the velocity of the agents. But the driving force for velocity i.e., the acceleration, which is a measure used in GSA to determine the extent of exploration and exploitation, remains memory free in their proposed algorithm. Hence, the algorithm may have some issues balancing the exploration and exploitation efficiently.
Methods and materials
In this section, we discuss the relevant details corresponding to the proposed deep feature selection framework for Pneumonia detection from CXRs. We present the overall pipeline of the proposed approach in Fig. 2. At first, the input images are resized to (224,224) pixels and augmented using standard online data augmentation techniques such as horizontal and vertical flips, rotation, scaling, skew and translation. This step is essential to make the model capable of dealing with input variants [20]. However, for the test set, the data augmentation process is avoided to ensure the model is not evaluated on synthetic data. These samples are then fed to the ResNet50 model (pre-trained on the ImageNet dataset) and are used to train the deep CNN, for classification. We use fully-connected neural networks, essentially with one hidden layer of the dimension of 512. The last layer is the probability score generator, hence we extract deep features from the second-last layer (512 dimensions). These features are fed to the proposed AAPSO-based feature selection algorithm to remove redundant and non-informative features, and thus a reduced feature set is obtained. This reduced feature set is fed to the NN classifier for the purpose of classification.
Fig. 2
The overall pipeline of the proposed approach used for Pneumonia detection from CXRs. First, the images are resized and augmented using standard techniques. Then these are fed to the pre-trained ResNet50 model for deep feature extraction. After that the proposed AAPSO selects the most informative features. Finally, the classification is performed using the NN classifier.
The overall pipeline of the proposed approach used for Pneumonia detection from CXRs. First, the images are resized and augmented using standard techniques. Then these are fed to the pre-trained ResNet50 model for deep feature extraction. After that the proposed AAPSO selects the most informative features. Finally, the classification is performed using the NN classifier.
Dataset description
We have used a publicly available CXR Pneumonia dataset by Kermany et al. [4]. We should be cognizant of the fact that the dataset suffers from the class-imbalance problem. This dataset is publicly-hosted on the Kaggle platform2
for easy use. We present the distribution of the images in Table 1.
Table 1
Distribution of images in the Pneumonia dataset used for experimentation.
Class
Setting
Samples
Normal
Train
1267
Test
316
Pneumonia
Train
3419
Test
856
Distribution of images in the Pneumonia dataset used for experimentation.
Deep residual network
Deep Residual Network (ResNet), one of the widely used deep learning models, was introduced by He et al. [21] in 2016. Typically, a ResNet architecture comprises several residual blocks. The very first thing we can notice in Fig. 3 is that there is a direct connection that skips some layers of the model. The residual-connections help to counter the vanishing gradient problem, which means for a very deep CNN architecture, the gradients, or the derivatives tend to be zero and thus are not properly optimized during the training process. For a deep architecture, a signal is generally processed following Eq. (1) where is referred to as the weight parameter and is called the bias, and are trainable. With residual learning, the input signal is modified following Eq. (2). In addition, the residual connections regularize the model. Suppose a block gives a weak representation of features. For such a scenario, residual connections would eventually retain the original representation, thereby making the model much less prone to over-fitting. In the present work, we use ResNet50, which consists of 4 residual convolutional blocks (Fig. 3).
Fig. 3
A typical residual block used in ResNet-based deep CNNs.
A typical residual block used in ResNet-based deep CNNs.
Particle swarm optimization
PSO, originally introduced by Kennedy and Eberhart [12], is a population-based optimization algorithm. The success of PSO over the years lies in the fact that it is simple, has fewer controlling parameters, and is computationally inexpensive in terms of memory use. The mathematical formulation of PSO is given in Eqs. (3), (4). In Eq. (3), and are two random numbers in the range of , and and refer to the velocity and the position respectively for the th particle in th dimension. is the personal best solution of the given agent. is the global best solution derived from the global best agent.
Adaptive PSO
Motivations behind adaptive PSO
The basic PSO algorithm sometimes suffers from a major limitation which is, if the population hovers around a particular suboptimal solution, the chances of getting stuck in such a particular region of the search space become much higher. Also, the algorithm does not consider the extent of exploration and exploitation that is desired to reach the global optima. To this end, we hypothesize: “Relative divergence of a solution is directly dependent on the search time remaining”. This is true when we consider the maximum number of iterations as the stopping criterion. The justification behind the hypothesis is that in initial iterations, the search process should go through more diverse regions, thereby ensuring proper exploration. With progression in time, the particles try to converge to an optimal solution, thereby ensuring exploitation in the later iterations. To address this issue, we incorporate a memory-based adaptive dependence parameter into the basic PSO algorithm.
Derivation of the adaptation parameter
Eq. (5) gives the mathematical foundation of the hypothesis stated above. In this equation, the term quantifies our assumption of relative divergence from a solution. As we consider, refers to the change in a solution, whereas is the present solution. Hence by relative divergence, we measure the change in the solution w.r.t. the present solution. The change in time is represented by . In Eq. (6), we introduce an equality term amongst the assumed relations using a proportionality constant of . For the experimental purpose, the value of is set to . Further, following the basic rules of integration, we integrate within limits. We set the limits keeping in mind the start and end of the algorithm w.r.t. time, which is here represents the number of iterations. refers to the initial solution, whereas refers to the final solution. In Eq. (8), we apply the relevant limits. After some rearrangements as shown in Eq. (9), finally in Eq. (11) we get the value of as derived in Eq. (10).
Transfer function and fitness value
Transfer function
As discussed earlier, PSO was originally designed to optimize values in a continuous domain. However, feature selection is a binary optimization problem. Hence, to select an optimal set of features using PSO, an additional step is required to convert the continuous values into discrete/binarized values. For this purpose, we use a transfer function, which normalizes the optimized values to the range of . We employ a standard transfer function in the domain of feature selection [8], [22]. We generally refer to this function as the shaped transfer function. We present the graphical representation of this function in Fig. 4. We convert the continuous values into binarized values in accordance with Eqs. (12), (13), where is any random number in the range of .
Fig. 4
A graphical representation of S-shaped transfer function. This function is commonly known as the sigmoid function.
A graphical representation of S-shaped transfer function. This function is commonly known as the sigmoid function.
Fitness value
To evaluate the strength of candidate solutions, we define a fitness value, which we calculate following Eq. (14). In this equation, is a hyperparameter, is a ratio of the number of left-out features to the total number of features, while is the classification accuracy.
Altruistic PSO
For a feature selection algorithm, the strength of a solution is the ability to reduce the feature dimension. Velocities in PSO determine how this reduced feature set is generated, hence the velocities associated should be given significance when any sort of operation is performed on them. One major problem with the basic PSO is that it does not account for generational memory, or in other words, operations of the basic PSO are not affected by a change in objective function value in its previous iterations. This can be considered a limitation of the algorithm since PSO does not possess any memory other than storing the personal and global best information of the agents. This may lead the algorithm to diverge from the informative region of the search space. One of the ways to encounter this problem is to minimal change in the fitness value in each iteration. Also, from a feature selection perspective, if the probability of selection is not very definite, the selection of such a feature may not be useful for classification. For such a scenario, we can say the probability of the feature selection process is neither very definite to get accepted a feature in the reduced feature set nor to get it rejected as a redundant feature. Hence, we must give these features a chance to be re-assessed in the search space. This might be also beneficial as the less fit agents may be transferred to the selected feature subset.
Altruism
Altruism means showing selfless concern for the well-being of others. Both humans and some animals sometimes show altruistic behavior towards their family members or friends. This allows other members a chance to survive or to improve their ability to survive. To incorporate this nature into the basic PSO, we first evaluate the change in fitness scores for each agent w.r.t. the previous iteration and rank them accordingly. If the change is significant, in such a scenario we should let the agent converge to its optimal solution before using it for a possible greater advantage (in this case to explore the search space). So we preserve the elite agents (say, top ) and let them converge to the optimal solution. For the remaining agents, we allow the top-half agents to show altruistic behavior with the bottom-half pairwise (best with worst, second-best with second-worst, and so on).To incorporate this idea, we consider the top-half agents, which undergo altruism with their partner agents. We randomly transfer the features along with their corresponding velocities to its partner. To selectively perform this task, if the value of (12) is greater than and less than , the probability of that particular feature getting selected lies in the range . Once the whole process is over, the velocities in these dimensions, which have undergone altruism, are randomly reset to get optimized for a probable better solution. The overall pipeline of the AAPSO can be found in Fig. 5. Algorithm 1 shows the steps of the proposed method. We present a dry run of the AAPSO in Appendix for the convenience of the readers.
Fig. 5
A flow diagram for the proposed AAPSO. The value of is set as the velocity value when the probability of the feature to get selected is half (). The value of is set to . Whereas the value of is set as the velocity value when the probability of the feature to get selected is close 0.8 i.e., not too definite. The value of is set as and is set as .
Results and analysis
In this section, we have reported the obtained results by applying our proposed method to a publicly accessible standard Pneumonia dataset. All the experiments have been performed on a machine with Nvidia Tesla T4 GPU, and the programming language used is Python 3.8. We have also performed some experiments using MATLAB programming version 9.4. We have used the PyTorch library to implement the deep learning model.A flow diagram for the proposed AAPSO. The value of is set as the velocity value when the probability of the feature to get selected is half (). The value of is set to . Whereas the value of is set as the velocity value when the probability of the feature to get selected is close 0.8 i.e., not too definite. The value of is set as and is set as .Comparison of different learning rates and batch sizes on Fold-1 of the Pneumonia dataset.
Performance of the deep learner
Typically, deep CNN architectures are designed to tackle some specific problems related to image classification or pattern recognition. Therefore, the feature extraction process is often different from one deep CNN model to another. Here, we have compared several state-of-the-art pre-trained deep CNN architectures for Pneumonia detection from CXRs. The deep models include VGG-16, one of the classic deep models which consists of 3 × 3 filters, and it is 16-layers deep. GoogleNet consists of inception modules and an auxiliary classifier. DenseNet121 consists of dense connections, and the MobileNetV2 adopts depth-wise separable convolutions. The relevant results in Fig. 6 clearly state the superiority of ResNet50 over other deep learners on Fold-1 of the experiment.
Fig. 6
Classification performance of several deep learners on Fold-1 on the Pneumonia dataset.
Classification performance of several deep learners on Fold-1 on the Pneumonia dataset.
Hyperparameter tuning
Deep learning
Hyperparameters are one of the most important aspects while training a deep learner. However, it is often difficult to find the optimal state of the model to learn most efficiently. One important hyperparameter for a deep learner is the batch size, which defines the number of samples to feed to the model at once. Another one is the learning rate, which controls the ability of the deep model to learn. To get the optimal values of these, we resort to the grid search method [23]. The learning rate is selected based on the results from a set of values while the batch sizes considered to find the optimal hyperparameter is . The final results of these experiments are provided in Table 2. We observe that the optimal solution is obtained for batch size equal to , and learning rate equal to , which is decreased by a tenth factor upon completion of 5 epochs for smoother learning and to reduce overfitting. For optimization of the deep learner, the Adam optimizer is used along with the widely used cross-entropy loss.
Table 2
Comparison of different learning rates and batch sizes on Fold-1 of the Pneumonia dataset.
Learning rate
Batch size
Accuracy (in %)
1e−3
16
94.32
32
96.32
64
95.47
1e−4
16
96.12
32
96.49
64
95.38
1e−5
16
93.07
32
92.74
64
91.62
Feature selection
To assess the performance of the AAPSO, we have compared it with various other optimization algorithms. Like PSO, meta-heuristic-based feature selection algorithms require several mathematical operations to choose optimal sets of features. Consequently, the algorithms in the literature use several sets of equations, which are assisted by various parameters. These parameters have their own significance and are known to control the optimization process. Thus, it is crucial to select the right set of hyperparameters to effectively use these algorithms. In this work, we follow some previous methods [8], [22] in order to use the standard values of these parameters. The parameters used can be found in Table 3.
Table 3
Different sets of hyperparameters for various optimization algorithms used for experimentation purposes.
Optimization algorithm
Parameter
Value
Generic Parameters
Population
20
Iterations
30
Weight for Accuracy (α)
α= 0.98
GA: Genetic Algorithm
Gene Selection
Roulette Wheel
Crossover Probability
0.8
Mutation Probability
0.05
EO: Equilibrium Optimizer
Pool Size
4
Constants (a1,a2)
a1 = 1, a2 = 2
Generation
0.9
MA: Mayfly Algorithm
Attraction Constant (a1,a2)
a1 = 1, a2 = 1.5
Initial Nuptial Dance Coefficient
0.1
Initial Random Walk Coefficient
0.1
Gravitational Constant
0.98
Visibility Coefficient
2
Nupital Dance & Random Walk updating factor (δ)
0.9
PSO: Particle Swarm Optimization
Coefficients (r1,r2)
r1 and r2 lie in [0,1]
GSA: Gravitational Search Algorithm
Initial Gravitational Constant
6
Constant (ϵ)
0.00001
GNDO: Generalized Normal Distribution Optimization
Lower Bound of Variables
0
Upper Bound of Variables
1
ASO: Atom Search Optimization
Depth Weight
50
Multiplier Weight
0.2
BOA: Butterfly Optimization Algorithm
Modular Modality
0.01
Switch Probability
0.8
ALO: Ant Lion Optimizer
Antlion Selection
Roulette Wheel
SSA: Salp Swarm Algorithm
Constants (c1,c2)
c1 and c2 lie in [0,1]
CSA: Crow Search Algorithm
Awareness Probability
0.1
Flight Length
1.5
Different sets of hyperparameters for various optimization algorithms used for experimentation purposes.
Experimental outcomes
The proposed deep feature selection based method is trained and tested using the 5-fold cross validation methodology. Table 4 gives fold-wise results on the dataset discussed in the preceding sub-section. One of the main reasons for not achieving cent per cent metrics lies in the fact that the dataset is quite imbalanced (see Table 1). Another possible reason for misclassification includes high intra-class variability. For example, cases with early stages of Pneumonia which show very less prominent features in the CXRs [7]. Fig. 7 presents the loss w.r.t. to the epochs for the deep learner (ResNet-50). From both these figures, we observe that the CNN model does not suffer from any major overfitting. For the proposed AAPSO, we give the fitness w.r.t. to the number of iterations in Fig. 8 which shows the stability of the algorithm as it converges over the time. The receiver operating characteristic (ROC) curves in Fig. 9 show that the model does not behave suboptimally for any of the classes. The confusion matrix in Fig. 10 gives a quantitative measure to support this claim.
Table 4
Fold wise performance of the proposed method. All metrics are reported in %.
Fold
Accuracy
Precision
Recall
F1
Fold-1
98.37
98.95
98.83
98.89
Fold-2
98.54
98.95
99.06
99.00
Fold-3
98.46
98.95
98.95
98.95
Fold-4
97.86
97.89
99.17
98.52
Fold-5
98.80
99.30
99.07
99.18
Average
98.41
98.80
99.02
98.91
Standard Dev
0.34
0.54
0.13
0.24
Fig. 7
Learning curve w.r.t. loss for the deep learner (ResNet50). The loss values for each epoch are plotted against the progression in epoch.
Fig. 8
The learning curve for the top ranked agent in each iteration w.r.t. the progression in iteration. The -axis refers to the progression in iteration whereas the -axis gives the fitness value for the top ranked agent. Note that the top ranked agent may not be the same in each iteration.
Fig. 9
ROC curves for both the Pneumonia and normal classes post feature selection. The reported curves are for Fold-1 of the experiment.
Fig. 10
Confusion matrix for Fold-1 of the experiment post feature selection.
Fold wise performance of the proposed method. All metrics are reported in %.Learning curve w.r.t. loss for the deep learner (ResNet50). The loss values for each epoch are plotted against the progression in epoch.The learning curve for the top ranked agent in each iteration w.r.t. the progression in iteration. The -axis refers to the progression in iteration whereas the -axis gives the fitness value for the top ranked agent. Note that the top ranked agent may not be the same in each iteration.
Comparison with other feature selection algorithms
Table 5 compares our AAPSO with 11 popular meta-heuristic based feature selection algorithms on the 5-fold cross-validation setting. The algorithms compared include GA: Genetic Algorithm, EO: Equilibrium Optimizer, MA: Mayfly Algorithm, PSO: Particle Swarm Optimization, GSA: Gravitational Search Algorithm, GNDO: Generalized Normal Distribution Optimization, ASO: Atom Search Optimization, BOA: Butterfly Optimization Algorithm, ALO: Ant Lion Optimizer, SSA: Salp Swarm Algorithm, CSA: Crow Search Algorithm. We can observe from the results that the proposed AAPSO outperforms the other methods vis-à-vis both in terms of classification accuracy and the number of features used. Besides, from the results shown in this table, we can also claim that the introduction of adaptive dependence on memory significantly increases the learning capability of the PSO. This increase in performance can be attributed to the fact that the adaptive parameter effectively balances proper exploration in the initial stages of the algorithm followed by exploitation in the later stages. To additionally evaluate the stability of the algorithm in comparison to other algorithms for different folds of data, we present the standard deviation and box-plots. From Table 5 we observe that standard deviation values in different folds are very less which ensures the stability of the proposed AAPSO. Also, we show the box-plots in Fig. 11 using the length of reduced feature sets obtained by the AAPSO along with other algorithms considered here for comparison. The figure shows the spread, skewness and locality of the data (in this case the number of selected features) among the group. From the data presented, we conclude that the proposed AAPSO acts optimally for each fold of the samples and is not biased towards any specific set of samples (i.e., folds). Thus, from this discussion, we can state that the AAPSO performs its intended task effectively.
Table 5
Comparison of different feature selection techniques using the 5-fold cross validation method. Acc, Feat, Avg and SD refer to accuracy (%), number of features used to classify, average and standard deviation respectively.
Method
Fold-1
Fold-2
Fold-3
Fold-4
Fold-5
Avg
SD
Acc
Feat
Acc
Feat
Acc
Feat
Acc
Feat
Acc
Feat
ResNet50
96.49
512
98.11
512
95.89
512
96.92
512
96.49
512
96.78
0.83
GA
97.26
200
96.98
198
97.44
198
95.81
181
97.95
169
97.09
0.80
EO
97.96
250
98.29
245
97.95
247
95.76
249
98.29
245
97.65
1.07
MA
96.52
364
98.46
370
97.78
384
96.07
348
97.95
363
97.36
1.01
PSO (basic)
97.52
189
97.78
177
97.52
193
96.84
194
98.46
235
97.62
0.58
GSA
98.02
241
97.18
251
97.26
254
97.01
235
97.78
274
97.45
0.43
GNDO
97.52
242
98.12
268
97.86
254
96.58
244
97.78
241
97.57
0.59
ASO
97.95
249
97.77
249
97.27
226
96.99
258
97.69
253
97.53
0.39
BOA
97.69
232
98.12
240
98.04
258
96.75
248
98.03
243
97.73
0.57
ALO
97.86
240
97.60
255
97.95
232
96.75
245
98.26
252
97.68
0.58
SSA
97.86
259
98.12
249
98.26
258
97.01
252
98.29
251
97.91
0.53
CSA
97.86
242
97.35
248
98.12
259
97.60
249
97.35
261
97.66
0.34
Altruistic PSO
98.03
173
98.37
195
97.95
191
96.92
192
98.12
189
97.88
0.56
AAPSO
98.37
163
98.54
176
98.46
183
97.86
195
98.80
183
98.41
0.34
Fig. 11
Box Plot analysis for the number of features. The plots were drawn using the number of features selected in 5 folds of the experiment by various feature selection algorithms.
Statistical analysis of AAPSO
We perform a statistical significance test to determine the robust nature of the AAPSO algorithm when compared to other algorithms. In doing so, we consider a null hypothesis: “The proposed AAPSO provides similar results when compared to other feature selection algorithms”. To reject this null hypothesis, we take the help of a very popular non-parametric statistical test, namely the Mann–Whitney U test [24]. This test is based on the idea that two distributions namely X and Y are arranged in increasing order based on the values of X and Y. A condition is checked whether the majority of the samples in X lie above or below the majority of the samples in Y. Such a phenomenon would go against the fundamental principle of random mixing. Hence, the null hypothesis of random mixing would be disregarded [24]. To gather the statistical evidence, we consider the classification accuracies by different feature selection algorithms for each of the five folds. If the obtained -value is greater than 0.05 (5%), we conclude the null hypothesis has enough statistical evidence to get it accepted. Otherwise, we reject this hypothesis. Table 6 presents the p-values for the aforementioned statistical test. From the tabulated results, we can reject the null hypothesis.
Table 6
Results of Mann–Whitney U Test. Tests are conducted by comparing the 5-fold accuracy values produced by different feature selection algorithms.
Method
p-value
PSO (Basic)
0.02293
GA
0.01078
EO
0.04684
MA
0.01836
GSA
0.01079
GNDO
0.01390
ASO
0.01079
BOA
0.03005
ALO
0.02327
SSA
0.03746
CSA
0.01366
ROC curves for both the Pneumonia and normal classes post feature selection. The reported curves are for Fold-1 of the experiment.Confusion matrix for Fold-1 of the experiment post feature selection.Comparison of different feature selection techniques using the 5-fold cross validation method. Acc, Feat, Avg and SD refer to accuracy (%), number of features used to classify, average and standard deviation respectively.Results of Mann–Whitney U Test. Tests are conducted by comparing the 5-fold accuracy values produced by different feature selection algorithms.Box Plot analysis for the number of features. The plots were drawn using the number of features selected in 5 folds of the experiment by various feature selection algorithms.
Comparison with other improved feature selection algorithms
In the preceding section, we have shown the robustness of AAPSO when compared to various meta-heuristic algorithms in its basic form. Over the past few years, researchers have also improved the algorithms to handle specific problems [14], [25]. Therefore, for a fair comparison, we compare the present method with some recently proposed feature selection algorithms. The results of this comparison are recorded in Table 7. For this comparison, we consider the following methods:
Table 7
Comparison of AAPSO with improvised feature selection algorithms on Fold-1 of the experiment.
Algorithm
Accuracy (%)
Features
AIEOU
98.02
202
SSD + LAHC
98.21
198
ASGW
97.98
187
BSNDO
98.32
189
ECWSA
97.65
243
Altruistic-PSO
98.03
173
AAPSO
98.37
163
Comparison of AAPSO with improvised feature selection algorithms on Fold-1 of the experiment.Automata-based improved equilibrium optimizer with U-shaped transfer function [26] (AIEOU)Social ski-driver algorithm with late acceptance hill climbing [27] (SSDLAHC)Adaptive switching gray-whale optimizer [28] (ASGW)Binary Simulated Normal Distribution Optimizer [22] (BSNDO)Embedded chaotic whale survival algorithm for filter- wrapper feature selection [29] (ECWSA)From Table 7 it is clear that AAPSO outperforms the improvised feature selection algorithms considered here.
Comparison of various deep learning models with AAPSO-based feature selection
To ensure the proper usage of the feature selection algorithm, we should ensure that the proposed method is not biased towards the deep learning model considered here (i.e., ResNet50). One effective way to check this is how the proposed method performs when other standard deep learning models are used. For this purpose, we use four state-of-the-art deep learning models other than ResNet50. As described in the previous sections, following the same methodology, we extract the features and apply our feature selection algorithm. We provide the relevant results of this experiment in Table 8.
Table 8
Ablation study considering various deep learning models along with ResNet50 for Fold-1 of the experiments. Here Acc (%) and Feat represent the classification accuracy and the number of selected features respectively.
Deep model
Acc
PSO
Altruistic PSO
AAPSO
Acc
Feat
Acc
Feat
Acc
Feat
VGG16
94.70
97.01
186
97.18
242
97.61
227
GoogleNet
95.55
96.67
220
97.09
211
97.35
221
DenseNet121
96.12
97.44
227
97.42
220
97.53
231
MobileNetV2
95.52
95.73
224
96.24
217
96.50
194
ResNet50
96.49
97.52
189
98.03
173
98.37
163
From Table 8, it is clear that the proposed AAPSO performs well with all the deep models. We can observe a significant increase in the classification accuracy, while the performance of the ResNet50 model is considerably better in terms of classification accuracy. In addition, we also see post AAPSO feature-selection the accuracy is better than applying AAPSO feature selection with other deep learners. We may attribute this success to the ability of ResNet50 to generate a better feature representation than other models for the classification problem under consideration. This is because while training a deep model with a neural network classifier, the classifier intends to form linearly separable features for better hyperplane formation [30].Ablation study considering various deep learning models along with ResNet50 for Fold-1 of the experiments. Here Acc (%) and Feat represent the classification accuracy and the number of selected features respectively.
Comparison with state-of-the-art methods
While evaluating any approach, it is always important to compare the proposed approach with the recent approaches found in the literature. Table 9 compares the proposed approach with the existing approaches in terms of various performance metrics. From the tabulated results, we observe that our method outperforms the state-of-the-art approaches. This increase can attribute to the proposed enrichment in PSO to select relevant subsets of features from a given feature set generated by the ResNet50 model.
Table 9
Comparison with state-of-the-art methods. Values of the performance metrics are shown in terms of %.
Work Ref.
Accuracy
Precision
Recall
F1
Linag & Zheng [5]
90.50
89.10
96.70
92.70
Sharma et al. [31]
90.68
–
–
–
Stephen et al. [32]
93.73
–
–
–
Ibrahim et al. [33]
94.43
–
98.19
–
Saraiva et al. [34]
95.30
98.86
94.77
96.77
Rajaraman et al. [35]
96.20
97.70
96.20
97.00
Dey et al. [11]
97.94
95.02
97.55
96.27
Mahmud et al. [36]
98.10
98.00
98.50
98.30
Chattopadhyay et al. [8]
98.36
98.98
98.79
98.88
Ours
98.41
98.80
99.02
98.91
Comparison with state-of-the-art methods. Values of the performance metrics are shown in terms of %.
Further analysis
The role of a feature selection algorithm is to primarily select a relevant set of features from the entire set of features and then further classify based on the selected features. However, it becomes an important task to extract relevant features. Fig. 12 presents Gradient-weighted class activation maps (GradCAM) for two cases, one being the normal case and the other being a confirmed Pneumonia case. The normal case as expected does not have a strong activation in any region but has an overall activation in the entire chest area. This is very important since this implies the model relies on the full CXR image for its final prediction. In contrast, we see a strong activation for the confirmed Pneumonia case near the lower region close to the heart. One possible reason which is very common in the case of Pneumonia is that due to gravity, water deposits in the lungs settle in the bottom region and thus form bacterial colonies in that region [37]. From a detection perspective, the strong activation of the model in such regions is of great significance, which the model does effectively as seen in the figure. However, we also see some areas lie outside the region of interest, which in this case is the chest region. These areas have slightly medium to less activation in both these figures. This is when feature selection helps to increase the performance of the model. A feature selection algorithm aims to discard such redundant features, which may degrade the classification performance. Thus, from an overall perspective, it becomes an important task to identify the proper features and design suitable techniques to overcome the shortcomings of the feature extraction processes.
Fig. 12
GradCAM analysis on testing data. The upper figure shows the GradCAM analysis for a normal image with classification probability of 0.9875. The bottom image shows GradCAM analysis for a confirmed Pneumonia case with classification probability 0.9965. The GradCAMs are generated using the gradient maps in the final convolutional layer of the deep learner.
GradCAM analysis on testing data. The upper figure shows the GradCAM analysis for a normal image with classification probability of 0.9875. The bottom image shows GradCAM analysis for a confirmed Pneumonia case with classification probability 0.9965. The GradCAMs are generated using the gradient maps in the final convolutional layer of the deep learner.
Performance of AAPSO on other real-life datasets
Feature selection-based algorithms are often devised to solve real-life problems more efficiently and effectively. To ensure this quality of a feature selection algorithm, we apply AAPSO to some real-life datasets frequently used in the literature. We consider datasets from the UCI repository, microarray-based gene expression datasets and a COVID-19 prediction dataset. For comparison, we choose some existing improvised feature selection algorithms as described in Section 4.6. The reason behind such a choice is that the respective algorithms have already shown their effectiveness when compared to classical algorithms in the respective papers. Also, this section compares the results with AAPSO only, as the preceding section establishes the superiority of AAPSO over Altruistic PSO. In this section, we furthermore mention some strengths and weaknesses of AAPSO and suggest some potential solutions to overcome the said weaknesses. This is required to cope up with the growing demand for efficient artificial intelligence (AI)-powered systems.
AAPSO on UCI datasets
As stated earlier, to test the effectiveness of AAPSO, we conduct experiments on several standard datasets obtained from UCI repository.3
The details of the datasets can be found in Table 10. We tabulate the comparative results in Table 11.
Table 10
Details of the datasets chosen from the UCI machine learning repository.
Dataset
Description
Domain
Attributes
Samples
Classes
Breastcancer
9
699
2
Biology
BreastEW
30
569
2
Biology
Exactly2
13
1000
2
Biology
HeartEW
13
270
2
Biology
IonosphereEW
34
351
2
Electromagnetic
KrvskpEW
36
3196
2
Game
Lymphography
18
148
4
Biology
SonarEW
60
208
2
Biology
SpectEW
22
267
2
Biology
WineEW
13
178
3
Chemistry
Table 11
Results on standard UCI datasets. Acc (%) and Feat refer to the classification accuracy and the number of features selected respectively. Note that the bold values in AAPSO refer to the best metric for the dataset amongst competitors.
Dataset
AAPSO
AIEOU
BSNDO
SSD + LAHC
ECWSA
ASGW
Acc
Feat
Acc
Feat
Acc
Feat
Acc
Feat
Acc
Feat
Acc
Feat
Breastcancer
100
3
100
8
100
4
98.93
3
95.21
7
98.50
5
BreastEW
100
11
98.25
3
98.25
4
98.25
9
97.38
15
100
16
Exactly2
81.15
6
80.50
8
80.50
8
79
8
78.90
9
77.70
8
HeartEW
85.18
5
90.74
4
90.74
4
91.67
5
85.63
9
83.1
6
IonosphereEW
90.15
9
95.74
11
95.74
16
96.43
12
86.79
10
97.2
17
KrvskpEW
100
25
99.53
6
98.44
22
97.81
20
93.53
16
97.1
25
Lymphography
96.67
6
96.67
6
96.67
5
96.67
7
87.02
10
88.40
11
SonarEW
95.24
26
95.24
6
95.24
27
97.62
24
76.84
23
94.80
36
SpectEW
98.15
8
98.15
14
96.22
6
95.15
9
79.84
7
87
10
WineEW
100
4
100
3
100
3
100
3
98.02
7
100
6
From Table 11 we observe that AAPSO performs the best in terms of classification accuracy for 7 out of 10 datasets. While the number of features reduced may not be individually best, results are comparable, thereby ensuring the effectiveness of AAPSO for real-world problems.AIEOU is an improvised version of EO, with automata-based learning. The method uses Adaptive Hill Climbing to find a better equilibrium pool. The parameters of EO were made adaptive using a 3-action automata. BSNDO is an improvised version of GNDO coupled with simulated annealing for better local search. Similarly, SSDLAHC couples Social-Ski Diver (SSD) with Late acceptance hill-climbing (LAHC) local search. However, these methods do not use data-driven strategies but focus on a better adaptive balance between exploration and exploitation. ECWSA uses a filter-wrapper-based approach for Whale Optimization Algorithm (WOA) the selection was guided by chaos. ASGW uses an adaptive agent switching strategy for a hybrid Grey Wolf Optimizer (GWO) and WOA. These methods focus on intelligent agent switching strategies, which the authors balance between exploration and exploitation. However, there was no explicit focus on controlling the agent’s exploration and exploitation strategies.While we see the effectiveness of AAPSO on UCI datasets, we should note that UCI datasets have comparatively fewer features than we have considered for the deep feature selection framework. Thus, we also conclude that AAPSO performs well even in low dimension settings.
AAPSO on high dimensional data
While we have observed the effectiveness of AAPSO on deep feature selection and standard UCI datasets, this subsection examines the ability of AAPSO to handle very high dimensional datasets. For this purpose, we consider three microarray datasets namely DLBCL, Prostate and SRBCT. All these datasets consist of gene expressions. These datasets are used for cancer prediction. Handling microarray data is very challenging because the search space is very huge. We observe the results of this experiment in Table 12.
Table 12
Results on very high dimensional microarray datasets. The accuracy score (%) is presented under the method, whereas the number of selected features is written in brackets.
Dataset
Features
AAPSO
AIEOU
BSNDO
SSD + LAHC
ECWSA
ASGW
DLBCL
7070
100(114)
100(182)
100(162)
96(98)
100(154)
94(214)
Prostate
12,533
100(212)
95(34)
100(201)
100(284)
96(178)
100(98)
SRBCT
2308
100(214)
100(236)
100(298)
94(68)
100(265)
100(231)
The results in Table 12 clearly showcase the reliability of AAPSO on real-life cancer prediction from given sequences of genes. Thus, AAPSO is also useful for high dimensional data.Details of the datasets chosen from the UCI machine learning repository.Results on standard UCI datasets. Acc (%) and Feat refer to the classification accuracy and the number of features selected respectively. Note that the bold values in AAPSO refer to the best metric for the dataset amongst competitors.Results on very high dimensional microarray datasets. The accuracy score (%) is presented under the method, whereas the number of selected features is written in brackets.
AAPSO on COVID-19 prediction
Undoubtedly, COVID-19 had a traumatizing impact on humanity since its emergence in late 2019. Early diagnosis of COVID-19 is always encouraged by medical professionals and governmental and non-governmental agencies to curb the spread of the virus. The early symptoms include loss of smell, shortness of breath, and fever amongst many others. Since these symptoms are so common for any other viral diseases, there should be some specialized way to testing.These symptoms are generally treated as features and are fed to a suitable classifier for detecting the presence of the said virus. One such dataset is publicly available4
for development of AI-powered COVID-19 detection tools. This dataset has 74 such features and 1085 instances.Table 13 shows a comparative analysis for COVID-19 detection. Based on these results we can mention that AAPSO works well even for COVID-19 prediction.
Table 13
Results on COVID-19 dataset. The accuracy score (%) is presented under the method, whereas the number of selected features is written in brackets.
Features
AAPSO
AIEOU
BSNDO
SSD + LAHC
ECWSA
ASGW
74
99.08(29)
96.31(52)
98.61(26)
97.69(23)
94.31(50)
97.69(40)
Results on COVID-19 dataset. The accuracy score (%) is presented under the method, whereas the number of selected features is written in brackets.
Strengths, weaknesses, and future extension of AAPSO
To get an unbiased view of the AAPSO, in this subsection we summarize the strengths and weaknesses of AAPSO. In addition, we also provide some suitable suggestions to tackle the problems faced by AAPSO.
Strengths
AAPSO undergoes selective altruism by preserving the top ranked agents, thereby allowing them to converge to the optimal solution.The altruism helps to explore certain subsets of features, i.e., the lower ranked agents, in order to give them a chance to improve their fitness value.The adaptive behavior helps to set an adaptive balance between exploration and exploitation, thus providing a way for the algorithm to look into the search space in an effective manner.
Weaknesses
AAPSO requires a bit more computation than the basic PSO, thus requiring additional computational resources.The number of agents should be preferably higher (10) to have top-ranked agents to be preserved and have a suitable number of agents to undergo altruism. This leads to a greater training time.The altruism is static in nature, or in other words, altruism happens to a fixed number of agents regardless of their performance. This may not be useful for certain cases.
Future extension
The number of agents undergoing altruism may be selected dynamically based on some statistical measures.We may consider the past information of an agent to keep a track if the agent is trapped in local optima or not. This may increase the memory use, but can be effective in certain scenarios.We may consider having guided initialization strategies to help explore the search space in a more computationally efficient manner, thus reducing the overall time of execution.
Conclusion
While the world heals from the effects of the devastating COVID-19 pandemic, still Pneumonia concerns us with its fatality rate and other consequences. In this work, we have proposed an AI-based technique for automatic Pneumonia detection from CXRs. For this task, we have considered a pre-trained base deep CNN learner namely ResNet50 and fine-tuned it on a standard Pneumonia dataset. We have extracted features from the second last layer and employed the proposed AAPSO for feature selection and classified the CXRs based on the selected features. Extensive experiments and thorough analysis establish the robustness of the proposed method when compared to some state-of-the-art methods.In future, we aim to incorporate some dynamic characteristics to further increase the performance of PSO by efficiently balancing its exploration and exploitation capabilities. We also plan to incorporate other types of data-driven altruistic strategies into PSO or other optimization algorithms. Further work can also focus on designing very lightweight deep learners which will be useful for deploying in resource-constrained environments. We can also plan to incorporate noise reduction techniques [38] to enhance the quality of the raw image and make it more informative.
The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.
Authors: Alexander Makhnevich; Liron Sinvani; Stuart L Cohen; Kenneth H Feldhamer; Meng Zhang; Martin L Lesser; Thomas G McGinn Journal: AJR Am J Roentgenol Date: 2019-09-11 Impact factor: 3.959
Authors: Daniel S Kermany; Michael Goldbaum; Wenjia Cai; Carolina C S Valentim; Huiying Liang; Sally L Baxter; Alex McKeown; Ge Yang; Xiaokang Wu; Fangbing Yan; Justin Dong; Made K Prasadha; Jacqueline Pei; Magdalene Y L Ting; Jie Zhu; Christina Li; Sierra Hewett; Jason Dong; Ian Ziyar; Alexander Shi; Runze Zhang; Lianghong Zheng; Rui Hou; William Shi; Xin Fu; Yaou Duan; Viet A N Huu; Cindy Wen; Edward D Zhang; Charlotte L Zhang; Oulan Li; Xiaobo Wang; Michael A Singer; Xiaodong Sun; Jie Xu; Ali Tafreshi; M Anthony Lewis; Huimin Xia; Kang Zhang Journal: Cell Date: 2018-02-22 Impact factor: 41.582