US9324040B2

Training ensembles of randomized decision trees

Summary by NHIP

Randomized Decision Tree Training

The method trains randomized decision trees by distributing sorted data subsets to slave processing units for simultaneous split function identification. Distinctive elements include updating a first index for previous node trajectories and a second index for current node trajectories during consecutive ascending order sorting.

Claim Score by NHIP

Read claim 17, the broadest

Abstract

A method training a randomized decision tree through multiple iterations, each is based on: a) Receiving multiple data samples that include data subsets, each data subset corresponds to an attribute.b) Distributing the data subsets to slave processing units after sorting the data samples in consecutive ascending order by updating a first index that identifies trajectories of the training data samples through the tree nodes of the previous tree level.c) Simultaneously processing the data subsets to identify split functions for each tree node with respect to each data subset and updating a second index that identifies the trajectories of the training data samples through the tree node of the current tree level.d) Collecting the split functions from the slave processing units and constructing the current tree level by selecting a preferred split function for each tree node of the current tree level.

US9324040B2, drawing sheet 1
Sheet 1 of 11

Term

8.1 yearsleft in the term

Expires 15 November 2034, including 289 days of term adjustment.

  1. Priority
  2. Filed
  3. Granted
  4. Today
  5. Expires

21 claims: 2 independent, 19 dependent

  1. 1
    A method of training a randomized decision tree, comprising:training a randomized decision tree through a plurality of tree level iterations, each said tree level iteration expands said randomized decision tree with a plurality of tree nodes of another tree level, each said tree level iteration comprising: receiving a plurality of training data samples, said plurality of training data samples includes a plurality of data subsets, each said data subset corresponds to another of a plurality of attributes;distributing said plurality of data subsets to a plurality of slave processing units after sorting said plurality of data samples in consecutive ascending order by updating a first index that identifies trajectories of said plurality of training data samples through at least one tree node of a previous tree level;simultaneously processing said plurality of data subsets to identify a plurality of split functions with respect to each said data subset for at least one tree node and updating a second index that identifies trajectories of said plurality of training data samples through said at least one tree node of said another tree level;collecting said plurality of split functions from said plurality of slave processing units and constructing said another tree level by selecting a preferred split function for said at least one tree node of said another tree level;and outputting said randomized decision tree by providing said at least one tree node for a plurality of tree levels created through said plurality of tree level iterations;wherein said first index that is used during said another tree level iteration is equal to said second index that is used during said previous tree level iteration.
  2. 17
    Broadest claimClaim Score 48, average(NHIP)A system of training randomized decision tree, comprising:a plurality of slave processing units;and a distributed processing control unit which controls training of a randomized decision tree through a plurality of tree level iterations, each said tree level iteration expands said randomized decision tree with another tree level, in each said tree level iteration said distributed processing control unit receives a plurality of training data samples, splits said plurality of training data samples into a plurality of data subsets and distributes said plurality of data subsets to said plurality of slave processing units;wherein each one of said plurality of slave processing units processes a respective received data subset, identifies a split function for at least one tree node of said another tree level and transfers results back to said distributed processing control unit.