Goto

Collaborating Authors

 Bayesian Learning


Using Word2Vec document vectors as features in Naive Bayes โ€ข /r/MachineLearning

@machinelearnbot

You could learn a discretization, or codebook, of your word2vec features. For example, you could run k-means on all of them (well, all your training word2vec features), then treat each one as a single instance of one of k words. Naive bayes proceeds naturally from documents as histograms of these words, and you don't even have to normalize the word counts. But yeah, it's adding another step, and another parameter (k), and discretization can throw away specificity.


Exploiting Causality for Selective Belief Filtering in Dynamic Bayesian Networks

Journal of Artificial Intelligence Research

Dynamic Bayesian networks (DBNs) are a general model for stochastic processes with partially observed states. Belief filtering in DBNs is the task of inferring the belief state (i.e. the probability distribution over process states) based on incomplete and noisy observations. This can be a hard problem in complex processes with large state spaces. In this article, we explore the idea of accelerating the filtering task by automatically exploiting causality in the process. We consider a specific type of causal relation, called passivity, which pertains to how state variables cause changes in other variables. We present the Passivity-based Selective Belief Filtering (PSBF) method, which maintains a factored belief representation and exploits passivity to perform selective updates over the belief factors. PSBF produces exact belief states under certain assumptions and approximate belief states otherwise, where the approximation error is bounded by the degree of uncertainty in the process. We show empirically, in synthetic processes with varying sizes and degrees of passivity, that PSBF is faster than several alternative methods while achieving competitive accuracy. Furthermore, we demonstrate how passivity occurs naturally in a complex system such as a multi-robot warehouse, and how PSBF can exploit this to accelerate the filtering task.


Maximum Likelihood Decoding with RNNs - the good, the bad, and the ugly - The Stanford Natural Language Processing Group

@machinelearnbot

Training Tensorflow's large language model on the Penn Tree Bank yields a test perplexity of 82. It depends on your personal taste. The high temperature sample displays greater linguistic variety, but the low temperature sample is more grammatically correct. Such is the world of temperature sampling - lowering the temperature allows you to focus on higher probability output sequences and smooth over deficiencies of the model. Temperature sampling works by increasing the probability of the most likely words before sampling.


An ABC interpretation of the multiple auxiliary variable method

arXiv.org Machine Learning

Markov random fields (MRFs) have densities of the form f(y ฮธ) ฮณ(y ฮธ)/Z(ฮธ), (1) where ฮณ(y ฮธ) can be evaluated numerically but Z(ฮธ) cannot in a reasonable time. This makes it challenging to perform inference. This note considers two approaches which both use simulation from f(y ฮธ). The single auxiliary variable (SAV) method (Mรธller et al., 2006) and the multiple auxiliary variable (MAV) method (Murray et al., 2006) provide unbiased likelihood estimates. Approximate Bayesian computation (Marin et al., 2012) finds parameters which produce simulations similar to the observed data.


Scalable Discrete Sampling as a Multi-Armed Bandit Problem

arXiv.org Machine Learning

Drawing a sample from a discrete distribution is one of the building components for Monte Carlo methods. Like other sampling algorithms, discrete sampling suffers from the high computational burden in large-scale inference problems. We study the problem of sampling a discrete random variable with a high degree of dependency that is typical in large-scale Bayesian inference and graphical models, and propose an efficient approximate solution with a subsampling approach. We make a novel connection between the discrete sampling and Multi-Armed Bandits problems with a finite reward population and provide three algorithms with theoretical guarantees. Empirical evaluations show the robustness and efficiency of the approximate algorithms in both synthetic and real-world large-scale problems.


Probabilistic Graphical Models on Multi-Core CPUs using Java 8

arXiv.org Artificial Intelligence

In this paper, we discuss software design issues related to the development of parallel computational intelligence algorithms on multi-core CPUs, using the new Java 8 functional programming features. In particular, we focus on probabilistic graphical models (PGMs) and present the parallelisation of a collection of algorithms that deal with inference and learning of PGMs from data. Namely, maximum likelihood estimation, importance sampling, and greedy search for solving combinatorial optimisation problems. Through these concrete examples, we tackle the problem of defining efficient data structures for PGMs and parallel processing of same-size batches of data sets using Java 8 features. We also provide straightforward techniques to code parallel algorithms that seamlessly exploit multi-core processors. The experimental analysis, carried out using our open source AMIDST (Analysis of MassIve Data STreams) Java toolbox, shows the merits of the proposed solutions.


5 skills You Need to Become a Machine Learning Engineer

#artificialintelligence

The world is unquestionably changing in rapid and dramatic ways, and the demand for Machine Learning engineers is going to keep increasing exponentially. Now undoubtedly Machine Learning has arrived. To begin, there are two very important things that you should understand if you're considering a career as a Machine Learning engineer. You don't necessarily have to have a research or academic background. Second, it's not enough to have either software engineering or data science experience.


Data Science Learning Club Update

#artificialintelligence

For anyone that hasn't yet joined the Becoming a Data Scientist Podcast Data Science Learning Club, I thought I'd write up a summary of what we've been doing! The first activity involved setting up a development environment. Some people are using R, some using python, and there are several different development tools represented. In this thread, several people posted what setup they were using. I posted a "hello world" program and the code to output the package versions.


Mixtures of Sparse Autoregressive Networks

arXiv.org Machine Learning

We consider high-dimensional distribution estimation through autoregressive networks. By combining the concepts of sparsity, mixtures and parameter sharing we obtain a simple model which is fast to train and which achieves state-of-the-art or better results on several standard benchmark datasets. Specifically, we use an L1-penalty to regularize the conditional distributions and introduce a procedure for automatic parameter sharing between mixture components. Moreover, we propose a simple distributed representation which permits exact likelihood evaluations since the latent variables are interleaved with the observable variables and can be easily integrated out. Our model achieves excellent generalization performance and scales well to extremely high dimensions.


Top Data Mining Algorithms Identified by IEEE & Related Python Resources

@machinelearnbot

IEEE International Conference on Data Mining identified 10 algorithms in 2006 using surveys from past winners and voting. This is a list of those algorithms a short description and related python resources. The detailed paper is given here. C4.5 is an algorithm used to generate a decision tree developed by Ross Quinlan. The decision trees generated by C4.5 can be used for classification, and for this reason, C4.5 is often referred to as a statistical classifier.