MurTree: Optimal Classification Trees via Dynamic Programming and Search
Delft University of Technology(代尔夫特理工大学);LAAS CNRS(法国国家科学研究中心LAAS实验室);RMIT University(皇家墨尔本理工大学);University of Melbourne(墨尔本大学);Monash University(莫纳什大学);DATA61(DATA61研究所)
Emir Demirović, Anna Lukina, Emmanuel Hebrard, Jeffrey Chan, James Bailey, Christopher Leckie, Kotagiri Ramamohanarao, Peter J. Stuckey
Decision tree learning is a widely used approach in machine learning, favoured in applications that require concise and interpretable models. Heuristic methods are traditionally used to quickly produce models with reasonably high accuracy. A commonly criticised point, however, is that the resulting trees may not necessarily be the best representation of the data in terms of accuracy and size. In recent years, this motivated the development of optimal classification tree algorithms that globally optimise the decision tree in contrast to heuristic methods that perform a sequence of locally optimal decisions. We follow this line of work and provide a novel algorithm for learning optimal classification trees based on dynamic programming and search. Our algorithm supports constraints on the depth of the tree and number of nodes. The success of our approach is attributed to a series of specialised techniques that exploit properties unique to classification trees. Whereas algorithms for optimal classification trees have traditionally been plagued by high runtimes and limited scalability, we show in a detailed experimental study that our approach uses only a fraction of the time required by the state-of-the-art and can handle datasets with tens of thousands of instances, providing several orders of magnitude improvements and notably contributing towards the practical realisation of optimal decision trees.
Shandong Normal University(山东师范大学);Nanjing University of Science and Technology(南京理工大学)
Source code can be parsed into the abstract syntax tree (AST) based on defined syntax rules. However, in pre-training, little work has considered the incorporation of tree structure into the learning process. In this paper, we present TreeBERT, a tree-based pre-trained model for improving programming language-oriented generation tasks. To utilize tree structure, TreeBERT represents the AST corresponding to the code as a set of composition paths and introduces node position embedding. The model is trained by tree masked language modeling (TMLM) and node order prediction (NOP) with a hybrid obje…
IBM Research(IBM研究院);Lehigh University(理海大学);Argonne National Laboratory(阿贡国家实验室);Cornell University(康奈尔大学)
Decision trees have been a very popular class of predictive models for decades due to their interpretability and good performance on categorical features. However, they are not always robust and tend to overfit the data. Additionally, if allowed to grow large, they lose interpretability. In this paper, we present a mixed integer programming formulation to construct optimal decision trees of a prespecified size. We take the special structure of categorical features into account and allow combinatorial decisions (based on subsets of values of features) at each node. Our approach can also handle …
University of Edinburgh(爱丁堡大学);University of Amsterdam(阿姆斯特丹大学)
We treat projective dependency trees as latent variables in our probabilistic model and induce them in such a way as to be beneficial for a downstream task, without relying on any direct tree supervision. Our approach relies on Gumbel perturbations and differentiable dynamic programming. Unlike previous approaches to latent tree learning, we stochastically sample global structures and our parser is fully differentiable. We illustrate its effectiveness on sentiment analysis and natural language inference tasks. We also study its properties on a synthetic structure induction task. Ablation studi…
Programming language processing (similar to natural language processing) is a hot research topic in the field of software engineering; it has also aroused growing interest in the artificial intelligence community. However, different from a natural language sentence, a program contains rich, explicit, and complicated structural information. Hence, traditional NLP models may be inappropriate for programs. In this paper, we propose a novel tree-based convolutional neural network (TBCNN) for programming language processing, in which a convolution kernel is designed over programs' abstract syntax t…
Josef Ressel Centre for Symbolic Regression(约瑟夫·雷塞尔符号回归中心);University of Applied Sciences Upper Austria(上奥地利应用科学大学);Johannes Kepler University(约翰内斯·开普勒大学)
We introduce in this paper a runtime-efficient tree hashing algorithm for the identification of isomorphic subtrees, with two important applications in genetic programming for symbolic regression: fast, online calculation of population diversity and algebraic simplification of symbolic expression trees. Based on this hashing approach, we propose a simple diversity-preservation mechanism with promising results on a collection of symbolic regression benchmark problems.
The task of translating between programming languages differs from the challenge of translating natural languages in that programming languages are designed with a far more rigid set of structural and grammatical rules. Previous work has used a tree-to-tree encoder/decoder model to take advantage of the inherent tree structure of programs during translation. Neural decoders, however, by default do not exploit known grammar rules of the target language. In this paper, we describe a tree decoder that leverages knowledge of a language's grammar rules to exclusively generate syntactically correct …
We learn sensor trees from training data to minimize sensor acquisition costs during test time. Our system adaptively selects sensors at each stage if necessary to make a confident classification. We pose the problem as empirical risk minimization over the choice of trees and node decision rules. We decompose the problem, which is known to be intractable, into combinatorial (tree structures) and continuous parts (node decision rules) and propose to solve them separately. Using training data we greedily solve for the combinatorial tree structures and for the continuous part, which is a non-conv…
Federal University of Ouro Preto(欧鲁普雷图联邦大学);KU Leuven(鲁汶大学);Federal University of Lavras(拉夫拉斯联邦大学)
Even though it is well known that for most relevant computational problems different algorithms may perform better on different classes of problem instances, most researchers still focus on determining a single best algorithmic configuration based on aggregate results such as the average. In this paper, we propose Integer Programming based approaches to build decision trees for the Algorithm Selection Problem. These techniques allow automate three crucial decisions: (i) discerning the most important problem features to determine problem classes; (ii) grouping the problems into classes and (iii…
Generalized Optimal Classification Trees: A Mixed-Integer Programming Approach
Department of Computing, The Hong Kong Polytechnic University(计算机系,香港理工大学);Department of Management and Marketing, The Hong Kong Polytechnic University(管理与市场营销系,香港理工大学);Business School, Sichuan University(四川大学商学院)
Program comprehension is a fundamental task in software development and maintenance processes. Software developers often need to understand a large amount of existing code before they can develop new features or fix bugs in existing programs. Being able to process programming language code automatically and provide summaries of code functionality accurately can significantly help developers to reduce time spent in code navigation and understanding, and thus increase productivity. Different from natural language articles, source code in programming languages often follows rigid syntactical stru…
In this study we worked on the classification of the Chess Endgame problem using different algorithms like logistic regression, decision trees and neural networks. Our experiments indicates that the Neural Networks provides the best accuracy (85%) then the decision trees (79%). We did these experiments using Microsoft Azure Machine Learning as a case-study on using Visual Programming in classification. Our experiments demonstrates that this tool is powerful and save a lot of time, also it could be improved with more features that increase the usability and reduce the learning curve. We also de…
Efficient Constant Optimization for Symbolic Regression with GPU-Accelerated Tree-Based Genetic Programming
The Hong Kong Polytechnic University(香港理工大学);University of Washington(华盛顿大学);Amazon Web Services(亚马逊网络服务);Jiangxi University of Finance and Economics(江西财经大学);EEO Education Technology(EEO教育科技);Chongqing Medical University(重庆医科大学);Eastern Institute of Technology(东方理工学院)
Erasmus University Rotterdam(鹿特丹伊拉斯姆斯大学);University of Chicago(芝加哥大学);Migros T.A.Ş(Migros公司)
We propose two algorithms for interpretation and boosting of tree-based ensemble methods. Both algorithms make use of mathematical programming models that are constructed with a set of rules extracted from an ensemble of decision trees. The objective is to obtain the minimum total impurity with the least number of rules that cover all the samples. The first algorithm uses the collection of decision trees obtained from a trained random forest model. Our numerical results show that the proposed rule covering approach selects only a few rules that could be used for interpreting the random forest …
Singapore Management University(新加坡管理大学);The Open University, UK(英国开放大学)
Towards the vision of translating code that implements an algorithm from one programming language into another, this paper proposes an approach for automated program classification using bilateral tree-based convolutional neural networks (BiTBCNNs). It is layered on top of two tree-based convolutional neural networks (TBCNNs), each of which recognizes the algorithm of code written in an individual programming language. The combination layer of the networks recognizes the similarities and differences among code in different programming languages. The BiTBCNNs are trained using the source code i…
Cutting-plane methods have enabled remarkable successes in integer programming over the last few decades. State-of-the-art solvers integrate a myriad of cutting-plane techniques to speed up the underlying tree-search algorithm used to find optimal solutions. In this paper we prove the first guarantees for learning high-performing cut-selection policies tailored to the instance distribution at hand using samples. We first bound the sample complexity of learning cutting planes from the canonical family of Chvátal-Gomory cuts. Our bounds handle any number of waves of any number of cuts and are fi…
Center for Artificial Intelligence in Society(社会人工智能中心);University of Southern California(南加州大学);Viterbi School of Engineering(维特比工程学院)
We consider the problem of learning optimal binary classification trees. Literature on the topic has burgeoned in recent years, motivated both by the empirical suboptimality of heuristic approaches and the tremendous improvements in mixed-integer programming (MIP) technology. Yet, existing approaches from the literature do not leverage the power of MIP to its full extent. Indeed, they rely on weak formulations, resulting in slow convergence and large optimality gaps. To fill this gap in the literature, we propose a flow-based MIP formulation for optimal binary classification trees that has a s…
Genetic Programming for Explainable Manifold Learning
Centre for Data Science and Artificial Intelligence(数据科学与人工智能中心);School of Engineering and Computer Science(工程与计算机科学学院);Victoria University of Wellington(威灵顿维多利亚大学)
Reinforcement Learning for Search Tree Size Minimization in Constraint Programming: New Results on Scheduling Benchmarks
Faculty of Electrical Engineering, Czech Technical University in Prague(电气工程系,布拉格捷克技术大学);Czech Institute of Informatics, Robotics and Cybernetics, Czech Technical University in Prague(捷克信息学、机器人学与自动化研究所,布拉格捷克技术大学)
Faculty of Electrical Engineering and Computing, University of Zagreb(萨格勒布大学电气工程与计算学院);Dipartimento di Matematica e Geoscienze, Università degli Studi di Trieste(的里雅斯特大学数学与地球科学系);Cyber Security Research Group, Delft University of Technology(代尔夫特理工大学网络安全研究组);NOVA Information Management School (NOVA IMS), Universidade Nova de Lisboa(新里斯本大学NOVA信息管理学院)
We investigate the use of Genetic Programming (GP) as a convolutional predictor for missing pixels in images. The training phase is performed by sweeping a sliding window over an image, where the pixels on the border represent the inputs of a GP tree. The output of the tree is taken as the predicted value for the central pixel. We consider two topologies for the sliding window, namely the Moore and the Von Neumann neighborhood. The best GP tree scoring the lowest prediction error over the training set is then used to predict the pixels in the test set. We experimentally assess our approach thr…
A Mathematical Programming Approach to Optimal Classification Forests
Institute of Mathematics (IMAG), Universidad de Granada(格拉纳达大学数学研究所(IMAG));Institute of Mathematics (IMUS), Universidad de Sevilla(塞维利亚大学数学研究所(IMUS));Heinz College of Information Systems and Public Policy, Carnegie Mellon University(卡内基梅隆大学信息系统与公共政策学院)
MIT Sloan School of Management(麻省理工学院斯隆管理学院);MIT Operations Research Center(麻省理工学院运筹学研究中心);MIT Center for Statistics(麻省理工学院统计中心)
Decision trees are one of the most useful and popular methods in the machine learning toolbox. In this paper, we consider the problem of learning optimal decision trees, a combinatorial optimization problem that is challenging to solve at scale. A common approach in the literature is to use greedy heuristics, which may not be optimal. Recently there has been significant interest in learning optimal decision trees using various approaches (e.g., based on integer programming, dynamic programming) -- to achieve computational scalability, most of these approaches focus on classification tasks with…
ABB Robotics(ABB机器人);ABB Corporate Research(ABB企业研究院);Royal Institute of Technology (KTH)(皇家理工学院(KTH))
Industrial robots can solve very complex tasks in controlled environments, but modern applications require robots able to operate in unpredictable surroundings as well. An increasingly popular reactive policy architecture in robotics is Behavior Trees but as with other architectures, programming time still drives cost and limits flexibility. There are two main branches of algorithms to generate policies automatically, automated planning and machine learning, both with their own drawbacks. We propose a method for generating Behavior Trees using a Genetic Programming algorithm and combining the …