Description
1. Multi-class and Multi-Label Classification Using Support Vector Machines
(a) Download the Anuran Calls (MFCCs) Data Set from: https://archive.ics.
uci.edu/ml/datasets/Anuran+Calls+%28MFCCs%29. Choose 70% of the data
randomly as the training set.
(b) Each instance has three labels: Families, Genus, and Species. Each of the labels
has multiple classes. We wish to solve a multi-class and multi-label problem.
One of the most important approaches to multi-label classification is to train a
classifier for each label (binary relevance). We first try this approach:
i. Research exact match and hamming score/ loss methods for evaluating multilabel classification and use them in evaluating the classifiers in this problem.
ii. Train a SVM for each of the labels, using Gaussian kernels and one versus
all classifiers. Determine the weight of the SVM penalty and the width of
the Gaussian Kernel using 10 fold cross validation.1 You are welcome to try
to solve the problem with both standardized 2 and raw attributes and report
the results.
iii. Repeat 1(b)ii with L1-penalized SVMs.3 Remember to standardize4
the attributes. Determine the weight of the SVM penalty using 10 fold cross validation.
iv. Repeat 1(b)iii by using SMOTE or any other method you know to remedy
class imbalance. Report your conclusions about the classifiers you trained.
v. Extra Practice: Study the Classifier Chain method and apply it to the above
problem.
vi. Extra Practice: Research how confusion matrices, precision, recall, ROC,
and AUC are defined for multi-label classification and compute them for the
classifiers you trained in above.
2. K-Means Clustering on a Multi-Class and Multi-Label Data Set
Monte-Carlo Simulation: Perform the following procedures 50 times, and report
the average and standard deviation of the 50 Hamming Distances that you calculate.
1How to choose parameter ranges for SVMs? One can use wide ranges for the parameters and a fine
grid (e.g. 1000 points) for cross validation; however,this method may be computationally expensive. An
alternative way is to train the SVM with very large and very small parameters on the whole training data
and find very large and very small parameters for which the training accuracy is not below a threshold (e.g.,
70%).
Then one can select a fixed number of parameters (e.g., 20) between those points for cross validation.
For the penalty parameter, usually one has to consider increments in log(λ). For example, if one found that
the accuracy of a support vector machine will not be below 70% for λ = 10−3 and λ = 106
, one has to choose
log(λ) ∈ {−3, −2, . . . , 4, 5, 6}.
For the Gaussian Kernel parameter, one usually chooses linear increments,
e.g. σ ∈ {.1, .2, . . . , 2}. When both σ and λ are to be chosen using cross-validation, combinations of very
small and very large λ’s and σ’s that keep the accuracy above a threshold (e.g.70%) can be used to determine
the ranges for σ and λ.
Please note that these are very rough rules of thumb, not general procedures.
2
It seems that the data are already normalized.
3The convention is to use L1 penalty with linear kernel.
4
It seems that the data are already normalized.
(a) Use k-means clustering on the whole Anuran Calls (MFCCs) Data Set (do not split
the data into train and test, as we are not performing supervised learning in this
exercise). Choose k ∈ {1, 2, . . . , 50} automatically based on one of the methods
provided in the slides (CH or Gap Statistics or scree plots or Silhouettes) or any
other method you know.
(b) In each cluster, determine which family is the majority by reading the true labels.
Repeat for genus and species.
(c) Now for each cluster you have a majority label triplet (family, genus, species).
Calculate the average Hamming distance, Hamming score, and Hamming loss5
between the true labels and the labels assigned by clusters.
3. ISLR 12.6.2
4. Extra Practice: The rest of problems in 12.6.
5Research what these scores are. For example, see the paper A Literature Survey on Algorithms for
Multi-label Learning, by Mohammad Sorower.