{'fraction_non_alphanumeric': 0.010774410774410775, 'fraction_numerical': 0.0, 'mean_word_length': 5.040650406504065, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Balanced Image Data Based Ensemble of Convolutional Neural Networks

Convolutional Neural Networks (CNN) have been very successful in classifying image datasets predominantly because they can automatically extract features and do not scale in complexity with large images due to the presence of multiple convolutional layers. Though being effective they are constrained with the availability of large amounts of data. CNNs normally require large amounts of input data in order to effectively train a network that can achieve reasonable classification performance. However, training of CNNs with large and unbalanced image data is inefficient in terms of time and accuracy. Therefore in this paper, we propose a novel method to create balanced image data and an ensemble of small CNNs. This will help improving learning and accuracy in deep learning applications. One of the key concepts proposed in this paper is to cluster input images into class pure data clusters. A class pure data cluster is a data cluster that has patterns from a same input class. Further all class pure data clusters are balanced by adding samples from other classes based on a distance measurement generating a pool of balanced data clusters. CNNs are trained on all balanced data clusters and fused using majority voting. We have evaluated the proposed method on well-known benchmark image datasets and the results showed that the proposed technique was able to achieve higher accuracy than the standard CNN.