Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Drawings
The drawings are objected to as failing to comply with 37 CFR 1.84(p)(5) because they include the following reference character(s) not mentioned in the description: 100 (FIG. 1), 200 (FIG. 2), 410, 420, 430 (FIG. 4), and 750, 760 (FIG. 7). Corrected drawing sheets in compliance with 37 CFR 1.121(d), or amendment to the specification to add the reference character(s) in the description in compliance with 37 CFR 1.121(b), are required in reply to the Office action to avoid abandonment of the application. Any amended replacement drawing sheet should include all of the figures appearing on the immediate prior version of the sheet, even if only one figure is being amended. Each drawing sheet submitted after the filing date of an application must be labeled in the top margin as either "Replacement Sheet" or "New Sheet" pursuant to 37 CFR 1.121(d). If the changes are not accepted by the examiner, the applicant will be notified and informed of any required corrective action in the next Office action. The objection to the drawings will not be held in abeyance.
Specification
The disclosure is objected to because of the following informalities: FIG. 7 labels reference characters 730 and 770 as "Update to Linear Predictor" and "Linear Predictor," respectively, but the specification does not use the term "linear predictor" and instead refers to reference character 730 as the "marginal prediction"/"marginal update" (¶[0076]) and reference character 770 as the "predicted value" (¶[0074]-[0077]). Appropriate correction is required.
Claim Objections
Claim 2 is objected to because of the following informalities: "further comprises" in line 1 should read "further comprising" to maintain parallel structure with the "comprising" transitional phrase of claim 1.
Claim 12 is objected to because of the following informalities: "further configured to initialize" lacks a clear antecedent subject; the claim should be amended to identify what is further configured, e.g., "wherein the instructions further cause the at least one processor to initialize...".
Appropriate correction is required.
Claim Rejections - 35 USC § 112
The following is a quotation of the first paragraph of 35 U.S.C. 112(a):
(a) IN GENERAL.—The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor or joint inventor of carrying out the invention.
The following is a quotation of the first paragraph of pre-AIA 35 U.S.C. 112:
The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor of carrying out his invention.
Claims 1-15 are rejected under 35 U.S.C. 112(a) or 35 U.S.C. 112 (pre-AIA ), first paragraph, as failing to comply with the written description requirement. The claim(s) contains subject matter which was not described in the specification in such a way as to reasonably convey to one skilled in the relevant art that the inventor or a joint inventor, or for pre-AIA the inventor(s), at the time the application was filed, had possession of the claimed invention.
Claim 1 recites "training the model on a dataset to refine the model parameters of the decision trees with different depths through a plurality of iterations, wherein each iteration performed on each of the decision trees comprises: computing, based on the model parameters of the decision trees in equal or lower depths in prior iterations, a first-order derivative of the selected loss function and a second-order derivative of the selected loss function." Because the recited body is predicated of each iteration of the plurality of iterations, the claim requires that the first iteration likewise compute the first-order and second-order derivatives of the selected loss function from "the model parameters of the decision trees in equal or lower depths in prior iterations."
The specification does not describe such an iteration. Every passage addressing the first round describes it as proceeding from starting values, and does so expressly because prior-round quantities do not yet exist. The specification at ¶[0070] states: "In round 1, structure of the depth-d decision tree is determined by starting values 610." The specification at ¶[0077] states: "It is to be understood that in round 1 (r=1) where the prior predictions 710 are not available, the computing system 105 uses starting values to compute ℒ' and ℒ'' along with weight variables 711, and responses 712 based on the selected loss function 720." The specification at ¶[0086]–[0087], describing step 860 of FIG. 8, states that the computing system "will first check if the training process 800 is in first round," and that at step 861 it "constructs a decision tree in the first round by using the starting values," where "[t]he starting values are initial predicted values ξ(0,0) which can be the average of responses." FIG. 9, Algorithm 1, sets forth the same branch at lines 4–5 ("if round r = 1 then / Build a depth-d decision tree Td with ξi(0,0)"), reserving computation from cumulative prior-round predicted values to the alternative branch at lines 6–8.
The specification therefore establishes that the inventors understood the first iteration to operate differently from subsequent iterations, and describes no embodiment in which the first iteration derives the loss-function derivatives from the model parameters of decision trees in prior iterations. A disclosure that affirmatively describes the first iteration as seeded by starting values does not reasonably convey to one skilled in the relevant art that the inventors had possession, at the time the application was filed, of the subject matter claim 1 encompasses. See MPEP § 2163; Ariad Pharmaceuticals, Inc. v. Eli Lilly & Co., 598 F.3d 1336, 1351 (Fed. Cir. 2010) (en banc).
Claim 8 recites corresponding instructions that, "in each iteration performed on each of the decision trees," cause the at least one processor to "compute, based on the model parameters of the decision trees in equal or lower depths in prior iterations," the first-order and second-order derivatives of the selected loss function.
Claim 15 recites the corresponding step in a non-transitory computer-readable medium. The analysis set forth above for claim 1 applies equally to claims 8 and 15.
Reciting the step as an instruction executed by a processor, or as an instruction stored on a medium, does not alter whether the specification conveys possession of the recited first-iteration operation.
Claims 2–7 depend from claim 1 and claims 9–14 depend from claim 8. Each incorporates all limitations of its respective independent claim and is rejected for the reasons given above.
Claim 2 recites "computing a gain value of one of the decision trees ...; determining the computed gain value does not satisfy a minimum split loss; and removing each leaf node of the one of the decision trees." Giving "each" its ordinary distributive meaning under the broadest reasonable interpretation, claim 2 requires that every leaf node of the identified decision tree be removed in response to a single determination that one computed gain value does not satisfy the minimum split loss.
The specification does not describe removing every leaf node of a decision tree. It describes a selective, recursive pruning operation, and it expressly teaches that leaf nodes are retained notwithstanding a sub-threshold gain. The specification at ¶[0073] states: "At Step 670, the calculated gain value is compared against a minimum split loss. If the gain value is equal to or larger than the minimum split loss, then the constructed depth-d decision [tree] in round r [is] output at step 680. Otherwise, leaves are recursively pruned away at step 690. This means some nodes with a gain smaller than the minimum split loss survive if they have children with a larger gain (this is possible because there may be an interaction between two variables which identifies a particular cluster of response not sufficiently significant for either variable on its own)."
The broadest related statements elsewhere in the disclosure are likewise non-universal: ¶[0012] recites only "remove leaf nodes of the decision tree," and ¶[0057] recites only that "minimum split loss determines when to trigger a prune operation that removes leaves from the decision tree."
The claimed operation is thus not merely broader than the disclosed embodiment; it is contrary to what the specification describes. Removing every leaf node would necessarily eliminate the nodes ¶[0073] states must "survive" — precisely the nodes the specification identifies as capturing the interaction effects that ¶[0007] frames as the object of the invention — and would leave no leaf values for the parent claim's step of "storing the each split and the model parameters of the decision trees," contrary to ¶[0089], in which the splits of the newly fitted tree are kept and its leaf values recomputed. The specification accordingly does not reasonably convey to one skilled in the relevant art that the inventors had possession, at the time the application was filed, of a method in which each leaf node of a decision tree is removed. See MPEP § 2163.
Claim 9 recites corresponding instructions causing the at least one processor to "remove each leaf node of the one of the decision trees." The analysis set forth above for claim 2 applies equally to claim 9.
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claims 1-3, 5-10, and 12-15 are rejected under 35 U.S.C. 112(b), as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor regards as the invention. Claims 4, 6, 11, and 13 are also rejected under 35 U.S.C. 112(b) as depending from, and thereby incorporating, the indefinite limitations of claim 1 or claim 8.
Claims 1, 8, and 15 each recite "at least one of stopping criteria" (penultimate lines). There is insufficient antecedent basis for "stopping criteria" as a defined set — no plurality of stopping criteria is previously recited using "a" or "an." It is therefore unclear what set "at least one of" is drawn from. For purposes of examination, "at least one of stopping criteria" is interpreted under BRI to mean "at least one of a plurality of stopping criteria," encompassing any of the stopping criteria disclosed at ¶[0019] and ¶[0091] of the specification (e.g., a maximum number of iterations, a threshold value indicating no additional gain, or a validation-based performance threshold).
Claims 1, 8, and 15 each recite decision trees "in equal or lower depths" (and, later in each claim, "the equal depth") without reciting a reference depth to which "equal" refers. A person of ordinary skill in the art cannot determine the metes and bounds of "equal ... depths" from the claim language alone. For purposes of examination, "decision trees in equal or lower depths" is interpreted under BRI to mean decision trees at the same depth as, or a lower depth than, the decision tree currently being trained, consistent with ¶[0068] and ¶[0088] of the specification.
Claims 1, 8, and 15 each recite "the each split" (claim 1: "storing the each split"; claim 8: "store the each split"; claim 15: "storing the each split"). This nonstandard combination of the definite article "the" with the distributive determiner "each" renders unclear whether a single split or each of the plurality of splits is meant. For purposes of examination, "the each split" is interpreted under BRI to mean "each of the splits" determined for each of the decision trees during training.
Claims 1, 8, and 15 each recite a "wherein each iteration ... comprises" clause that lists computing, determining, computing, and updating sub-steps, followed by "determining that the model satisfies at least one of stopping criteria" and "storing the each split and the model parameters of the decision trees." It is unclear whether the latter two steps are nested within, and thus repeated on, every iteration, or are separate steps performed once after the iterative training loop terminates. The two readings produce materially different claim scope. For purposes of examination, the stopping-criteria determination and storing steps are interpreted under BRI as being performed once, after completion of the iterative training loop, consistent with ¶[0091] (step 880) and ¶[0093] (step 890) of the specification and FIG. 8.
Claims 1, 8, and 15 each recite training the model "through a plurality of iterations, wherein each iteration performed on each of the decision trees comprises...." It is unclear whether "each iteration" refers to a single training round within a fixed decision-tree depth, or a full pass across all depths of the model, and whether "each of the decision trees" refers to each already-constructed decision tree or each depth-layer being newly constructed in the current iteration. For purposes of examination, "each iteration performed on each of the decision trees" is interpreted under BRI to mean each training round r performed for the decision tree of a given depth d being constructed in that round, consistent with ¶[0055], [0086]-[0092] and FIG. 8 of the specification.
Claims 2 and 9 each recite "the first-order derivative of the selected loss function" and "the second-order derivative of the selected loss function." Claims 1 and 8, from which claims 2 and 9 respectively depend, each recite two distinct first-order derivatives ("a first-order derivative" and "another first-order derivative") and two distinct second-order derivatives ("a second-order derivative" and "another second-order derivative"). The definite-article reference in claims 2 and 9, without "another," does not make clear which previously-recited derivative is intended. For purposes of examination, these terms are interpreted under BRI to encompass either of the correspondingly-named derivatives recited in the parent claim, as the specification refers to them generically as L' and L'' at ¶[0059]-[0067].
Claims 3 and 10 each recite "a maximum depth of the decision tree" (singular, with definite article). Claims 1 and 8, from which claims 3 and 10 respectively depend, recite only "a plurality of decision trees" (plural); no singular "a decision tree" was previously introduced, so "the decision tree" lacks antecedent basis. For purposes of examination, "a maximum depth of the decision tree" is interpreted under BRI to mean "a maximum depth of the decision trees," consistent with ¶[0056] of the specification.
Claims 5 and 12 each recite "a selected attribute." The term "selected" implies a prior act of selection, but no earlier step in claim 1, claim 8, claim 5, or claim 12 recites selecting an attribute (only "selecting a loss function" is recited, a distinct act). For purposes of examination, "a selected attribute" is interpreted under BRI to mean any attribute variable of the dataset used to determine a cutoff value for an initial split, consistent with ¶[0051] of the specification.
Claim 5 recites "further comprising initializing the model with a plurality of starting values." Claim 1 already recites an "initializing" step. It is unclear whether claim 5 further limits that single initializing step or recites a separate, second initializing step (double inclusion). For purposes of examination, claim 5's initializing step is interpreted under BRI as further limiting the single initializing step of claim 1, consistent with ¶[0033] of the specification.
Claims 7 and 14 recite generating "predictions of ... insurance premium policies." Unlike claim cost, claim frequency, and claim severity, which are quantifiable values, it is unclear what output value corresponds to a "prediction" of an "insurance premium policy." For purposes of examination, this phrase is interpreted under BRI to mean predictions of insurance premium pricing/amounts for insurance policies, consistent with ¶[0008] and ¶[0036] of the specification.
Claim 12 recites that "the system" is "further configured to initialize the model," without tying the added function back to the "instructions" / "at least one processor" structure established in claim 8 (contrast claim 9, which properly recites "wherein the instructions further cause the at least one processor to"). This leaves unclear what structure implements the added initialization function. For purposes of examination, "further configured to initialize the model" is interpreted under BRI to mean that the instructions stored in the at least one memory of claim 8 further cause the at least one processor to perform the recited initialization, consistent with ¶[0010] of the specification.
Appropriate correction is required.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
This application currently names joint inventors. In considering patentability of the claims the examiner presumes that the subject matter of the various claims was commonly owned as of the effective filing date of the claimed invention(s) absent any evidence to the contrary. Applicant is advised of the obligation under 37 CFR 1.56 to point out the inventor and effective filing dates of each claim that was not commonly owned as of the effective filing date of the later invention in order for the examiner to consider the applicability of 35 U.S.C. 102(b)(2)(C) for any potential 35 U.S.C. 102(a)(2) prior art against the later invention.
Claims 1-15 are rejected under 35 USC 103 as being unpatentable over US Pat. Pub. No. 2019/0213685A1 to Ironside (hereinafter Ironside) in view of XGBoost (0.72) Documentation to XGBoost developers (hereinafter XGBoost Docs) and further in view of Accurate Intelligible Models with Pairwise Interactions to Lou et al. (hereinafter Lou).
Per claim 1, Ironside discloses A method (Ironside: ¶[0161]…Ironside discloses a computer-implemented process 1000 that begins by receiving a plurality of data records and proceeds through the enumerated operations of generating and partitioning a gradient boosted tree model, which constitutes the method limitation under BRI, "a process 1000 begins with receiving a plurality of data records"), comprising:
selecting a loss function (Ironside: ¶[0071]…Ironside teaches that the gradient boosting technique it constrains is generalized precisely so that the practitioner optimizes a loss function of their own choosing, which constitutes the selecting a loss function limitation under BRI, "Gradient boosting is a machine learning technique for regression and classification problems which produces a prediction model in the form of an ensemble of weak prediction models, typically decision trees. It builds the model in a stage-wise fashion like other boosting methods do, and it generalizes them by allowing optimization of an arbitrary differentiable loss function");
initializing a model having a plurality of decision trees with different depths to compute a plurality of model parameters (Ironside: ¶[0132]…Ironside sets up its gradient boosted tree model as successive layers of decision trees whose maximum depth is raised one level at a time, so the model stood up for training is one having decision trees of different depths, which constitutes initializing a model having a plurality of decision trees with different depths limitation under BRI, "clarity is enforced according to the present disclosure by building a gradient boosted tree model with a maximum depth that is gradually increased"; ¶[0165]…each leaf node of each such tree carries a coefficient estimate that the training data supplies, which constitutes the compute a plurality of model parameters portion of the limitation, "separating each decision tree of each of the successive pluralities of decision tree structures into a plurality of indicator variables represented by the leaf nodes of the decision tree");
training the model on a dataset to refine the model parameters of the decision trees with different depths through a plurality of iterations (Ironside: ¶[0131]…Ironside trains the model by adding one decision tree at a time, each fitted to the residual left by its predecessors, so the model parameters are progressively refined across successive boosting iterations, which constitutes that limitation under BRI, "a gradient boosting tree process programmatically builds a machine learning model one decision tree at a time. A prediction, according to the machine learning model, is a sum of the predictions produced by the decision trees in the model. Each decision tree is fit to the residual of its combined predecessors"; ¶[0122]…the training runs in stages in which the first stage exhausts the depth-1 main effects and each later stage takes up the next depth, so the iterations are performed on decision trees of different depths, "a first stage trains decision trees which capture single predictor variable components (“main effects”) of the generalized linear model (GLM), and subsequent stages capture increasingly complex interactions between the predictor variables of the model"),
wherein each iteration performed on each of the decision trees comprises: …
determining that the model satisfies at least one of stopping criteria (Ironside: ¶[0131]…Ironside halts the addition of trees once the ensemble can no longer explain any information remaining in the model residual, which is a criterion tested against the model as the iterations proceed and therefore constitutes that limitation under BRI, "decision trees are added until no information about the predicted quantity remains in the model residual"); and
storing the each split and the model parameters of the decision trees (Ironside: ¶[0165]…Ironside retains each trained tree as a set of leaf-node indicator variables themselves defined by the series of split decisions leading to the leaf, each carrying the leaf's estimated coefficient, so both the splits and the model parameters are retained, which constitutes that limitation under BRI, "separating each decision tree of each of the successive pluralities of decision tree structures into a plurality of indicator variables represented by the leaf nodes of the decision tree (operation 1010), thus creating a generalized linear model (GLM) structure. In embodiments, the indicator variables are defined by a series of split decisions leading up to each leaf node").
Ironside does not expressly disclose, but XGBoost Docs does teach:
computing, based on the model parameters of the decision trees in equal or lower depths in prior iterations, a first-order derivative of the selected loss function and a second-order derivative of the selected loss function (XGBoost Docs: pp. 6-7, Additive Training…XGBoost Docs takes the Taylor expansion of the selected loss to second order and defines the first-order statistic gi and the second-order statistic hi as the first and second partial derivatives of that loss evaluated at the prediction accumulated from the trees added in the prior iterations - which, in the layered training of Ironside, are the trees of equal or lower depth already placed into the model - and this constitutes that limitation under BRI, "So in the general case, we take the Taylor expansion of the loss function up to the second order…where the gi and hi are defined as");
determining, based on a comparison result between the second-order derivative of the selected loss function and a minimum child weight, each split in each of the decision trees (XGBoost Docs: pp. 11-12, Parameters for Tree Booster, min_child_weight…XGBoost Docs defines a minimum child weight threshold against which the summed second-order derivative (the hessian) of the loss falling into a prospective child node is compared, and a candidate split whose child fails that comparison is not taken, so each split is settled on the result of that comparison, which constitutes that limitation under BRI, "Minimum sum of instance weight (hessian) needed in a child. If the tree partition step results in a leaf node with the sum of instance weight less than min_child_weight, then the building process will give up further partitioning");
updating, in a gradient descent manner, the model parameters of each of the decision trees with a product of a marginal parameter and a learning rate, wherein the marginal parameter is a ratio of the another first-order derivative of the selected loss function and the another second-order derivative of the selected loss function (XGBoost Docs: pp. 7-8, The Structure Score…XGBoost Docs sets each leaf's optimal weight to the negative of the summed first-order statistic divided by the summed second-order statistic, which is exactly a marginal parameter formed as the ratio of the first-order derivative to the second-order derivative of the loss, "the best wj for a given structure q(x) and the best objective reduction we can get is…"; pp. 11-12, Parameters for Tree Booster…that newly computed weight is then scaled by a step-size factor XGBoost Docs aliases learning_rate before it is added into the running model, so what is added to the model parameters at each step is the product of the marginal parameter and a learning rate taken in the direction that reduces the loss, "Step size shrinkage used in update to prevents overfitting. After each boosting step, we can directly get the weights of new features, and eta shrinks the feature weights to make the boosting process more conservative").
Ironside combined with XGBoost Docs does not expressly disclose, but Lou does teach:
computing, based on the model parameters of the decision trees in lower depths of all iterations and in the equal depth in prior iterations, another first-order derivative of the selected loss function and another second-order derivative of the selected loss function (Lou: Section 4.2…Lou fits its depth-layered additive model in two stages, running the one-dimensional (depth-1) components to completion first and then holding them fixed while the pairwise-interaction (depth-2) components are fitted on the residuals of that completed lower-depth model, so the loss derivatives driving the second stage are taken on a prediction base comprising the lower-depth trees of every iteration together with the equal-depth trees of the prior iterations of the current stage - a base distinct from the one used to fit the structure - which constitutes the another first-order derivative…and another second-order derivative limitation under BRI, "1. In Stage 1, build the best additive model F in H1 using only one-dimensional components. 2. In Stage 2, fix the one-dimensional functions, and build models for pairwise interactions on residuals"; Section 4.2.1…Lou confirms the lower-depth stage is exhausted across all of its iterations before the higher-depth stage begins, so the second-stage base includes the lower-depth trees of all iterations, "Recall that in Stage 1, we obtain the best additive model after gradient boosting converges"; Section 4…the higher-depth model is fitted on that residual, and Lou's shape functions are themselves gradient-boosted shallow trees whose fitting consumes the loss derivatives at that residual, "Then for each pair in Z, we build an interaction model on the residual R").
Ironside, XGBoost Docs and Lou are analogous art because they are from the same field of endeavor, specifically the training of gradient boosted decision tree ensembles whose individual trees are held to a limited depth so that the model stays interpretable. They are each also reasonably pertinent to the same problem the inventor faced - fitting a boosted ensemble depth by depth so that the higher-depth trees carry only genuine interaction effects and not lower-order effects already captured.
Before the effective filing date of the claimed invention, it would have been obvious to a PHOSITA to carry out the depth-by-depth gradient boosted tree training of Ironside using the second-order gradient boosting computations and tree-booster parameters of XGBoost Docs, and to fit each higher-depth layer on the residuals of the completed lower-depth layers as Lou teaches. This is the application of a known technique to a known method ready for that improvement under MPEP 2143.01(D), and equally the combination of prior art elements according to known methods to yield predictable results under MPEP 2143.01(A): Ironside constrains only the depth schedule of the ensemble and leaves the loss function, the tree-fitting arithmetic and the per-layer conditioning to the practitioner, and XGBoost Docs and Lou supply published, off-the-shelf implementations of exactly those pieces.
The suggestion/motivation for doing so would have been provided by Ironside itself, which teaches that the gradient boosting it constrains admits any differentiable loss function and so leaves the practitioner to supply the derivative computations for whichever loss is in fact selected, "it generalizes them by allowing optimization of an arbitrary differentiable loss function" (Ironside: ¶[0071]), and by Lou itself, which states the reason a higher-depth layer must be fitted on the residual of the completed lower-depth layers - namely that the lower-order effects are then already accounted for, so what the higher-depth layer captures is interaction alone, "Since we start with shaping individual features and always detect interactions on the residual, fi(xi)+ fj(xj) are presumably modeled" (Lou: Section 4.1). That is the very interpretability objective Ironside states for its own depth schedule, "the second layer of the gradient boosted tree model only contains two-way interaction effects, thereby providing visibility into the machine learning model and its components" (Ironside: ¶[0132]).
Per claim 2, Ironside combined with XGBoost Docs and Lou discloses claim 1. Ironside does not expressly disclose, but XGBoost Docs does teach:
computing a gain value of one of the decision trees based on a difference in an evaluation metric between a parent node and a sum of two child nodes of the parent node, wherein the evaluation metric is determined by the first-order derivative of the selected loss function and the second-order derivative of the selected loss function (XGBoost Docs: p. 9, Learn the tree structure…XGBoost Docs scores a candidate split as the summed structure scores of the two new child leaves less the score of the original parent leaf, each score being computed from the summed first-order and second-order statistics of the loss, which constitutes that limitation under BRI, "This formula can be decomposed as 1) the score on the new left leaf 2) the score on the new right leaf 3) The score on the original leaf 4) regularization on the additional leaf");
determining the computed gain value does not satisfy a minimum split loss (XGBoost Docs: pp. 11-12, Parameters for Tree Booster…XGBoost Docs defines the minimum split loss as the least loss reduction a candidate partition must deliver before it is allowed, so a gain falling below that value fails the threshold, which constitutes that limitation under BRI, "Minimum loss reduction required to make a further partition on a leaf node of the tree"); and
removing each leaf node of the one of the decision trees (XGBoost Docs: p. 9, Learn the tree structure…XGBoost Docs teaches that where the computed gain falls below the minimum split loss the branch is not retained, and identifies that operation as the pruning of leaves from a tree, which constitutes that limitation under BRI, "if the gain is smaller than γ, we would do better not to add that branch. This is exactly the pruning techniques in tree based models!").
The rationale to combine XGBoost Docs with Ironside is the same as the parent claim.
Per claim 3, Ironside combined with XGBoost Docs and Lou discloses claim 1. Ironside does not expressly disclose, but XGBoost Docs does teach: wherein the model includes a plurality of hyperparameters comprising the minimum child weight, the learning rate, a minimum split loss, a number of iterations, a maximum depth of the decision tree, a row sampling, a column sampling by tree, and a column sampling by split (XGBoost Docs: pp. 11-12, Parameters for Tree …XGBoost Docs enumerates as tunable booster parameters the learning rate, the minimum split loss under that express alias, and the maximum tree depth, "Step size shrinkage used in update to prevents overfitting…Minimum loss reduction required to make a further partition on a leaf node of the tree…Maximum depth of a tree"; Parameters for Tree Booster (min_child_weight, subsample, colsample_bytree, colsample_bylevel)…and likewise the minimum child weight, the sampling of training rows, the sampling of columns once per tree, and the sampling of columns at each split, "Minimum sum of instance weight (hessian) needed in a child…Subsample ratio of the training instances…Subsample ratio of columns when constructing each tree…Subsample ratio of columns for each split, in each level"; Command Line Parameters, num_round…and the number of boosting rounds, which constitutes the recited "number of iterations", "The number of rounds for boosting"). The rationale to combine XGBoost Docs with Ironside is the same as the parent claim.
Per claim 4, Ironside combined with XGBoost Docs and Lou discloses claim 1. Ironside does not expressly disclose, but XGBoost Docs does teach: wherein the loss function is based on a probability distribution selected from one of Gaussian (normal) distribution, Poisson distribution, gamma distribution, Tweedie distribution, and logistic distribution, wherein the probability distribution is used to model data distribution in the dataset (XGBoost Docs: pp. 15-16, Learning Task Parameters…XGBoost Docs makes the learning objective a selectable parameter and offers, among its choices, linear (least-squares, i.e. Gaussian) regression, logistic regression, Poisson regression, gamma regression and Tweedie regression, each of which is the loss function belonging to the named probability distribution assumed for the response data in the dataset, which constitutes the recited selection under BRI, "reg:linear : linear regression…reg:logistic : logistic regression…count:poisson -poisson regression for count data, output mean of poisson distribution…reg:gamma : gamma regression with log-link. Output is a mean of gamma distribution…reg:tweedie : Tweedie regression with log-link"). The rationale to combine XGBoost Docs with Ironside is the same as the parent claim.
Per claim 5, Ironside combined with XGBoost Docs and Lou discloses claim 1. Ironside further teaches further comprising initializing the model with a plurality of starting values including a cutoff value for a selected attribute in the dataset (Ironside: ¶[0126]…Ironside's decision tree 300 is set up with each split node testing a selected predictor attribute against a specific numerical cutoff - split node 301 on whether attribute x1 is less than value v1, split node 302 on whether x2 is less than v2, and split node 303 on whether x3 is less than v3 - so the model as stood up carries a cutoff value for each selected attribute, which constitutes that limitation under BRI, "In FIG. 3A, split node 301 partitions data based on whether a variable x, has a value less than value v,…"; ¶[0089]…Ironside defines that split-node condition generally as a test of a data value against a defined numerical value, "The term “split node definition” refers to a condition or test performed at the associated split node. For example, a condition may be that a piece of data be greater than, less than, equal to, and the like, a defined numerical value"); …
Ironside does not expressly disclose, but XGBoost Docs does teach:
and a predicted value in a first one of the iterations (XGBoost Docs: pp. 15, Learning Task Parameters, base_score …XGBoost Docs provides a base score parameter that sets the prediction assigned to every instance before any tree is added, so it is the predicted value used in the first boosting iteration, which constitutes that limitation under BRI, "The initial prediction score of all instances, global bias").
The rationale to combine XGBoost Docs with Ironside is the same as the parent claim.
Per claim 6, Ironside combined with XGBoost Docs and Lou discloses claim 1. Ironside further teaches wherein the stopping criteria comprises…a threshold value indicating no additional gain to be found in a new training iteration (Ironside: ¶[0131]…Ironside stops adding trees at the point where a further tree would explain nothing more about the predicted quantity, which is a threshold on the additional gain available from a new training iteration and constitutes that limitation under BRI, "decision trees are added until no information about the predicted quantity remains in the model residual. In other words, the decision tree structures of the machine learning model cannot explain any information about the predicted quantity left in the model residual");
Ironside does not expressly disclose, but XGBoost Docs does teach:
wherein the stopping criteria comprises a maximum number of iterations (XGBoost Docs: p. 15, Command Line Parameters, num_round…XGBoost Docs makes the number of boosting rounds an input parameter fixing how many iterations the training will run, which constitutes that limitation under BRI, "The number of rounds for boosting");
and a threshold value of performance evaluation of the model based on a validation dataset (XGBoost Docs: p. 20, Early Stopping…XGBoost Docs halts training on the evaluated score of the model against a held-out validation set, continuing only while that validation score keeps improving over a set number of rounds, which constitutes that limitation under BRI, "If you have a validation set, you can use early stopping to find the optimal number of boosting rounds…The model will train until the validation score stops improving. Validation error needs to decrease at least every early_stopping_rounds to continue training"). The rationale to combine XGBoost Docs with Ironside is the same as the parent claim.
Per claim 7, Ironside combined with XGBoost Docs and Lou discloses claim 1. Ironside further teaches wherein the model is configured to generate predictions of at least one of insurance premium policies, claim cost, claim frequency, and claim severity, based on customer input data (Ironside: ¶[0118]…Ironside's trained model is put to work producing insurance pricing relativities and predicting homeowner loss frequency and severity from the predictor variables carried in each customer's data record, which constitutes predictions of insurance premium policies…claim frequency, and claim severity…based on customer input data under BRI, "A machine learning model (e.g., a generalized linear model or generalized linear model structure) generated according to embodiments of the present disclosure enables production of indicated pricing relativities for an insurance provider. In some examples, predictions of homeowner’s loss frequency and severity, as predicted by a machine learning model according to embodiments disclosed herein, experience substantially improved accuracy over those predictions generated by conventional generalized linear models (GLM)"; ¶[0119]…the same model is used to predict claim costs directly, which constitutes the recited claim cost prediction, "interpretable machine learning (referred to hereafter as “IML”) can be used to directly model insurance claim costs").
Per claim 8, Ironside discloses A system (Ironside: ¶[0114]…Ironside discloses an apparatus whose generalized linear model structure definition circuitry, working through the apparatus's processing circuitry, generates and trains the gradient boosted decision trees, which constitutes the system limitation under BRI, "The generalized linear model structure definition circuitry 203 includes hardware configured to generate, train, analyze, and use gradient boosted decision trees with progressive maximum depth"), comprising:
at least one processor (Ironside: ¶[0110]…Ironside's apparatus carries a processor 202 that may be embodied as one or more processing devices, which constitutes that limitation under BRI, "The processor 202 may be embodied in a number of different ways and may, for example, include one or more processing devices configured to perform independently");
at least one memory storing instructions that, when executed by the at least one processor, cause the at least one processor to (Ironside: ¶[0109]…Ironside's memory 201 holds the instructions that enable the apparatus to carry out its functions, "The memory 201 may be configured to store information, data, content, applications, instructions, or the like, for enabling the apparatus to carry out various functions in accordance with example embodiments of the present disclosure"; ¶[0111]…the processor executes those stored instructions and is thereby configured to perform the recited operations, which constitutes the cause the at least one processor to portion of the limitation, "when the processor is embodied as an executor of software instructions, the instructions may specifically configure the processor to perform the algorithms and/or operations described herein when the instructions are executed"): …;
The remaining limitations of claim 8 recite, in system form, the same select, initialize, train, compute, determine, update, determine and store operations addressed in the rejection of claim 1 above - including the "another first-order derivative … another second-order derivative" limitation taught by Lou - and are substantially similar in scope and spirit to the corresponding limitations of claim 1. Therefore the rejection of claim 1 is applied accordingly.
Claims 9-14 are substantially similar in scope and spirit as claims 2-7. Therefore the rejections of claims 2-7 are applied accordingly.
Per claim 15, Ironside discloses A non-transitory computer-readable medium including processor-executable instructions for generating a layered machine learning model, when executed by a processor, cause the processor to perform the steps of: (Ironside: ¶[0117]…Ironside's embodiments take the form of a computer program product on a non-transitory computer-readable storage medium bearing the program instructions a processor executes to build its depth-layered gradient boosted tree model, which constitutes that limitation under BRI, "embodiments may take the form of a computer program product on at least one non-transitory computer-readable storage medium having computer-readable program instructions (e.g., computer software) embodied in the storage medium").
Ironside does not expressly disclose, but XGBoost Docs does teach:
selecting a loss function based on one of Gaussian (normal) distribution, Poisson distribution, gamma distribution, Tweedie distribution, and logistic distribution (XGBoost Docs: p. 15… Learning Task Parameter …XGBoost Docs makes the learning objective a selectable parameter whose choices include linear (least-squares, i.e. Gaussian) regression, logistic regression, Poisson regression, gamma regression and Tweedie regression, so the loss function is selected on the basis of the distribution assumed for the response, which constitutes that limitation under BRI, "reg:linear : linear regression…reg:logistic : logistic regression…count:poisson -poisson regression for count data, output mean of poisson distribution…reg:gamma : gamma regression with log-link. Output is a mean of gamma distribution…reg:tweedie : Tweedie regression with log-link");
determining that the model satisfies at least one of stopping criteria, including a maximum number of iterations…and a threshold value of performance evaluation of the model based on a validation dataset (XGBoost Docs: Command Line Parameters, num_round…the number of boosting rounds is an input parameter fixing how many iterations training will run, which constitutes the recited maximum number of iterations under BRI, "The number of rounds for boosting"; Python Package Introduction, Early Stopping…training is additionally halted on the evaluated score of the model against a held-out validation set, which constitutes the recited "threshold value of performance evaluation of the model based on a validation dataset", "If you have a validation set, you can use early stopping to find the optimal number of boosting rounds…The model will train until the validation score stops improving. Validation error needs to decrease at least every early_stopping_rounds to continue training"); and
Ironside further teaches …a threshold value indicating no additional gain to be found in a new training iteration… (Ironside: ¶[0131]…Ironside stops adding trees at the point where a further tree would explain nothing more about the predicted quantity, which is a threshold on the additional gain available from a new training iteration and constitutes that recited stopping criterion under BRI, "decision trees are added until no information about the predicted quantity remains in the model residual").
The remaining limitations of claim 15 recite, in computer-readable-medium form, the same initialize, train, compute, determine, compute, update and store operations addressed in the rejection of claim 1 above - including the "another first-order derivative … another second-order derivative" limitation taught by Lou - and are substantially similar in scope and spirit to the corresponding limitations of claim 1. Therefore the rejection of claim 1 is applied accordingly.
As it pertains to claim 15, Ironside, XGBoost Docs and Lou are analogous art because they are from the same field of endeavor, specifically the training of gradient boosted decision tree ensembles, and each is reasonably pertinent to the problem of distributing that training as executable instructions on a storage medium.
Before the effective filing date of the claimed invention, it would have been obvious to a PHOSITA to embody the depth-by-depth gradient boosted tree training of Ironside as processor-executable instructions on a non-transitory medium and to have those instructions perform the second-order gradient boosting computations of XGBoost Docs under the residual-conditioned two-stage schedule of Lou. This is the application of a known technique to a known program product ready for that improvement under MPEP 2143.01(D), yielding no more than the predictable result of the same layered ensemble being fitted from stored instructions.
The suggestion/motivation for doing so would have been provided by XGBoost Docs itself, which teaches that the choice of loss function is exposed to the practitioner as a parameter and singles out the insurance setting Ironside works in as a reason to pick particular distributions, "reg:tweedie : Tweedie regression with log-link. It might be useful, e.g., for modeling total loss in insurance, or for any outcome that might be Tweedie-distributed" (XGBoost Docs: XGBoost Parameters, Learning Task Parameters, objective), and by Ironside itself, which leaves that same choice open, "it generalizes them by allowing optimization of an arbitrary differentiable loss function" (Ironside: ¶[0071]).
Double Patenting
The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969).
A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on nonstatutory double patenting provided the reference application or patent either is shown to be commonly owned with the examined application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. See MPEP § 717.02 for applications subject to examination under the first inventor to file provisions of the AIA as explained in MPEP § 2159. See MPEP § 2146 et seq. for applications not subject to examination under the first inventor to file provisions of the AIA . A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b).
The filing of a terminal disclaimer by itself is not a complete reply to a nonstatutory double patenting (NSDP) rejection. A complete reply requires that the terminal disclaimer be accompanied by a reply requesting reconsideration of the prior Office action. Even where the NSDP rejection is provisional the reply must be complete. See MPEP § 804, subsection I.B.1. For a reply to a non-final Office action, see 37 CFR 1.111(a). For a reply to final Office action, see 37 CFR 1.113(c). A request for reconsideration while not provided for in 37 CFR 1.113(c) may be filed after final for consideration. See MPEP §§ 706.07(e) and 714.13.
The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The actual filing date of the application in which the form is filed determines what form (e.g., PTO/SB/25, PTO/SB/26, PTO/AIA /25, or PTO/AIA /26) should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to www.uspto.gov/patents/apply/applying-online/eterminal-disclaimer.
Claims 1-15 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1-3, 5-14 and 16-23 of U.S. Patent No. 11,853,906. Although the claims at issue are not identical, they are not patentably distinct from each other because the conflicting claims recite the same layered gradient-boosting model-training invention and differ only in that the instant claims omit limitations recited in the claims of the Patent and recite in explicit terms a derivative computation that the corresponding claim of the Patent already requires.
Specifically, instant claim 1 recites selecting a loss function, initializing a model having a plurality of decision trees with different depths, and training that model over a plurality of iterations in which first-order and second-order derivatives of the selected loss function are computed from the model parameters of the decision trees in equal or lower depths in prior iterations, each split is determined from a comparison between the second-order derivative and a minimum child weight, the model parameters are updated in a gradient descent manner with the product of a marginal parameter and a learning rate, the model is determined to satisfy a stopping criterion, and the splits and model parameters are stored. Claim 12 of the Patent recites each of these steps, and claims 17 and 18 of the Patent recite that the first element of the second set of numerical parameters is a minimum child weight and that the second element is a learning rate, respectively. Instant claim 1 is therefore broader than claim 12 of the Patent in every respect but one: it omits the recitations of retrieving the training dataset from a database, converting the records of the training dataset to categorical variables in numeric representation, and selecting the first, second, and third sets of numerical parameters. Omitting elements and retaining only the remaining limitations yields a claim of broader scope that wholly encompasses the invention of claim 12 of the Patent, and issuance of the instant claims would therefore improperly extend the right to exclude already granted by the Patent. The sole limitation of instant claim 1 not recited in haec verba by claim 12 of the Patent is the step of "computing, based on the model parameters of the decision trees in lower depths of all iterations and in the equal depth in prior iterations, another first-order derivative of the selected loss function and another second-order derivative of the selected loss function," from which the marginal parameter is formed as a ratio. This limitation would have been obvious to one of ordinary skill in the art at the time of the invention over claim 12 of the Patent. Claim 12 of the Patent already requires that the marginal parameter be computed as the ratio of a first-order derivative of the selected loss function to a second-order derivative of the selected loss function, and already requires that the resulting update to the model parameters be made "based on a second set of model parameters of decision trees in lower depths of all iterations and in the equal depth in prior iterations." One of ordinary skill in the art of gradient boosting would have recognized that evaluating the derivatives of the loss function with respect to that same second set of model parameters is the necessary predicate to performing the update that claim 12 requires; the instant claim merely recites that evaluation as a separate, express step rather than leaving it implicit in the update step. Making explicit what a reference claim necessarily requires is not a patentable distinction. See MPEP § 804, subsection II.B.3.
The remaining differences between the instant claims and the claims of the Patent are omissions of limitations, which broaden rather than narrow the instant claims and cannot confer patentable distinctness. Accordingly, the claims of the instant application are not patentably distinct from the claims of U.S. Patent No. 11,853,906 under the one-way test of MPEP § 804, subsection II.B.4, the instant application having been filed after the filing date of the application that matured into the Patent.
Instant Claim 1 ↔ U.S. Pat. No. 11,853,906 Claim 12
Instant Application Claims
U.S. Pat. No. 11,853,906 Claims
A method, comprising:
A method, comprising:
selecting a loss function;
selecting a loss function based on a probability distribution;
initializing a model having a plurality of decision trees with different depths to compute a plurality of model parameters;
initializing a model having a plurality of decision trees with different depths, based on the training dataset, the first set of numerical parameters, the second set of numerical parameters, the selected loss function, and a third set of numerical parameters, to compute a plurality of model parameters;
training the model on a dataset to refine the model parameters of the decision trees with different depths through a plurality of iterations, wherein each iteration performed on each of the decision trees comprises:
training the model, based on the training dataset, to refine a plurality of model parameters of the plurality of decision trees through a plurality of iterations, wherein each iteration comprises:
computing, based on the model parameters of the decision trees in equal or lower depths in prior iterations, a first-order derivative of the selected loss function and a second-order derivative of the selected loss function;
computing a first-order derivative of the selected loss function and a second-order derivative of the selected loss function based on the training dataset, the first set of numerical parameters, and a first set of model parameters of decision trees in equal or lower depths in prior iterations;
determining, based on a comparison result between the second-order derivative of the selected loss function and a minimum child weight, each split in each of the decision trees;
determining splits of the plurality of decision trees based on comparison results between the second-order derivative of the selected loss function and a first element of the second set of numerical parameters; [claim 17: wherein the first element of the second set of numerical parameter is a minimum child weight]
computing, based on the model parameters of the decision trees in lower depths of all iterations and in the equal depth in prior iterations, another first-order derivative of the selected loss function and another second-order derivative of the selected loss function;
computing a marginal parameter based on the ratio of the computed first-order derivative of the selected loss function and the computed second-order derivative of the selected loss function; ... based on a second set of model parameters of decision trees in lower depths of all iterations and in the equal depth in prior iterations;
updating, in a gradient descent manner, the model parameters of each of the decision trees with a product of a marginal parameter and a learning rate, wherein the marginal parameter is a ratio of the another first-order derivative of the selected loss function and the another second-order derivative of the selected loss function;
updating the model parameters of the plurality of decision trees with a product of the marginal parameter and a second element of the second set of numerical parameters based on a second set of model parameters of decision trees in lower depths of all iterations and in the equal depth in prior iterations; [claim 18: wherein the second element of the second set of numerical parameters is a learning rate]
determining that the model satisfies at least one of stopping criteria; and
determining that the trained model, after training through the plurality of iterations, satisfies at least one of stopping criteria; and
storing the each split and the model parameters of the decision trees.
storing the splits and the plurality of model parameters of the plurality of decision trees within the trained model.
Instant Claim 2 ↔ U.S. Pat. No. 11,853,906 Claim 13
The method of claim 1, further comprises:
The method of claim 12, further comprises:
computing a gain value of one of the decision trees based on a difference in an evaluation metric between a parent node and a sum of two child nodes of the parent node, wherein the evaluation metric is determined by the first-order derivative of the selected loss function and the second-order derivative of the selected loss function;
computing a gain value of one of the decision trees based on a difference in an evaluation metric between a parent node and a sum of two child nodes of the parent node, wherein the evaluation metric is determined by the first-order derivative of the selected loss function and the second-order derivative of the selected loss function;
determining the computed gain value does not satisfy a minimum split loss; and
determining the computed gain value does not satisfy a third element of the second set of parameters; [claim 14: wherein the third element of the second set of parameters is a minimum split loss] and
removing each leaf node of the one of the decision trees.
remove each leaf node of the one of the decision trees.
Instant Claim 3 ↔ U.S. Pat. No. 11,853,906 Claim 16
The method of claim 1, wherein the model includes a plurality of hyperparameters comprising the minimum child weight, the learning rate, a minimum split loss, a number of iterations, a maximum depth of the decision tree, a row sampling, a column sampling by tree, and a column sampling by split.
The method of claim 12, wherein the second set of numerical parameters is a plurality of hyperparameters including minimum child weight, learning rate, minimum split loss, number of iterations, maximum depth of the decision tree, row sampling, column sampling by tree, and column sampling by split.
Instant Claim 4 ↔ U.S. Pat. No. 11,853,906 Claim 19
The method of claim 1, wherein the loss function is based on a probability distribution selected from one of Gaussian (normal) distribution, Poisson distribution, gamma distribution, Tweedie distribution, and logistic distribution, wherein the probability distribution is used to model data distribution in the dataset.
The method of claim 12, wherein the probability distribution is one of Gaussian (normal) distribution, Poisson distribution, gamma distribution, Tweedie distribution, and logistic distribution.
Instant Claim 5 ↔ U.S. Pat. No. 11,853,906 Claim 20
The method of claim 1, further comprising initializing the model with a plurality of starting values including a cutoff value for a selected attribute in the dataset and a predicted value in a first one of the iterations.
The method of claim 12, wherein the third set of numerical parameters are starting values including a cutoff value for a selected attribute and a predicted value in the first iteration.
Instant Claim 6 ↔ U.S. Pat. No. 11,853,906 Claim 21
The method of claim 1, wherein the stopping criteria comprises a maximum number of iterations, a threshold value indicating no additional gain to be found in a new training iteration, and a threshold value of performance evaluation of the model based on a validation dataset.
The method of claim 12, wherein the stopping criteria comprises a maximum number of iterations specified in the second set of numerical parameters, a threshold value indicating no additional gain to be found in a new training iteration, and a threshold value of performance evaluation of the model based on a validation set.
Instant Claim 7 ↔ U.S. Pat. No. 11,853,906 Claim 22
The method of claim 1, wherein the model is configured to generate predictions of at least one of insurance premium policies, claim cost, claim frequency, and claim severity, based on customer input data.
The method of claim 12, wherein the model is configured to generate predictions of at least one of insurance premium policies, claim cost, claim frequency, and claim severity, based on customer input data.
Instant Claim 8 ↔ U.S. Pat. No. 11,853,906 Claim 1
A system, comprising:
A system, comprising:
at least one processor;
at least one processor;
at least one memory storing instructions that, when executed by the at least one processor, cause the at least one processor to:
at least one memory storing instructions that, when executed by the at least one processor, cause the at least one processor to:
select a loss function;
select a loss function based on a probability distribution;
initialize a model having a plurality of decision trees with different depths to compute a plurality of model parameters;
initialize a model having a plurality of decision trees with different depths, based on the training dataset, the first set of numerical parameters, the second set of numerical parameters, the selected loss function, and a third set of numerical parameters, to compute a plurality of model parameters;
train the model on a dataset to refine the model parameters of the decision trees with different depths through a plurality of iterations, wherein in each iteration performed on each of the decision trees, the instructions cause the at least one processor to:
train the model, based on the training dataset, to refine a plurality of model parameters of the plurality of decision trees through a plurality of iterations, wherein in each iteration, the instructions cause the at least one processor to:
compute, based on the model parameters of the decision trees in equal or lower depths in prior iterations, a first-order derivative of the selected loss function and a second-order derivative of the selected loss function;
compute a first-order derivative of the selected loss function and a second-order derivative of the selected loss function based on the training dataset, the first set of numerical parameters, and a first set of model parameters of decision trees in equal or lower depths in prior iterations;
determine, based on a comparison result between the second-order derivative of the selected loss function and a minimum child weight, each split in each of the decision trees;
determine splits of the plurality of decision trees based on comparison results between the second-order derivative of the selected loss function and a first element of the second set of numerical parameters; [claim 6: wherein the first element of the second set of numerical parameters is a minimum child weight]
compute, based on the model parameters of the decision trees in lower depths of all iterations and in the equal depth in prior iterations, another first-order derivative of the selected loss function and another second-order derivative of the selected loss function;
compute a marginal parameter based on the ratio of the computed first-order derivative of the selected loss function and the computed second-order derivative of the selected loss function; ... based on a second set of model parameters of decision trees in lower depths of all iterations and in the equal depth in prior iterations;
update, in a gradient descent manner, the model parameters of each of the decision trees with a product of a marginal parameter and a learning rate, wherein the marginal parameter is a ratio of the another first-order derivative of the selected loss function and the another second-order derivative of the selected loss function;
update the model parameters of the plurality of decision trees with a product of the marginal parameter and a second element of the second set of numerical parameters based on a second set of model parameters of decision trees in lower depths of all iterations and in the equal depth in prior iterations; [claim 7: wherein the second element of the second set of numerical parameters is a learning rate]
determine that the model satisfies at least one of stopping criteria; and
determine that the trained model, after training through the plurality of iterations, satisfies at least one of stopping criteria; and
store the each split and the model parameters of the decision trees.
store the splits and the plurality of model parameters of the plurality of decision trees within the trained model.
Instant Claim 9 ↔ U.S. Pat. No. 11,853,906 Claim 2
The system of claim 8, wherein the instructions further cause the at least one processor to:
The system of claim 1, wherein the instructions further cause the at least one processor to:
compute a gain value of one of the decision trees based on a difference in an evaluation metric between a parent node and a sum of two child nodes of the parent node, wherein the evaluation metric is determined by the first-order derivative of the selected loss function and the second-order derivative of the selected loss function;
compute a gain value of one of the decision trees based on a difference in an evaluation metric between a parent node and a sum of two child nodes of the parent node, wherein the evaluation metric is determined by the first-order derivative of the selected loss function and the second-order derivative of the selected loss function;
determine the computed gain value does not satisfy a minimum split loss; and
determine the computed gain value does not satisfy a third element of the second set of parameters; [claim 3: wherein the third element of the second set of parameters is a minimum split loss] and
remove each leaf node of the one of the decision trees.
remove each leaf node of the one of the decision trees.
Instant Claim 10 ↔ U.S. Pat. No. 11,853,906 Claim 5
The system of claim 8, wherein the model includes a plurality of hyperparameters comprising the minimum child weight, the learning rate, a minimum split loss, a number of iterations, a maximum depth of the decision tree, a row sampling, a column sampling by tree, and a column sampling by split.
The system of claim 1, wherein the second set of numerical parameters is a plurality of hyperparameters including minimum child weight, learning rate, minimum split loss, number of iterations, maximum depth of the decision tree, row sampling, column sampling by tree, and column sampling by split.
Instant Claim 11 ↔ U.S. Pat. No. 11,853,906 Claim 8
The system of claim 8, wherein the loss function is based on a probability distribution selected from one of Gaussian (normal) distribution, Poisson distribution, gamma distribution, Tweedie distribution, and logistic distribution, wherein the probability distribution is used to model data distribution in the dataset.
The system of claim 1, wherein the probability distribution is one of Gaussian (normal) distribution, Poisson distribution, gamma distribution, Tweedie distribution, and logistic distribution.
Instant Claim 12 ↔ U.S. Pat. No. 11,853,906 Claim 9
The system of claim 8, further configured to initialize the model with a plurality of starting values including a cutoff value for a selected attribute in the dataset and a predicted value in a first one of the iterations.
The system of claim 1, wherein the third set of numerical parameters is a plurality of starting values including a cutoff value for a selected attribute and a predicted value in the first iteration.
Instant Claim 13 ↔ U.S. Pat. No. 11,853,906 Claim 10
The system of claim 8, wherein the stopping criteria comprises a maximum number of iterations, a threshold value indicating no additional gain to be found in a new training iteration, and a threshold value of performance evaluation of the model based on a validation dataset.
The system of claim 1, wherein the stopping criteria comprises a maximum number of iterations specified in the second set of numerical parameters, a threshold value indicating no additional gain to be found in a new training iteration, and a threshold value of performance evaluation of the model based on a validation set.
Instant Claim 14 ↔ U.S. Pat. No. 11,853,906 Claim 11
The system of claim 8, wherein the model is configured to generate predictions of at least one of insurance premium policies, claim cost, claim frequency, and claim severity, based on customer input data.
The system of claim 1, wherein the model is configured to generate predictions of at least one of insurance premium policies, claim cost, claim frequency, and claim severity, based on customer input data.
Instant Claim 15 ↔ U.S. Pat. No. 11,853,906 Claim 23
A non-transitory computer-readable medium including processor-executable instructions for generating a layered machine learning model, when executed by a processor, cause the processor to perform the steps of:
A non-transitory computer-readable medium including processor-executable instructions for generating a layered machine learning model to process data to predict at least one of insurance premium policies, claim cost, claim frequency, and claim severity, when executed by a processor, cause the processor to perform the steps of:
selecting a loss function based on one of Gaussian (normal) distribution, Poisson distribution, gamma distribution, Tweedie distribution, and logistic distribution;
selecting a loss function based on one of Gaussian (normal) distribution, Poisson distribution, gamma distribution, Tweedie distribution, and logistic distribution;
initializing a model having a plurality of decision trees with different depths to compute a plurality of model parameters;
initializing a model having a plurality of decision trees with different depths, based on the training dataset, the weight variables, the plurality of hyperparameters, the selected loss function, and a plurality of starting values including a cutoff value for a selected attribute and a predicted value in the first iteration, to compute a plurality of model parameters;
training the model on a dataset to refine the model parameters of the decision trees through a plurality of iterations, wherein each iteration performed on each of the decision trees comprises:
training the model, based on the training dataset, to refine a plurality of model parameters of the plurality of decision trees through a plurality of iterations, wherein each iteration comprises:
computing, based on the model parameters of the decision trees in equal or lower depths in prior iterations, a first-order derivative of the selected loss function and a second-order derivative of the selected loss function;
computing a first-order derivative of the selected loss function and a second-order derivative of the selected loss function based on the training dataset, the weight variables, and a first set of model parameters of decision trees in equal or lower depths in prior iterations;
determining, based on a comparison result between the second-order derivative of the selected loss function and a minimum child weight, each split in each of the decision trees;
determining splits of the plurality of decision trees based on comparison results between the second-order derivative of the selected loss function and a minimum child weight;
computing, based on the model parameters of the decision trees in lower depths of all iterations and in the equal depth in prior iterations, another first-order derivative of the selected loss function and another second-order derivative of the selected loss function;
computing a marginal parameter based on the ratio of the computed first-order derivative of the selected loss function and the computed second-order derivative of the selected loss function; ... based on a second set of model parameters of decision trees in lower depths of all iterations and in the equal depth in prior iterations;
updating, in a gradient descent manner, the model parameters of each of the decision trees with a product of a marginal parameter and a learning rate, wherein the marginal parameter is a ratio of the another first-order derivative of the selected loss function and the another second-order derivative of the selected loss function;
updating the model parameters of the plurality of decision trees with a product of the marginal parameter and a learning rate based on a second set of model parameters of decision trees in lower depths of all iterations and in the equal depth in prior iterations;
determining that the model satisfies at least one of stopping criteria, including a maximum number of iterations, a threshold value indicating no additional gain to be found in a new training iteration, and a threshold value of performance evaluation of the model based on a validation dataset; and
determining that the trained model, after training through the plurality of iterations, satisfies at least one of stopping criteria, including a maximum number of iterations specified in the second set of numerical parameters, a threshold value indicating no additional gain to be found in a new training iteration, and a threshold value of performance evaluation of the model based on a validation set; and
storing the each split and the model parameters of the decision trees.
storing the splits and the plurality of model parameters of the plurality of decision trees within the trained model.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to ALAN CHEN whose telephone number is (571)272-4143. The examiner can normally be reached M-F 10-7.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Kamran Afshar can be reached at (571) 272-7796. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/ALAN CHEN/Primary Examiner, Art Unit 2125