Search

US-12619882-B2 - Decision tree of models: using decision tree model, and replacing the leaves of the tree with other machine learning models

US12619882B2US 12619882 B2US12619882 B2US 12619882B2US-12619882-B2

Abstract

Described are techniques of generating and training a neural network that include training multiple models and constructing multiple decision trees with said models. Each decision tree may include additional decision trees at various levels of that decision tree. Each decision tree has a different accuracy indicator due to the unique structuring of each decision tree, and by testing each tree through a testing dataset, the tree with the highest accuracy can be determined.

Inventors

  • Hassan Fayez Amad

Assignees

  • FORD GLOBAL TECHNOLOGIES, LLC

Dates

Publication Date
20260505
Application Date
20201222

Claims (20)

  1. 1 . A computer-implemented method for generating and training a neural network, the method comprising: generating a plurality of models; splitting a dataset into a first set of data and a second set of data, wherein the first set of data comprises training data and the second set of data comprises testing data; training each model of the plurality of models using the first set of data to generate a plurality of trained models, wherein training comprises forward-propagating the first set of data through a respective model of the plurality of models and backpropagating based on results of the forward propagating; generating a plurality of permutations associated with the plurality of trained models; constructing, for each permutation of the plurality of permutations, a corresponding decision tree, that comprises one or more of the plurality of trained models arranged as nodes in an order defined by that permutation, to produce a plurality of decision trees, wherein constructing the plurality of decision trees includes using backpropagated results of the training of the respective model to affect a sequence of models in each decision tree; testing each trained model of the plurality of trained models with the second set of data to generate a respective model-specific accuracy indicator for each trained model of the plurality of trained models; testing each decision tree of the plurality of decision trees with the second set of data; generating, for each decision tree of the plurality of decision trees, an accuracy indicator based on: the respective model-specific accuracy indicator, and results of testing a respective decision tree of the plurality of decision trees, associated with the respective model-specific accuracy indicator, wherein the accuracy indicator for a first decision tree of the plurality of decision trees is higher than the accuracy indicator for a second decision tree of the plurality of decision trees; and inputting the first decision tree to a processor of a vehicle system that executes another neural network.
  2. 2 . The method of claim 1 wherein the first set of data forms a larger portion of the dataset than the second set of data.
  3. 3 . The method of claim 1 , wherein the constructing the plurality of decision trees includes constructing a maximum number of unique decision trees corresponding to all possible permutations of the plurality of trained models.
  4. 4 . The method of claim 1 , wherein the plurality of models includes at least a linear regression model.
  5. 5 . The method of claim 1 , wherein the other neural network interfaces with a vehicle.
  6. 6 . The method of claim 1 , wherein the constructing the plurality of decision trees comprises using backpropagating results of the training of each trained model of the plurality of trained models to influence an arrangement of the plurality of trained models in each decision tree of the plurality of decision trees.
  7. 7 . The method of claim 1 , wherein the accuracy indicator indicates an accuracy of a decision made by the first decision tree or the second decision tree.
  8. 8 . The method of claim 1 , wherein each decision tree, of the plurality of decision trees, corresponds to a respective permutation of the plurality of permutations and is constructed by arranging the plurality of trained models, as a plurality of nodes in the order defined by that permutation, with each node being a different trained model of the plurality of trained models.
  9. 9 . A system for generating and training a neural network, the system comprising: a dataset; one or more memories; and one or more processors, coupled to the one or more memories, configured to: generate a plurality of models; split the dataset into a first set of data and a second set of data, wherein the first set of data comprises training data and the second set of data comprises testing data; train each model of the plurality of models using the first set of data to create a plurality of trained models, wherein training comprises forward-propagating the first set of data through a respective model of the plurality of models and backpropagating based on results of the forward propagating; generate a plurality of permutations associated with the plurality of trained models; construct, for each permutation of the set of parameters, a corresponding decision tree that comprises one or more of the plurality of trained models arranged as nodes in an order defined by that permutation, to produce a plurality of decision trees, wherein constructing the plurality of decision trees includes using backpropagated results of the training of the respective model to affect a sequence of models in each decision tree; test each trained model of the plurality of trained models with the second set of data a respective model-specific accuracy indicator for each trained model of the plurality of trained models; test each decision tree of the plurality of decision trees with the second set of data; generate, for each decision tree of the plurality of decision trees, an accuracy indicator based on; the respective model-specific accuracy indicator, and results of testing a respective decision tree of the plurality of decision trees, associated with the respective model-specific accuracy indicator, wherein the accuracy indicator for a first decision tree of the plurality of decision trees is higher than the accuracy indicator for a second tree of the plurality of decision trees; and input the first decision tree to a processor of a vehicle system that executes another neural network.
  10. 10 . The system of claim 9 wherein the first set of data forms a larger portion of the dataset than the second set of data.
  11. 11 . The system of claim 9 , wherein the constructing the plurality of decision trees includes constructing a maximum number of decision trees corresponding to all possible permutations of the plurality of trained models.
  12. 12 . The system of claim 8 , wherein each of the plurality of models has a hyperparameter, and the neural network includes a set of hyperparameters comprising the hyperparameter of each of the plurality of models, wherein a given model of the plurality of models is trained based on the hyperparameter associated with the given model.
  13. 13 . The system of claim 12 , wherein the neural network includes a set of hyperparameters comprising a connection between the plurality of models, wherein the corresponding decision tree is constructed based on the set of hyperparameters.
  14. 14 . The system of claim 9 , wherein the plurality of models includes at least a linear regression model.
  15. 15 . The system of claim 9 , wherein the accuracy indicator associated with the respective decision tree, of the plurality of decision trees, indicates an accuracy of a decision made by the respective decision tree.
  16. 16 . The system of claim 9 , wherein each decision tree, of the plurality of decision trees, corresponds to a respective permutation of the plurality of permutations and is constructed by arranging the plurality of trained models, as a plurality of nodes in the order defined by that permutation, with each node being a different trained model of the plurality of trained models.
  17. 17 . A non-transitory computer-readable medium comprising instructions that, upon execution by one or more processors, cause the one or more processors to: generate a plurality of models; split a dataset into a first set of data and a second set of data, wherein the first set of data comprises training data and the second set of data comprises testing data; train each model of the plurality of models using the first set of data to create a plurality of trained models, wherein training comprises forward-propagating the first set of data through a respective model of the plurality of models and backpropagating based on results of the forward propagating; generate a plurality of permutations associated with the plurality of trained models; construct for each permutation of the plurality of permutations, a corresponding decision tree that comprises one or more of the plurality of trained models arranged as nodes in an order defined by that permutation, to produce a plurality of decision trees, wherein constructing the plurality of decision trees includes using backpropagated results of the training of respective model to affect a sequence of models in each decision tree; test each trained model of the plurality of trained models with the second set of data a respective model-specific accuracy indicator for each trained model of the plurality of trained models; test each decision tree of the plurality of decision trees with the second set of data; generating, for each decision tree of the plurality of decision trees, an accuracy indicator based on: the respective model-specific accuracy indicator, and results of testing a respective decision tree of the plurality of decision trees, associated with the respective model-specific accuracy indicator, wherein the accuracy indicator for a first decision tree of the plurality of decision trees is higher than the accuracy indicator for a second tree of the plurality of decision trees; and input the first decision tree to a processor of a vehicle system that executes a neural network.
  18. 18 . The non-transitory, computer-readable medium of claim 17 , wherein the first set of data forms a larger portion of the dataset than the second set of data.
  19. 19 . The non-transitory, computer-readable medium of claim 17 , wherein the constructing the plurality of decision trees includes constructing a maximum number of decision trees corresponding to all possible permutations of the plurality of trained models.
  20. 20 . The non-transitory computer-readable medium of claim 17 , wherein each decision tree, of the plurality of decision trees, corresponds to a respective permutation of the plurality of permutations and is constructed by arranging the plurality of trained models, as a plurality of nodes in the order defined by that permutation, with each node being a different trained model of the plurality of trained models.

Description

BACKGROUND Machine learning uses training data to improve computer algorithms using training data. The algorithms go through improved decision making or predicting outcomes based on inputs to the machine learning model. The relationship between an input and an output is what a model is trained on and that relationship is what a model eventually tries to predict for a particular input, after the model has been trained. A basic form of machine learning is the perceptron, which classifies an input based on an expected class as learned from the overall model's training. The perceptrons may occupy hidden layers of the neural network, which are layers that an input may pass through before the neural network returns an output. Due to machine learning algorithms potentially being applied to data that is outside of the training set of data, inaccuracies may arise in expected output results. There are multiple different potential algorithms that can be used for different intended applications. However, each potential algorithm can see varying success with respect to each intended application. While extensive analytics can help understand algorithms with respect to specific applications better, doing so requires intensive effort and time, which may not be ultimately beneficial in the time saved from initially implementing the machine learning algorithms. A better understanding of model implementation and improvement on accuracy is needed in the art. SUMMARY Neural networks use a tree of inputs and outputs to train on. A neural network uses its algorithm to provide an output to particular inputs, based on the trained experiences of the neural network. The determination that an input results in a particular output is known as a perceptron. However, a particular model and its various perceptrons may only have a level of accuracy that is not optimal for a particular application. An improved understanding of which model may be the most suitable can be measured off of accuracy reports from running training sets and test sets derived from the same dataset. Moreover, utilizing the dataset to understand accuracy can improve understandings of hidden trends and the diversity of decision capabilities across a network. Generally, techniques for generating and training a neural network is described. The method of training may provide for generating a neural network of machine learning models, where additional models may be provided as the output of perceptrons, forming a “tree” of different models. From this “tree,” a dataset can be split into a first set and a second set, the first set to train the “tree” of models, and the second set to test the accuracy of the models. The accuracy of models can be backpropagated to provide the neural network with better approximations of what models may be better employed in layers further down the neural network. In some embodiments, a method is provided that includes generating a plurality of models, splitting a dataset into a first set of data and a second set of data, training each model of the plurality of models using the first set of data to generate a plurality of trained models, constructing a plurality of decision trees, testing each of the plurality of decision trees with the second set of data to generate an accuracy indicator for each decision tree of the plurality of decision trees, and deploying a decision tree of the plurality of decision trees having a highest accuracy indicator. The first set of data can have training data and the second set of data can have testing data. The plurality of decision trees can have one or more trained models of the plurality of trained models, with each of the plurality of decision trees being unique. In some embodiments a system is provided that includes a dataset, one or more processors, and a system memory storing instructions to cause the one or more processors to generate a plurality of models, split a dataset into a first set of data and a second set of data, train each model of the plurality of models using the first set of data to generate a plurality of trained models, construct a plurality of decision trees, test each of the plurality of decision trees with the second set of data to generate an accuracy indicator for each decision tree of the plurality of decision trees, and deploy a decision tree of the plurality of decision trees having a highest accuracy indicator. The first set of data can have training data and the second set of data can have testing data. The plurality of decision trees can have one or more trained models of the plurality of trained models, with each of the plurality of decision trees being unique. Implementations of the computer-implemented method can include one or more of the following features. In some embodiments, the first set of data can form a larger portion of the dataset than the second set of data. In some embodiments, constructing the plurality of decision trees includes constructing a maximum number of