## 1 Introduction
### Introduction of Relevant Machine Learning Algorithms  
Mathematically, convolution is defined as an operation applying one function repeatedly across the output of another function. In the context of a neural network, it means to apply repeatedly a 'filter' across a time series or an image. Convolutional Neural Networks (CNN) are being widely deployed in many applications, like image recognition, video analysis, and for time series processing like music, speech recognition [19; 20]. Inspired by the cell structures of biological visual neuroscience, a typical CNN is composed of convolutional layers, subsampling (pooling) layers, and fully connected layers. A convolutional filter (kernel) within convolutional layers can provide a compressed representation of input data, and it can be computed using methods such as Sparse Auto-Encoder (SAE) and Principle Component Analysis (PCA). SAE is used in the proposed method because of its higher efficiency in reducing the dimension of data [21]. An SAE neural network is an unsupervised learning algorithm that applies backpropagation and sparsity constraint [21; 22; 23]. As demonstrated in Figure 2, a typical auto-encoder neural network has identical input and desired output values. The backpropagation algorithm is performed to minimize the reconstruction error (i.e., to make the output values equal to the input values). Apart from backpropagation, a sparsity constraint is applied to the network in SAE to make activations of neurons inactive (i.e., close to zero). With convolution filters computed using SAE, convolutional layers can extract features from input data. In the convolution layer, the activations of each filter are computed throughout the network:  
\[\mathrm{a}_{\mathrm{i}}^{(\mathrm{l}+1)}=\sigma((\mathrm{W}^{(\mathrm{l})}* \mathrm{a}^{(\mathrm{l})})_{\mathrm{i}}+\mathrm{b}^{(\mathrm{l})}, \tag{3}\]  
where W is the convolution filters (it is equivalent to a weight matrix) computed from SAE (e.g., W in Figure 2 is composed of three filters with a length of 4 for each filter); \(*\) is the convolution operator; \(\mathrm{a}_{\mathrm{i}}^{(\mathrm{l}+1)}\) represents the activation of unit i in layer 1 (For l = 1, \(\mathrm{a}^{(\mathrm{l})}\) is the input data), if there is a high degree of fitting between input data and a single filter in W, it will result in a high activation in convolved features; \(\mathrm{b}^{(\mathrm{l})}\) is the bias term (computed in SAE) in layer l; the sigmoid function \(\sigma(\cdot)\) is defined as:  
\[\sigma(\mathrm{x})=1/\left[1+\exp^{-\mathrm{x}}\right]. \tag{4}\]  
The sigmoid function is used as activation function in a neural network because of the nonlinearity of sigmoid function. The derivative of the sigmoid function can be expressed by itself, i.e., \(\sigma^{\prime}(\mathrm{x})=\sigma(\mathrm{x})[1-\sigma(\mathrm{x})]\), so that the derivative of the error function with respect to network inputs can be computed in a backpropagation algorithm (based on a gradient descent method). The convolved features are subsampled by a specific factor in the subsampling layer. The role of a subsampling layer is used to reduce the variance of convolved data so that the value of a particular feature over a region of an input layer can be computed and merged together. More detailed information about SAE and CNN can be found in [21; 23; 24]. Two types of classifiers, softmax and random forest, are used and compared in this work. A softmax classifier is widely used in the output layer of neural networks because it can provide normalized probabilities for multiple classes and it is easy for implementation.