lncs 4234 - multi-class cancer classification with ovr-support vector...

10
I. King et al. (Eds.): ICONIP 2006, Part III, LNCS 4234, pp. 155 164, 2006. © Springer-Verlag Berlin Heidelberg 2006 Multi-class Cancer Classification with OVR-Support Vector Machines Selected by Naïve Bayes Classifier Jin-Hyuk Hong and Sung-Bae Cho Dept. of Computer Science, Yonsei University 134 Sinchon-dong, Sudaemoon-ku Seoul 120-749, Korea [email protected], [email protected] Abstract. Support vector machines (SVMs), originally designed for binary classification, have been applied for multi-class classification, where an effec- tive fusion scheme is required for combining outputs from them and producing a final result. In this work, we propose a novel method in which the SVMs are generated with the one-vs-rest (OVR) scheme and dynamically organized by the naïve Bayes classifiers (NBs). This method might break the ties that fre- quently occur when working with multi-class classification systems with OVR SVMs. More specifically, we use the Pearson correlation measure to select in- formative genes and reduce the dimensionality of gene expression profiles when constructing the NBs. The proposed method has been validated on GCM cancer dataset consisting of 14 types of tumors with 16,063 gene expression levels and produced higher accuracy than other methods. 1 Introduction In many works, SVMs have been used for multi-class classification that is an impor- tant task in pattern recognition. Even though SVMs show excellent performance in many applications, it is required to formulate a multi-class SVM method since they are originally designed for binary classification [1]. There are some direct approaches for developing a multi-class extension of SVMs such as Vapnik or Crammer and Singer [2], but this leads to a complex optimization problem. Instead, many research- ers prefer to use several binary SVMs, in which constructing a pool of SVMs and combining the outputs of the classifiers are important [3]. One-vs-rest (OVR), pair- wise and complete codes are popular schemes to train a pool of SVMs, while majority voting, winner-takes-all, error-correcting coding are representative fusion methods. Hsu and Lin compared various schemes such as OVR, pair-wise and DAGSVM (directed acyclic graph SVM), where one-vs-rest and DAGSVM were more suitable for practical use than pair-wise [3]. Bredensteiner and Bennett combined the linear programming and quadratic programming based on SVM for multi-class problems [1], while Angulo et al. proposed K-SVCR (K classes-Support Vector Classification- Regression) [4]. Sebald and Bucklew proposed M-ary SVM that uses only log 2 (K) SVMs (K: # of classes) [5], Gestel et al. used Bayesian decoding to compose LS-SVMs (Least Squares SVMs) that repeatedly infer the posterior multi-class prob- abilities [6]. Crammer and Singer adopted output codes for combining the outputs of

Upload: others

Post on 08-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: LNCS 4234 - Multi-class Cancer Classification with OVR-Support Vector …sclab.yonsei.ac.kr/publications/Papers/LNCS/ICONIP06... · 2007-03-16 · Support vector machines (SVMs),

I. King et al. (Eds.): ICONIP 2006, Part III, LNCS 4234, pp. 155 – 164, 2006. © Springer-Verlag Berlin Heidelberg 2006

Multi-class Cancer Classification with OVR-Support Vector Machines Selected by Naïve Bayes Classifier

Jin-Hyuk Hong and Sung-Bae Cho

Dept. of Computer Science, Yonsei University 134 Sinchon-dong, Sudaemoon-ku

Seoul 120-749, Korea [email protected], [email protected]

Abstract. Support vector machines (SVMs), originally designed for binary classification, have been applied for multi-class classification, where an effec-tive fusion scheme is required for combining outputs from them and producing a final result. In this work, we propose a novel method in which the SVMs are generated with the one-vs-rest (OVR) scheme and dynamically organized by the naïve Bayes classifiers (NBs). This method might break the ties that fre-quently occur when working with multi-class classification systems with OVR SVMs. More specifically, we use the Pearson correlation measure to select in-formative genes and reduce the dimensionality of gene expression profiles when constructing the NBs. The proposed method has been validated on GCM cancer dataset consisting of 14 types of tumors with 16,063 gene expression levels and produced higher accuracy than other methods.

1 Introduction

In many works, SVMs have been used for multi-class classification that is an impor-tant task in pattern recognition. Even though SVMs show excellent performance in many applications, it is required to formulate a multi-class SVM method since they are originally designed for binary classification [1]. There are some direct approaches for developing a multi-class extension of SVMs such as Vapnik or Crammer and Singer [2], but this leads to a complex optimization problem. Instead, many research-ers prefer to use several binary SVMs, in which constructing a pool of SVMs and combining the outputs of the classifiers are important [3]. One-vs-rest (OVR), pair-wise and complete codes are popular schemes to train a pool of SVMs, while majority voting, winner-takes-all, error-correcting coding are representative fusion methods.

Hsu and Lin compared various schemes such as OVR, pair-wise and DAGSVM (directed acyclic graph SVM), where one-vs-rest and DAGSVM were more suitable for practical use than pair-wise [3]. Bredensteiner and Bennett combined the linear programming and quadratic programming based on SVM for multi-class problems [1], while Angulo et al. proposed K-SVCR (K classes-Support Vector Classification-Regression) [4]. Sebald and Bucklew proposed M-ary SVM that uses only ┌log2(K)┐ SVMs (K: # of classes) [5], Gestel et al. used Bayesian decoding to compose LS-SVMs (Least Squares SVMs) that repeatedly infer the posterior multi-class prob-abilities [6]. Crammer and Singer adopted output codes for combining the outputs of

Page 2: LNCS 4234 - Multi-class Cancer Classification with OVR-Support Vector …sclab.yonsei.ac.kr/publications/Papers/LNCS/ICONIP06... · 2007-03-16 · Support vector machines (SVMs),

156 J.-H. Hong and S.-B. Cho

multiple classifiers [2]. In the application of bioinformatics, SVMs have been applied for multi-class cancer classification by Lee [7] or Ramaswamy et al.[8] where Ramas-wamy et al. used the OVR and winner-takes-all scheme.

This paper proposes a novel multi-class classification approach integrating SVMs and NBs, especially applying to multi-class cancer classification based on gene ex-pression. Since SVMs might manage the high dimensional data like gene expression profiles, the original training dataset is used to learn SVMs based on the OVR scheme. NBs are designed with the dataset consisting of genes selected by the Pear-son-correlation measure, which organize the SVMs dynamically to classify a sample. OVR SVMs are sequentially evaluated by the probability of the classes from the NBs.

The proposed method has been validated on the GCM cancer dataset [8] with three series of experiments. In the first experiment, the NB with Pearson-correlated features achieved an accuracy rate of 72.2%. In the second experiment, SVMs learned with the original training dataset achieved an accuracy rate of 76.9%. Finally, the proposed method, which integrates NBs and SVMs, produced an accuracy rate of 79.6%. This result indicates the benefits of the proposed method that integrates NBs and SVMs effectively.

2 Background

2.1 Cancer Classification Based on Gene Expression

Microarray technology recently developed produces large volume of gene expression profiles and provides richer information on diseases. It simultaneously monitors the expression patterns of thousands of genes under a particular experimental environ-ment. With the technology, many researchers have been studying cancer classifica-tion using gene expression profiles. Researchers in pattern recognition have devel-oped and applied several machine learning techniques to many clinical problems by constructing classifiers or predictive models from the data, yielding promising results [9].

Especially the classification of cancers from gene expression profiles is actively investigated in bioinformatics. It commonly consists of feature selection and pattern classification as shown in Fig. 1. In advance, feature selection methods select infor-mative features useful to categorize a sample into predefined classes from lots of gene expression profiles. Pattern classification is composed of learning a classifier with those features and categorizing samples with the classifier [9].

Gene expression profiles provide useful information to classify different forms of cancers, but the data also include useless information for classification. Therefore only relevant one for the classification of cancers should be extracted from them. It is well known that the irrelevant or redundant data degrade the accuracy of classifica-tion, so constructing an appropriate gene subset is essential to learn a good classifier. Moreover, it is also important to find a small subset of genes sufficiently informative to distinguish cancers for diagnostic purposes [10].

Page 3: LNCS 4234 - Multi-class Cancer Classification with OVR-Support Vector …sclab.yonsei.ac.kr/publications/Papers/LNCS/ICONIP06... · 2007-03-16 · Support vector machines (SVMs),

Multi-class Cancer Classification with OVR-SVMs Selected by Naïve Bayes Classifier 157

Fig. 1. Classification of gene expression profiles

2.2 Multi-class Classification Using SVMs

SVMs, well researched in statistical learning theory, have been actively investigated in pattern classification and regression. SVMs map an input sample to a high dimensional feature space and try to find an optimal hyperplane that minimizes the recognition error for the training data using the non-linear transformation function [4].

))(, ),...(()(:), ,...(: 11 xxxFxxxX nn ΦΦ=Φ→= (1)

Let n be the number of training samples. For the sample xi with the class-label ci∈{1,-1}, the SVM calculates

)()(),( ,),()(1

iii

n

iii xxxxKbxxKcxf Φ⋅Φ=+∑=

(2)

Coefficient αi in Eq. (2) is non-zero when xi is a support vector that composes the hyperplane; otherwise it is zero. The kernel function K(x, xi) can be easily computed by an inner product of the non-linear mapping function. Table 1 shows some repre-sentative kernel functions, including the linear, polynomial, Gaussian, and sigmoid functions.

Page 4: LNCS 4234 - Multi-class Cancer Classification with OVR-Support Vector …sclab.yonsei.ac.kr/publications/Papers/LNCS/ICONIP06... · 2007-03-16 · Support vector machines (SVMs),

158 J.-H. Hong and S.-B. Cho

Table 1. Kernel functions of SVMs

Linear Polynomial Gaussian Sigmoid

)( ixx ⋅ d

ixx )( γ+⋅ ⎟⎟

⎜⎜

⎛ −−

2

2

2exp

σixx

)tanh( γ+⋅ ixx

Since SVMs are basically binary classifiers, a decomposition strategy for multi-class classification, such as OVR, pairwise or complete-code methods, is required [2]. As a representative scheme, the OVR strategy trains M (# of classes) SVMs, where each SVM classifies samples into the corresponding class against all the others. The decision function ƒj (x) of the jth SVM replaces ci of Eq. (2) with ti as follows:

⎩⎨⎧

≠−=+

=jcif

jcift

i

ii 1

1

(3)

After constructing SVMs, a fusion method is required to combine the multiple out-puts of them. Popular methods for combining multiple outputs include majority vot-ing, winner-takes-all, error-correcting codes (ECCs), behavior knowledge space (BKS) and decision templates.

1) The majority voting method: For a sample, this method simply counts the votes re-ceived from the individual classifiers, and selects the class with the largest number of votes. An analytic justification may be given by the well-known Condorcet’s theorem, while a theoretical study can be found in [12]. Although it is simple to achieve good performance, this method cannot handle cases where classifiers tie.

2) The winner-takes-all method: In order to resolve problems caused by majority vot-ing, this method classifies a sample into the class that receives the highest value among the L classifiers for the M-class problem. This is often known as maximum where indi,j(x) is an indicator function with 1 if the label i is the positive class of the jth SVM, -1 if it is the negative class, and 0 if it is otherwise.

∑==

=L

jjji

M...,,ixdxindc

1 ,

1)()(max arg

(4)

3 A Hybrid Classifier for Multi-class Cancer Classification

Contrary to conventional methods that use static classification, we propose a hybrid classifier that considers the probability of classes obtained by NBs to manage the ambiguity of OVR SVMs. Tie cases, which frequently occur when using OVR SVMs for multi-class classification, might decrease classification performance. The pro-posed method manages this possibility by organizing OVR SVMs based on the sub-sumption architecture. The subsumption architecture is a representative method used to select a proper action when there are multiple actions activated [13], while the order of the models is determined by NBs in this paper.

Page 5: LNCS 4234 - Multi-class Cancer Classification with OVR-Support Vector …sclab.yonsei.ac.kr/publications/Papers/LNCS/ICONIP06... · 2007-03-16 · Support vector machines (SVMs),

Multi-class Cancer Classification with OVR-SVMs Selected by Naïve Bayes Classifier 159

NB

s with P

earson-correlated features

OV

R S

VM

sG

ene

expr

essi

on p

rofil

es

Fig. 2. Overview of the proposed method

The proposed method consists of NBs and OVR SVMs as shown in Fig. 2. NBs es-timate the posterior probability for classes prob = {p1, p2, ..., pm} by using the training dataset that only includes Pearson-correlated genes, while OVR SVMs classify sam-ples by using the original training dataset based on the OVR scheme as explained in Section 2. The margin of a sample o-svm = {ma1, ma2, ..., mam} is produced by classi-fying with OVR SVMs. In order to manage ambiguity in cases of ties (multiple SVMs satisfy) and rejections (no SVM satisfies), in this paper, the proposed method sequen-tially selects OVR SVMs, where the evaluation order is determined by the posterior probability of each class that NBs produces. The corresponding OVR SVM of a more probable class takes precedence in the subsumption architecture over the others.

When classifying a sample, the method first estimates the probability of each class by using NBs, and then organizes OVR SVMs as the subsumption architecture accord-ing to the probability. Finally, a sample is evaluated sequentially until an OVR SVM is satisfied. When an OVR SVM is satisfied, the sample is classified into the correspond-ing class, while it is classified into the class of the highest probability when no OVR SVMs are satisfied. Fig. 3 shows the pseudo code for the proposed method. Ordering OVR SVMs properly for an input sample produces dynamic classification.

DNA microarray data includes the expression information of thousands or even tens of thousands of genes. Since it is hard to design NBs that includes all the genes, a subset of informative genes is selected by using the feature selection process based on Pearson correlation. Cutting down the number of features to a sufficient minimum is often required to improve classification performance [9].

Page 6: LNCS 4234 - Multi-class Cancer Classification with OVR-Support Vector …sclab.yonsei.ac.kr/publications/Papers/LNCS/ICONIP06... · 2007-03-16 · Support vector machines (SVMs),

160 J.-H. Hong and S.-B. Cho

prob[m] = { p1, p2, ..., pm} // prob[] is calculated by NBs order[m] = {0, 1, 2, ..., m-1} o-svm[m] = { ma1, ma2, ..., mam} // o-svm[] is obatined by OVR SVMs // determine the order of OVR SVMs to evaluate for(i=0; i<m; i++) for(j=i+1; j<m; j++) if(prob[i] < prob[j]) { int iTemp = prob[i]; prob[i] = prob[j]; prob[j] = iTemp; iTemp = order[i]; order[i] = order[j]; order[j] = iTemp; } // classify with OVR SVMs according to the subsumption architecture if(prob[order[0]] < r1) // r1 is a rejection threshold

return reject; for(i=0; i<m; i++) {

if(o-svm[order[i]] >= a) // a is a threshold {

if(o-svm[order[i]] < r2) // r2 is a rejection threshold return reject;

return order[i]; }} return order[0];

Fig. 3. Pseudo code for probabilistically ordering OVR SVMs

Fig. 4. Negatively correlated features

Page 7: LNCS 4234 - Multi-class Cancer Classification with OVR-Support Vector …sclab.yonsei.ac.kr/publications/Papers/LNCS/ICONIP06... · 2007-03-16 · Support vector machines (SVMs),

Multi-class Cancer Classification with OVR-SVMs Selected by Naïve Bayes Classifier 161

We define two ideal markers, obtained a standard of good features, and utilize the features by scoring the respective similarity with each ideal marker (as shown in Fig. 4). Two ideal markers are negatively correlated to represent two different aspects of classification boundaries. The first marker is high in class A and low in class B, and the second marker is low in class A and high in class B. The first marker is a binary vector which consists of 1 for all the samples in class A and 0 for all the samples in class B, while the second marker is another binary vector which is composed of 0 for all the samples in class A and 1 for all the samples in class B. Since the feature selec-tion method is originally designed for binary classification, we select features based on the OVR scheme. Ten genes are selected for each class: the first 5 for the ideal marker 1 and the rest for the ideal marker 2. When there are m classes, total m×10 genes are used to construct NBs.

The similarity between an ideal marker ideal and a gene g can be regarded as a dis-tance, while the distance represents how far they are located from one another. A gene is regarded as an informative gene if the distance is small, while the gene is regarded as an uncorrelated gene if the distance is large. Pearson correlation is used to measure the similarity as follows:

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

⎛⎟⎠

⎞⎜⎝

−×

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

⎛⎟⎠

⎞⎜⎝

×−×

=

∑∑

∑∑

∑∑∑

=

=

=

=

==

=

n

g

gn

ideal

ideal

n

gidealgideal

PCn

iin

ii

n

iin

ii

n

ii

n

iin

iii

2

1

1

2

2

1

1

2

11

1

)(

(5)

All conditional probabilities in Fig. 2 are estimated from the training set. Ai is the ith state of a feature A, and count(Ai) is the number of samples whose state is Ai. The conditional probability P(Ai) can be estimated with equation (6).

T

ii n

AcountAP

)()( =

(6)

If A has a parent node B, P(Ai|Bj) can be estimated by the equation (7).

)(

),()|(

j

jiji Bcount

BAcountBAP =

(7)

The probability of each class is calculated by inference using the ten features as evidence as follows:

),...,|( 1 nFFCP (8)

over a class C and F1 ~ Fn. Using the Bayes theorem [20], we can rewrite it as:

),...,(

)|,...,()(),...,|(

1

11

n

nn FFP

CFFPCPFFCP =

(9)

Page 8: LNCS 4234 - Multi-class Cancer Classification with OVR-Support Vector …sclab.yonsei.ac.kr/publications/Papers/LNCS/ICONIP06... · 2007-03-16 · Support vector machines (SVMs),

162 J.-H. Hong and S.-B. Cho

In practice, we are only interested in the numerator of the fraction, since the de-nominator does not affect C. Feature Fi is conditionally independent from the other feature Fj for j ≠ i, so the probability of a class is described by expression (10)

∏=

=

=

n

ii

n

n

CFPCP

CFPCFPCFPCP

CFFPCP

1

21

1

)|()(

)|()...|()|()(

)|,...,()(

(10)

4 Experimental Results

4.1 Dataset

We verify the proposed method with GCM cancer dataset consisting of 144 train sam-ples and 54 test samples with 16,063 gene expression levels GCM [8,14], which is a popular microarray dataset for multi-class cancer classification. There are 14 different tumor categories including breast adenocarcinoma, prostate, lung adenocarcinoma, colorectal adenocarcinoma, lymphoma, bladder, melanoma, uterine adenocarcinoma, leukemia, renal cell carcinoma, pancreatic adenocarcinoma, ovarian adenocarcinoma, pleural mesothelioma, and central nervous system. Since the dataset provides only a few samples but lots of features, it is a challenging job for many machine learning researchers to construct a good classifier. Ramaswamy et al. produced an accuracy of 78% [8], while Li et al. yielded an accuracy of 63.3% [14]. We select 140 genes for learning NBs based on Pearson correlation. The linear kernel is used as a basis kernel function of SVMs. The values of all samples are normalized from 0 to 1.

4.2 Results and Analysis

Table 2 shows competitive results of the proposed method with several traditional approaches. SVMs with the winner-takes-all strategy produced 75.9% classification accuracy, while NBs with Pearson-correlated features yielded an accuracy of 72.2%. The product-based fusion of SVMs and NBs obtained an accuracy of 66.7%, whereas the proposed method produced 79.6% classification accuracy that is higher than the others.

Table 2. Classification accuracy for GCM cancer dataset

Method(feature #)

MLP (140) SVMs

(16,063) NBs (140)

Product (SVMs+NBs)

Proposed method

Accuracy46.5% (±2.1)

75.9% 72.2% 66.7% 79.6%

We analyzed samples classified by SVMs and NBs as shown in Table 3. Only 2 samples were failed to classify correctly by both methods, while the proposed method correctly classified 5 samples among 7 samples that are failed by SVMs. A confusion

Page 9: LNCS 4234 - Multi-class Cancer Classification with OVR-Support Vector …sclab.yonsei.ac.kr/publications/Papers/LNCS/ICONIP06... · 2007-03-16 · Support vector machines (SVMs),

Multi-class Cancer Classification with OVR-SVMs Selected by Naïve Bayes Classifier 163

matrix for the test set is presented in Table 4. From this table, we can see that lung, colorectal, uterus, mesothelioma and CNS have been classified 100%, prostate, lym-phoma and leukemia 83%.

Table 3. Analysis of classification results

SVMs (correct/incorrect): Proposed method O X

O 38 (38/0) 7 (5/2) NBs

X 7 (3/4) 2 (0/2)

Table 4. Confusion matrix for the test set (0: Breast, 1: Prostate, 2: Lung, 3: Colorectal, 4: Lymphoma, 5: Bladder, 6: Melanoma, 7: Uterus__Adeno, 8: Leukemia, 9: Renal, 10: Pancreas, 11: Ovary, 12: Mesothelioma, 13: CNS)

% 0 1 2 3 4 5 6 7 8 9 10 11 12 13 n 0 75 25 4 1 83 17 6 2 100 4 3 100 4 4 17 83 6 5 33 67 3 6 50 50 2 7 100 2 8 17 83 6 9 33 67 3

10 33 33 34 3 11 25 25 50 4 12 100 3 13 100 4 n 3 6 6 6 5 3 2 3 5 2 3 3 3 4 54

5 Conclusion

Multi-class classification is a challenging task in pattern recognition, where various approaches have been investigated especially using SVMs. Since SVMs are basically binary classifiers, it is necessary to formulate a fusion method. In this work, we pro-posed a hybrid classifier that integrates SVMs and NBs learned based on the OVR scheme. GCM cancer dataset, a popular multi-class benchmark dataset in bioinfor-matics, has been used to verify the proposed method. Since the dataset has an amount of genes, we reduced the dimensionality by using a feature selection method with Pearson correlation. The proposed method showed better performance than SVMs and

Page 10: LNCS 4234 - Multi-class Cancer Classification with OVR-Support Vector …sclab.yonsei.ac.kr/publications/Papers/LNCS/ICONIP06... · 2007-03-16 · Support vector machines (SVMs),

164 J.-H. Hong and S.-B. Cho

NBs when working individually or combined by the product strategy. As the future work, we will demonstrate the proposed method with other popular benchmark data-sets of multi-class.

Acknowledgement

This research was supported by Brain Science and Engineering Research Program sponsored by Korean Ministry of Science and Technology.

References

[1] E. Bredensteiner and K. Bennett, “Multicategory classification by support vector ma-chines,” Computational Optimization and Applications, vol. 12, no. 1, pp. 53-79, 1999.

[2] K. Crammer and Y. Singer, “On the learnability and design of output codes for multiclass problems,” Machine Learning, vol. 47, no. 2-3, pp. 201-233, 2002.

[3] C. Hsu and C. Lin, “A comparison of methods for multiclass support vector machines,” IEEE Trans. Neural Networks, vol. 13, no. 2, pp. 415, 425, 2002.

[4] C. Angulo, et al., “K-SVCR. A support vector machine for multi-class classification,” Neurocomputing, vol. 55, no. 1-2, pp. 57-77, 2003.

[5] D. Sebald and J. Bucklew, “Support vector machines and the multiple hypothesis test problem,” IEEE Trans. Signal Processing, vol. 49, no. 11, pp. 2865-2872, 2001.

[6] T. Gestel, et al., “Multiclass LS-SVMs: Moderated outputs and coding-decoding schemes,” Neural Processing Letters, vol. 15, no. 1, pp. 45-58, 2002.

[7] Y. Lee and C. Lee, “Classification of multiple cancer types by multicategory support vec-tor machines using gene expression data,” Bioinformatics, vol. 19, no. 9, pp. 1132-1139, 2003.

[8] S. Ramaswamy, et al., “Multiclass cancer diagnosis using tumor gene expression signa-tures,” Proc. National Academy of Science, vol. 98, no. 26, pp. 15149-15154, 2001.

[9] S.-B. Cho and J. Ryu, “Classifying gene expression data of cancer using classifier en-semble with mutually exclusive features,” Proc. of the IEEE, vol. 90, no. 11, pp. 1744-1753, 2002.

[10] I. Inza, et al., “Feature subset selection by genetic algorithm and estimation of distribu-tion algorithms. A case study in the survival of cirrhotic patients treated with TIPS,” Arti-ficial Intelligence in Medicine, vol. 23, no. 2, pp. 187-205, 2001.

[11] L. Kuncheva, “A theoretical study on six classifier fusion strategies,” IEEE Trans. Pat-tern Analysis and Machine Intelligence, vol. 24, no. 2, pp. 281-286, 2002.

[12] R. Brooks, “A robust layered control system for a mobile robot,” IEEE J. of Robotics and Automation, vol. 2, no. 1, pp. 14-23, 1986.

[13] T. Li, et al., “A comparative study of feature selection and multiclass classification meth-ods for tissue classification based on gene expression,” Bioinformatics, vol. 20, no. 15, pp. 2429-2437, 2004.