{'fraction_non_alphanumeric': 0.02617801047120419, 'fraction_numerical': 0.0013089005235602095, 'mean_word_length': 4.85823754789272, '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}}
On learning the structure of sum-product networks

LearnSPN is the standard unsupervised learning algorithm for sum-product networks (SPNs). It is based upon a “chop” operation for splitting features (columns) and a “slice” operation for clustering instances (rows). However, a number of techniques can be applied to chop and slice meaning that LearnSPN can learn a wide variety of SPNs from the same dataset. In this paper, we perform an empirical study of LearnSPN. We consider g-test and mutual information for chopping and k-means and Gaussian mixture models for slicing. Our experiments, conducted on 20 real-world datasets, suggest that the deepest SPNs tend to be learned when using mutual information for chopping and k-means for slicing. This is important, since SPNs are the only deep learning model where it is provably the case that deeper models are more expressive than shallow models. Second, our results show that the pair of g-test and Gaussian mixture models tends to yield the most accurate SPNs, especially on larger datasets. These results suggest that the particular combination of mutual information and k-means may be prone to overfitting. Lastly, we examine the sparseness of the learned SPN. Our experiments show that the pair of g-test and Gaussian mixture models regularly yields SPNs with fewer edges. This knowledge is beneficial to SPN learning algorithms that penalize networks with more edges. Our study then extends the SPN deep learning literature in both practical and theoretical directions.