IP Library Granted Patent US 7,533,076
Granted Patent B2
US 7,533,076 · App. 12/050,096 · Granted May 12, 2009

Effective multi-class support vector machine classification

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 7,533,076
App. No.
12/050,096
Granted
May 12, 2009
Kind
B2
Abstract

An improved method of classifying examples into multiple categories using a binary support vector machine (SVM) algorithm. In one preferred embodiment, the method includes the following steps: storing a plurality of user-defined categories in a memory of a computer, analyzing a plurality of training examples for each category so as to identify one or more features associated with each category; calculating at least one feature vector for each of the examples; transforming each of the at least one feature vectors so as reflect information about all of the training examples; and building a SVM classifier for each one of the plurality of categories, wherein the process of building a SVM classifier further includes: assigning each of the examples in a first category to a first class and all other examples belonging to other categories to a second class, wherein if anyone of the examples belongs to another category as well as the first category, such examples are assigned to the first class only, optimizing at least one tunable parameter of a SVM classifier for the first category, wherein the SVM classifier is trained using the first and second classes; and optimizing a function that converts the output of the binary SVM classifier into a probability of category membership.

Claims (319)

1. In a computer-based system, a method of training a multi-category classifier using a binary SVM algorithm, said method comprising:

calculating at least one feature vector for each of a plurality of training examples;

transforming each of said at least one feature vectors using a first mathematical function so as to provide desired information about each of said training examples;

building a SVM classifier for each one of a plurality of categories,

calculating a solution for the SVM classifier for the first category using predetermined initial value(s) for said at least one tunable parameter; and

testing said solution for said first category to determine if the solution is characterized by either over-generalization or over-memorization,

wherein the SVM classifier is used on real world data, the probability of category membership of the real world data being output to at least one of a user, another system, and another process,

wherein whether said SVM classifier solution for said first category is characterized by either over-generalization or over-memorization is based on a difference between a harmonic mean of said first and second estimated probabilities, on the one hand, and an arithmetic mean of said first and second estimated probabilities, on the other hand.

2. The method of claim 1 further comprising determining whether said first category has more than a predetermined number of training examples assigned to it, wherein if the number of training examples assigned to said first category does not exceed said predetermined number, the process of building a SVM classifier for said first category is aborted.

3. The method of claim 1 further comprising testing whether the trained SVM classifier could be optimized, wherein if said SVM classifier could not be optimized, said SVM classifier for said first category is discarded.

4. The method of claim 1 wherein said at least one tunable parameter of said SVM classifier is optimized using a method comprising the steps of:

allocating a subset of the training examples assigned to said first category to a “holdout” set, wherein said subset of training examples are left out of said training step.

5. The method of claim 4 wherein said test to determine whether said SVM classifier solution for said first category is characterized by either over-generalization or over-memorization is based on a relationship between SVM classifier scores s and −s produced by said SVM classifier, the first estimated probability and the second estimated probability having an SVM classifier score s, as provided by probability equations q(C|s) and 1.0−q(C|−s), respectively.

6. The method of claim 4 wherein said at least one tunable parameter comprises two tunable parameters for said SVM classifier, one for a positive class, and one for a negative class.

7. The method of claim 4 wherein said SVM classifier is based on a formulation having two cost factors (one for a positive class, one for a negative class), as follows:

min

[

1

2

i

j

α

i

α

j

y

i

y

j

K

(

x

i

,

x

j

)

-

i

α

i

]

where:

α i is a Lagrange multiplier for example x i ,

y

i

=

{

+

1

,

iff

x

i

is

in

the

positive

class

-

1

,

iff

x

i

is

in

the

negative

class

,

Φ(x) is a function that maps input vectors to feature vectors,

K ( x i , x j )=Φ (xi) ·Φ (xj)

Subject to the constraints:

0

α

i

C

+

,

{

i

|

y

i

=

+

1

}

0

α

i

C

-

,

{

i

|

y

i

=

-

1

}

i

y

i

α

i

=

0

where C + and C − are the two user definable cost factors.

8. The method of claim 4 wherein said SVM classifier is based on a formulation having two cost factors (one for a positive class, one for a negative class), as follows:

min

[

1

/

2

w

2

-

i

α

i

]

where:

α i is a Lagrange multiplier for example x i ,

y

i

=

{

+

1

,

iff

x

i

is

in

the

positive

class

-

1

,

iff

x

i

is

in

the

negative

class

,

Φ (x) is a function that maps input vectors to feature vectors,

w

=

i

α

i

y

i

Φ

(

x

i

)

subject to the constraints

0

α

i

C

+

,

{

i

|

y

i

=

+

1

}

0

α

i

C

-

,

{

i

|

y

i

=

-

1

}

i

y

i

α

i

=

0

where w is the weight vector perpendicular to the hyperplane, C + and C − are the two user definable cost factors.

9. The method of claim 1 wherein the following steps of the method are performed in the following order:

a) assigning each of said examples in a first category to a first class and all other examples belonging to other categories to a second class, wherein if any one of said examples belongs to both said first category and another category, such examples are assigned to the first class only;

b) optimizing at least one tunable parameter of a SVM classifier for said first categories, wherein said SVM classifier is trained using said first and second classes; and

c) optimizing a second mathematical function that converts the output of the binary SVM classifier into a probability of category membership.

10. The method of claim 1 wherein said SVM classifier for said first category calculates a score s for said first category, wherein said score is optimized to fit a slope parameter in a sigmoid function that transforms SVM scores to probability estimates.

11. The method of claim 1 wherein the calibration of SVM scores is performed without using unbound support vector training examples.

12. The method of claim 1 , wherein the calibration of SVM scores is performed using training examples allocated to a holdout set.

13. The method of claim 1 wherein said training examples comprise documents containing text.

14. The method of claim 1 wherein said process of building a SVM classifier comprises:

assigning each of said examples in a first category to a first class and all other examples belonging to other categories to a second class;

optimizing at least one tunable parameter of a SVM classifier for said first categories, wherein said SVM classifier is trained using said first and second classes after the at least one tunable parameter has been optimized; and

optimizing a second mathematical function that converts the output of the binary SVM classifier into a probability of category membership

number of examples in said first category and dividing by the number of examples in all categories.

15. A computer-readable medium storing instructions that when executed by a computer cause the computer to perform the following steps:

calculating at least one feature vector for each of a plurality of training examples;

transforming each of said at least one feature vectors using a first mathematical function so as to provide desired information about each of said training examples; and

building a SVM classifier for each one of said plurality of categories,

calculating a solution for the SVM classifier for the first category using predetermined initial value(s) for said at least one tunable parameter; and

testing said solution for said first category to determine if the solution is characterized by either over-generalization or over-memorization,

wherein the SVM classifier is used on real world data, the probability of category membership of the real world data being output to at least one of a user, another system, and another process,

wherein whether said SVM classifier solution for said first category is characterized by either over-generalization or over-memorization is based on a difference between a harmonic mean of said first and second estimated probabilities, on the one hand, and an arithmetic mean of said first and second estimated probabilities, on the other hand.

16. The computer-readable medium of claim 15 wherein said process of building a SVM classifier comprises:

assigning each of said examples in a first category to a first class and all other examples belonging to other categories to a second class;

optimizing at least one tunable parameter of a SVM classifier for said first categories, wherein said SVM classifier is trained using said first and second classes after the at least one tunable parameter has been optimized; and

optimizing a second mathematical function that converts the output of the binary SVM classifier into a probability of category membership.

Assignments (10)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2024
From: KOFAX, INC.
To: TUNGSTEN AUTOMATION CORPORATION
Reel/Frame 067428/0392 →
RELEASE OF SECURITY INTEREST Recorded Jul 21, 2022
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: KAPOW TECHNOLOGIES, INC.; KOFAX, INC.
Reel/Frame 060805/0161 →
SECURITY INTEREST Recorded Jul 20, 2022
From: KOFAX, INC.; PSIGEN SOFTWARE, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 060768/0159 →
FIRST LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jul 20, 2022
From: KOFAX, INC.; PSIGEN SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A. AS COLLATERAL AGENT
Reel/Frame 060757/0565 →
SECURITY INTEREST Recorded Jul 7, 2017
From: KOFAX, INC.
To: CREDIT SUISSE
Reel/Frame 043108/0207 →
MERGER Recorded Jun 16, 2017
From: MOHOMINE, INC.
To: KOFAX IMAGE PRODUCTS, INC.
Reel/Frame 042855/0706 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2017
From: HARRIS, CHRISTOPHER K.; SCHMIDTLER, MAURITIUS A.R.
To: MOHOMINE, INC.
Reel/Frame 042732/0958 →
RELEASE OF SECURITY INTEREST Recorded May 26, 2015
From: BANK OF AMERICA, N.A.
To: KOFAX, INC.; ATALASOFT, INC.; KAPOW TECHNOLOGIES, INC.
Reel/Frame 035773/0930 →
SECURITY AGREEMENT Recorded Aug 29, 2011
From: KOFAX, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 026821/0833 →
CHANGE OF NAME Recorded Apr 8, 2008
From: KOFAX IMAGE PRODUCTS, INC.
To: KOFAX, INC.
Reel/Frame 020772/0357 →