DCT

6:22-cv-00356

Health Discovery Corporation v. Intel Corporation

I. Executive Summary and Procedural Information

  • Parties & Counsel:
  • Case Identification: 6:22-cv-00356, W.D. Tex., 04/04/2022
  • Venue Allegations: Plaintiff alleges venue is proper based on Defendant's multiple places of business within the Western District of Texas, including offices in Austin.
  • Core Dispute: Plaintiff alleges that Defendant’s software toolkits and associated processors infringe four patents related to a machine learning method known as Support Vector Machine-Recursive Feature Elimination (SVM-RFE).
  • Technical Context: The technology at issue is a method for improving the accuracy and efficiency of machine learning classifiers by systematically identifying and selecting the most relevant features from large, complex datasets.
  • Key Procedural History: The complaint details a decade-long dispute between the parties, including a successful interference proceeding at the Patent Trial and Appeal Board (PTAB) where Plaintiff was declared the senior party for the SVM-RFE invention, leading to the cancellation of a similar Intel patent. Plaintiff also notes that Defendant is currently attempting to invalidate the patents-in-suit in separate Inter Partes Review (IPR) proceedings.

Case Timeline

Date Event
2000-03-22 Earliest Priority Date for all Patents-in-Suit
2006-10-03 U.S. Patent No. 7,117,188 Issues
2009-06-02 U.S. Patent No. 7,542,959 Issues
2010-11-11 HDC seeks to provoke interference with Intel's Patent No. 7,685,077
2011-10-03 HDC files request for reexamination of Intel's '077 patent
2012-01-10 U.S. Patent No. 8,095,483 Issues
2012-01-11 Accused Scikit-learn RFE functionality publicly available
2016-09-19 Declaration of Interference filed with the PTAB
2017-01-23 Intel concedes to the PTAB that HDC has priority over the invention
2019-02-27 HDC wins the interference proceeding
2019-09-03 U.S. Patent No. 10,402,685 Issues
2021-02-27 Intel files IPR petitions against the HDC patents
2022-04-04 Complaint Filed

II. Technology and Patent(s)-in-Suit Analysis

U.S. Patent No. 7,117,188 - "Methods of Identifying Patterns in Biological Systems and Uses Thereof"

  • Patent Identification: U.S. Patent No. 7,117,188, "Methods of Identifying Patterns in Biological Systems and Uses Thereof," issued October 3, 2006.

The Invention Explained

  • Problem Addressed: The patent addresses the problem of "overfitting" in machine learning classifiers like Support Vector Machines (SVMs), a phenomenon where a model learns the training data too well, including its noise, and consequently fails to generalize to new, unseen data. This is particularly challenging when the number of features in a dataset (e.g., genes) is much larger than the number of examples (e.g., patients) (Compl. ¶32; ’188 Patent, col. 25:29-37).
  • The Patented Solution: The invention proposes a computer-implemented method called Recursive Feature Elimination (RFE) to improve an SVM. The method works by iteratively training the SVM on a dataset, ranking the importance of each feature based on its weight in the classifier's decision function, eliminating the feature(s) with the lowest rank, and repeating the process until an optimal, reduced set of features remains (Compl. ¶35; ’188 Patent, col. 29:28-59). The general process is depicted in the complaint's reproduction of Figure 2 from the patent (Compl. p. 14).
  • Technical Importance: This technique provided a systematic method to reduce the dimensionality of complex datasets, which helps to decrease computational cost and improve the predictive performance of the model by focusing only on the most informative variables (Compl. ¶36).

Key Claims at a Glance

  • The complaint asserts independent claim 1 and dependent claims 2-23 (Compl. ¶79).
  • Independent Claim 1 requires the following essential method steps:
    • inputting a training set into a support vector machine (SVM) with a decision function having a plurality of weights;
    • optimizing the plurality of weights to minimize classifier error;
    • computing ranking criteria using the optimized plurality of weights;
    • eliminating at least one feature corresponding to the smallest ranking criterion;
    • repeating the preceding steps for a plurality of iterations until a subset of features of a pre-determined size remains; and
    • inputting a live set of data into the SVM wherein the features are selected according to the final subset.
  • The complaint asserts all claims 1-23 of the patent (Compl. ¶79).

U.S. Patent No. 7,542,959 - "Feature Selection Method Using Support Vector Machine Classifier"

  • Patent Identification: U.S. Patent No. 7,542,959, "Feature Selection Method Using Support Vector Machine Classifier," issued June 2, 2009.

The Invention Explained

  • Problem Addressed: The patent addresses the challenge of identifying a "determinative subset of features" from a large dataset, particularly in contexts like biological data where the number of features far exceeds the number of samples. This imbalance creates a high risk of "overfitting," where a classifier models random noise instead of the true underlying patterns, leading to poor predictive accuracy on new data (’959 Patent, col. 26:20-33).
  • The Patented Solution: The invention is a computer-implemented method that recursively refines a feature set. The process involves training an SVM classifier, ranking features based on their weight values, removing the lowest-ranked feature(s), training a new classifier on the reduced feature set, and repeating this cycle. The process concludes by generating a report that lists the final, determinative subset of features (’959 Patent, Abstract; col. 27:32-47).
  • Technical Importance: The method provides a concrete process for improving classifier performance by systematically reducing feature space, thereby mitigating overfitting and identifying the most critical variables for a given classification task (’959 Patent, col. 26:34-44).

Key Claims at a Glance

  • The complaint asserts independent claims 1, 12, and 16, as well as dependent claims 5, 6, and 10 (Compl. ¶119).
  • Independent Claim 1 requires the following essential method steps for identifying a determinative subset of features:
    • inputting data into a computer processor programmed for executing SVM classifiers;
    • training an SVM classifier with a training data set;
    • ranking the features according to their corresponding weight values;
    • removing one or more features corresponding to the smallest weight values;
    • training a new classifier with the remaining features;
    • repeating the ranking, removing, and training steps for a plurality of iterations until a final subset remains; and
    • generating at a printer or display device a report comprising a listing of the features in the final subset.
  • The complaint also asserts computer program product (claim 12) and apparatus (claim 16) claims of similar scope (Compl. ¶119).

U.S. Patent No. 8,095,483 - "Support Vector Machine – Recursive Feature Elimination (SVM-RFE)"

  • Patent Identification: U.S. Patent No. 8,095,483, "Support Vector Machine – Recursive Feature Elimination (SVM-RFE)," issued January 10, 2012.
  • Technology Synopsis: The patent addresses the problem of selecting an optimal subset of features for a classifier from a large initial set (’483 Patent, col. 2:35-51). The solution is a computer-implemented method that trains an SVM, computes a ranking for each feature based on the estimated effect its removal would have on a cost function, and recursively eliminates the lowest-ranked features until a determinative subset remains (’483 Patent, Abstract).
  • Asserted Claims: Independent claims 1, 7, 13, 18, 22, and 32 are asserted, among others (Compl. ¶177.A).
  • Accused Features: The complaint alleges that Intel’s software products, by including the Scikit-learn library, provide the functionality to perform the claimed method of recursively eliminating features based on a computed ranking criterion derived from an SVM (Compl. ¶59, 141).

U.S. Patent No. 10,402,685 - "Recursive Feature Elimination Method Using Support Vector Machines"

  • Patent Identification: U.S. Patent No. 10,402,685, "Recursive Feature Elimination Method Using Support Vector Machines," issued September 3, 2019.
  • Technology Synopsis: The patent addresses the technical challenge of identifying a determinative subset of features from a larger group (’685 Patent, col. 2:48-54). The invention involves training an SVM, determining a value for each feature, and then recursively eliminating features with the minimum ranking criterion while updating a kernel matrix based on the remaining features, repeating the process until a final feature list is generated (’685 Patent, Abstract).
  • Asserted Claims: All claims 1-23 are asserted (Compl. ¶177.A).
  • Accused Features: Intel’s software products are accused of implementing the claimed method via the Scikit-learn library, which allegedly performs the steps of recursively eliminating features and recognizing new data using the generated feature ranking (Compl. ¶59, 169).

III. The Accused Instrumentality

  • Product Identification: The accused instrumentalities are software products including oneAPI, oneAPI AI Analytics Toolkit, Data Analytics Library (DAL or oneDAL), daal4py, and DevCloud, as well as the processors (e.g., Xeon, Core, and Atom families) that execute this software (Compl. ¶59, 65).
  • Functionality and Market Context: The accused products are software development tools and libraries that Intel provides to data scientists and AI developers to "accelerate end-to-end data science and analytics pipelines on Intel® architectures" (Compl. ¶61). A core allegation is that these toolkits include and integrate with the open-source Scikit-learn library, which contains a class for performing Recursive Feature Elimination ("sklearn.feature_selection.RFE") (Compl. ¶57, 61). Intel allegedly also provides an "Intel Extension for Scikit-learn" that patches the stock library with Intel-optimized versions to improve performance (Compl. ¶63). The complaint includes a screenshot from Intel's website for the oneAPI AI Analytics Toolkit showing that it provides "drop-in acceleration for... scikit-learn" (Compl. p. 35).

IV. Analysis of Infringement Allegations

U.S. Patent No. 7,117,188 Infringement Allegations

Claim Element (from Independent Claim 1) Alleged Infringing Functionality Complaint Citation Patent Citation
(a) inputting into at least one support vector machine...a training set...the at least one support vector machine comprising a decision function having a plurality of weights... Intel's accused products use the Scikit-learn library's RFE class, which takes an SVM classifier as an input and is trained on a dataset ("rfe.fit(X, y)"). ¶57, 81 col. 75:36-44
(b) optimizing the plurality of weights so that classifier error is minimized; The RFE process first trains the provided SVM on the initial feature set to determine the importance of each feature, which constitutes the weight optimization. ¶58, 81 col. 75:45-46
(c) computing ranking criteria using the optimized plurality of weights; The Scikit-learn RFE function uses the weights assigned to features by the trained SVM to rank their importance. ¶58, 81 col. 75:47-48
(d) eliminating at least one feature corresponding to the smallest ranking criterion; The Scikit-learn RFE documentation states that "the least important features are pruned from current set of features." ¶58, 81 col. 75:49-50
(e) repeating steps (a) through (d) for a plurality of iterations until a subset of features of pre-determined size remains; The Scikit-learn RFE process is described as recursively repeating the pruning procedure until a desired number of features is reached. ¶58, 81 col. 75:51-53
(f) inputting into the at least one support vector machine a live set of data wherein the features within the live set are selected according to the subset of features. Once trained, the RFE object and its underlying refined SVM are used to make predictions on new data using only the selected features. ¶81 col. 75:54-55

U.S. Patent No. 7,542,959 Infringement Allegations

Claim Element (from Independent Claim 1) Alleged Infringing Functionality Complaint Citation Patent Citation
identifying a determinative subset of features that are most correlated to the patterns comprising: (a) inputting the data into a computer processor programmed for executing support vector machine classifiers; The accused software products are executed on Intel processors and are programmed to run SVM classifiers via the Scikit-learn library. ¶59, 86, 116 col. 59:58-60
(b) training a support vector machine classifier with a training data set...wherein the classifier comprises weights having weight values... The Scikit-learn RFE class takes an SVM classifier and is trained on a dataset ("rfe.fit(X, y)"), which generates weights for the features. ¶57, 116 col. 59:61-60:4
(c) ranking the features according to their corresponding weight values; The RFE process ranks features based on the importance derived from the weights of the trained SVM. ¶58, 116 col. 60:5-7
(d) removing one or more features corresponding to the smallest weight values; The Scikit-learn documentation states that "the least important features are pruned from current set of features." ¶58, 116 col. 60:8-10
(e) training a new classifier with the remaining features; The recursive process involves retraining the classifier on the reduced set of features in subsequent iterations. ¶58, 116 col. 60:11-12
(f) repeating steps (c) through (e) for a plurality of iterations until a final subset having a pre-determined number of features remains; The procedure is described as being "recursively repeated on the pruned set until the desired number of features to select is eventually reached." ¶58, 116 col. 60:13-16
generating at a printer or display device a report comprising a listing of the features in the final subset... The Scikit-learn RFE function generates a ranking of features that can be outputted and displayed, as shown in a sample heatmap provided in the complaint. The heatmap shows a "Ranking of pixels with RFE." (Compl. p. 33). ¶58, 116 col. 60:17-23
  • Identified Points of Contention:
    • Technical Questions: A primary technical question will be whether the specific algorithmic implementation of feature importance and pruning within the open-source Scikit-learn library is functionally identical to the methods recited in the claims. For example, does the process of obtaining feature importance from the trained SVM in Scikit-learn constitute "computing ranking criteria using the optimized plurality of weights" as claimed, or is it a fundamentally different mathematical operation?
    • Scope Questions: A likely point of contention will be the scope of "generating... a report" as required by the ’959 Patent. The question for the court may be whether creating a data array or object containing a feature ranking, which can then be visualized (as shown in Compl. p. 33), meets this limitation, or if the claim requires the direct generation of a human-readable document.

V. Key Claim Terms for Construction

  • The Term: "computing ranking criteria using the optimized plurality of weights" (’188 Patent, Claim 1(c))

  • Context and Importance: This term is at the heart of the invention, defining how features are ranked for elimination. The outcome of the case may depend on whether the specific methods used by the Scikit-learn library to determine feature importance fall within the scope of this term. Practitioners may focus on this term because the defendant could argue that Scikit-learn's method for deriving feature importance is more complex than or different from a direct use of the classifier's "weights."

  • Intrinsic Evidence for Interpretation:

    • Evidence for a Broader Interpretation: The specification describes the technique as one "to use the weights of a classifier to produce a feature ranking with an SVM" (’188 Patent, col. 28:14-16), suggesting that any ranking method based on the classifier's trained weights could be covered.
    • Evidence for a Narrower Interpretation: A specific embodiment and pseudocode sequence in the patent describes the ranking criteria as the square of the weight values (c_i=(w_i)^2) (’188 Patent, col. 29:28-59). A defendant may argue this disclosure limits the claim to rankings based directly on the magnitude of the weights themselves.
  • The Term: "eliminating at least one feature corresponding to the smallest ranking criterion" (’188 Patent, Claim 1(d))

  • Context and Importance: This term defines the recursive step of the claimed process. Its construction is critical because the Scikit-learn library allows for eliminating a single feature or a "step" of multiple features at once. Whether eliminating a block of low-ranked features is equivalent to eliminating the feature with the "smallest" criterion will be a key issue.

  • Intrinsic Evidence for Interpretation:

    • Evidence for a Broader Interpretation: The claim language "at least one" suggests that removing more than one feature is contemplated. The specification supports this by stating that for computational efficiency, it may be preferable "to remove several features at a time" (’188 Patent, col. 37:44-47).
    • Evidence for a Narrower Interpretation: The core inventive concept is described as an iterative procedure of removing the feature with the "smallest ranking criterion" (’188 Patent, col. 37:39-41). The provided pseudocode also specifies finding the single feature corresponding to the "argmin(c)" to eliminate (’188 Patent, col. 29:28-59), which may support an argument that the invention is centered on a one-by-one elimination process.

VI. Other Allegations

  • Indirect Infringement: The complaint alleges inducement of infringement, stating that Intel encourages its customers to use the accused products through promotional materials, instructional guides, and software patches that accelerate the performance of Scikit-learn's SVM-RFE technology (Compl. ¶89, 92-93).
  • Willful Infringement: The complaint alleges willful infringement based on Intel's long-standing knowledge of the patents-in-suit. This knowledge is alleged to stem from as early as May 2008, when Intel cited the ’188 patent in one of its own patent applications, and from direct correspondence with HDC starting in November 2011 (Compl. ¶99). The complaint further supports the willfulness claim by citing the multi-year interference proceeding (2016-2019) in which Intel's own patent on the same technology was cancelled after Intel conceded that HDC's inventors had priority (Compl. ¶100).

VII. Analyst’s Conclusion: Key Questions for the Case

  • A core issue will be one of algorithmic equivalence: Does the implementation of the Recursive Feature Elimination class within the open-source Scikit-learn library, as distributed and promoted by Intel, perform the specific sequence of optimizing, ranking, and eliminating steps as recited in the asserted claims, or is there a fundamental mismatch in the mathematical operations that places the accused functionality outside the claims' scope?
  • A second key question will be one of claim construction and scope: Can the term "computing ranking criteria using the optimized plurality of weights," which is rooted in the patent's description of using squared weight magnitudes, be construed broadly enough to read on the methods for assessing feature importance used in modern, general-purpose machine learning libraries?
  • Given the extensive and contentious history between the parties detailed in the complaint, a central issue beyond liability will be willfulness: Does Intel's alleged infringement following the loss of an interference proceeding at the PTAB—where its own patent on the same technology was cancelled in favor of HDC's inventors—constitute the type of egregious conduct that would justify an award of enhanced damages?