IP Library Granted Patent US 12,191,007
Granted Patent B2
US 12,191,007 · App. 16/618,656 · Granted Jan 7, 2025

Human-in-the-loop interactive model training

Inventors: Kai Chen (San Bruno, CA); Eyal Oren (Los Gatos, CA); Hector Yee (Mountain View, CA); James Wilson (Littleton, MA); Alvin Rajkomar (Mountain View, CA); Michaela Hardt (Mountain View, CA)
Assignee: Google LLC
G16H10/60G06N20/00
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 12,191,007
App. No.
16/618,656
Granted
Jan 7, 2025
Kind
B2
Abstract

Example embodiments relate to a method for training a predictive model from data. The method includes defining a multitude of predicates as binary functions operating on time sequences of the features or logical operations on the time sequences of the features. The method also includes iteratively training a boosting model by generating a number of new random predicates, scoring all the new random predicates by weighted information gain with respect to a class label associated with a prediction of the boosting model, selecting a number of the new random predicates with the highest weighted information gain and adding them to the boosting model, computing weights for all the predicates in the boosting model, removing one or more of the selected new predicates with the highest information gain from the boosting model in response to input from an operator. The method may include repeating the prior steps a plurality of times.

Claims (67)

1. A computer-implemented method of training a predictive model from data comprising a multitude of features, each feature associated with a real value and a time component, comprising the steps of executing the following instructions in a processor of the computer:

a) defining a multitude of predicates as binary functions operating on time sequences of the features or logical operations on the time sequences of the features;

b) iteratively training a boosting model by performing the following:

1) Generating a number of new random predicates as binary functions operating on at least one of (i) time sequences of the features or (ii) logical operations on the time sequences of the features;

2) Scoring all the new random predicates by weighted information gain with respect to a class label associated with a prediction of the boosting model;

3) Selecting, from the new random predicates, a number of the new random predicates that are the highest with respect to their weighted information gain scores and adding them to the boosting model;

4) Computing weights for all the predicates in the boosting model;

5) Removing one or more of the selected number of the new random predicates from the boosting model in response to input from an operator; and

6) Repeating the performance of steps 1, 2, 3, 4 and 5 a plurality of times and thereby generating a final iteratively trained boosting model.

2. The method of claim 1 , further comprising the step of c) evaluating the final iteratively trained boosting model.

3. The method of claim 2 , wherein the evaluation step (c) comprises evaluating the final iteratively trained boosting model for at least one of accuracy, complexity, or trustworthiness.

4. The method of claim 1 , wherein the data is in a tuple format of the type {X, x i , t i } where X is the name of feature, x i is a real value of the feature and t i is a time component for the real value x i , and wherein the predicates are defined as binary functions operating on at least one of (i) sequences of tuples or (ii) logical operations on sequences of the tuples.

5. The method of claim 4 , wherein the sequences of tuples are defined by time periods selected from the group consisting of 1 or more days, 1 or more hours, 1 or more minutes, or 1 or more months.

6. The method of claim 1 , wherein the data comprises electronic health record data for a multitude of patients.

7. The method of claim 1 , wherein the method further comprises the step of dividing the predicates into groups based on understandability, namely a first group of relatively more human understandable predicates and a second group of relatively less human understandable predicates and wherein the new random predicates are selected from the first group.

8. The method of claim 7 , wherein the data comprises electronic health record data for a multitude of patients, and wherein the set of predicates are represented in a manner to show the subject matter or source within the electronic health record data of the predicates.

9. The method of claim 8 , wherein the predicates comprise an existence predicate returning a result of 0 or 1 depending on whether a feature exists in the electronic health record data for a given patient in the multitude of patients; and a counts predicate returning a result of 0 or 1 depending on the number of counts of a feature in the electronic health record data for a given patient in the multitude of patients relative to a numeric parameter C.

10. The method of claim 1 , wherein step b) 5) further comprises the step of graphically representing the predicates currently in the boosting model and providing the operator with the ability to remove one or more of the predicates.

11. The method of claim 10 , further comprising the step of graphically representing the weights computed for each of the predicates in step b) 4).

12. The method of claim 1 , further comprising the step of graphically representing a set of predicates added to the boosting model after each of the iterations of step b) 6).

13. The method of claim 1 , wherein step b) further comprises the step of providing the operator with the ability to define a predicate during model training.

14. The method of claim 1 , wherein step b) further comprises the step of removing redundant predicates.

15. The method of claim 1 , further comprising the step of ranking the predicates selected in step b) 3).

16. The method of claim 1 , further comprising the step of generating statistics of predicates in the boosting model and presenting them to the operator.

17. The method of claim 1 , wherein in step b) 5) the one or more predicates are removed which are not causally related to the prediction of the boosting model.

18. A computer-implemented method of training a predictive model from electronic health record data for a multitude of patients, the data comprising a multitude of features, each feature associated with real values and a time component, wherein the data is in a tuple format of the type {X, x i , t i } where X is the name of feature, x i is a real value of the feature and t i is a time component for the real value x i , comprising the steps of implementing the following instructions in a processor of the computer:

a) defining a multitude of predicates as at least one of (i) binary functions operating on sequences of the tuples or (ii) logical operations on the sequences of the tuples;

b) dividing the multitude of predicates into groups based on understandability, namely a first group of relatively more human understandable predicates and a second group of relatively less human understandable predicates;

c) iteratively training a boosting model by performing the following:

1) Generating a number of new random predicates from the first group of predicates as binary functions operating on at least one of (i) sequences of the tuples or (ii) logical operations on the sequences of the tuples;

2) Scoring all the new random predicates by weighted information gain with respect to a class label associated with a prediction of the boosting model;

3) Selecting, from the new random predicates, a number of the new random predicates that are the highest with respect to their weighted information gain scores and adding them to the boosting model;

4) Computing weights for all the predicates in the boosting model;

5) Removing one or more of the selected number of the new random predicates from the boosting model in response to input from an operator; and

6) Repeating the performance of steps 1, 2, 3, 4 and 5 a plurality of times and thereby generating a final iteratively trained boosting model.

19. The method of claim 18 , further comprising the step d) of evaluating the final iteratively trained boosting model.

20. A workstation for providing operator input into iteratively training a boosting model, wherein the workstation comprises an interface and a processor, and wherein the processor is configured to perform operations comprising:

1) Generating a number of new random predicates as binary functions operating on at least one of (i) time sequences of input features or (ii) logical operations on the time sequences of the input features;

2) Scoring all the new random predicates by weighted information gain with respect to a class label associated with a prediction of the boosting model;

3) Selecting, from the new random predicates, a number of the new random predicates that are the highest with respect to their weighted information gain scores and adding them to the boosting model;

4) Computing weights for all the predicates in the boosting model;

5) Removing one or more of the selected number of the new random predicates from the boosting model in response to input from an operator, wherein the input is received by way of the interface; and

6) Repeating the performance of steps 1, 2, 3, 4 and 5 a plurality of times and thereby generating a final iteratively trained boosting model.

21. The workstation of claim 20 , wherein predicates are defined as at least one of (i) binary functions operating on sequences of features having both a real value component and a time component or (ii) logical operations on sequences of the features.

22. The workstation of claim 20 , wherein the operations further comprise the step of graphically representing on the interface a set of predicates added to the boosting model after each of the iterations of step 6).

23. The workstation of claim 20 , wherein the step (i) of automatically generating the plurality of additional predicates comprises:

(a) generating candidate predicates by a pseudo-random algorithm;

(b) scoring the candidate predicates for weighted information gain in the boosting model; and

(c) selecting the additional predicates from the candidate predicates based on the scores.

24. The workstation of claim 23 , wherein the output of each predicate is a binary value.

25. The workstation of claim 23 , wherein each sample in the training data is formatted as a plurality of data items having a tuple format of the type {X, x i , t i }, wherein x i indicates the value of feature X at a time t i , and i labels the tuple of the sample, and wherein each predicate is defined as a function performed on a plurality of data items of the sample.

26. The workstation according to claim 23 , wherein the training data comprises electronic health record data for a plurality of patients.

27. The workstation of claim 23 , wherein each predicate is a function of a part of the sample relating to a single corresponding one of the features.

28. The workstation according to claim 23 , wherein the features are each associated with a corresponding one of a set of human understandable categories or groups, and step (iii) of displaying a plurality of the set of predicates includes displaying grouped together the predicates which are functions of data relating to features of each category or group.

29. The workstation of claim 23 , wherein step (iii) of displaying a plurality of the set of predicates includes displaying a respective weight value of the boosting model.

30. The workstation of claim 23 , further comprising evaluating the accuracy of the boosting model in predicting the label using a validation sub-set of the training data.

31. The workstation of claim 23 , wherein the rejected one or more of the updated set of predicates are not causally related to a prediction of the boosting model.

32. A computer-implemented method of generating a predictive model from training data, the predictive model being for predicting a label based on input data which, for each of a plurality of features X, indicates a value x of the feature at each of a plurality of times, and the training data comprising a plurality of samples, each sample indicating the value of one or more of the features at each of one of more times and a corresponding label; the method comprising implementing the following steps as instructions with a processor:

defining a set of predicates, each predicate being a function which generates an output when applied to time sequences of the features or logical combinations of the time sequences of the features;

generating a boosting model, the boosting model receiving as input the respective outputs of each of the set of predicates when applied to the samples of the training data; and

performing a plurality of times, the sequence of steps of:

(i) automatically generating a plurality of additional predicates as binary functions operating on at least one of (i) time sequences of the features or (ii) logical operations on the time sequences of the features;

(ii) adding the plurality of additional predicates to predicates already in the boosting model to form an updated set of predicates;

(iii) displaying a plurality of the updated set of predicates; and

(iv) receiving data input rejecting one or more of the updated set of predicates; and

(v) removing the rejected one or more predicates from the updated set of predicates.

33. The method of claim 32 , wherein the additional predicates comprise at least one of existence predicates which are each indicative of a specific feature taking a value in a specific range at least one time, and count predicates which are each indicative of a specific feature taking a value in a specific range at more than, less than, or equal to a specific number of times C.

Assignments (2)
CHANGE OF NAME Recorded Dec 9, 2025
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 073899/0697 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 2, 2020
From: CHEN, KAI; OREN, EYAL; YEE, HECTOR; WILSON, JAMES; RAJKOMAR, ALVIN; HARDT, MICHAELA
To: GOOGLE INC.
Reel/Frame 054239/0610 →
Continuity (2)
Provisional Application 62552088 · Aug 30, 2017
Related Publication 20210358579A1 · Nov 18, 2021
References Cited (43)
US 7752152B2 · Paek et al. · 2010 [cited by applicant]
US 7958113B2 · Fan · 2011 [cited by examiner]
US 9092979B2 · Burry et al. · 2015 [cited by applicant]
US 9223833B2 · Lightner et al. · 2015 [cited by applicant]
US 20080147574A1 · Chidlovskii · 2008 [cited by examiner]
US 20080168011A1 · Steinberg · 2008 [cited by examiner]
US 20080222093A1 · Fan · 2008 [cited by examiner]
US 20130346351A1 · Lin et al. · 2013 [cited by applicant]
US 20150379429A1 · Lee · 2015 [cited by examiner]
US 20160025896A1 · Rose et al. · 2016 [cited by applicant]
US 20160078361A1 · Brueckner · 2016 [cited by examiner]
US 20160162458A1 · Munro et al. · 2016 [cited by applicant]
US 20160364876A1 · Lackey et al. · 2016 [cited by applicant]
US 20170098172A1 · Ellenbogen et al. · 2017 [cited by applicant]
US 20170193118A1 · Pratt · 2017 [cited by applicant]
US 20190370605A1 · Xie · 2019 [cited by examiner]
Duch, Wlodzislaw, Rafal Adamczak, and Krzysztof Grabczewski. “A new methodology of extraction, optimization and application of crisp and fuzzy logical rules.” IEEE Transactions on Neural Networks 12.2 (2001): 277-306. (… [cited by examiner]
D'Acierno, Antonio, Massimo Esposito, and Giuseppe De Pietro. “An extensible six-step methodology to automatically generate fuzzy DSSs for diagnostic applications.” BMC bioinformatics 14.1 (2013): 1-19. (Year: 2013). [cited by examiner]
Um, Ashwin kumar, and Ananda kumar KR. “Data Preparation by CFS: An Essential Approach for Decision Making Using C 4.5 for Medical Data Mining.” 2013 Third International Conference on Advanced Computing and Communicatio… [cited by examiner]
Rios, Anthony, and Ramakanth Kavuluru. “Supervised extraction of diagnosis codes from EMRs: role of feature selection, data selection, and probabilistic thresholding.” 2013 IEEE International Conference on Healthcare In… [cited by examiner]
D'Souza, Jennifer, and Vincent Ng. “Knowledge-rich temporal relation identification and classification in clinical notes.” Database 2014 (2014): 1-20. (Year: 2014). [cited by examiner]
Mihăilă, Claudiu, and Sophia Ananiadou. “Semi-supervised learning of causal relations in biomedical scientific discourse.” Biomedical engineering online 13.2 (2014): 1-24. (Year: 2014). [cited by examiner]
Holzinger, Andreas. “Interactive machine learning for health informatics: when do we need the human-in-the-loop?.” Brain Informatics 3.2 (2016): 119-131. (Year: 2016). [cited by examiner]
Kovalerchuk, Boris, Evgenii Vityaev, and Husan Yusupov. “Symbolic methodology in numeric data mining: relational techniques for financial applications.” arXiv preprint cs/0208022 (2002): 1-20 (Year: 2002). [cited by examiner]
Duch, Wlodzislaw, Rudy Setiono, and Jacek M. Zurada. “Computational intelligence methods for rule-based data understanding.” Proceedings of the IEEE 92.5 (2004): 771-805. (Year: 2004). [cited by examiner]
Liu, Bing, et al. “Text classification by labeling words.” Aaai. vol. 4. 2004. (Year: 2004). [cited by examiner]
Syarif, Iwan, et al. “Application of bagging, boosting and stacking to intrusion detection.” Machine Learning and Data Mining in Pattern Recognition: 8th International Conference, MLDM 2012, Berlin, Germany, Jul. 13-20,… [cited by examiner]
Batal, Iyad, et al. “Mining recent temporal patterns for event detection in multivariate time series data.” Proceedings of the 18th ACM SIGKDD international conference on Knowledge discovery and data mining. 2012. (Year… [cited by examiner]
Um, Ashwin kumar, and Ananda kumar KR. “Data Preparation by CFS: An Essential Approach for Decision Making Using C 4.5 for Medical Data Mining.” 2013 Third International Conference on Advanced Computing and Communicatio… [cited by examiner]
Hu, Yuening, et al. “Interactive topic modeling.” Machine learning 95 (2014): 423-469. (Year: 2014). [cited by examiner]
Luo, Gang. “PredicT-ML: a tool for automating machine learning model building with big clinical data.” Health Information Science and Systems 4 (2016): 1-16. (Year: 2016). [cited by examiner]
Lipton, Z. C. The Mythos of Model Intepretability, arXiv:1606.03490 [cs.LG] (Jun. 2016). [cited by applicant]
Holzinger, A. “Interactive machine learning for health informatics: when do we need human in the loop?” Brain Informatics (2016) vol. 3, pp. 119-131. [cited by applicant]
Holzinger, A “Beyond Data Mining: Integrative Machine Learning for Health Informatics” draft editorial paper (Apr. 2016); URL:https://online.tugraz.at/tug_online/voe_main2.getVollText?pDocumentNr=1347744&pCurrPk=89271. [cited by applicant]
Mandel, J. C et al. : SMART on FHIR: a standards-based, interoperable apps platform for electronic health records J Am Med Inform Assoc. 2016;23(5):899-908. [cited by applicant]
Trivedi, Gaurav et al. An Interactive Tool for Natural Language Processing on Clinical Text, arXiv:1707.01890 [cs.HC] Jul. 7, 2017. [cited by applicant]
Duchi, John et al. “Efficient Online and Batch Learning Using Forward Backward Splitting” Journal of Machine earning Research 10 (2009), pp. 2899-2934. [cited by applicant]
The International Search Report with Written Opinion for PCT/US2017/054213 dated Dec. 11, 2017, pp. 1-20. [cited by applicant]
Hidasi et al., “Shift Tree: An Interpretable Model-Based Approach for Time Series Classification”, pp. 48-64, 2011. [cited by applicant]
Yu et al., “Integrating Relevance Feedback in Boosting for Content-Based Image Retrieval”, 4 pages. [cited by applicant]
Che et al., “Interpretable Deep Models for ICU Outcome Prediction”, 10 pages. [cited by applicant]
“Information Gain in Decision Trees,” Wikipedia, the Free Encyclopedia. https://en.wikipedia.org/w/index.php?title=Information_gain_(decision_tree)&oldid=902831181. Jun. 21, 2019. [cited by applicant]
“Loss Functions for Classification,” Wikipedia, the Free Encyclopedia. https://en.wikipedia.org/w/index.php?title=Loss_functions_for_classification&oldid=928523912. Nov. 29, 2019. [cited by applicant]