IP Library › Granted Patent US 12,591,636
Granted Patent B2
US 12,591,636 · App. 17/773,650 · Granted Mar 31, 2026

Boosting and matrix factorization

Inventors: Gang Wang (Frederick, MD); Pengyu He (Jersey City, NJ)
Assignee: Google LLC
G06F18/241G06N20/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,591,636
App. No.
17/773,650
Granted
Mar 31, 2026
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for presenting a new machine learning model architecture. In some aspects, the methods include obtaining a training dataset with a plurality of training samples that includes feature variables and output variables. A first matrix is generated using the training dataset which is a sparse representation of the training dataset. Generating the first matrix can include generating a categorical representation of numeric features and an encoded representation of the categorical features. The methods further include generating a second, third and a fourth matrix. Each feature of the first matrix is then represented using a vector that includes a multiple adjustable parameters. The machine learning model can learn by adjusting values of the adjustable parameters using a combination of a loss function the fourth matrix, and the first matrix.

Claims (182)

1 . A computer-implemented method comprising:

obtaining, a training dataset comprising a plurality of training samples, wherein each training sample includes feature variables and one or more output variables;

generating, using the training dataset, a first matrix that is a sparse representation of the training dataset, wherein generating the first matrix comprises:

generating a categorical representation of the feature variables based on each numerical feature variable among the feature variables;

generating an encoded representation of each categorical feature variable among the feature variables by encoding each categorical feature variable;

factorizing a matrix representation of the training dataset to generate one or more matrices including a second matrix;

generating a third matrix using (i) the second matrix and (ii) a regularization term;

generating a fourth matrix based on (i) one or more matrices and (ii) the third matrix;

representing, each feature of the first matrix using a vector that includes a multiple adjustable parameters; and

adjusting values of the adjustable parameters using a combination of (i) a loss function, (ii) the fourth matrix, and (iii) the first matrix,

wherein adjusting the values of the adjustable parameters comprises iteratively generating sequential models to predict a residue of the loss function until a residue of the loss function can no longer be reduced, a measure of model quality meets a quality threshold, or a size of the model has reached a maximum model size threshold.

2 . The computer-implemented method of claim 1 , wherein the loss function is a loss function that provides a result corresponding to a given result provided by a particular loss function of the form

R

k

,

i

=

y

i

-

(

∑

m

=

1

K

⁢

c

k

+

∑

m

=

1

K

⁢

e

∑

j

=

1

M

E

i

,

j

,

m

)

where R is a residue, y i is the output variable, c is a constant, and E is the encoded representation.

3 . The computer-implemented method of claim 1 , wherein generating the categorical representation of the feature variables based on each numerical feature variable comprises:

selecting a set of knots;

representing the numerical feature as either (i) a weighted sum of embedding, or (ii) a weighted average of the embedding;

generating the corresponding weights of the embedding using an interpolation technique; and

representing each numerical variable in the first matrix using the corresponding weights.

4 . The computer-implemented method of claim 3 , wherein the interpolation technique for generating the corresponding weights of the embedding comprises spline interpolation.

5 . The computer-implemented method of claim 1 , further comprising:

generating a categorical representation of a set of ordinal features included in the training samples, including:

performing a Discrete Fourier Transform (DFT) or Discrete Wavelet Transform (DWT) on the set of ordinal features; and

assigning categorical representations to the set of ordinal features based, at least in part, on the DFT or DWT transformation matrix.

6 . The computer-implemented method of claim 5 , wherein each subsequently generated model is trained to predict a combined residual value of previously generated models in a sequence of models.

7 . The computer-implemented method of claim 1 , wherein adjusting the values of the adjustable parameters comprises adjusting the values of the adjustable parameters iteratively until the size of the model has reached the maximum model size threshold based, at least in part, on a memory constraint of a device training or invoking the model.

8 . The computer-implemented method of claim 1 , wherein adjusting the values of the adjustable parameters further comprises generating a pseudo residue based on a derivative of the loss function.

9 . A system, comprising:

obtaining, a training dataset comprising a plurality of training samples, wherein each training sample includes feature variables and one or more output variables;

generating, using the training dataset, a first matrix that is a sparse representation of the training dataset wherein generating the first matrix comprises:

generating a categorical representation of the feature variables based on each numerical feature variable among the feature variables;

generating an encoded representation of each categorical feature variable among the feature variables by encoding each categorical feature variable;

factorizing a matrix representation of the training dataset to generate one or more matrices including a second matrix;

generating a third matrix using (i) the second matrix and (ii) a regularization term;

generating a fourth matrix based on (i) one or more matrices and (ii) the third matrix;

representing, each feature of the first matrix using a vector that includes a multiple adjustable parameters; and

adjusting values of the adjustable parameters using a combination of (i) a loss function, (ii) the fourth matrix, and (iii) the first matrix,

wherein adjusting the values of the adjustable parameters comprises iteratively generating sequential models to predict a residue of the loss function until a residue of the loss function can no longer be reduced, a measure of model quality meets a quality threshold, or a size of the model has reached a maximum model size threshold.

10 . The system of claim 9 , wherein the loss function is a loss function that provides a result corresponding to a given result provided by a particular loss function of the form

R

k

,

i

=

y

i

-

(

∑

m

=

1

K

⁢

c

k

+

∑

m

=

1

K

⁢

e

∑

j

=

1

M

E

i

,

j

,

m

)

where R is a residue, y i is the output variable, c is a constant, and E is the encoded representation.

11 . The system of claim 9 , wherein generating the categorical representation of the feature variables based on each numerical feature variable comprises:

selecting a set of knots;

representing the numerical feature as either (i) a weighted sum of embedding, or (ii) a weighted average of the embedding;

generating the corresponding weights of the embedding using an interpolation technique; and

representing each numerical variable in the first matrix using the corresponding weights.

12 . The system of claim 11 , wherein the interpolation technique for generating the corresponding weights of the embedding comprises spline interpolation.

13 . The system of claim 9 , further comprising:

generating a categorical representation of a set of ordinal features included in the training samples, including:

performing a Discrete Fourier Transform (DFT) or Discrete Wavelet Transform (DWT) on the set of ordinal features; and

assigning categorical representations to the set of ordinal features based, at least in part, on the DFT or DWT transformation matrix.

14 . The system of claim 13 , wherein each subsequently generated model is trained to predict a combined residual value of previously generated models in a sequence of models.

15 . The system of claim 9 , wherein adjusting the values of the adjustable parameters further comprises generating a pseudo residue based on a derivative of the loss function.

16 . The system of claim 9 , wherein adjusting the values of the adjustable parameters comprises adjusting the values of the adjustable parameters iteratively until the size of the model has reached the model size threshold based, at least in part, on a memory constraint of a device training or invoking the model.

17 . A non-transitory computer readable medium storing instructions that, when executed by one or more data processing apparatus, cause the one or more data processing apparatus to perform operations comprising:

obtaining, a training dataset comprising a plurality of training samples, wherein each training sample includes feature variables and one or more output variables;

generating, using the training dataset, a first matrix that is a sparse representation of the training dataset wherein generating the first matrix comprises:

generating a categorical representation of the feature variables based on each numerical feature variable among the feature variables;

generating an encoded representation of each categorical feature variable among the feature variables by encoding each categorical feature variable;

factorizing a matrix representation of the training dataset to generate one or more matrices including a second matrix;

generating a third matrix using (i) the second matrix and (ii) a regularization term;

generating a fourth matrix based on (i) one or more matrices and (ii) the third matrix;

representing, each feature of the first matrix using a vector that includes a multiple adjustable parameters; and

adjusting values of the adjustable parameters using a combination of (i) a loss function, (ii) the fourth matrix, and (iii) the first matrix,

wherein adjusting the values of the adjustable parameters comprises iteratively generating sequential models to predict a residue of the loss function until a residue of the loss function can no longer be reduced, a measure of model quality meets a quality threshold, or a size of the model has reached a maximum model size threshold.

18 . The non-transitory computer readable medium of claim 17 , wherein the loss function is a loss function that provides a result corresponding to a given result provided by a particular loss function of the form

R

k

,

i

=

y

i

-

(

∑

m

=

1

K

⁢

c

k

+

∑

m

=

1

K

⁢

e

∑

j

=

1

M

E

i

,

j

,

m

)

where R is a residue, y i is the output variable, c is a constant, and E is the encoded representation.

19 . The non-transitory computer readable medium of claim 17 , wherein generating the categorical representation of the feature variables based on each numerical feature variable comprises:

selecting a set of knots;

representing the numerical feature as either (i) a weighted sum of embedding, or (ii) a weighted average of the embedding;

generating the corresponding weights of the embedding using an interpolation technique; and

representing each numerical variable in the first matrix using the corresponding weights.

20 . The non-transitory computer readable medium of claim 17 , wherein adjusting the values of the adjustable parameters comprises adjusting the values of the adjustable parameters iteratively until the size of the model has reached the model size threshold based, at least in part, on a memory constraint of a device training or invoking the model.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 22, 2022
From: WANG, GANG; HE, PENGYU
To: GOOGLE LLC
Reel/Frame 060276/0599 →
Continuity (1)
Related Publication 20230050538A1 · Feb 16, 2023
References Cited (44)
US 10248664B1 · Shen et al. · 2019 [cited by applicant]
US 20070094180A1 · Rifkin et al. · 2007 [cited by applicant]
US 20190273510A1 · Elkind et al. · 2019 [cited by applicant]
US 20190354894A1 · Lazovich · 2019 [cited by examiner]
US 20190385063A1 · Yu et al. · 2019 [cited by applicant]
US 20210256068A1 · Larlus · 2021 [cited by examiner]
CN 110889458 · 2020 [cited by applicant]
CN 111487573A · 2020 [cited by examiner]
CN 110059439B · 2022 [cited by examiner]
JP 2021504844 · 2021 [cited by applicant]
WO WO2021158313A1 · 2021 [cited by examiner]
WO WO2022146546A1 · 2022 [cited by examiner]
Office Action in Indian Appln. No. 202227025327, mailed on Apr. 1, 2025, 8 pages (with English translation). [cited by applicant]
Christoph Molnar, “Interpretable machine learning” 2nd ed., Sep. 2022, 317 pages. [cited by applicant]
Cerda et al., “Encoding high-cardinality string categorical variables,” IEEE Transactions on Knowledge and Data Engineering, submitted on Jul. 3, 2019, arXiv:1907.01860v1, 1-13. [cited by applicant]
Christoph Molnar, “Interpretable machine learning” 2nd ed., Sep. 2022, Chapter 3, 5 pages. [cited by applicant]
Guo et al., “Quantization based fast inner product search.” Artificial intelligence and statistics. PMLR, May 2, 2016, 482-490. [cited by applicant]
Guo et al., “Accelerating Large-Scale Inference with Anisotropic Vector Quantization.” submitted on Aug. 27, 2019, arXiv preprint arXiv:1908.10396, 18 pages. [cited by applicant]
International Search Report and Written Opinion in International Appln. No. PCT/US2021/024274, dated Dec. 23, 2021, 15 pages. [cited by applicant]
Kaggle.com [online], “Display Advertising Challenge” Jun. 24, 2014, retrieved on Oct. 3, 2022, retrieved from URL <https://www.kaggle.com/c/criteo-display-ad-challenge/overview/description>, 1 page. [cited by applicant]
Kaggle.com [online], “Topic 10. Gradient Boosting” Jun. 2018, retrieved on Oct. 3, 2022, retrieved from URL <https://www.kaggle.com/code/kashnitsky/topic-10-gradient-boosting/notebook>, 1 page. [cited by applicant]
Kaggle.com [online], “Using Categorical Data with One Hot Encoding” Sep. 2017, retrieved on Oct. 3, 2022, retrieved from URL <https://www.kaggle.com/code/dansbecker/using-categorical-data-with-one-hot-encoding/notebook>… [cited by applicant]
Li et al., “FEXIPRO: fast and exact inner product retrieval in recommender systems.” Proceedings of the 2017 ACM International Conference on Management of Data, May 9, 2017, 1-16. [cited by applicant]
Michael Kleber, “Turtle Dove” <https://github.com/WICG/turtledove>, submitted on Jan. 16, 2020, 2 pages. [cited by applicant]
Synced Review, “Tree Boosting With XGBoost—Why Does XGBoost Win “Every” Machine Learning Competition?” <https://medium.com/syncedreview/tree-boosting-with-xgboost-why-does-xgboost-win-every-machine-learning-competition-… [cited by applicant]
Wikipedia.org [online], “Feature (machine learning)” Dec. 2004, retrieved on Sep. 30, 2022, retrieved from URL <https://en.wikipedia.org/wiki/Feature_(machine learning)>, 2 pages. [cited by applicant]
Wikipedia.org [online], “Gradient Boosting” Mar. 2010, retrieved on Sep. 30, 2022, retrieved from URL <https://en.wikipedia.org/wiki/Gradient_boosting>, 10 pages. [cited by applicant]
Wikipedia.org [online], “Gradient Descent” Mar. 2003, retrieved on Sep. 30, 2022, retrieved from URL <https://en.wikipedia.org/wiki/Gradient_descent>, 7 pages. [cited by applicant]
Wikipedia.org [online], “Logarithm” Aug. 2001, retrieved on Sep. 30, 2022, retrieved from URL <https://en.wikipedia.org/wiki/Logarithm>, 29 pages. [cited by applicant]
Wikipedia.org [online], “Matrix Factorization (recommender systems): Revision history” Jun. 2018, retrieved on Sep. 30, 2022, retrieved from URL <https://en.wikipedia.org/wiki/Matrix_factorization_(recommender_systems)>… [cited by applicant]
Wikipedia.org [online], “Mean squared error” Mar. 2003, retrieved on Sep. 30, 2022, <https://en.wikipedia.org/wiki/Mean squared_error>, 7 pages. [cited by applicant]
Wikipedia.org [online], “Netflix Prize” Feb. 2007, retrieved on Sep. 30, 2022, retrieved from URL <https://en.wikipedia.org/wiki/Netflix_Prize>, 8 pages. [cited by applicant]
Wikipedia.org [online], “Newton's method in optimization” Dec. 2004, retrieved on Sep. 30, 2022, retrieved from URL <https://en.wikipedia.org/wiki/Newton's_method_in_optimization>, 5 pages. [cited by applicant]
Wikipedia.org [online], “Overdetermined system” Mar. 2007, retrieved on Sep. 30, 2022, retrieved from URL <https://en.wikipedia.org/wiki/Overdetermined_system>, 5 pages. [cited by applicant]
Wikipedia.org [online], “Quantile” May 2001, retrieved on Oct. 3, 2022, retrieved from URL <https://en.wikipedia.org/wiki/Quantile>, 9 pages. [cited by applicant]
Wikipedia.org [online], “Residual sum of squares” Aug. 2005, retrieved on Oct. 3, 2022, retrieved from URL <https://en.wikipedia.org/wiki/Residual_sum_of_squares>, 3 pages. [cited by applicant]
Wikipedia.org [online], “Singular value decomposition” Oct. 2002, retrieved from URL <https://en.wikipedia.org/wiki/Singular_value_decomposition>, 17 pages. [cited by applicant]
Wikipedia.org [online], “Sparse Matrix” Oct. 2003, retrieved on Oct. 3, 2022, retrieved from URL <https://en.wikipedia.org/wiki/Sparse_matrix>, 10 pages. [cited by applicant]
International Preliminary Report on Patentability in International Appln. No. PCT/US2021/024274, mailed on Oct. 5, 2023, 10 pages. [cited by applicant]
Notice of Allowance in Japanese Appln. No. 2022-530961, mailed on Oct. 2, 2023, 5 pages (with English translation). [cited by applicant]
Office Action in European Appln. No. 21719466.1, mailed on Feb. 14, 2025, 7 pages. [cited by applicant]
Notice of Allowance in Korean Appln. No. 10-2022-7017118, mailed on Oct. 13, 2025, 3 pages (with English translation). [cited by applicant]
Office Action in European Appln. No. 21719466.1, mailed on Dec. 8, 2025, 8 pages. [cited by applicant]
Office Action in Chinese Appln. No. 202180006754.6, mailed on Dec. 23, 2025, 14 pages (with English translation). [cited by applicant]