Computational protocol: Machine Learning Algorithms for Automatic Classification of Marmoset Vocalizations

Similar protocols

Protocol publication

[…] An MLP classifier is a feedforward neural network composed of several neuron layers aiming to solve multiclass problems []. The input to each layer is a weighted sum of the output from the previous layer. The number of neurons in the first layer equals the number of features of the input, while the number of neurons in the last layer is equal to the number of classes. The neural network assigns a feature vector extracted from a vocalization x to the class ωq if the q-th output neuron has the highest activation. We used the MLP implementation from scikit-learn [], with two hidden layers of eight and 16 neurons. The network was trained using backpropagation and the Limited-memory BFGS optimization algorithm [] to update the weights. The learning rate was set to 0.001. [...] While the learning of MLP is based on the principle of empirical risk minimization, the SVM induction process is rooted in the principle of structural risk minimization [–], aiming at establishing an optimal discriminative function between two classes of patterns while accomplishing the trade-off between generalization and overfitting. The SVM training algorithm constructs the optimal hyperplane separating the two classes []. In order to extend from linear to nonlinear classification the kernel trick is used [], where kernel functions nonlinearly map input data into high-dimensional feature spaces in a computationally-efficient manner.For classification problems with multiple classes, two approaches are commonly used for binary SVMs, one-against-one and one-against-all []. Both strategies tend to lead to similar results in terms of classification accuracy, but the former, which was the one adopted here usually requires shorter training time, although incurring a higher number of binary decompositions.For the current experiments, we used the LibSVM library [] (available at http://www.csie.ntu.edu.tw/~cjlin/libsvm). The hyperparameters C and σ of the SVM classifier were determined via a 5-fold cross-validation grid-search in the ranges [2−5, 215] and [2−15, 23], changing the exponent in steps of two. […]

Pipeline specifications

Software tools Scikit-Learn, LIBSVM
Applications Miscellaneous, Neuroimaging analysis