Abstract: pomegranate is a Python package for probabilistic modeling that emphasizes both ease of use and speed. In keeping with the first emphasis, pomegranate has a simple sklearn-like API for training models and performing inference, and a convenient "lego API" that allows complex models to be specified out of simple components. In keeping with the second emphasis, the computationally intensive parts of pomegranate are written in efficient Cython code, all models support both multithreaded parallelism, out-of-core computations, and some models support GPU calculations. In this talk I will give an overview of the features in pomegranate, such as missing value support, demonstrate how the flexible provided by pomegranate can yield more accurate models, and draw examples from "popular culture" to inadvertantly prove how out of touch I am with today's youth. I will also demonstrate how one can use the recently added custom distribution support to make neural probabilistic models, such as neural HMMs, using whatever your favorite neural network package is.
Bio: Jacob Schreiber is a fifth year Ph.D. student and NSF IGERT big data fellow in the Computer Science and Engineering department at the University of Washington. His primary research focus is on the application of machine larning methods, primarily deep learning ones, to the massive amount of data being generated in the field of genome science. His research projects have involved using convolutional neural networks to predict the three dimensional structure of the genome and using deep tensor factorization to learn a latent representation of the human epigenome. He routinely contributes to the Python open source community, currently as the core developer of the pomegranate package for flexible probabilistic modeling, and in the past as a developer for the scikit-learn project. Future projects include graduating.
PhD Candidate | University of Washington
ai-for-engineers-w19 | beginner-w19 | intermediate-w19 | open-source-w19 | workshops-w19