Paper check About

LIBSVM: A Library for Support Vector Machines

ACM Transactions on Intelligent Systems and Technology, 2011 · paper · AI and machine learning

Documents the implementation of LIBSVM, a widely used software library for support vector machines. It covers solving the optimization problems, convergence theory, multi-class classification, probability estimates and parameter selection.

Checked: PDF from csie.ntu.edu.tw, fetched 4 Oct 2026. Page numbers are those of that PDF.

6 findings

Substance Table 2(b) header gives ijcnn1 "l = 49, 900", but the table's own 10 MB kernel-evaluation counts match (l−|A|)·|A| and l·|F| exactly only for l = 49,990.
  • p. 23 Table 2(b) header
    l = 49, 900
  • p. 23 Table 2(b), Cache = 10 MB, Method 1 and Method 2 columns
    275,695,536

Only the authors can say what is right here.

Judge's note: Rests on outside knowledge: the ijcnn1 training set has 49,990 instances (the internal check below does not depend on this). I checked the p.23 image. Under the paper's formulas the counts fit l = 49,990: 6312·43678 = 275,695,536; 43967·6023 = 264,813,241; 49990·1767 = 88,332,330. Under l = 49,900 the bound (l−|A|)|A| = 271,764,516 would be below the printed 274,297,840 and 275,695,536. Table 2(a) checks out under the same formula (3624·12476 = 45,213,024), which supports the formula. A digit transposition is likely.

Second check: another model agreed

Report a problem with this finding
Substance Sec. 8.3, p.35: the interval table's last column "[m10, ∞)" uses m10, but mi = (m̄i + m̄i+1)/2 is defined only for "i = 0, . . . , 9". The last interval should be [m9, ∞).
  • p. 35 Sec. 8.3, definition of m_i and interval table
    [m10, ∞)
  • p. 35 definition of m_i
    i = 0, . . . , 9

Judge's note: On the p.35 image, the marks run m̄0…m̄10, which gives 10 midpoints m0…m9. The table maps (−∞,m0) to 0, [m0,m1) to 0.1 and [m1,m2) to 0.2, so the pattern [m(k−1),mk) maps to 0.k, and probability 1 must correspond to [m9,∞). The 11 probability values 0, 0.1, …, 1 need exactly 11 intervals: (−∞,m0), nine intervals [mi,mi+1), and [m9,∞). Nothing in the paper defines m10, and it could not be defined, since there is no m̄11.

Second check: another model agreed

Report a problem with this finding
Reference or label Section 2 opening says "We also show performance measures used in LIBSVM." Section 2 contains only formulations, and the performance measures are in Section 3.1, as the Introduction's outline says.
  • p. 3 Sec. 2 introduction
    We also show performance measures used in LIBSVM.
  • p. 2 Introduction, outline
    Section 3 then discusses performance measures, basic usage, and code organization.

Judge's note: Checked the p.3 crop. Section 2 has subsections 2.1–2.5 (formulations). Section 3.1 'Performance Measures' (p.8) holds the accuracy, MSE and r² measures, and the outline on p.2 assigns performance measures to Section 3.

Second check: another model agreed

Report a problem with this finding
Reference or label Algorithm 1 step 2: "If α^k is a stationary point of problem (2), stop." The algorithm solves the general problem (13), so the pointer should be (13).
  • p. 11 Algorithm 1, step 2
    If αk is a stationary point of problem (2), stop.

Judge's note: Sec. 4.1.1 opens with "The main difficulty for solving problem (13)". The sub-problem (14) uses p_B and Δ, and Sec. 4.1.2 defines stationarity "of problem (13)". Problem (2) is the C-SVC dual only.

Second check: another model agreed

Report a problem with this finding
Reference or label Sec. 5.1: "final iterations of Algorithm 1 in Section 4.1.2". Algorithm 1 is given in Section 4.1.1.
  • p. 17 Sec. 5.1, paragraph before Theorem 5.1
    final iterations of Algorithm 1 in Section 4.1.2
  • p. 11 Sec. 4.1.1
    Algorithm 1 (An SMO-type decomposition method in Fan et al., 2005)
  • p. 17 Section 5.1, paragraph before Theorem 5.1
    Algorithm 1 in Section 4.1.2

Judge's note: On p.11–12, Algorithm 1 sits under 4.1.1 'Decomposition Method for Dual Problems', and the 4.1.2 heading 'Stopping Criteria and Working Set Selection' follows it (C010 crop).

Second check: another model agreed

Report a problem with this finding
Wording Sec. 8.1, p.31: "−pᵀQp = −pᵀQ(−be) = bpᵀe = b". The middle term keeps a spurious Q; it should read −pᵀ(−be).
  • p. 31 Sec. 8.1, line before Eq. (48)
    −pTQp = −pTQ(−be) = bpTe = b

Only the authors can say what is right here.

Judge's note: On the p.31 image, Eq. (47) gives Qp + be = 0, so Qp = −be. Reworked: −pᵀQp = −pᵀ(Qp) = −pᵀ(−be) = b pᵀe = b, using eᵀp = 1 from the second row of (47). As printed, −pᵀQ(−be) = b pᵀQe, which equals b pᵀe only if Qe = e, and nothing in the paper gives that. So the intermediate step is false as printed, but the endpoints −pᵀQp = b still hold, so the stated result stands (S3).

Second check: another model agreed

Report a problem with this finding
9 minor (typos and the like; most checked by the judge only)
Reference or label Sec. 8.3, p.34: "after solving (8), we sort decision values". Label (8) on p.5 marks only the constraint line wᵀϕ(xi) ≥ ρ − ξi of the one-class primal; the problem itself is labelled (7), with dual (9).
  • p. 34 Sec. 8.3
    Specifically, after solving (8), we sort decision values
  • p. 5 Sec. 2.3, Eq. (7)-(8)
    wTϕ(xi) ≥ρ −ξi,
  • p. 34 Section 8.3
    Specifically, after solving (8), we sort
  • p. 5 Section 2.3, primal problem
    (8)

Only the authors can say what is right here.

Judge's note: On the p.5 image, (7) labels the objective line and (8) labels the constraint line wᵀϕ(xi) ≥ ρ−ξi of the one-class primal; the dual is (9). A constraint is not something that is "solved", so the pointer is imprecise. Only the authors can say whether they meant (7), (9) or the scaled dual. This is a minor pointer slip.

Second check: another model agreed

Report a problem with this finding
Wording Introduction (p.2) says "For SVC and SVR, LIBSVM can also output probability estimates." Section 8 and Section 8.3 "Probabilistic Outputs for One-class SVM" also describe probability outputs for one-class SVM.
  • p. 2 Introduction
    For SVC and SVR, LIBSVM can also output probability estimates.
  • p. 34 Section 8.3
    Probabilistic Outputs for One-class SVM

Judge's note: Checked the p.2 and p.34 crops and the Section 8 opening ("... and in Que and Lin (2022) for one-class SVM"). The Introduction sentence does not literally say "only", but the overview leaves out the one-class SVM capability described in Section 8.3. This is an incompleteness, not a factual error.

Second check: another model agreed

Report a problem with this finding
Wording After (13), which has the constraint y^Tα = Δ, the text says "The constraint y^Tα = 0 is called a linear constraint."
  • p. 10 Sec. 4.1, text after (13)
    The constraint yTα = 0 is called a linear constraint.

Judge's note: The crop shows (13) with y^Tα = Δ, followed by a sentence naming y^Tα = 0. Δ is not zero in general (e.g. one-class SVM, which the text says is already in form (13)). The sentence should refer to y^Tα = Δ. The inconsistency is minor.

Second check: another model agreed

Report a problem with this finding
Wording "If Q is PSD, then a_ij > 0. Thus sub-problem (15) is used only to handle the situation where Q is non-PSD." A PSD kernel only gives a_ij ≥ 0.
  • p. 12 Sec. 4.1.1, after Algorithm 1
    If Q is PSD, then aij > 0. Thus sub-problem (15) is used only to handle the situation where Q is non-PSD.

Only the authors can say what is right here.

Judge's note: My own working: a_ij = K_ii + K_jj − 2K_ij = ||φ(x_i) − φ(x_j)||² ≥ 0, which equals 0 when φ(x_i) = φ(x_j). Counterexample: two identical instances with opposite labels under the RBF kernel give K_ii = K_jj = K_ij = 1, so a_ij = 0. Their values −y∇f differ by y_i − y_j = ±2, so WSS 1 can select the pair. Strict positivity therefore needs a positive-definite kernel or distinct points, which the text does not state. The algorithm itself still handles this case through (15).

Second check: another model agreed

Report a problem with this finding
Typo Sec. 2.2: "It is proved that ν an upper bound on the fraction of training errors" is missing the verb "is".
  • p. 4 Sec. 2.2, first paragraph
    It is proved that ν an upper bound on the fraction of training errors

Judge's note: The page image (crop) shows the same wording, so this is not an extraction artefact.

Second check: none (judge only)

Report a problem with this finding
Typo Sec. 3.1: "denoted as y_i, . . . , y_l̄" should be y_1, . . . , y_l̄, in parallel with x_1,…,x_l̄ and f(x_1),…,f(x_l̄).
  • p. 8 Sec. 3.1
    denoted as yi, . . . , y¯l

Judge's note: The crop shows a subscript i on the first y, while the parallel lists in the same paragraph start at subscript 1.

Second check: none (judge only)

Report a problem with this finding
Typo Sec. 5.3: "may require almost (l − |A|)·|A| kernel valuations" should read "kernel evaluations".
  • p. 21 Sec. 5.3, paragraph after Eq. (38)
    kernel valuations

Judge's note: The crop confirms 'valuations'. The next line and the rest of the paper say 'evaluations'.

Second check: none (judge only)

Report a problem with this finding
Typo Sec. 5.4: "we identify the smallest t1 that should leave the largest t2 that should stay" is missing "and" between "leave" and "the largest t2".
  • p. 24 Sec. 5.4, last paragraph
    the smallest t1 that should leave the largest t2 that should stay
  • p. 24 Section 5.4, last paragraph
    we identify the smallest t1 that should leave the largest t2 that should stay

Judge's note: Checked the crop of p.24. The printed sentence runs straight from "leave" into "the largest t2" with no conjunction, so the two indices run together. This is a missing word, not a line-break artefact: the break falls after "should".

Second check: none (judge only)

Report a problem with this finding
Typo Reference list, p.37: "C. Cortes and V. Vapnik. Support-vector network. Machine Learning, 20:273–297, 1995." The published title is plural ("Support-vector networks").
  • p. 37 Reference list
    C. Cortes and V. Vapnik. Support-vector network.
  • p. 37 Reference list, Cortes and Vapnik 1995
    Support-vector network.

Only the authors can say what is right here.

Judge's note: Rests on outside knowledge: that the 1995 Machine Learning 20:273–297 article by Cortes and Vapnik is titled "Support-vector networks". The p.37 crop confirms the singular "Support-vector network." is printed. The slip does not change which work is meant.

Second check: none (judge only)

Report a problem with this finding
Something wrong with this page, or a finding we missed?