Goto

Collaborating Authors

 Decision Tree Learning


Verifiable Reinforcement Learning via Policy Extraction

Neural Information Processing Systems

While deep reinforcement learning has successfully solved many challenging control tasks, its real-world applicability has been limited by the inability to ensure the safety of learned policies. We propose an approach to verifiable reinforcement learning by training decision tree policies, which can represent complex policies (since they are nonparametric), yet can be efficiently verified using existing techniques (since they are highly structured). The challenge is that decision tree policies are difficult to train. We propose VIPER, an algorithm that combines ideas from model compression and imitation learning to learn decision tree policies guided by a DNN policy (called the oracle) and its Q-function, and show that it substantially outperforms two baselines. We use VIPER to (i) learn a provably robust decision tree policy for a variant of Atari Pong with a symbolic state space, (ii) learn a decision tree policy for a toy game based on Pong that provably never loses, and (iii) learn a provably stable decision tree policy for cart-pole. In each case, the decision tree policy achieves performance equal to that of the original DNN policy.


Alternating optimization of decision trees, with application to learning sparse oblique trees

Neural Information Processing Systems

Learning a decision tree from data is a difficult optimization problem. The most widespread algorithm in practice, dating to the 1980s, is based on a greedy growth of the tree structure by recursively splitting nodes, and possibly pruning back the final tree. The parameters (decision function) of an internal node are approximately estimated by minimizing an impurity measure. We give an algorithm that, given an input tree (its structure and the parameter values at its nodes), produces a new tree with the same or smaller structure but new parameter values that provably lower or leave unchanged the misclassification error. This can be applied to both axis-aligned and oblique trees and our experiments show it consistently outperforms various other algorithms while being highly scalable to large datasets and trees. Further, the same algorithm can handle a sparsity penalty, so it can learn sparse oblique trees, having a structure that is a subset of the original tree and few nonzero parameters. This combines the best of axis-aligned and oblique trees: flexibility to model correlated data, low generalization error, fast inference and interpretable nodes that involve only a few features in their decision.


How to Visualize a Decision Tree from a Random Forest in Python using Scikit-Learn

#artificialintelligence

This article was written by Will Koehrsen. Here's the complete code: just copy and paste into a Jupyter Notebook or Python script, replace with your data and run: The final result is a complete decision tree as an image. To read the rest of this article with code and illustrations, click here.



Machine Learning - Decision Trees - Michael Fuchs

#artificialintelligence

Due to their structure, decision trees are easy to understand, interpret and visualize. In doing so, a variable check or feature selection is implicitly performed. Both numerical and non-numerical data can be processed simultaneously relatively little effort on the part of the user for the data preparation requires. On the other hand, too complex trees can be created that do not generalize the data well. Small variations in the data can also make the trees unstable, creating a tree that does not solve the problem.


Efficient logic architecture in training gradient boosting decision tree for high-performance and edge computing

arXiv.org Machine Learning

This study proposes a logic architecture for the high-speed and power efficiently training of a gradient boosting decision tree model of binary classification. We implemented the proposed logic architecture on an FPGA and compared training time and power efficiency with three general GBDT software libraries using CPU and GPU. The training speed of the logic architecture on the FPGA was 26-259 times faster than the software libraries. The power efficiency of the logic architecture was 90-1,104 times higher than the software libraries. The results show that the logic architecture suits for high-performance and edge computing.


Interpretable Optimal Stopping

arXiv.org Artificial Intelligence

Optimal stopping is the problem of deciding when to stop a stochastic system to obtain the greatest reward, arising in numerous application areas such as finance, healthcare and marketing. State-of-the-art methods for high-dimensional optimal stopping involve approximating the value function or the continuation value, and then using that approximation within a greedy policy. Although such policies can perform very well, they are generally not guaranteed to be interpretable; that is, a decision maker may not be able to easily see the link between the current system state and the policy's action. In this paper, we propose a new approach to optimal stopping, wherein the policy is represented as a binary tree, in the spirit of naturally interpretable tree models commonly used in machine learning. We formulate the problem of learning such policies from observed trajectories of the stochastic system as a sample average approximation (SAA) problem. We prove that the SAA problem converges under mild conditions as the sample size increases, but that computationally even immediate simplifications of the SAA problem are theoretically intractable. We thus propose a tractable heuristic for approximately solving the SAA problem, by greedily constructing the tree from the top down. We demonstrate the value of our approach by applying it to the canonical problem of option pricing, using both synthetic instances and instances calibrated with real S&P 500 data. Our method obtains policies that (1) outperform state-of-the-art non-interpretable methods, based on simulation-regression and martingale duality, and (2) possess a remarkably simple and intuitive structure.


Learn Machine Learning with Weka Udemy

#artificialintelligence

This is the bite size course to learn Weka and Machine Learning. You will learn Machine Learning which is the Model and Evaluation of CRISP Data Mining Process. You will learn Linear Regression, Kmeans Clustering, Agglomeration Clustering, KNN, Naive Bayes, Neural Network in this course.


Pro Machine Learning Algorithms [PDF] - Programmer Books

#artificialintelligence

Bridge the gap between a high-level understanding of how an algorithm works and knowing the nuts and bolts to tune your models better. This book will give you the confidence and skills when developing all the major machine learning models. In Pro Machine Learning Algorithms, you will first develop the algorithm in Excel so that you get a practical understanding of all the levers that can be tuned in a model, before implementing the models in Python/R. You will cover all the major algorithms: supervised and unsupervised learning, which include linear/logistic regression; k-means clustering; PCA; recommender system; decision tree; random forest; GBM; and neural networks. You will also be exposed to the latest in deep learning through CNNs, RNNs, and word2vec for text mining.


Decision Tree (CART) - Machine Learning Fun and Easy

#artificialintelligence

Decision Tree (CART) - Machine Learning Fun and Easy https://www.udemy.com/machine-learnin... Decision tree is a type of supervised learning algorithm (having a pre-defined target variable) that is mostly used in classification problems. A tree has many analogies in real life, and turns out that it has influenced a wide area of machine learning, covering both classification and regression (CART). So a decision tree is a flow-chart-like structure, where each internal node denotes a test on an attribute, each branch represents the outcome of a test, and each leaf (or terminal) node holds a class label. The topmost node in a tree is the root node. To learn more on Augmented Reality, IoT, Machine Learning FPGAs, Arduinos, PCB Design and Image Processing then Check out http://www.arduinostartups.com/