Decision Tree Evaluation via Disjoint Subset Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for evaluating feature vectors using decision trees are resource-intensive due to the need to load and process large numbers of feature vectors and decision trees, which exceeds the capacity of processor caches and consumes significant computing resources, especially when decision trees are complex.

Innovation Solution

The approach involves loading subsets of decision trees in phases, simplifying decision trees by removing common paths among feature vectors, and expressing decision trees as ternary expressions to reduce cache usage and processing time, thereby optimizing the evaluation process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If all decision trees are loaded into cache at once for evaluation, then evaluation accuracy is improved, but cache storage capacity is exceeded and processing resources are consumed

Engineering Contradiction:
Improveevaluation accuracyVSAvoidcache storage capacity
Core Design Contradiction:
Measurement precisionVSArea of stationary object

Solution Approach 1:

The patent divides the set of decision trees into multiple disjoint subsets and processes them in phases. Each phase loads only a subset of trees into cache, evaluates feature vectors against those trees, then moves to the next subset. This segmentation allows the system to maintain high evaluation accuracy through multiple passes while preventing cache overflow by limiting the number of trees loaded simultaneously.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements periodic evaluation cycles where feature vectors are repeatedly evaluated against different subsets of decision trees in sequential phases. This periodic action allows the system to progressively improve evaluation accuracy across multiple iterations without requiring all trees to be in cache simultaneously, thus managing cache capacity effectively.

Inventive Principle:
Principle #19Periodic action

2Reliability

If decision trees are represented as tree data structures, then evaluation completeness is maintained, but computing resource consumption increases

Engineering Contradiction:
Improveevaluation completenessVSAvoidcomputing resource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent creates a simplified data structure that represents decision trees using a more efficient format than traditional tree data structures. This simplified representation maintains the essential evaluation logic and completeness while reducing memory footprint and processing overhead, thereby lowering computing resource consumption while preserving evaluation reliability.

Inventive Principle:
Principle #26Copying

3Adaptability or versatility

If decision trees are not optimized based on feature vectors, then model generality is maintained, but processing efficiency decreases

Engineering Contradiction:
Improvemodel generalityVSAvoidprocessing efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent dynamically adjusts the evaluation process by selecting and processing different subsets of decision trees based on the specific feature vectors being evaluated. The system adapts which trees to load and evaluate in each phase based on the data characteristics, optimizing processing efficiency for each specific evaluation task while maintaining the ability to handle diverse and general cases through the phased subset approach.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10217052B2Evaluating feature vectors across disjoint subsets of decision trees
Publication Date: 2019.02.26 META PLATFORMS INC
  • US10217052B2 patent drawing
  • US10217052B2 patent drawing
  • US10217052B2 patent drawing

AI summary

The disclosure is directed to evaluating feature vectors using decision trees. Typically, the number of feature vectors and the number of decision trees are very high, which prevents loading them into a processor cache. The feature vectors are evaluated by processing the feature vectors across a disjoint subset of trees repeatedly. After loading the feature vectors into the cache, they are evaluated across a first subset of trees, then across a second subset of trees and so on. If the values based on the first and second subsets satisfy a specified criterion, further evaluation of the feature vectors across the remaining of the decision trees is terminated, thereby minimizing the number of trees evaluated and therefore, consumption of computing resources.