IP Library Granted Patent US 12682015
Granted Patent B2
US 12682015 · App. 17/190,972 · Granted Jul 14, 2026

Ensemble voting classifiers using adjusted thresholds

Inventor: Aviad Zlotnick (Mitzpeh Netofah, IL)
Assignee: International Business Machines Corporation
G06F18/241G06N20/20
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12682015
App. No.
17/190,972
Granted
Jul 14, 2026
Kind
B2
Abstract

An example system includes a processor to receive training data used to train an ensemble voting classifier. For each classifier in the ensemble voting classifier, the processor can also set a classification score of a positive training item as a threshold. The processor can further adjust a threshold of at least one of the classifiers based on an analysis of a vote contribution of each classifier on the votes on the training data. The threshold of the at least one of the classifiers is adjusted to increase a voting specificity without impacting sensitivity with respect to the training data.

Claims (66)

1 . A computer-implemented method for controlling both voting sensitivity and classifier specificity, the method comprising:

receiving training data;

generating a threshold table including a sorted list of thresholds for each of a number of classifiers in an ensemble voting classifier;

setting an index into the threshold table to set a threshold for each of a plurality of classifiers in the ensemble voting classifier;

adjusting thresholds of the plurality of classifiers based on an analysis of a vote contribution of each classifier of the plurality of classifiers on votes on the training data to increase specificity of each classifier without impacting voting sensitivity with respect to the training data;

computing a vote for training items in the training data using current thresholds as pointed by the threshold table;

freezing classifiers that vote correctly for positive items having a sum of positive votes one more vote greater than a sum of negative votes;

ranking non-frozen classifiers by a number of false positives in a vote in descending order in response to the plurality of classifiers not being frozen;

generating initial thresholds for a threshold index using a genetic algorithm, wherein the genetic algorithm generates random lists of integers for the initial thresholds, evaluates sensitivity and specificity and selects a top k number of integers to use for the initial thresholds, wherein the genetic algorithm finds an optimal combination of indices in a threshold list of the threshold table;

updating the threshold index for a classifier of the plurality of classifiers in response to there being a threshold index increment that increases a threshold enough to fix at least one false positive;

receiving input data at the ensemble voting classifier, wherein the ensemble voting classifier comprises a number of classifiers with thresholds adjusted to increase specificity without impacting sensitivity of the plurality of classifiers with respect to the training data; and

generating a final score based on output of the classifiers with adjusted thresholds that achieve maximal classifier specificity in a given voting sensitivity.

2 . The computer-implemented method as recited in claim 1 further comprising:

outputting adjusted thresholds and initially frozen thresholds for an ensemble of classifiers in response to the threshold index increment not increasing a threshold to fix at least one false positive.

3 . The computer-implemented method as recited in claim 1 further comprising:

outputting adjusted thresholds and initially frozen thresholds for an ensemble of classifiers in response to having all classifiers of the plurality of classifiers being frozen.

4 . The computer-implemented method as recited in claim 1 further comprising:

iteratively adjusting thresholds for each of the plurality of classifiers in the ensemble voting classifier.

5 . The computer-implemented method as recited in claim 1 , wherein training data comprises a set of mammograms comprising x-ray scans including one or more tumors to be classified along with labels indicating whether the one or more tumors are cancerous or benign growths.

6 . The computer-implemented method as recited in claim 1 , wherein the training data is used to train classifiers.

7 . The computer-implemented method as recited in claim 1 further comprising:

adjusting the threshold index of each classifier of the plurality of classifiers to increase specificity of each classifier without impacting voting sensitivity with respect to the training data.

8 . A computer program product for controlling both voting sensitivity and classifier specificity, the computer program product comprising one or more computer readable storage mediums having program code embodied therewith, the program code comprising programming instructions for:

receiving training data;

generating a threshold table including a sorted list of thresholds for each of a number of classifiers in an ensemble voting classifier;

setting an index into the threshold table to set a threshold for each of a plurality of classifiers in the ensemble voting classifier;

adjusting thresholds of the plurality of classifiers based on an analysis of a vote contribution of each classifier of the plurality of classifiers on votes on the training data to increase specificity of each classifier without impacting voting sensitivity with respect to the training data;

computing a vote for training items in the training data using current thresholds as pointed by the threshold table;

freezing classifiers that vote correctly for positive items having a sum of positive votes one more vote greater than a sum of negative votes;

ranking non-frozen classifiers by a number of false positives in a vote in descending order in response to the plurality of classifiers not being frozen;

generating initial thresholds for a threshold index using a genetic algorithm, wherein the genetic algorithm generates random lists of integers for the initial thresholds, evaluates sensitivity and specificity and selects a top k number of integers to use for the initial thresholds, wherein the genetic algorithm finds an optimal combination of indices in a threshold list of the threshold table;

updating the threshold index for a classifier of the plurality of classifiers in response to there being a threshold index increment that increases a threshold enough to fix at least one false positive;

receiving input data at the ensemble voting classifier, wherein the ensemble voting classifier comprises a number of classifiers with thresholds adjusted to increase specificity without impacting sensitivity of the plurality of classifiers with respect to the training data; and

generating a final score based on output of the classifiers with adjusted thresholds that achieve maximal classifier specificity in a given voting sensitivity.

9 . The computer program product as recited in claim 8 , wherein the program code further comprises the programming instructions for:

outputting adjusted thresholds and initially frozen thresholds for an ensemble of classifiers in response to the threshold index increment not increasing a threshold to fix at least one false positive.

10 . The computer program product as recited in claim 8 , wherein the program code further comprises the programming instructions for:

outputting adjusted thresholds and initially frozen thresholds for an ensemble of classifiers in response to having all classifiers of the plurality of classifiers being frozen.

11 . The computer program product as recited in claim 8 , wherein the program code further comprises the programming instructions for:

iteratively adjusting thresholds for each of the plurality of classifiers in the ensemble voting classifier.

12 . The computer program product as recited in claim 8 , wherein training data comprises a set of mammograms comprising x-ray scans including one or more tumors to be classified along with labels indicating whether the one or more tumors are cancerous or benign growths.

13 . The computer program product as recited in claim 8 , wherein the training data is used to train classifiers.

14 . The computer program product as recited in claim 8 , wherein the program code further comprises the programming instructions for:

adjusting a threshold index of each classifier of the plurality of classifiers to increase specificity of each classifier without impacting voting sensitivity with respect to the training data.

15 . A system, comprising:

a memory for storing a computer program for controlling both voting sensitivity and classifier specificity; and

a processor connected to said memory, wherein said processor is configured to execute program instructions of the computer program comprising:

receiving training data;

generating a threshold table including a sorted list of thresholds for each of a number of classifiers in an ensemble voting classifier;

setting an index into the threshold table to set a threshold for each of a plurality of classifiers in the ensemble voting classifier;

adjusting thresholds of the plurality of classifiers based on an analysis of a vote contribution of each classifier of the plurality of classifiers on votes on the training data to increase specificity of each classifier without impacting voting sensitivity with respect to the training data;

computing a vote for training items in the training data using current thresholds as pointed by the threshold table;

freezing classifiers that vote correctly for positive items having a sum of positive votes one more vote greater than a sum of negative votes;

ranking non-frozen classifiers by a number of false positives in a vote in descending order in response to the plurality of classifiers not being frozen;

generating initial thresholds for a threshold index using a genetic algorithm, wherein the genetic algorithm generates random lists of integers for the initial thresholds, evaluates sensitivity and specificity and selects a top k number of integers to use for the initial thresholds, wherein the genetic algorithm finds an optimal combination of indices in a threshold list of the threshold table;

updating the threshold index for a classifier of the plurality of classifiers in response to there being a threshold index increment that increases a threshold enough to fix at least one false positive;

receiving input data at the ensemble voting classifier, wherein the ensemble voting classifier comprises a number of classifiers with thresholds adjusted to increase specificity without impacting sensitivity of the plurality of classifiers with respect to the training data; and

generating a final score based on output of the classifiers with adjusted thresholds that achieve maximal classifier specificity in a given voting sensitivity.

16 . The system as recited in claim 15 , wherein the program instructions of the computer program further comprise:

outputting adjusted thresholds and initially frozen thresholds for an ensemble of classifiers in response to the threshold index increment not increasing a threshold to fix at least one false positive.

17 . The system as recited in claim 15 , wherein the program instructions of the computer program further comprise:

outputting adjusted thresholds and initially frozen thresholds for an ensemble of classifiers in response to having all classifiers of the plurality of classifiers being frozen.

18 . The system as recited in claim 15 , wherein the program instructions of the computer program further comprise:

iteratively adjusting thresholds for each of the plurality of classifiers in the ensemble voting classifier.

19 . The system as recited in claim 15 , wherein training data comprises a set of mammograms comprising x-ray scans including one or more tumors to be classified along with labels indicating whether the one or more tumors are cancerous or benign growths.

20 . The system as recited in claim 15 , wherein the training data is used to train classifiers.