Office Action Predictor
Last updated: April 15, 2026
Application No. 18/400,779

HIERARCHY OPTIMIZATION METHOD FOR MACHINE LEARNING

Final Rejection §103§112
Filed
Dec 29, 2023
Examiner
KIM, SEHWAN
Art Unit
2129
Tech Center
2100 — Computer Architecture & Software
Assignee
Paypal, INC.
OA Round
4 (Final)
60%
Grant Probability
Moderate
5-6
OA Rounds
4y 0m
To Grant
88%
With Interview

Examiner Intelligence

Grants 60% of resolved cases
60%
Career Allow Rate
86 granted / 144 resolved
+4.7% vs TC avg
Strong +28% interview lift
Without
With
+28.1%
Interview Lift
resolved cases with interview
Typical timeline
4y 0m
Avg Prosecution
35 currently pending
Career history
179
Total Applications
across all art units

Statute-Specific Performance

§101
20.7%
-19.3% vs TC avg
§103
46.1%
+6.1% vs TC avg
§102
6.3%
-33.7% vs TC avg
§112
23.3%
-16.7% vs TC avg
Black line = Tech Center average estimate • Based on career data from 144 resolved cases

Office Action

§103 §112
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 . Examiner’s Note The Examiner encourages Applicant to schedule an interview to discuss issues related to, for example, the rejections noted below under 35 U.S.C § 112(b) (e.g., claim 21) and § 103. Providing supporting paragraph(s) for each limitation of amended/new claim(s) in Remarks is strongly requested for clear and definite claim interpretations by Examiner. Priority Acknowledgment is made of applicant's claim for the parent application filed on 12/31/2019. Response to Arguments Applicant’s arguments regarding 35 USC § 103 with respect to the independent claims have been considered but are moot because the arguments are directed to amended limitation(s) that has/have not been previously examined. Claim Objections Claim(s) 2-10 is/are objected to because of the following informalities. Claim(s) 2 is/are objected to because of the following informalities: it appears that “the second set” (line 25) should read “the second subset” or something else. Appropriate correction is required. Claim(s) 2 each recite(s) limitations that raise issues of indefiniteness as set forth above, and its dependent claims are objected to at least based on their direct and/or indirect dependency from claims 2. Appropriate explanation and/or amendment is required. 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. Claim(s) 20-21 is/are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention. Claim(s) 20 recite(s) the limitation “the set of training data” (line 10). There is insufficient antecedent basis for this limitation in the claim. It is not clear what it is referring to. It appears that it needs to read “the training data”, or something else. For the purposes of examination, “the training data” is used. Claim(s) 21 recite(s) the limitation “the training” (line 2). There is insufficient antecedent basis for this limitation in the claim. It is not clear if it indicates “training” (claim 20, line 4) or “training” (claim 20, line 23), or something else. It appears that it indicates “training” (claim 20, line 4). For the purposes of examination, “training” (claim 20, line 4) is used. Appropriate explanation and/or amendment is required. Claim(s) 21 recite(s) the limitation “the random selections from the plurality of ML algorithms” (line 4). There is insufficient antecedent basis for this limitation in the claim. It is not clear if it indicates “random selections from the plurality of ML models” (claim 20, line 11) since “the random selections” (line 4) is for “the plurality of ML algorithms” while “random selections” (claim 20, line 11) is for “the plurality of ML models”. Thus, it appears that it needs to read “random selections from the plurality of ML algorithms” (line 4)”, or something else. For the purposes of examination, “random selections from the plurality of ML algorithms” is used. Claim(s) 20-21 each recite(s) limitations that raise issues of indefiniteness as set forth above, and their dependent claims are rejected at least based on their direct and/or indirect dependency from the claims listed above. Appropriate explanation and/or amendment is required. Claim Rejections - 35 USC § 103 In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status. 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. 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. Claim(s) 2-6, 9-18, 20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Bergstra et al. (Hyperopt: a Python library for model selection and hyperparameter optimization) in view of Tu et al. (AutoNE: Hyperparameter Optimization for Massive Network Embedding) in view of Murugesan et al. (US 20210116874 A1) Regarding claim 2 (Note: Hereinafter, if a limitation has bold brackets (i.e. [·]) around claim languages, the bracketed claim languages indicate that they have not been taught yet by the current prior art reference but they will be taught by another prior art reference afterwards.) Bergstra teaches A system comprising: [a non-transitory memory; and one or more hardware processors coupled to the non-transitory memory and configured to execute instructions to cause] the system to: (Bergstra [fig(s) 1-2] [sec(s) Example usage] “Here is the simplest example of using this software”; Bergstra does not appear to explicitly teach but suggests “memory” and “one or more hardware processors” based on e.g., “software” since software code runs on a computer.) train each of a plurality of machine learning (ML) models based on training data and one of a plurality of ML algorithms, wherein training each of the plurality of ML models includes: (Bergstra [fig(s) 1] “Hyeropt-Sklearns full search space (‘any classifier’) consists of a (preprocessing, classsifier) pair. There are six possible preprocessing modules and six possible classifiers. Choosing a model within this configuration space means choosing paths in an ancestral sampling process.” [sec(s) Getting started with hyperopt] “Assigning the algo keyword argument to hyperopt.fmin is recommended way to choose a search algorithm. Currently supported search algorithms are random search (hyperopt. rand.suggest), annealing (hyperopt.anneal.suggest), and TPE (hyperopt. tpe.suggest).” [sec(s) Scikit-learn model selection as a search problem] “Model selection is the process of estimating which machine learning model performs best from among a possibly infinite set of possibilities. … In this paper we discuss solving it with the Hyperopt optimization library. The basic approach is to set up a search space with random variable hyperparameters, use Scikit-learn to implement the objective function that performs model training and model validation, and use Hyperopt to optimize the hyperparamters. … Hyperopt-Sklearn provides a parameterization of a search space over pipelines, that is, of sequences of preprocessing steps and classifiers. The configuration space we provide includes six preprocessing algorithms and seven classification algorithms. The full search space is illustrated in figure 1.” [sec(s) Example usage] “The fit method of this class performs hyperparameter optimization, and after it has completed, the predict method applies the best model to test data. Each evaluation during optimization performs training on a large fraction of the training set, estimates test set accuracy on a validation set and returns that validation set score to the optimizer. At the end of search, the best configuration is retrained on the whole data set to produce the classifier that handles subsequent predict calls.”; e.g., “Parallel search can be done with the same objective functions as the ones used for sequential search, but users wishing to take advantage of asynchronous evaluation in the parallel case can do so by using a lower-level calling convention for their objective function” along with “six possible classifiers” read(s) on “algorithms”.) training a first subset of the plurality of ML models based on a random selection of the plurality of ML models for available ML model configurations, (Bergstra [fig(s) 1] “Hyeropt-Sklearns full search space (‘any classifier’) consists of a (preprocessing, classsifier) pair. There are six possible preprocessing modules and six possible classifiers. Choosing a model within this configuration space means choosing paths in an ancestral sampling process.” [sec(s) Getting started with hyperopt] “Assigning the algo keyword argument to hyperopt.fmin is recommended way to choose a search algorithm. Currently supported search algorithms are random search (hyperopt. rand.suggest), annealing (hyperopt.anneal.suggest), and TPE (hyperopt. tpe.suggest).” [sec(s) Scikit-learn model selection as a search problem] “Model selection is the process of estimating which machine learning model performs best from among a possibly infinite set of possibilities. … In this paper we discuss solving it with the Hyperopt optimization library. The basic approach is to set up a search space with random variable hyperparameters, use Scikit-learn to implement the objective function that performs model training and model validation, and use Hyperopt to optimize the hyperparamters. … Hyperopt-Sklearn provides a parameterization of a search space over pipelines, that is, of sequences of preprocessing steps and classifiers. The configuration space we provide includes six preprocessing algorithms and seven classification algorithms. The full search space is illustrated in figure 1.” [sec(s) Example usage] “The fit method of this class performs hyperparameter optimization, and after it has completed, the predict method applies the best model to test data. Each evaluation during optimization performs training on a large fraction of the training set, estimates test set accuracy on a validation set and returns that validation set score to the optimizer. At the end of search, the best configuration is retrained on the whole data set to produce the classifier that handles subsequent predict calls.”;) comparing a plurality of model performance metrics for the first subset of the plurality of ML models to a plurality of past model performance metrics associated with past performances of a set of past ML models from previous training iterations, (Bergstra [fig(s) 1] “Hyeropt-Sklearns full search space (‘any classifier’) consists of a (preprocessing, classsifier) pair. There are six possible preprocessing modules and six possible classifiers. Choosing a model within this configuration space means choosing paths in an ancestral sampling process.” [sec(s) Scikit-learn model selection as a search problem] “Model selection is the process of estimating which machine learning model performs best from among a possibly infinite set of possibilities. … In this paper we discuss solving it with the Hyperopt optimization library. The basic approach is to set up a search space with random variable hyperparameters, use Scikit-learn to implement the objective function that performs model training and model validation, and use Hyperopt to optimize the hyperparamters. … Hyperopt-Sklearn provides a parameterization of a search space over pipelines, that is, of sequences of preprocessing steps and classifiers. The configuration space we provide includes six preprocessing algorithms and seven classification algorithms. The full search space is illustrated in figure 1. … The classification algorithms were (by class name (used + unused hyperparameters)): SVC(23), KNN(4+5), RandomForest(8), ExtraTrees(8), SGD(8 +4), and MultinomialNB(2).” [sec(s) Example usage] “Following Scikit-learn’s convention, Hyperopt-Sklearn provides an Estimator class with a fit method and a predict method. The fit method of this class performs hyperparameter optimization, and after it has completed, the predict method applies the best model to test data. Each evaluation during optimization performs training on a large fraction of the training set, estimates test set accuracy on a validation set and returns that validation set score to the optimizer. At the end of search, the best configuration is retrained on the whole data set to produce the classifier that handles subsequent predict calls.”; e.g., “estimating which machine learning model performs best” along with fig 1 read(s) on “comparing”. In addition, e.g., “Parallel search can be done with the same objective functions as the ones used for sequential search, but users wishing to take advantage of asynchronous evaluation in the parallel case can do so by using a lower-level calling convention for their objective function” along with “six possible classifiers” and hyperparameters read(s) on “models”. Note that Komer et al. (Hyperopt-Sklearn: Automatic Hyperparameter Configuration for Scikit-Learn) teaches an example of HyperoptEstimator class setting different algorithms in [sec(s) Example Usage].) executing at least one optimization function for the available ML model configurations, (Bergstra [fig(s) 1] “Hyeropt-Sklearns full search space (‘any classifier’) consists of a (preprocessing, classsifier) pair. There are six possible preprocessing modules and six possible classifiers. Choosing a model within this configuration space means choosing paths in an ancestral sampling process.” [sec(s) Getting started with hyperopt] “This section introduces basic usage of the hyperopt.fmin function, which is Hyperopt’s basic optimization driver. We will look at how to write an objective function that fmin can optimize, and how to describe a configuration space that fmin can search. … To summarize, these are the steps to using Hyperopt: (1) implement an objective function that maps configuration points to a real-valued loss value, (2) define a configuration space of valid configuration points, and then (3) call fmin to search the space to optimize the objective function.” [sec(s) Scikit-learn model selection as a search problem] “Model selection is the process of estimating which machine learning model performs best from among a possibly infinite set of possibilities. … In this paper we discuss solving it with the Hyperopt optimization library. The basic approach is to set up a search space with random variable hyperparameters, use Scikit-learn to implement the objective function that performs model training and model validation, and use Hyperopt to optimize the hyperparamters.”; e.g., “hyperopt.fmin function, which is Hyperopt’s basic optimization driver” along with “fit method” and “Estimator class” which sets different algorithms read(s) on “optimization function”.) determining, based on the executed at least one optimization function, hyperparameters and optimization metrics for the hyperparameters for the plurality of ML models having combinations of the available ML model configurations; (Bergstra [fig(s) 1] “Hyeropt-Sklearns full search space (‘any classifier’) consists of a (preprocessing, classsifier) pair. There are six possible preprocessing modules and six possible classifiers. Choosing a model within this configuration space means choosing paths in an ancestral sampling process.” [sec(s) Getting started with hyperopt] “This section introduces basic usage of the hyperopt.fmin function, which is Hyperopt’s basic optimization driver. We will look at how to write an objective function that fmin can optimize, and how to describe a configuration space that fmin can search. … To summarize, these are the steps to using Hyperopt: (1) implement an objective function that maps configuration points to a real-valued loss value, (2) define a configuration space of valid configuration points, and then (3) call fmin to search the space to optimize the objective function.” [sec(s) Scikit-learn model selection as a search problem] “Model selection is the process of estimating which machine learning model performs best from among a possibly infinite set of possibilities. … In this paper we discuss solving it with the Hyperopt optimization library. The basic approach is to set up a search space with random variable hyperparameters, use Scikit-learn to implement the objective function that performs model training and model validation, and use Hyperopt to optimize the hyperparamters.”; e.g., “hyperopt.fmin function, which is Hyperopt’s basic optimization driver” along with “fit method” and “Estimator class” which sets different algorithms read(s) on “optimization function”. ) performing an iterative selection of the available ML model configurations for training a second subset of the plurality of ML models based on the hyperparameters and the optimization metrics, and (Bergstra [fig(s) 1] “Hyeropt-Sklearns full search space (‘any classifier’) consists of a (preprocessing, classsifier) pair. There are six possible preprocessing modules and six possible classifiers. Choosing a model within this configuration space means choosing paths in an ancestral sampling process.” [sec(s) Getting started with hyperopt] “Assigning the algo keyword argument to hyperopt.fmin is recommended way to choose a search algorithm. Currently supported search algorithms are random search (hyperopt. rand.suggest), annealing (hyperopt.anneal.suggest), and TPE (hyperopt. tpe.suggest).” [sec(s) Scikit-learn model selection as a search problem] “Model selection is the process of estimating which machine learning model performs best from among a possibly infinite set of possibilities. … In this paper we discuss solving it with the Hyperopt optimization library. The basic approach is to set up a search space with random variable hyperparameters, use Scikit-learn to implement the objective function that performs model training and model validation, and use Hyperopt to optimize the hyperparamters. … Hyperopt-Sklearn provides a parameterization of a search space over pipelines, that is, of sequences of preprocessing steps and classifiers. The configuration space we provide includes six preprocessing algorithms and seven classification algorithms. The full search space is illustrated in figure 1.” [sec(s) Example usage] “The fit method of this class performs hyperparameter optimization, and after it has completed, the predict method applies the best model to test data. Each evaluation during optimization performs training on a large fraction of the training set, estimates test set accuracy on a validation set and returns that validation set score to the optimizer. At the end of search, the best configuration is retrained on the whole data set to produce the classifier that handles subsequent predict calls.”;) training the second set of the plurality of ML models in accordance with the iterative selection of the available ML model configurations, (Bergstra [fig(s) 1] “Hyeropt-Sklearns full search space (‘any classifier’) consists of a (preprocessing, classsifier) pair. There are six possible preprocessing modules and six possible classifiers. Choosing a model within this configuration space means choosing paths in an ancestral sampling process.” [sec(s) Getting started with hyperopt] “Assigning the algo keyword argument to hyperopt.fmin is recommended way to choose a search algorithm. Currently supported search algorithms are random search (hyperopt. rand.suggest), annealing (hyperopt.anneal.suggest), and TPE (hyperopt. tpe.suggest).” [sec(s) Scikit-learn model selection as a search problem] “Model selection is the process of estimating which machine learning model performs best from among a possibly infinite set of possibilities. … In this paper we discuss solving it with the Hyperopt optimization library. The basic approach is to set up a search space with random variable hyperparameters, use Scikit-learn to implement the objective function that performs model training and model validation, and use Hyperopt to optimize the hyperparamters. … Hyperopt-Sklearn provides a parameterization of a search space over pipelines, that is, of sequences of preprocessing steps and classifiers. The configuration space we provide includes six preprocessing algorithms and seven classification algorithms. The full search space is illustrated in figure 1.” [sec(s) Example usage] “The fit method of this class performs hyperparameter optimization, and after it has completed, the predict method applies the best model to test data. Each evaluation during optimization performs training on a large fraction of the training set, estimates test set accuracy on a validation set and returns that validation set score to the optimizer. At the end of search, the best configuration is retrained on the whole data set to produce the classifier that handles subsequent predict calls.”;) determine, for a first ML model from the second subset of the plurality of ML models and based on the plurality of model performance metrics, whether a threshold metric associated with the plurality of model performance metrics is [met] by a first ML model performance metric of the first ML model, wherein the threshold metric is used to indicate whether the first ML model is usable as a final ML model for decision-making with an ML engine; and [deploy] one of the first ML model or a second ML model of the plurality of ML models in a production computing environment based on whether the threshold metric is [met] for the first ML model. (Bergstra [fig(s) 2] “For each data set, searching the full configuration space (‘any classifier’) delivered performance approximately on par with a search that was restricted to the best classifier type. (Best viewed in color.)” [sec(s) Example usage] “Following Scikit-learn’s convention, Hyperopt-Sklearn provides an Estimator class with a fit method and a predict method. The fit method of this class performs hyperparameter optimization, and after it has completed, the predict method applies the best model to test data. Each evaluation during optimization performs training on a large fraction of the training set, estimates test set accuracy on a validation set and returns that validation set score to the optimizer. At the end of search, the best configuration is retrained on the whole data set to produce the classifier that handles subsequent predict calls.” [sec(s) Experiments] “Figure 2 shows that there was no penalty for searching broadly. We performed optimization runs of up to 300 function evaluations searching the entire space, and compared the quality of solution with specialized searches of specific classifier types (including best known classifiers).” PNG media_image1.png 554 824 media_image1.png Greyscale ; e.g., “Report the accuracy of the classifier” read(s) on “model performance metric”. In addition, e.g., “searching the full configuration space (‘any classifier’) delivered performance approximately on par with a search that was restricted to the best classifier type” and “best known classifiers” read(s) on “threshold metric”. Furthermore, Bergstra does not appear to explicitly teach but suggests “met” based on e.g., “searching the full configuration space (‘any classifier’) delivered performance approximately on par with a search that was restricted to the best classifier type” and “best known classifiers”.) However, Bergstra does not appear to explicitly teach: [a non-transitory memory; and one or more hardware processors coupled to the non-transitory memory and configured to execute instructions to cause] the system to: determine, for a first ML model from the second subset of the plurality of ML models and based on the plurality of model performance metrics, whether a threshold metric associated with the plurality of model performance metrics is [met] by a first ML model performance metric of the first ML model, wherein the threshold metric is used to indicate whether the first ML model is usable as a final ML model for decision-making with an ML engine; and [deploy] one of the first ML model or a second ML model of the plurality of ML models in a production computing environment based on whether the threshold metric is [met] for the first ML model. (Note: Hereinafter, if a limitation has one or more bold underlines, the one or more underlined claim languages indicate that they are taught by the current prior art reference, while the one or more non-underlined claim languages indicate that they have been taught already by one or more previous art references.) Tu teaches a non-transitory memory; and one or more hardware processors coupled to the non-transitory memory and configured to execute instructions to cause the system to: (Tu [sec(s) A SUPPLEMENT] “All experiments are conducted with the following setting: • Operating system: Ubuntu 18.04.1 LTS • CPU: Intel(R) Xeon(R) CPU E5-2699 v4 @ 2.20GHz • RAM: DDR4 1TB • GPU: GeForce GTX Titan X • Software versions: Python 3.6; NumPy 1.15.4; SciPy 1.2.0; NetworkX 2.2; scikit-learn 0.20.0; TensorFlow 1.11 GCN is executed on the GPU, while all the other experiments are conducted on the CPU.”;) determine, for a first ML model from the second subset of the plurality of ML models and based on the plurality of model performance metrics, whether a threshold metric associated with the plurality of model performance metrics is met by a first ML model performance metric of the first ML model, wherein the threshold metric is used to indicate whether the first ML model is usable as a final ML model for decision-making with an ML engine; and [deploy] one of the first ML model or a second ML model of the plurality of ML models in a production computing environment based on whether the threshold metric is met for the first ML model. (Tu [fig(s) 2-5] “The number of trials required by each method to reach a certain performance threshold. The NE algorithm being tuned is DeepWalk. The vertical dash line marks the conjectured performance when the number of trials is unlimited.” [sec(s) 4] “we can see from Figure 3 that our framework takes much fewer trials to find a good hyperparameter configuration, which demonstrates that our framework is more capable of handling large-scale networks on a limited time budget.”;) Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the system of Bergstra with the satisfaction of threshold metric of Tu. One of ordinary skill in the art would have been motived to combine in order to effectively demonstrate which framework takes much fewer trials to find a good hyperparameter configuration. (Tu [fig(s) 2-5] “The number of trials required by each method to reach a certain performance threshold. The NE algorithm being tuned is DeepWalk. The vertical dash line marks the conjectured performance when the number of trials is unlimited.” [sec(s) 4] “we can see from Figure 3 that our framework takes much fewer trials to find a good hyperparameter configuration, which demonstrates that our framework is more capable of handling large-scale networks on a limited time budget.”;) However, the combination of Bergstra, Tu does not appear to explicitly teach: [deploy] one of the first ML model or a second ML model of the plurality of ML models in a production computing environment based on whether the threshold metric is met for the first ML model. Murugesan teaches deploy one of the first ML model or a second ML model of the plurality of ML models in a production computing environment based on whether the threshold metric is met for the first ML model. (Murugesan [fig(s) 6] [fig(s) 11] [par(s) 143-163] “Model selector 622 is also shown to include a model metric comparator 1006. Model metric comparator 1006 can utilize both the newly constructed EPM and the existing EPM and can switch between them as needed to improve quality of energy predictions. In particular, model selector 622 can monitor a metric M between the hyper-parameter optimized EPM, the currently deployed EPM (which may or may not be the same as the hyper-parameter optimized EPM), and the existing EPM. Model metric comparator 1006 can track M for each model and can switch the currently deployed model out with previously deployed model in the case that M improves for the previously deployed model beyond the currently deployed model. Keeping the previously deployed model can ensure reversal to the old model can occur if the currently deployed model deteriorates in prediction accuracy. … step 1116 includes comparing additional EPMs (e.g., seasonal EPMs) to the retrained EPM and the existing EPM. Step 1116 can include performing one or more comparisons based on various metrics of the EPMs. For example, step 1116 may include comparing CV-RMSE values of the EPMs, standard deviations of the CV-RMSEs, etc. In effect, based on the comparison(s), the optimal EPM can be identified. In some embodiments, step 1116 is performed by model selector 622. Process 1100 is shown to include deploying the optimal EPM (step 1118).”; e.g., “deploying the optimal EPM” along with “switch the currently deployed model out with previously deployed model in the case that M improves for the previously deployed model beyond the currently deployed model” along with comparing read(s) on “deploy one of the first ML model or a second ML model of the plurality of ML models in a production computing environment based on whether the threshold metric is met for the first ML model”.) Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the system of Bergstra, Tu with the model deployment of Murugesan. One of ordinary skill in the art would have been motived to combine in order to improve quality of predictions by selecting a proper prediction model depending on conditions. (Murugesan [par 153] “Model selector 622 is also shown to include a model metric comparator 1006. Model metric comparator 1006 can utilize both the newly constructed EPM and the existing EPM and can switch between them as needed improve quality of energy predictions.”;) Regarding claim 3 The combination of Bergstra, Tu, Murugesan teaches claim 2. Bergstra further teaches wherein the plurality of ML algorithms are selected for training based on an optimization function for the past performances. (Bergstra [fig(s) 1] “Hyeropt-Sklearns full search space (‘any classifier’) consists of a (preprocessing, classsifier) pair. There are six possible preprocessing modules and six possible classifiers. Choosing a model within this configuration space means choosing paths in an ancestral sampling process.” [sec(s) Getting started with hyperopt] “This section introduces basic usage of the hyperopt.fmin function, which is Hyperopt’s basic optimization driver. We will look at how to write an objective function that fmin can optimize, and how to describe a configuration space that fmin can search. … To summarize, these are the steps to using Hyperopt: (1) implement an objective function that maps configuration points to a real-valued loss value, (2) define a configuration space of valid configuration points, and then (3) call fmin to search the space to optimize the objective function.” [sec(s) Scikit-learn model selection as a search problem] “Model selection is the process of estimating which machine learning model performs best from among a possibly infinite set of possibilities. … In this paper we discuss solving it with the Hyperopt optimization library. The basic approach is to set up a search space with random variable hyperparameters, use Scikit-learn to implement the objective function that performs model training and model validation, and use Hyperopt to optimize the hyperparamters.”; e.g., “Parallel search can be done with the same objective functions as the ones used for sequential search, but users wishing to take advantage of asynchronous evaluation in the parallel case can do so by using a lower-level calling convention for their objective function” along with “six possible classifiers” read(s) on “algorithms”. Furthermore, e.g., “hyperopt.fmin function, which is Hyperopt’s basic optimization driver” along with “fit method” and “Estimator class” which sets different algorithms read(s) on “optimization function”.) Regarding claim 4 The combination of Bergstra, Tu, Murugesan teaches claim 2. wherein deploying the one of the first ML model or the second ML model comprises (see the rejections of claim 1) Bergstra further teaches determine, based on [meeting or exceeding] the threshold metric, to output the first ML model as the final ML model in the production computing environment. (Bergstra [fig(s) 2] “For each data set, searching the full configuration space (‘any classifier’) delivered performance approximately on par with a search that was restricted to the best classifier type. (Best viewed in color.)” [sec(s) Example usage] “Following Scikit-learn’s convention, Hyperopt-Sklearn provides an Estimator class with a fit method and a predict method. The fit method of this class performs hyperparameter optimization, and after it has completed, the predict method applies the best model to test data. Each evaluation during optimization performs training on a large fraction of the training set, estimates test set accuracy on a validation set and returns that validation set score to the optimizer. At the end of search, the best configuration is retrained on the whole data set to produce the classifier that handles subsequent predict calls.” [sec(s) Experiments] “Figure 2 shows that there was no penalty for searching broadly. We performed optimization runs of up to 300 function evaluations searching the entire space, and compared the quality of solution with specialized searches of specific classifier types (including best known classifiers).” PNG media_image1.png 554 824 media_image1.png Greyscale ; e.g., “Report the accuracy of the classifier” read(s) on “metric”. In addition, e.g., “searching the full configuration space (‘any classifier’) delivered performance approximately on par with a search that was restricted to the best classifier type” and “best known classifiers” read(s) on “threshold metric”. Furthermore, Bergstra does not appear to explicitly teach but suggests “meeting or exceeding” based on e.g., “searching the full configuration space (‘any classifier’) delivered performance approximately on par with a search that was restricted to the best classifier type” and “best known classifiers”.) Tu teaches determine, based on meeting or exceeding the threshold metric, to output the first ML model as the final ML model in the production computing environment. (Tu [fig(s) 2-5] “The number of trials required by each method to reach a certain performance threshold. The NE algorithm being tuned is DeepWalk. The vertical dash line marks the conjectured performance when the number of trials is unlimited.” [sec(s) 4] “we can see from Figure 3 that our framework takes much fewer trials to find a good hyperparameter configuration, which demonstrates that our framework is more capable of handling large-scale networks on a limited time budget.”;) The combination of Bergstra, Tu, Murugesan is combinable with Tu for the same rationale as set forth above with respect to claim 2. Regarding claim 5 The combination of Bergstra, Tu, Murugesan teaches claim 2. Bergstra further teaches determine, based on [failing to meet or exceed] the threshold metric, to retrain the first ML model using one of a different ML model platform or different parameters for the one of the plurality of ML algorithms used to train the first ML model. (Bergstra [fig(s) 1] [fig(s) 2] “For each data set, searching the full configuration space (‘any classifier’) delivered performance approximately on par with a search that was restricted to the best classifier type. (Best viewed in color.)” [sec(s) Getting started with hyperopt] “Later, the section ‘Trial results: more than just the loss’ will explain how to use the trials database to analyze the results of a search and the section Parallel Evaluation with a Cluster will explain how to use parallel computation to search faster.” [sec(s) Parallel evaluation with a cluster] “Hyperopt has been designed to make use of a cluster of computers for faster search. … Parallel search can be done with the same objective functions as the ones used for sequential search, but users wishing to take advantage of asynchronous evaluation in the parallel case can do so by using a lower-level calling convention for their objective function.” [sec(s) Example usage] “The fit method of this class performs hyperparameter optimization, and after it has completed, the predict method applies the best model to test data. Each evaluation during optimization performs training on a large fraction of the training set, estimates test set accuracy on a validation set and returns that validation set score to the optimizer. [sec(s) Experiments] “Figure 2 shows that there was no penalty for searching broadly. We performed optimization runs of up to 300 function evaluations searching the entire space, and compared the quality of solution with specialized searches of specific classifier types (including best known classifiers).” PNG media_image1.png 554 824 media_image1.png Greyscale ; e.g., “Report the accuracy of the classifier” read(s) on “metric”. In addition, e.g., “searching the full configuration space (‘any classifier’) delivered performance approximately on par with a search that was restricted to the best classifier type” and “best known classifiers” read(s) on “threshold metric”. Furthermore, Bergstra does not appear to explicitly teach but suggests “meet or exceed” based on e.g., “searching the full configuration space (‘any classifier’) delivered performance approximately on par with a search that was restricted to the best classifier type” and “best known classifiers”.) Tu further teaches determine, based on failing to meet or exceed the threshold metric, to retrain the first ML model using one of a different ML model platform or different parameters for the one of the plurality of ML algorithms used to train the first ML model. (Tu [fig(s) 2-5] “The number of trials required by each method to reach a certain performance threshold. The NE algorithm being tuned is DeepWalk. The vertical dash line marks the conjectured performance when the number of trials is unlimited.” [sec(s) 4] “we can see from Figure 3 that our framework takes much fewer trials to find a good hyperparameter configuration, which demonstrates that our framework is more capable of handling large-scale networks on a limited time budget.”;) The combination of Bergstra, Tu, Murugesan is combinable with Tu for the same rationale as set forth above with respect to claim 2. Regarding claim 6 The combination of Bergstra, Tu, Murugesan teaches claim 2. Bergstra further teaches wherein the plurality of ML algorithms comprise at least one of a neural network, a recurrent neural network, a gradient boosted tree, a logistic regression, or a random forest. (Bergstra [fig(s) 1] “Hyeropt-Sklearns full search space (‘any classifier’) consists of a (preprocessing, classsifier) pair. There are six possible preprocessing modules and six possible classifiers. Choosing a model within this configuration space means choosing paths in an ancestral sampling process. The highlighted green edges and nodes represent a (PCA, K-Nearest Neighbor) model. The number of active hyperparameters in a model is the sum of parenthetical numbers in the selected boxes. For the PCA + KNN combination, seven hyperparameters are activated.” [sec(s) Scikit-learn model selection as a search problem] “The classification algorithms were (by class name (used + unused hyperparameters)): SVC(23), KNN(4+5), RandomForest(8), ExtraTrees(8), SGD(8 +4), and MultinomialNB(2).”;) Regarding claim 9 The combination of Bergstra, Tu, Murugesan teaches claim 2. Bergstra further teaches prior to training each of the plurality of ML models, executing the instructions further causes the system to: identify the plurality of ML algorithms usable to train the plurality of ML models; and (Bergstra [fig(s) 1] [sec(s) Scikit-learn model selection as a search problem] “Model selection is the process of estimating which machine learning model performs best from among a possibly infinite set of possibilities. … In this paper we discuss solving it with the Hyperopt optimization library. The basic approach is to set up a search space with random variable hyperparameters, use Scikit-learn to implement the objective function that performs model training and model validation, and use Hyperopt to optimize the hyperparamters. … Hyperopt-Sklearn provides a parameterization of a search space over pipelines, that is, of sequences of preprocessing steps and classifiers. The configuration space we provide includes six preprocessing algorithms and seven classification algorithms. The full search space is illustrated in figure 1. … The classification algorithms were (by class name (used + unused hyperparameters)): SVC(23), KNN(4+5), RandomForest(8), ExtraTrees(8), SGD(8 +4), and MultinomialNB(2).”; e.g., “The configuration space we provide includes six preprocessing algorithms and seven classification algorithms” read(s) on “identify”.) iteratively select from the plurality of ML algorithms for training each of the plurality of ML models based on past performances of the plurality of ML algorithms from previous training iterations of the set of past ML models. (Bergstra [fig(s) 1] “Hyeropt-Sklearns full search space (‘any classifier’) consists of a (preprocessing, classsifier) pair. There are six possible preprocessing modules and six possible classifiers. Choosing a model within this configuration space means choosing paths in an ancestral sampling process.” [sec(s) Scikit-learn model selection as a search problem] “Model selection is the process of estimating which machine learning model performs best from among a possibly infinite set of possibilities. … In this paper we discuss solving it with the Hyperopt optimization library. The basic approach is to set up a search space with random variable hyperparameters, use Scikit-learn to implement the objective function that performs model training and model validation, and use Hyperopt to optimize the hyperparamters. … Hyperopt-Sklearn provides a parameterization of a search space over pipelines, that is, of sequences of preprocessing steps and classifiers. The configuration space we provide includes six preprocessing algorithms and seven classification algorithms. The full search space is illustrated in figure 1. … The classification algorithms were (by class name (used + unused hyperparameters)): SVC(23), KNN(4+5), RandomForest(8), ExtraTrees(8), SGD(8 +4), and MultinomialNB(2).” [sec(s) Example usage] “Following Scikit-learn’s convention, Hyperopt-Sklearn provides an Estimator class with a fit method and a predict method. The fit method of this class performs hyperparameter optimization, and after it has completed, the predict method applies the best model to test data. Each evaluation during optimization performs training on a large fraction of the training set, estimates test set accuracy on a validation set and returns that validation set score to the optimizer.”; e.g., “estimating which machine learning model performs best” along with fig 1 read(s) on “select”. In addition, e.g., “Parallel search can be done with the same objective functions as the ones used for sequential search, but users wishing to take advantage of asynchronous evaluation in the parallel case can do so by using a lower-level calling convention for their objective function” along with “six possible classifiers” and hyperparameters read(s) on “models”. Note that Komer et al. (Hyperopt-Sklearn: Automatic Hyperparameter Configuration for Scikit-Learn) teaches an example of HyperoptEstimator class setting different algorithms in [sec(s) Example Usage].) Regarding claim 10 The combination of Bergstra, Tu, Murugesan teaches claim 2. Bergstra further teaches wherein prior to comparing the plurality of model performance metrics to the plurality of past model performance metrics, executing the instructions further causes the system to: calculate the plurality of model performance metrics of the plurality of ML models once trained. (Bergstra [fig(s) 1] “Hyeropt-Sklearns full search space (‘any classifier’) consists of a (preprocessing, classsifier) pair. There are six possible preprocessing modules and six possible classifiers. Choosing a model within this configuration space means choosing paths in an ancestral sampling process.” [sec(s) Scikit-learn model selection as a search problem] “Model selection is the process of estimating which machine learning model performs best from among a possibly infinite set of possibilities. … In this paper we discuss solving it with the Hyperopt optimization library. The basic approach is to set up a search space with random variable hyperparameters, use Scikit-learn to implement the objective function that performs model training and model validation, and use Hyperopt to optimize the hyperparamters. … Hyperopt-Sklearn provides a parameterization of a search space over pipelines, that is, of sequences of preprocessing steps and classifiers. The configuration space we provide includes six preprocessing algorithms and seven classification algorithms. The full search space is illustrated in figure 1. … The classification algorithms were (by class name (used + unused hyperparameters)): SVC(23), KNN(4+5), RandomForest(8), ExtraTrees(8), SGD(8 +4), and MultinomialNB(2).” [sec(s) Example usage] “Following Scikit-learn’s convention, Hyperopt-Sklearn provides an Estimator class with a fit method and a predict method. The fit method of this class performs hyperparameter optimization, and after it has completed, the predict method applies the best model to test data. Each evaluation during optimization performs training on a large fraction of the training set, estimates test set accuracy on a validation set and returns that validation set score to the optimizer.”; e.g., “Report the accuracy of the classifier” read(s) on “model performance metric”. e.g., “estimating which machine learning model performs best” along with fig 1 read(s) on “comparing”. In addition, e.g., “Parallel search can be done with the same objective functions as the ones used for sequential search, but users wishing to take advantage of asynchronous evaluation in the parallel case can do so by using a lower-level calling convention for their objective function” along with “six possible classifiers” and hyperparameters read(s) on “models”. Note that Komer et al. (Hyperopt-Sklearn: Automatic Hyperparameter Configuration for Scikit-Learn) teaches an example of HyperoptEstimator class setting different algorithms in [sec(s) Example Usage].) Regarding claim 11 Bergstra teaches A method, comprising: calculating a model performance metric of a machine learning (ML) model, wherein the ML model is trained using training data and a selected one of a plurality of ML algorithms, wherein the ML model is trained based on an iterative selection of a plurality of ML models associated with the plurality of ML algorithms in accordance with a hierarchy of available ML model configurations for the plurality of ML models; (Bergstra [fig(s) 1] “Hyeropt-Sklearns full search space (‘any classifier’) consists of a (preprocessing, classsifier) pair. There are six possible preprocessing modules and six possible classifiers. Choosing a model within this configuration space means choosing paths in an ancestral sampling process.” [sec(s) Getting started with hyperopt] “Assigning the algo keyword argument to hyperopt.fmin is recommended way to choose a search algorithm. Currently supported search algorithms are random search (hyperopt. rand.suggest), annealing (hyperopt.anneal.suggest), and TPE (hyperopt. tpe.suggest).” [sec(s) Scikit-learn model selection as a search problem] “Model selection is the process of estimating which machine learning model performs best from among a possibly infinite set of possibilities. … In this paper we discuss solving it with the Hyperopt optimization library. The basic approach is to set up a search space with random variable hyperparameters, use Scikit-learn to implement the objective function that performs model training and model validation, and use Hyperopt to optimize the hyperparamters.” [sec(s) Example usage] “The fit method of this class performs hyperparameter optimization, and after it has completed, t
Read full office action

Prosecution Timeline

Dec 29, 2023
Application Filed
Jul 24, 2024
Non-Final Rejection — §103, §112
Oct 11, 2024
Interview Requested
Oct 25, 2024
Examiner Interview Summary
Oct 25, 2024
Applicant Interview (Telephonic)
Oct 30, 2024
Response Filed
Dec 13, 2024
Final Rejection — §103, §112
Feb 06, 2025
Interview Requested
Feb 13, 2025
Applicant Interview (Telephonic)
Feb 14, 2025
Examiner Interview Summary
Mar 26, 2025
Request for Continued Examination
Mar 31, 2025
Response after Non-Final Action
May 21, 2025
Non-Final Rejection — §103, §112
Aug 05, 2025
Interview Requested
Aug 11, 2025
Applicant Interview (Telephonic)
Aug 11, 2025
Examiner Interview Summary
Aug 27, 2025
Response Filed
Sep 13, 2025
Final Rejection — §103, §112
Apr 01, 2026
Response after Non-Final Action

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12602606
APPARATUSES, COMPUTER-IMPLEMENTED METHODS, AND COMPUTER PROGRAM PRODUCTS FOR IMPROVED GLOBAL QUBIT POSITIONING IN A QUANTUM COMPUTING ENVIRONMENT
2y 5m to grant Granted Apr 14, 2026
Patent 12541722
MACHINE LEARNING TECHNIQUES FOR VALIDATING AND MUTATING OUTPUTS FROM PREDICTIVE SYSTEMS
2y 5m to grant Granted Feb 03, 2026
Patent 12488263
METHODS AND APPARATUS FOR TIME-SERIES FORECASTING USING DEEP LEARNING MODELS OF A DEEP BELIEF NETWORK WITH QUANTUM COMPUTING
2y 5m to grant Granted Dec 02, 2025
Patent 12450514
Low Overhead Quantum Computation Using Lattice Surgery
2y 5m to grant Granted Oct 21, 2025
Patent 12430589
CROSS-HIERARCHICAL MACHINE LEARNING PREDICTION
2y 5m to grant Granted Sep 30, 2025
Study what changed to get past this examiner. Based on 5 most recent grants.

AI Strategy Recommendation

Get an AI-powered prosecution strategy using examiner precedents, rejection analysis, and claim mapping.
Powered by AI — typically takes 5-10 seconds

Prosecution Projections

5-6
Expected OA Rounds
60%
Grant Probability
88%
With Interview (+28.1%)
4y 0m
Median Time to Grant
High
PTA Risk
Based on 144 resolved cases by this examiner. Grant probability derived from career allow rate.

Sign in for Full Analysis

Enter your email to receive a magic link. No password needed.

Free tier: 3 strategy analyses per month