## 3 Class Imbalance Problem
### Genetic Algorithm Architecture for Class Imbalance Problem
#### 3.4.1 Feature Extraction and Chromosome Generation  
For image representation in the form of feature vectors, we analyzed images through Curvelet transform, Wavelet packets and Gabor filters. In this section, we briefly cover the feature extraction process, but for detailed information please refer our previous work [15]. However, the proposed GA architecture is independent of the mentioned features and can be applied with any other type of feature extraction method.  
* **Curvelet Transform:** The Curvelet transform was originally proposed to overcome the missing directional selectivity of conventional 2D discrete wavelet transforms (DWTs). The 2D Curvelet transform allows an almost optimal sparse representation of objects with singularities along smooth curves [35]. As a first step of feature extraction, we represent images in the Curvelet transform via wrapping and obtain multiple bands and sub-bands. For every sub-band, we compute the variance of image transformation, and for every band, we take the mean of the variances of the associated sub-bands. These mean values are placed in a vector, which serves as the Curvelet representation.
* **Wavelet Packets:** As a second step of feature extraction, the complete wavelet packets tree [36] of image is computed with 64 nodes. From this tree we select more predictable nodes on the basis of Shanon entropy and compute the standard deviation as the feature of the corresponding node. These standard deviation values are placed in a vector that serves as the feature representation of the wavelet packets tree.
* **Gabor Filters:** We take the smallest approximation image of wavelet packets tree for Gabor analysis. The convolution kernels are defined as:\[G_{o}(x,y)=\exp{(\frac{-x_{\theta}^{2}-\gamma^{2}y_{\theta}^{2}}{\sigma^{2}})sin( \frac{2\pi x_{\theta}}{\lambda})}, \tag{9}\]  
where  
\[x_{\theta}=x\cos_{\theta}+y\sin_{\theta}, \tag{10}\]  
\[y_{\theta}=-x\sin_{\theta}+y\sin_{\theta}, \tag{11}\]  
\(\sigma\) is the standard deviation of the Gaussian function, \(\lambda\) is the wavelength of the harmonic function, \(\theta\) is the orientation, and \(\gamma\) is the spatial aspect ratio, which is left constant at 0.5. For obtaining the Gabor responses, images are convolved by the kernels of size 9 \(\times\) 9. In our implementation 12 kernels are used, which are tuned to four orientations (\(\theta\)) and three frequencies (\(\gamma\)). Orientation, varies from 0 to 3\(\pi\)/4 (stepping by \(\pi\)/4) and frequency varies from 0.3 to 0.5. After generating the response images following scheme is used for feature extraction:  
Twelve Gabor based response images are obtained by applying the above mentioned parameters. Corresponding to every response image, we obtain the eigenvalues in the form of vectors. Each vector is represented by a single value that is obtained by taking the mean. Therefore, finally there will be twelve mean values as the final representation by the Gabor transform.  
Final image representations are obtained by collecting the features of the Curvelet transform, Wavelet packets, and Gabor filters in a single vector that serves as the feature vector of corresponding image. These feature vectors are used as the chromosomes in the GA to overcome the class imbalance problem for the skewed class. In the current proposal, the Chromosomes \(\Theta_{j}\) are defined as:  
\[\Theta_{j}=[\hat{\theta}_{j,1},\hat{\theta}_{j,2},\ldots,\hat{\theta}_{j,N}],j=\left\{1,2,\ldots,M\right\}, \tag{12}\]  
where \(N\) are the number of genes in one chromosome represented by \(\hat{\theta}\), and \(M\) is the population size. The initial population of chromosomes consists of the original feature vectors present in the skewed class, and serves as the parent chromosomes that reproduce through the genetic operators.