Goto

Collaborating Authors

 Statistical Learning


Python Overtaking R?

@machinelearnbot

He uses statistics from Google Trends, Indeed job search terms, and Analytic Talent (DSC job database) to conclude that Python has overtaken R. One is led to ask if one group of users (say Python's) is a more active googler. Indeed, the search term analyzed is "Python Data Science." From this poll, they found out that "in 2017 Python ecosystem overtook R as the leading platform for Analytics, Data Science, Machine Learning." So, maybe Python is overtaking R. Despite this, I learned reading comments, that R is still preferred for tasks like survival analysis, time series forecasting, glmnet, Bayesian model averaging, and hierarchical modeling thanks to its well developed statistical packages.


Machine Learning Fundamentals: Predicting Airbnb Prices

@machinelearnbot

Machine learning is easily one of the biggest buzzwords in tech right now. Over the past three years Google searches for "machine learning" have increased by over 350%. But understanding machine learning can be difficult -- you either use pre-built packages that act like'black boxes' where you pass in data and magic comes out the other end, or you have to deal with high level maths and linear algebra. This tutorial is designed to introduce you to the fundamental concepts of machine learning -- you'll build your very first model from scratch to make predictions, while understanding exactly how your model works. This tutorial is based on our Dataquest Machine Learning Fundamentals course, which is part of our Data Science Learning Path. The course goes into a lot more detail, and allows you to follow along writing code to learn by doing.


Semi-Supervised Active Clustering with Weak Oracles

arXiv.org Machine Learning

Semi-supervised active clustering (SSAC) utilizes the knowledge of a domain expert to cluster data points by interactively making pairwise "same-cluster" queries. However, it is impractical to ask human oracles to answer every pairwise query. In this paper, we study the influence of allowing "not-sure" answers from a weak oracle and propose algorithms to efficiently handle uncertainties. Different types of model assumptions are analyzed to cover realistic scenarios of oracle abstraction. In the first model, random-weak oracle, an oracle randomly abstains with a certain probability. We also proposed two distance-weak oracle models which simulate the case of getting confused based on the distance between two points in a pairwise query. For each weak oracle model, we show that a small query complexity is adequate for the effective $k$ means clustering with high probability. Sufficient conditions for the guarantee include a $\gamma$-margin property of the data, and an existence of a point close to each cluster center. Furthermore, we provide a sample complexity with a reduced effect of the cluster's margin and only a logarithmic dependency on the data dimension. Our results allow significantly less number of same-cluster queries if the margin of the clusters is tight, i.e. $\gamma \approx 1$. Experimental results on synthetic data show the effective performance of our approach in overcoming uncertainties.


Parle: parallelizing stochastic gradient descent

arXiv.org Machine Learning

We propose a new algorithm called Parle for parallel training of deep networks that converges 2-4x faster than a data-parallel implementation of SGD, while achieving significantly improved error rates that are nearly state-of-the-art on several benchmarks including CIFAR-10 and CIFAR-100, without introducing any additional hyper-parameters. We exploit the phenomenon of flat minima that has been shown to lead to improved generalization error for deep networks. Parle requires very infrequent communication with the parameter server and instead performs more computation on each client, which makes it well-suited to both single-machine, multi-GPU settings and distributed implementations.


Naive Principal Component Analysis (using R)

@machinelearnbot

Principal Component Analysis (PCA) is a technique used to find the core components that underlie different variables. It comes in very useful whenever doubts arise about the true origin of three or more variables. There are two main methods for performing a PCA: naive or less naive. In the naive method, you first check some conditions in your data which will determine the essentials of the analysis. In the less-naive method, you set the those yourself, based on whatever prior information or purposes you had.


Stacking Models for Improved Predictions

@machinelearnbot

If you have ever competed in a Kaggle competition, you are probably familiar with the use of combining different predictive models for improved accuracy which will creep your score up in the leader board. While it is widely used, there are only a few resources that I am aware of where a clear description is available (One that I know of is here, and there is also a caret package extension for it). Therefore, I will try to workout a simple example here to illustrate how different models can be combined. The example I have chosen is the House Prices competition from Kaggle. This is a regression problem and given lots of features about houses, one is expected to predict their prices on a test set.


The real prerequisite for machine learning isn't math, it's data analysis - SHARP SIGHT LABS

@machinelearnbot

These are two excellent books on machine learning (AKA, statistical learning; AKA, model building). If we're talking about entry level data scientists to intermediate level data scientists, I'd estimate that they spend less than 5% of their time actually doing mathematics. Even if you use "off the shelf" tools like R's caret and Python's scikit-learn – tools that do much of the hard math for you – you won't be able to make these tools work without a solid understanding of exploratory data analysis and data visualization. While this figure is about data science in general, it also applies to machine learning specifically: when you're building machine learning models, 80% of your time will be spent getting data, exploring it, cleaning it, and analyzing results (using data visualization).


The math of neural networks

#artificialintelligence

Building neural networks is at the heart of any deep learning technique. Neural networks is a series of forward and backward propagations to train paramters in the model, and it is built on the unit of logistic regression classifiers. This post will expand based on the math of logistic regression to build more advanced neural networks in mathematical terms. A neural network is composed of layers, and there are three types of layers in a neural network: one input layer, one output layer, and one or many hidden layers. Each layer is built based on the same structure of logistic regression classifier, with a linear transformation and an activation function. Given a fixed set of input layer and output layer, we can build more complex neural network by adding more hidden layers.


A Simple Analysis for Exp-concave Empirical Minimization with Arbitrary Convex Regularizer

arXiv.org Machine Learning

In this paper, we present a simple analysis of {\bf fast rates} with {\it high probability} of {\bf empirical minimization} for {\it stochastic composite optimization} over a finite-dimensional bounded convex set with exponential concave loss functions and an arbitrary convex regularization. To the best of our knowledge, this result is the first of its kind. As a byproduct, we can directly obtain the fast rate with {\it high probability} for exponential concave empirical risk minimization with and without any convex regularization, which not only extends existing results of empirical risk minimization but also provides a unified framework for analyzing exponential concave empirical risk minimization with and without {\it any} convex regularization. Our proof is very simple only exploiting the covering number of a finite-dimensional bounded set and a concentration inequality of random vectors.


Learning the Structure of Generative Models without Labeled Data

arXiv.org Machine Learning

Curating labeled training data has become the primary bottleneck in machine learning. Recent frameworks address this bottleneck with generative models to synthesize labels at scale from weak supervision sources. The generative model's dependency structure directly affects the quality of the estimated labels, but selecting a structure automatically without any labeled data is a distinct challenge. We propose a structure estimation method that maximizes the $\ell_1$-regularized marginal pseudolikelihood of the observed data. Our analysis shows that the amount of unlabeled data required to identify the true structure scales sublinearly in the number of possible dependencies for a broad class of models. Simulations show that our method is 100$\times$ faster than a maximum likelihood approach and selects $1/4$ as many extraneous dependencies. We also show that our method provides an average of 1.5 F1 points of improvement over existing, user-developed information extraction applications on real-world data such as PubMed journal abstracts.