IP Library Granted Patent US 10,726,153
Granted Patent B2
US 10,726,153 · App. 16/144,790 · Granted Jul 28, 2020

Differentially private machine learning using a random forest classifier

Inventors: Ishaan Nerurkar (Berkeley, CA); Christopher Hockenbrocht (Berkeley, CA); Liam Damewood (Walnut Creek, CA); Mihai Maruseac (Berkeley, CA); Alexander Rozenshteyn (Berkeley, CA)
Assignee: LeapYear Technologies, Inc.
G06F21/6245G06F16/248G06F16/2455G06F17/18G06F21/6254G06K9/6282G06N5/003G06N20/00G06N20/20G16H10/60G06F17/11G06F2221/2145G06K9/6256G06N20/10
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,726,153
App. No.
16/144,790
Granted
Jul 28, 2020
Kind
B2
Abstract

A request from a client is received to generate a differentially private random forest classifier trained using a set of restricted data. The differentially private random forest classifier is generated in response to the request. Generating the differentially private random forest classifier includes determining a number of decision trees and generating the determined number of decision trees. Generating a decision tree includes generating a set of splits based on the restricted data, determining an information gain for each split, selecting a split from the set using an exponential mechanism, and adding the split to the decision tree. The differentially private random forest classifier is provided to the client.

Claims (211)

1. A method, comprising:

receiving a request from a client to generate a differentially private random forest classifier trained using a set of restricted data stored by a private database system, the request identifying a level of differential privacy corresponding to the request, the identified level of differential privacy comprising privacy parameters ε and δ, wherein ε describes a degree of information released about the set of restricted data due to the request and δ describes an improbability of the request satisfying (ε)-differential privacy;

generating the differentially private random forest classifier in response to the request, generating the classifier comprising:

determining a number of decision trees comprising the differentially private random forest classifier;

generating the determined number of decision trees, wherein a decision tree comprises a plurality of leaf nodes representing classification categories, and generating the decision tree comprises:

generating a set of splits based on features of the set of restricted data;

determining an information gain for each split of the set of splits;

selecting a split from the set of splits using an exponential mechanism based at least in part on the determined information gains of the splits in the set and at least one of the privacy parameters;

adding the selected split to the decision tree at a node; and

determining, for a certain leaf node of the plurality of leaf nodes representing a certain classification category of the classification categories, a differentially private count of entities in the set of restricted data in the certain classification category; and

providing the differentially private random forest classifier to the client, the provided differentially private random forest classifier comprising the differentially private count of entities in the certain classification category represented by the certain leaf node.

2. The method of claim 1 , wherein determining the information gain for a split of the set of splits comprises evaluating:

-

i

n

i

o

t

io

n

i

log

2

t

io

n

i

,

wherein n o is determined by:

Σ i t io ,

wherein n i is determined by:

Σ o t io ,

wherein n t is determined by either:

Σ i n i or Σ o n o ,

wherein o is a numeric representation of a classification category, i is a numeric representation of a feature of data in the set of restricted data, and t io is a number of data tuples in the set of restricted data having both the classification category represented by o and the feature represented by i.

3. The method of claim 2 , wherein selecting a split from the set of splits using the exponential mechanism is further based on a sensitivity, wherein the sensitivity of the exponential mechanism is determined by:

log

2

(

n

t

+

1

)

+

1

log

2

.

4. The method of claim 1 , wherein generating the random forest classifier in response to the request is based on one or more model parameters, including at least one of a number of decision trees to be used in the classifier, a number of splits to include in the decision trees, a maximum tree height, and a utility gain threshold, and wherein each of the one or more model parameters is at least one of a default value and a value included in the request.

5. The method of claim 1 ,

wherein the restricted data stores records comprising rows and columns;

wherein the rows are associated with patients having a medical condition;

wherein the columns contain values describing health data for the patients; and

wherein providing the differentially private random forest classifier to the client comprises estimating whether a new patient has the medical condition.

6. The method of claim 1 ,

wherein the set of data stores records comprising rows and columns;

wherein the rows are associated with customers having a financial account;

wherein the columns contain values describing financial data for the customers; and

wherein providing the differentially private random forest classifier to the client comprises estimating whether a new customer can perform a financial transaction.

7. A non-transitory computer-readable storage medium storing computer program instructions executable by a processor to perform operations, the operations comprising:

receiving a request from a client to generate a differentially private random forest classifier trained using a set of restricted data stored by a private database system, the request identifying a level of differential privacy corresponding to the request, the identified level of differential privacy comprising privacy parameters ε and δ, wherein ε describes a degree of information released about the set of restricted data due to the request and δ describes an improbability of the request satisfying (ε)-differential privacy;

generating the differentially private random forest classifier in response to the request, generating the classifier comprising:

determining a number of decision trees comprising the differentially private random forest classifier;

generating the determined number of decision trees, wherein a decision tree comprises a plurality of leaf nodes representing classification categories, and generating the decision tree comprises:

generating a set of splits based on features of the set of restricted data;

determining an information gain for each split of the set of splits;

selecting a split from the set of splits using an exponential mechanism based at least in part on the determined information gains of the splits in the set and at least one of the privacy parameters;

adding the selected split to the decision tree at a node; and

determining, for a certain leaf node of the plurality of leaf nodes representing a certain classification category of the classification categories, a differentially private count of entities in the set of restricted data in the certain classification category; and

providing the differentially private random forest classifier to the client, the provided differentially private random forest classifier comprising the differentially private count of entities in the certain classification category represented by the certain leaf node.

8. The non-transitory computer-readable storage medium of claim 7 , wherein determining the information gain for a split of the set of splits comprises evaluating:

-

i

n

i

o

t

io

n

i

log

2

t

io

n

i

,

wherein n o is determined by:

Σ i t io ,

wherein n i is determined by:

Σ o t io ,

wherein n t is determined by either:

Σ i n i or Σ o n o ,

wherein o is a numeric representation of a classification category, i is a numeric representation of a feature of data in the set of restricted data, and t io is a number of data tuples in the set of restricted data having both the classification category represented by o and the feature represented by i.

9. The non-transitory computer-readable storage medium of claim 8 , wherein selecting a split from the set of splits using the exponential mechanism is further based on a sensitivity, wherein the sensitivity of the exponential mechanism is determined by:

log

2

(

n

t

+

1

)

+

1

log

2

.

10. The non-transitory computer-readable storage medium of claim 7 , wherein generating the random forest classifier in response to the request is based on one or more model parameters, including at least one of a number of decision trees to be used in the classifier, a number of splits to include in the decision trees, a maximum tree height, and a utility gain threshold, and wherein each of the one or more model parameters is at least one of a default value and a value included in the request.

11. The non-transitory computer-readable storage medium of claim 7 ,

wherein the restricted data stores records comprising rows and columns;

wherein the rows are associated with patients having a medical condition;

wherein the columns contain values describing health data for the patients; and

wherein providing the differentially private random forest classifier to the client comprises estimating whether a new patient has the medical condition.

12. The non-transitory computer-readable storage medium of claim 7 ,

wherein the set of data stores records comprising rows and columns;

wherein the rows are associated with customers having a financial account;

wherein the columns contain values describing financial data for the customers; and

wherein providing the differentially private random forest classifier to the client comprises estimating whether a new customer can perform a financial transaction.

13. A system comprising:

a processor for executing computer program instructions; and

a non-transitory computer-readable storage medium storing computer program instructions executable by the processor to perform operations comprising:

receiving a request from a client to generate a differentially private random forest classifier trained using a set of restricted data stored by a private database system, the request identifying a level of differential privacy corresponding to the request, the identified level of differential privacy comprising privacy parameters ε and δ, wherein ε describes a degree of information released about the set of restricted data due to the request and δ describes an improbability of the request satisfying (ε)-differential privacy;

generating the differentially private random forest classifier in response to the request, generating the classifier comprising:

determining a number of decision trees comprising the differentially private random forest classifier;

generating the determined number of decision trees, wherein a decision tree comprises a plurality of leaf nodes representing classification categories, and generating the decision tree comprises:

generating a set of splits based on features of the set of restricted data;

determining an information gain for each split of the set of splits;

selecting a split from the set of splits using an exponential mechanism based at least in part on the determined information gains of the splits in the set and at least one of the privacy parameters;

adding the selected split to the decision tree at a node; and

determining, for a certain leaf node of the plurality of leaf nodes representing a certain classification category of the classification categories, a differentially private count of entities in the set of restricted data in the certain classification category; and

providing the differentially private random forest classifier to the client the provided differentially private random forest classifier comprising the differentially private count of entities in the certain classification category represented by the certain leaf node.

14. The system of claim 13 , wherein determining the information gain for a split of the set of splits comprises evaluating:

-

i

n

i

o

t

io

n

i

log

2

t

io

n

i

,

wherein n o is determined by:

Σ i t io ,

wherein n i is determined by:

Σ o t io ,

wherein n t is determined by either:

Σ i n i or Σ o n o ,

wherein o is a numeric representation of a classification category, i is a numeric representation of a feature of data in the set of restricted data, and t io is a number of data tuples in the set of restricted data having both the classification category represented by o and the feature represented by i.

15. The system of claim 14 , wherein selecting a split from the set of splits using the exponential mechanism is further based on a sensitivity, wherein the sensitivity of the exponential mechanism is determined by:

log

2

(

n

t

+

1

)

+

1

log

2

.

16. The system of claim 13 ,

wherein the restricted data stores records comprising rows and columns;

wherein the rows are associated with patients having a medical condition;

wherein the columns contain values describing health data for the patients; and

wherein providing the differentially private random forest classifier to the client comprises estimating whether a new patient has the medical condition.

17. The system of claim 13 ,

wherein the set of data stores records comprising rows and columns;

wherein the rows are associated with customers having a financial account;

wherein the columns contain values describing financial data for the customers; and

wherein providing the differentially private random forest classifier to the client comprises estimating whether a new customer can perform a financial transaction.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 6, 2023
From: LEAPYEAR TECHNOLOGIES, INC.
To: SNOWFLAKE INC.
Reel/Frame 063865/0245 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 6, 2018
From: NERURKAR, ISHAAN; HOCKENBROCHT, CHRISTOPHER; DAMEWOOD, LIAM; MARUSEAC, MIHAI; ROZENSHTEYN, ALEXANDER
To: LEAPYEAR TECHNOLOGIES, INC.
Reel/Frame 047700/0581 →
Continuity (3)
Continuation In Part 15203797 · Jul 7, 2016
Provisional Application 62249938 · Nov 2, 2015
Related Publication 20190026489A1 · Jan 24, 2019
Cited By (19)
US 12,190,330 US 12,204,564 US 12,216,794 US 12,223,083 US 12,259,882 US 12,265,896 US 12,277,232 US 12,288,233 US 12,299,065 US 12,353,405 US 12,381,915 US 12,412,140 US 12,536,329 US 12,591,828 US 12,609,938 US 12,641,108 US 12,688,324 US 12,694,044 US 12,718,167