4.2 Incremental algorithm
4.2.1 Algorithm
First, we describe the outer algorithm. Let ε0 > 0 be a tolerance.
Algorithm 1. An incremental algorithm
1: ( Initialization) Set A1u = Au, Q1u = ∅, u = 1, . . . , q. Select any starting point
(x, y) such that x ∈ IRn, y ∈ IR1 and set
X1u = x, Y1u = y, ∀ u = 1, . . . , q.
Set
C1 = {1, . . . , q}, I1u = {1}, J11u = {1}, r1u= 1, s11u= 1, u = 1, . . . , q,
the number of hyperplanes for class u: l1u= 1 and iteration counter k = 1.
2: ( Stopping criterion) If |Ck| ≤ 1 then stop. Otherwise go to Step 3.
3: ( Computation of piecewise linear functions) For each u ∈ Ck apply Algo-
rithm 2. This algorithm generates a piecewise linear boundary (Xku∗, Y
ku∗),
a starting point (Xk+1,u, Y
k+1,u) ∈ IR(n+1)lk+1,u for class u, the set Ak+1u con-
taining “undetermined” points and the set Qk
u of easily separated points from
class u.
4: ( Refinement of set Ck) Refine the set Ck as follows:
Ck+1 = {u ∈ Ck: |Ak+1u | > ε0|Au|}.
Set k = k + 1 and go to Step 2.
We will now present the inner algorithm for separating class Au, u ∈ {1, . . . , q}
from the rest of the data set. At each iteration k of Algorithm 1 we get the subset Ak
u ⊆ Au of the set u ∈ Ck which contains points from this class which are not
easily separated using piecewise linear functions from previous iterations. Let
Qku = [
j=1,...,k
Qju
be a set of all points removed from the set Au during the first k > 0 iterations.
We denote Dk= [ t=1,...,q At\ Q k t , Aku = [ t=1,...,q,t6=u At\ Q k t .
Algorithm 2 finds a piecewise linear function separating the sets Ak
u and Aku.
Let ε1 > 0, ε2 > 0, ε3 > 0 be given tolerances and σ ≥ 1 be a given number.
Algorithm 2. Computation of piecewise linear functions Input Starting points (Xku, Y
ku) ∈ IR(n+1)lku, the set of indices Iku, Jiku, i ∈
Iku and the number of hyperplanes lku at iteration k of Algorithm 1.
Output A piecewise linear boundary (Xku∗, Y
ku∗) ∈ IR(n+1)lku, the set of in-
dices Ik+1,u, Jik+1,u, i ∈ Ik+1,u, a number of hyperplanes lk+1,u, a starting
point (Xk+1,u, Y
Ak+1
u and a set Qk+1u of easily separated points from class u.
1: ( Finding a piecewise linear function) Solve problem (3.17) over the set Dk
starting from the point (Xku, Y
ku) ∈ IR(n+1)lku. Let (Xku∗, Yku∗) be the solution
to this problem, f∗
ku be the corresponding objective function value, and f1,ku∗
and f2,ku∗ be values of functions f1 and f2, respectively. Let Eku be the error
rate for separating the sets Ak
u and Auk at iteration k over the set A, that is
Eku = |{a ∈ Ak u : ϕku(a) > 0} ∪ {b ∈ Aku : ϕku(b) < 0}| |A| , where ϕku(a) = max i∈Iku min j∈Jku i hxij∗, ai − yij∗ .
2: ( The first stopping criterion) If max{f1,ku∗ , f2,ku∗ } ≤ ε1 then set Ak+1u =
∅, Qk+1
u = Au\ Q
k
u and stop. (Xku∗, Yku∗) is the piecewise linear boundary for
set Au.
3: ( The second stopping criterion) If k ≥ 2 and fk−1,u∗ − fku∗ ≤ ε2 then set
Ak+1
u = ∅, Qk+1u = ∅ and stop. (Xku∗, Yku∗) where Xku∗ = Xk−1,u∗, Yku∗ =
Yk−1,u∗ is the piecewise linear boundary for set Au.
4: ( The third stopping criterion) If Eku ≤ ε3 then set Ak+1u = ∅, Qk+1u = Au\Q k u
and stop. (Xku∗, Y
ku∗) is the piecewise linear boundary for set Au.
5: ( Refinement of sets of undetermined points) Compute
fku,min = min
a∈Ak
u
ϕk
u(a)
and the following set of easily classified points by function ϕk
u:
Qk+1u =a ∈ Ak
Refine the set of undetermined points from the set Au as follows:
Ak+1u = Aku\ Qk+1
u ,
6: ( Adding new hyperplanes)
1. If f∗
1,ku > ε1 then set
sik+1,u = siku+ 1, Jik+1,u = Jiku∪ {sik+1,u}
for all i ∈ Iku. Set
xij = xi,j−1,∗, yij = yi,j−1,∗, i ∈ Iku, j = sik+1,u.
2. If f∗
2,ku > ε1 then set
rk+1,u = rku+ 1, Ik+1,u = Iku∪ {rk+1,u}, Jrk+1,uk+1,u = J
ku
rku.
Set
xij = xi−1,j,∗, yij = yi−1,j,∗, i = rk+1,u, j ∈ Jrkuku.
7: ( New starting point) Set
Xk+1,u = (Xku∗, x
ij, i ∈ Ik+1,u, j ∈ Jik+1,u),
Yk+1,u = (Yku∗, yij, i ∈ Ik+1,u, j ∈ Jik+1,u),
lk+1,u =
X
i∈Ik+1,u