Non-greedy machine learning for high accuracy is described, for example, where one or more random decision trees are trained for gesture recognition in order to control a computing-based device. In various examples, a random decision tree or directed acyclic graph (DAG) is grown using a greedy process and is then post-processed to recalculate, in a non-greedy process, leaf node parameters and split function parameters of internal nodes of the graph. In various examples the very large number of options to be assessed by the non-greedy process is reduced by using a constrained objective function. In examples the constrained objective function takes into account a binary code denoting decisions at split nodes of the tree or DAG. In examples, resulting trained decision trees are more compact and have improved generalization and accuracy.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A computer-implemented method comprising: receiving, at a processor, an unseen example; applying the unseen example to a trained machine learning system, the machine learning system having been trained using training data comprising pairs of training examples and ground truth data, in a non-greedy process, to predict values associated with future examples; a non-greedy process being a process which considers a total number of choices; and using the predicted values to control a computing device. 2. The method of claim 1 wherein the unseen example, the training examples and the future examples comprise image data or data derived from images. 3. The method of claim 1 wherein the predicted values are class labels and applying the unseen example to the trained machine learning system comprises carrying out classification. 4. The method of claim 1 wherein applying the unseen example to the trained machine learning system comprises carrying out regression. 5. The method of claim 1 comprising receiving a stream of images of a user of the computing device, an image of the stream being the unseen example, and using the predicted values to control the computing device by computing gesture recognition data from the predicted values. 6. The method of claim 1 wherein the trained machine learning system comprises a random decision tree or a directed acyclic graph having been trained using a non-greedy process which calculates parameter values using knowledge of the whole of the random decision tree or directed acyclic graph. 7. A computer-implemented method comprising: accessing, at a processor, a plurality of training examples comprising pairs of examples and ground truth data; accessing parameter values of nodes of a graph of connected nodes; and computing updated values of the parameters using a non-greedy process, being a process that takes the whole graph into account. 8. The method of claim 7 wherein the graph of connected nodes is either a random decision tree or a directed acyclic graph. 9. The method of claim 7 wherein the non-greedy process comprises optimizing a surrogate objective function which is an upper bound on an objective function expressing a loss between values predicted by the graph of connected nodes and the ground truth data. 10. The method of claim 9 comprising computing the surrogate loss as the difference of two optimization problems. 11. The method of claim 10 wherein one of the optimization problems maximizes a score of a binary code. 12. The method of claim 10 wherein the non-greedy process comprises discarding options where the first and second binary codes differ by more than a specified number of bits. 13. The method of claim 7 comprising computing the updated values of the parameters using a non-greedy process that comprises solving an objective function which is constrained by an upper bound. 14. The method of claim 7 comprising searching for values of the parameters which result in a graph which processes the training examples so as to most closely match the ground truth data. 15. The method of claim 7 wherein computing the updated values of the parameters comprises using a stochastic gradient descent optimizer. 16. A computing device comprising: an input interface arranged to receive an unseen example; a trained machine learning system, the machine learning system having been trained using training data comprising pairs of training examples and ground truth data, in a non-greedy process, to predict values associated with future examples; a non-greedy process being a process which considers a total number of choices; and a processor arranged to use the predicted values to control a computing device. 17. The computing device of claim 16 the input interface arranged to receive images from a capture device, the images comprising images of at least part of a user of the computing device. 18. The computing device of claim 16 the trained machine learning system being trained to predict values which are gesture class labels. 19. The computing device of claim 16 wherein the trained machine learning system comprises at least one random decision tree or at least one directed acyclic graph having been trained using a non-greedy process which calculates parameter values using knowledge of the whole of the random decision tree or directed acyclic graph. 20. The computing device of claim 16 the trained machine learning system being at least partially implemented using hardware logic selected from any one or more of: a field-programmable gate array, a program-specific integrated circuit, a program-specific standard product, a system-on-a-chip, a complex programmable logic device, a graphics processing unit.