Skip to content
BY-NC-ND 3.0 license Open Access Published by De Gruyter December 7, 2015

Parallel Multi-Class Contour Preserving Classification

  • Piyabute Fuangkhon ORCID logo EMAIL logo

Abstract

Serial multi-class contour preserving classification can improve the representation of the contour of the data to improve the levels of classification accuracy for feed-forward neural network (FFNN). The algorithm synthesizes fundamental multi-class outpost vector (FMCOV) and additional multi-class outpost vector (AMCOV) at the decision boundary between consecutive classes of data to narrow the space of data. Both FMCOVs and AMCOVs will assist the FFNN to place the hyper-planes in such a way that can classify the data more accurately. However, the technique was designed to utilize only one processor. As a result, the execution time of the algorithm is significantly long. This article presents an improved version of the serial multi-class contour preserving classification that overcomes its time deficiency by utilizing thread-level parallelism to support parallel computing on multi-processor or multi-core system. The parallel algorithm distributes the data set and the processing of the FMCOV and AMCOV generators to be operated on available threads to increase the CPU utilization and the speedup factors of the FMCOV and AMCOV generators. The technique has been carefully designed to avoid data dependency issue. The experiments were conducted on both synthetic and real-world data sets. The experimental results confirm that the parallel multi-class contour preserving classification clearly outperforms the serial multi-class contour preserving classification in terms of CPU utilization and speedup factor.

MSC 2010: 68T01

1 Introduction

Feed-forward neural network (FFNN) [8, 11, 12] is a wildly used artificial neural network that maps a set of input instances onto a set of outputs. It functions by placing hyper-planes at the decision boundary between consecutive classes of data to partition the data belonging to different classes. It is known that the instances located at the decision boundary between consecutive classes of data generally have more impact on the placement of the hyper-planes than the instances located far away from the decision boundary. However, occasionally, the placement of the hyper-planes may not preserve the concave surface (curves inward) and convex surface (bulges outward) of the data correctly when the space between consecutive classes of data is large. This can adversely affect the levels of classification accuracy.

Consider a problem in Figure 1A, a two-dimensional three-class synthetic data set comprising three classes of instances that are separable by a two-neuron non-linear classifier is presented. When a two-layer FFNN having two hidden neurons is applied, it possibly learns to classify this problem as shown in Figure 1B. Lines 1 and 2 are the classifying hyper-plane that represents the two hidden neurons. The shape or distribution model of the problem is not correctly preserved. When a two-layer FFNN having four hidden neurons is applied, a possible solution may be as shown in Figure 1B. Lines 3, 4, 5, and 6 are the classifying hyper-plane that represents the four hidden neurons. However, applying a typical variation of back-propagation learning algorithm to learn those instances will normally converge to the solution similar to what shown in Figure 1C. The classifier may classify the data inaccurately, especially when the instances are located at the decision boundary between consecutive classes of data because it does not recognize the concave surface and convex surface of the data correctly.

Figure 1: A comparison among possible classifications: (A) A two-dimensional three-class problem. (B) Possible classification with a two-layer perceptron with two hidden neurons. (C) Possible classification with a two-layer perceptron with four hidden neurons. (D) Typical result of four-hidden-neuron network trained by a variation of back-propagation algorithm [5].
Figure 1:

A comparison among possible classifications: (A) A two-dimensional three-class problem. (B) Possible classification with a two-layer perceptron with two hidden neurons. (C) Possible classification with a two-layer perceptron with four hidden neurons. (D) Typical result of four-hidden-neuron network trained by a variation of back-propagation algorithm [5].

Serial multi-class contour preserving classification [5] is a technique that can improve the representation of the contour of the multi-class data, a set of data having more than two classes, to improve the levels of classification accuracy for FFNN. The algorithm generates two types of multi-class outpost vector (MCOV): fundamental multi-class outpost vector (FMCOV) and additional multi-class outpost vector (AMCOV), from the instances at halfway between consecutive classes of data. Both MCOVs are inserted into the data set to narrow the space between consecutive classes of data to improve the representation of the contour of the data and assist the FFNN to classify the data more accurately. The technique has been significantly improved in [7] to reduce the number of FMCOVs and AMCOVs by maintaining only the FMCOVs and AMCOVs located at the decision boundary between consecutive classes of data based on the Fuangkhon boundary [6].

This article presents an augmentation of the serial multi-class contour preserving classification [5] that overcomes its time deficiency by utilizing thread-level parallelism to support parallel computing on multi-processor or multi-core system. The parallel multi-class contour preserving classification distributes the data set and the processing of the FMCOV and AMCOV generators to be operated on available threads to increase the CPU utilization and the speedup factors of the FMCOV and AMCOV generators. The technique has been carefully designed to avoid data dependency issue. The experiments were conducted on both synthetic and real-world data sets. The experimental results confirm that the speedup factor of the parallel multi-class contour preserving classification over the serial multi-class contour preserving classification is proportional to the number of available processors or processor cores. In other words, the speedup factor increases as the number of available processors or processor cores increases.

The article is organized as follows. Section 2 describes research works related to the serial multi-class contour preserving classification. Section 3 briefly introduces the serial multi-class contour preserving classification. Section 4 presents the implementation of the parallel multi-class contour preserving classification. Section 5 shows the runtime complexity of the parallel multi-class contour preserving classification. Section 6 presents the experimental results. Section 7 presents the conclusion.

2 Related Works

Tanprasert et al. [14] proposed a contour preserving classification technique, called outpost vector model, to preserve the shape or distribution model of two-class data to improve the robustness and weight fault tolerance of a neural network applied with a linearly separable problem. The technique augments a set of original instances with a set of outpost vectors that are generated from the original instances and are located at the boundary between both classes of data. As a result, the learning process is indirectly biased toward distributing classification workload around the set of hidden neurons, thereby forcing the network to perform nonlinear classification. Outpost vectors have some similarities to support vectors [3]. Nevertheless, they are synthesized rather than being selected from a set of original instances. The technique was found in [4] to improve the level of classification accuracy of two-class data. Mongkonsirivatana [10] proposed an improved version of the contour preserving classification technique [14], based on boundary detection, that can reduce the number of instances used to generate outpost vectors. However, determination of the appropriate value of the key parameter is not defined. As a result, the outpost vectors generated from the selected instances only correspond to the boundary of the shape or distribution model of those selected instances. Tanprasert and Kripruksawan [13] proposed an alternative to preserve the contour of the old data for a multi-layer perceptron network, called decayed prior sampling (DPS), that uses subtractive clustering [2]. The technique was designed for adaptive learning. However, the bounded range defined by the average distance of each cluster center will preserve the contour of the old data in a cycle shape only. In addition, the output value of synthesized vectors is defined by the output value of the cluster center, rather than being defined by the classification knowledge of the supervised neural network from the previous training. Kaitikunkajorn and Tanprasert [9] proposed an improved synthesis process of DPS algorithm, called new decayed prior sampling (NDPS), that solves drawbacks in [13] by calculating the bounded range of each feature in the cluster from the average error of each feature in the cluster, instead of the average distance of each cluster center, to maintain the contour of old data. In addition, the technique feeds the synthesized vector into the neural network to get the output value that will be used as the output value of the synthesized vector instead of using the output value of the cluster center. Tanprasert et al. [15] proposed an improved version of DPS algorithm for multi-layer perceptron network, called modified decayed prior sampling (MDPS). The algorithm allows the existing knowledge to age out in slow rate (adaptive) as a neural network is gradually retrained with consecutive sets of new instances, resembling the change of application locality under a consistent environment. It utilizes the outpost vector model [14] rather than subtractive clustering [13] to clarify the boundary between two classes of instances to assist the neural network to classify the data more accurately. The experimental results confirm that MDPS yields higher levels of generalization than NDPS [9]. However, the technique only maintains the contour of new data due to the fact that it generates outpost vectors from new instances only. As a result, the contour of old data is not maintained accurately. It is beneficial to include outpost vectors generated from old data in the final data set to maintain the contour of old data.

3 Serial Multi-class Contour Preserving Classification

The serial multi-class contour preserving classification [5] is a technique that can improve the representation of the contour of the multi-class data, a set of data having more than two classes, to improve the levels of classification accuracy for FFNN. It generates two types of MCOV, FMCOV and AMCOV, from all original instances at the decision boundary between two consecutive classes of data to improve the representation of the contour of the data and to assist the FFNN to classify a linearly separable problem “nonlinearly”. It is an augmented version of the original contour preserving classification [14] that supports multi-class data. The following are the characteristics of FMCOV and AMCOV.

FMCOV is a synthesized vector that is used to declare the decision boundary of the territory of an instance of one class, let us presume an instance i of class A (denoted by Ai ) against an instance of any other class and an instance j of class X (denoted by Xj ), which has smallest Euclidean distance to Ai . It is placed at the boundary of Ai ’s territory in the direction of Xj . Xj is designated as a paired vector of Ai (denoted by ϕ(i)) and mathematically described in Eq. (1).

(1)ϕ(i)={j|min(d(i,j)),iA,jX,AX=},

where i and j are instances and A and X are sets of instances.

A space between the boundary of the center of an instance and the center of its paired vector (denoted by κ) can be inserted to define the space between an FMCOV and an AMCOV of different class. It is intended to provide a small clearance for placing the hyper-planes. It is mathematically described in Eq. (2).

(2)κ={x|0<x1}.

The location of dimension s of an FMCOV of instance i (denoted by o(i)s ) is mathematically described in Eq. (3).

(3)o(i)s={is|isϕ(i)s|2×(1κ)|s{1,2,3,,d},if isϕ(i)sis+|isϕ(i)s|2×(1κ)|s{1,2,3,,d},if is<ϕ(i)s},

where i is an instance, is is the value of the dimension s of an instance i, ϕ(i)s is the value of the dimension s of a paired vector of an instance i, and d is the number of dimensions of an instance.

An FMCOV of instance i (denoted by o(i)) is mathematically described in Eq. (4). It is placed at the boundary of Ai ’s territory in the direction of Xj .

(4)o(i)={o(i)s|s{1,2,3,,d}}.

where i is an instance and d is the number of dimensions of an instance.

AMCOV is a synthesized vector that is used to declare the decision boundary of a paired vector of an instance, let us presume a paired vector of instance i of class A (ϕ(i)), against that instance i of class A (Ai ). It is placed at the boundary of ϕ(i)’s territory, called counter-boundary, in the direction of Ai . The radius of each dimension of a paired vector of instance i (denoted by r̅(i)s ) used to generate an AMCOV is mathematically computed by Eq. (5).

(5)r¯(i)s={|ϕ(i)sϕ(ϕ(i))s|2|s{1,2,3,,d}},

where i is an instance and d is the number of dimensions of an instance.

Hence, an AMCOV of instance i (denoted by o′(i)) is mathematically described in Eq. (6). It is placed at the boundary of ϕ(i)’s territory in the direction of Ai . A space (κ) in Eq. (2) is also used to leave some space between an FMCOV and the AMCOV being generated. Many paired vectors may be generated at the same point in the problem space. To reduce the number of duplicated AMCOVs, an AMCOV of an instance will be generated only when a paired vector of a paired vector of that instance is different from that instance.

(6)o(i)={ϕ(i)s+r¯(i)sκ|s{1,2,3,,d},if isϕ(i)s&ϕ(ϕ(i))iϕ(i)sr¯(i)s+κ|s{1,2,3,,d},if is<ϕ(i)s&ϕ(ϕ(i))i},

where i is an instance, is is the value of the dimension s of i, ϕ(i)s is the value of the dimension s of a paired vector of an instance i, r̅(i)s is the value of the dimension s of the radius of the territory of an instance i, ϕ(ϕ(i)) is a paired vector of a paired vector of an instance i, and d is the number of dimensions of an instance.

The concept of three-class outpost vector is illustrated in Figure 2. There are three classes of data designated as class A, B, and C. To find the territory of each instance, each instance is modeled to span its territory as a circle (sphere in case of three-dimensional space or hyper-sphere in case of more-dimensional space) until the territories collide with another. The territory of instance k of class A, denoted by Ak , is found by locating the instance in any other class that is nearest to Ak . In this case, B*(Ak ) of class B is nearest to Ak and referred to as Ak ’s pair. Then, the territory of Ak is declared as halfway between Ak and B*(Ak ). Consequently, the radius of Ak ’s territory is set at half of the distance between Ak and B*(Ak ). This is to guarantee that if B*(Ak ) sets its territory using the same radius, then the distance from the hyper-plane to either Ak or B*(Ak ) will be at maximum. Ak then places its FMCOV against B*(Ak ) at the decision boundary of Ak ’s territory. The territories of B*(Ak ) of class B, C*(B*(Ak )) of class C, Aj of class A, and B*(Aj ) of class B are also found by the same method done with Ak of class A. After that, AMCOVs will then be generated from all instances as well. The AMCOV of B*(Ak ) of class B against Ak of class A is placed at the decision boundary of B*(Ak )’s territory in the direction of Ak . The AMCOV of C*(B*(Ak )) of class C against B*(Ak ) of class B is placed at the decision boundary of C*(B*(Ak ))’s territory in the direction of B*(Ak ). The AMCOV of Aj of class A against C*(B*(Ak )) of class C is placed at the decision boundary of Aj ’s territory in the direction of C*(B*(Ak )). The AMCOV of B*(Aj ) of class B against Aj of class A is placed at the decision boundary of B*(Aj )’s territory in the direction of Aj .

Figure 2: FMCOVs, AMCOVs, and Instance’s Territory in a Two-Dimensional Three-Class Problem.
Figure 2:

FMCOVs, AMCOVs, and Instance’s Territory in a Two-Dimensional Three-Class Problem.

In Figure 2, it is necessary to clarify the differences between the boundary of an instance and the counter-boundary of an instance.

  • The boundary of an instance is a circle (sphere in case of three-dimensional space or hyper-sphere in case of more-dimensional space) that identifies the outermost territory of that instance for placing its FMCOV and AMCOV.

    • An FMCOV will be synthesized on this boundary between Ai and ϕ(i) on the territory of Ai .

    • An AMCOV will be synthesized on this boundary between Ai and ϕ(i) on the territory of ϕ(i).

  • The counter-boundary of a paired vector identifies the outermost territory of the paired vector against the outermost territory of an instance in the opposite direction. It is not used to place any MCOV but to visualize the boundary of a paired vector against the boundary of an instance in the opposite direction.

Figure 3 illustrates how FMCOVs and AMCOVs are integrated to produce the final class boundary of the data set. Figure 3A illustrates a non-overlapping four-class synthetic data set comprising four sine waves representing four classes of data, designated as red, green, blue, and magenta points in a two-dimensional Euclidean space and determined by two coordinates, x and y. Figure 3B illustrates the synthesized FMCOVs in solid color at the new class boundary between consecutive classes of data. It is noticeable that the FMCOVs shift the original class boundary of one class toward the opposite class. They reduce the space between consecutive classes of data to assist the FFNN to place the hyper-plane in such a way that the contour of the data better preserved. However, some areas on the new class boundary may have very low population of FMCOVs. This area still allows the FFNN to place the hyper-plane that might not preserve the contour of the data accurately, leading to a higher misclassification rate. This is why it is time AMCOVs to come into play. Figure 3C illustrates the synthesized AMCOVs in solid color at the new class boundary between consecutive classes of data. AMCOVs also shift the original class boundary of one class toward the opposite class. They also reduce the space between consecutive classes of data. AMCOVs occasionally fill the space where the population of FMCOVs is low, and vice versa. As a result, the integration of FMCOVs and AMCOVs helps strengthen the new class boundary to ensure the maximum assistance toward the hyper-plane placement process.

Figure 3: A comparison among various final training sets: (A) An original data set. (B) An original data set with synthesized FMCOVs. (C) An original data set with synthesized AMCOVs. (D) An original data set with synthesized FMCOVs and AMCOVs [6].
Figure 3:

A comparison among various final training sets: (A) An original data set. (B) An original data set with synthesized FMCOVs. (C) An original data set with synthesized AMCOVs. (D) An original data set with synthesized FMCOVs and AMCOVs [6].

4 Parallel Multi-Class Contour Preserving Classification

This section presents the parallel multi-class contour preserving classification, which is an improved version of the serial multi-class contour preserving classification [5], that utilizes thread-level parallelism to offload the processing of the FMCOV generation algorithm and the AMCOV generation algorithm from just a single processor to all available processors or processor cores. This will significantly reduce the total execution time especially on a shared-memory multi-core processor computer. The parallel FMCOV generation algorithm (FMCOV generator) is presented in Algorithm 1.

  • In Line 1, two global inputs are defined: the original data set (denoted by T) and the number of available threads (denoted by Tr). Tr should be no larger than the number of thread that the computer can execute concurrently; otherwise, some thread will be idle.

  • In Line 2, a global output is defined: a set of FMCOVs (denoted by TF).

  • In Line 3, this parallel for-loop offloads the processing of the FMCOV generator from a single thread to all available threads as defined by Tr in Line 1.

  • In Line 4, the original data set (T) is divided into Tr partial data sets. Each partial data set (Tt ) is exclusively processed by one and only one thread (t). This for-loop generates FMCOVs (denoted by o(i)) from the partial data set (Tt ) of thread (t) and stores them in the thread (t)’s unshared local subset (Stf ).

  • In Line 5, the algorithm identifies a paired instance of i (denoted by ϕ(i)), which is an instance in any class other than the class of i and has a minimum Euclidean distance to i.

  • In Line 6, the FMCOV of i (o(i)) is generated at almost halfway between i and ϕ(i) determined by κ at the boundary of i on the territory of i in the direction of ϕ(i).

  • In Line 7, the FMCOV (o(i)) is added into thread (t)’s unshared local subset (Stf ).

  • In Line 8, this is the end of for-loop in Line 4. All FMCOVs (o(i)) of a partial data set (Tt ) are added into thread (t)’s unshared local subset (Stf ).

  • In Line 9, all FMCOVs (o(i)) in thread (t)’s unshared local subset (Stf ) are added into a set of FMCOVs (TF).

  • In Line 10, this is the end of parallel for-loop in Line 3. The FMCOVs in the unshared local subset (Stf ) from all threads are added into the set of FMCOVs (TF).

The parallel AMCOV generation algorithm (AMCOV generator) is presented in Algorithm 2.

  • In Line 1, two global inputs are defined: the original data set (denoted by T) and the number of available threads (denoted by Tr). Tr should be no larger than the number of thread that the computer can execute concurrently; otherwise, some thread will be idle.

  • In Line 2, a global output is defined: a set of AMCOVs (denoted by TA).

  • In Line 3, this parallel for-loop offloads the processing of the AMCOV generator from a single thread to all available threads as defined by Tr in Line 1.

  • In Line 4, the original data set (T) is divided into Tr partial data sets. Each partial data set (Tt ) is exclusively processed by one and only one thread (t). This for-loop generates AMCOVs (denoted by o′(i)) from the partial data set (Tt ) of thread (t) and stores them in the thread (t)’s unshared local subset (Sta ).

  • In Line 5, the algorithm verifies that a paired instance of a paired instance of i (denoted by ϕ(ϕ(i))) is not the same as i before generating AMCOV of i (o′(i)).

  • In Line 6, the AMCOV of i (o′(i)) is generated at almost halfway between i and ϕ(i) determined by κ at the boundary of ϕ(i) on the territory of ϕ(i) in the direction of i.

  • In Line 7, the AMCOV (o′(i)) is added into thread (t)’s unshared local subset (Sta ).

  • In Line 8, this is the end of a paired instance verification of the AMCOV generator in Line 5.

  • In Line 9, this is the end of for-loop in Line 4. All AMCOVs (o′(i)) of a partial data set (Tt ) are added into thread (t)’s unshared local subset (Sta ).

  • In Line 10, all AMCOVs (o′(i)) in thread (t)’s unshared local subset (Sta ) are added into a set of AMCOVs (TA).

  • In Line 11, this is the end of parallel for-loop in Line 3. The AMCOVs in the unshared local subset (Sta ) from all threads are added into the set of AMCOVs (TA).

After a set of FMCOVs (TF) from Algorithm 1 and a set of AMCOVs (TA) from Algorithm 2 are completely generated, they are combined by UNION to form a final training set. In practice, a set of FMCOVs (TF) must be generated prior to a set of AMCOVs (TA). The MCOV generation algorithm is divided into two algorithms, FMCOV generation algorithm and AMCOV generation algorithm (as shown in Algorithms 1 and 2), for ease of understanding.

Algorithm 1

Parallel FMCOV generation algorithm.

1:{input: the original data set (T), the available threads (Tr)}
2:{output: a set of FMCOVs (TF)}
3:for (parallel) each thread tTrdo
4:for each instance iTt where TtTdo
5:  find a paired instance ϕ(i)∉class(i) and has minimum Euclidean distance to i.
6:  generate a FMCOV o(i)∈class(i) at almost halfway between i and ϕ(i) determined by κ on the territory of i in the direction of ϕ(i).
7:  add o(i) into an unshared local subset (Stf ).
8:end for
9: add Stf into TF.
10:end for
Algorithm 2

Parallel AMCOV generation algorithm.

1:{input: the original data set (T), the available threads (Tr)}
2:{output: a set of AMCOVs (TA)}
3:for (parallel) each thread tTrdo
4:for each instance iTt where TtTdo
5:  if (ϕ(ϕ(i))≠i), then
6:   generate an AMCOV o′(i)∈class(ϕ(i)) at almost halfway between i and ϕ(i) determined by κ on the territory of ϕ(i) in the direction of i.
7:   add o′(i) into an unshared local subset (Sta ).
8:  end if
9:end for
10: add Sta into TA.
11:end for

5 Runtime Complexity

The runtime complexity of parallel MCOV generation algorithm (Tpmcov(n)) comprises the runtime complexity of parallel FMCOV generation algorithm (Tpfmcov(n)) in Algorithm 1 and the runtime complexity of parallel AMCOV generation algorithm (Tpamcov(n)) in Algorithm 2 as described in Eq. (7).

(7)Tpmcov(n)=Tpfmcov(n)+Tpamcov(n),

where n is the number of instances in all classes.

The FMCOVs and AMCOVs are generated from the algorithms presented in Algorithms 1 and 2 using the Euclidean distance function as described in Eq. (8) on a set of instances. The runtime complexity of the Euclidean distance is described in Eq. (9).

(8)d(p,q)=(p1q1)2+(p2q2)2++(pdqd)2,=i=1d(piqi)2.

where p and q are two points in Euclidean space, pi and qi are the value of the feature i of instances p and q, respectively, and d is the number of features of the point.

(9)Td(p,q)=O(i=1d(piqi)2)),=O(d×z),=O(d).

where p and q are two points in Euclidean space, pi and qi are the value of the feature i of instances p and q, respectively, d is the number of features of the point, and z is a constant.

The runtime complexity of the parallel FMCOV generation algorithm (Tpfmcov(n)) is described in Eq. (10).

(10)Tpfmcov(n)=O(z=1c(nz×(z=1c(nz)nz))×Td(p,q)×e),=O(z=1c(nz×(cnnz))×d×e),=O(c(c1)n2×d×e),=O(c2n2),=O(n2).

where nz is the number of instances in class z, n is the number of instances in all classes, c is the number of classes of data, d is the number of features of an instance, and e is the number of processors or processor cores.

The runtime complexity of the parallel AMCOV generation algorithm (Tpamcov(n)) is described in Eq. (11).

(11)Tpamcov(n)=O(z=1cnz×Td(p,q)×e),=O(cn×d×e),=O(n).

where nz is the number of instances in class z, n is the number of instances in all classes, c is the number of classes of data, d is the number of features of an instance, and e is the number of processors or processor cores.

As a result, the runtime complexity of the parallel MCOV generation algorithm (Tpmcov(n)) described in Eq. (7) is formulated as Eq. (12).

(12)Tpmcov(n)=Tpfmcov(n)+Tpamcov(n)=O(n2+n),=O(n2).

where n is the number of instances in all classes.

Although the runtime complexity of the parallel MCOV generation algorithm is a linear equation, the actual amount of execution time spent to generate all MCOVs is inversely proportional to the number of available processors or processor cores as demonstrated in Section 6. In other words, the execution time reduces as the number of available processors or processor cores increases.

6 Experimental Results

The experiments were conducted to present an improvement of the CPU utilization and the speedup factors of the parallel FMCOV generation algorithm over the serial FMCOV generation algorithm and the parallel AMCOV generation algorithm over the serial AMCOV generation algorithm. All algorithms were implemented in Microsoft Visual C# 2013 using the following libraries:

  • System.Threading.Tasks was required for “parfor” parallel for-loop.

  • System.Diagnostics was required for “stopwatch” execution time measurement.

A 1-thread process was used to evaluate the CPU utilization and the execution time of the original serial MCOV generation algorithm. A 2-thread process, a 4-thread process, an 8-thread process, and a 16-thread process were used to evaluate the CPU utilization and the execution time of the parallel MCOV generation algorithm. The machine used to conduct the experiments was powered by Intel® Core i7 4770k processor having four processor cores with Intel® Hyper-Threading technology.

The following groups of data sets were used to conduct the experiments. Their characteristics are presented in Table 1.

  • A non-overlapping four-class synthetic data set comprises four sine waves representing four classes of data, designated as red, green, blue, and magenta points in a two-dimensional Euclidean space and determined by two coordinates, x and y. This data set consists of 3200 instances from each class of data, which constitutes a total of 12,800 instances.

  • Eight highly overlapping two-class synthetic data sets, selected from the ELENA project [16], have a heavy intersection of the class distributions, a high degree of nonlinearity of the class boundaries, and various dimensions of the vectors. These data sets are Clouds, Gaussian 2D, Gaussian 3D, Gaussian 4D, Gaussian 5D, Gaussian 6D, Gaussian 7D, and Gaussian 8D.

  • Six real-world data sets, selected from the UCI machine learning repository [1], have a heavy intersection of the class distributions, a high degree of nonlinearity of the class boundaries, and various dimensions of the vectors. These data sets are Adult Income, Statlog (Landsat Satellite), Statlog (Shuttle Landing Control), Forest Cover Level, Pen-Based Recognition of Handwritten Digits, and Optical Recognition of Handwritten Digits.

Table 1

Characteristics of All Data Sets.

Data setAttribute characteristicsClassesDimensionsInstances
Sine 3200Integer4212,800
CloudsFloat223750
Gaussian 2DFloat223750
Gaussian 3DFloat233750
Gaussian 4DFloat243750
Gaussian 5DFloat253750
Gaussian 6DFloat263750
Gaussian 7DFloat273750
Gaussian 8DFloat283750
Adult IncomeInteger/categorical21432,561
Forest Cover LevelInteger/categorical75458,104
Statlog (Landsat Satellite)Integer6364435
Statlog (Shuttle Landing)Integer7943,500
Pen-Based RecognitionInteger10167494
Optical RecognitionInteger10643823

In terms of CPU utilization, the CPU utilization was record during the execution of the parallel MCOV generation algorithm. The 1-thread process, the 2-thread process, the 4-thread process, the 8-thread process, and the 16-thread process utilized 13%, 25%, 50%, 99%, and 99% CPU times on all data sets, respectively. As mentioned earlier, the Intel® Core i7 4770k processor with Hyper-Threading technology has only four processor cores and can execute up to 8 threads simultaneously. When the 8-thread process and the 16-thread process ran, the CPU utilization reached its maximum (99% of the CPU utilized). It can be concluded that the CPU utilization can be increased as the number of threads increases.

In terms of execution time, Tables 2 and 3 present the execution time in milliseconds of the parallel FMCOV generation algorithm and the parallel AMCOV generation algorithm on all data sets, respectively. It is noticeable that the reduction of the execution time of the parallel FMCOV generation algorithm and the parallel AMCOV generation algorithm is proportional to the number of threads in the process. In other words, the execution time decreases as the number of available processors or processor cores increases. However, the execution time is slightly reduced when the number of threads is increased from 8 to 16. As mentioned earlier, the Intel® Core i7 4770k processor has only four processor cores that can operate 4 threads simultaneously. When there are more than 4 threads, Intel® Hyper-Threading Technology comes into play. This technology allows each processor core to interleave 2 threads operating on the same processor core. As a result, 8 threads can be operated simultaneously. However, this technology shares the floating-point unit (FPU) between the two threads operating on the same processor core. When an FPU of each processor core is being used by one thread to execute the Euclidean distance function or floating-point instruction, another thread assigned to be executed on this processor core will be stalled waiting for the FPU to become available. Moreover, when the number of threads is more than the maximum number of threads that the CPU can handle simultaneously, the overhead of thread switching can adversely affect the execution time of both the parallel FMCOV generation algorithm and the parallel AMCOV generation algorithm. Tables 4 and 5 present the speedup factors of the parallel FMCOV generation algorithm over the serial FMCOV generation algorithm and the parallel AMCOV generation algorithm over the serial AMCOV generation algorithm, respectively, on all data sets. It is intended for clearer understanding.

Table 2

Execution Time, in Milliseconds, of the Serial and the Parallel FMCOV Generation Algorithms.

Data setNumber of threads
124816
Sine 320020,381.8310,267.995817.633823.133850.56
Clouds1284.29647.73369.83278.52238.42
Gaussian 2D1303.44688.03361.48242.45242.82
Gaussian 3D1673.13833.37485.37301.28346.50
Gaussian 4D2077.871071.87570.49427.87407.12
Gaussian 5D2523.141227.23673.88527.30456.70
Gaussian 6D2849.341485.77823.27614.42549.34
Gaussian 7D3248.841666.25930.75619.61619.92
Gaussian 8D3645.361845.911047.36700.43678.43
Adult Income268,833.89135,875.3674,396.3450,077.9849,797.64
Forest Cover Type3,833,784.291,917,245.831,076,208.35754,112.12756,466.40
Statlog (Landsat)30,666.5615,797.638700.966107.815531.93
Statlog (Shuttle)371,805.28185,928.46103,920.9967,404.8267,413.37
Pen-Based Recognition38,905.1219,477.5910,882.397077.877730.72
Optical Recognition46,749.6323,381.1913,256.238997.688343.39
Table 3

Execution Time, in Milliseconds, of the Serial and the Parallel AMCOV Generation Algorithms.

Data setNumber of threads
124816
Sine 32004.221.951.210.830.91
Clouds1.250.640.350.230.26
Gaussian 2D1.440.650.420.270.29
Gaussian 3D1.860.840.510.380.42
Gaussian 4D2.261.070.550.470.45
Gaussian 5D2.611.240.760.550.53
Gaussian 6D2.941.440.740.580.61
Gaussian 7D3.361.640.940.750.70
Gaussian 8D3.721.791.110.800.74
Adult Income46.4123.6412.269.739.82
Forest Cover Type236.49123.2268.1261.3949.43
Statlog (Landsat)15.047.564.673.633.22
Statlog (Shuttle)39.6819.829.958.598.85
Pen-Based Recognition20.7010.246.254.484.53
Optical Recognition12.276.103.652.642.61
Table 4

Speedup Factors of the Parallel FMCOV Generation Algorithm over the Serial FMCOV Generation Algorithm.

Data setNumber of threads
24816
Sine 32001.983.505.335.29
Clouds1.983.474.615.39
Gaussian 2D1.893.615.385.37
Gaussian 3D2.013.455.554.83
Gaussian 4D1.943.644.865.10
Gaussian 5D2.063.744.785.52
Gaussian 6D1.923.464.645.19
Gaussian 7D1.953.495.245.24
Gaussian 8D1.973.485.205.37
Adult Income1.983.615.375.40
Forest Cover Type2.003.565.085.07
Statlog (Landsat)1.943.525.025.54
Statlog (Shuttle)2.003.585.525.52
Pen-Based Recognition2.003.585.505.03
Optical Recognition2.003.535.205.60
Table 5

Speedup Factors of the Parallel AMCOV Generation Algorithm over the Serial AMCOV Generation Algorithm.

Data setNumber of threads
24816
Sine 32002.163.505.094.66
Clouds1.963.605.444.81
Gaussian 2D2.203.435.424.96
Gaussian 3D2.213.624.964.49
Gaussian 4D2.114.094.835.02
Gaussian 5D2.093.454.714.90
Gaussian 6D2.043.975.104.83
Gaussian 7D2.053.594.484.83
Gaussian 8D2.093.364.675.06
Adult Income1.963.794.774.72
Forest Cover Type1.923.473.854.78
Statlog (Landsat)1.993.224.154.67
Statlog (Shuttle)2.003.994.624.49
Pen-Based Recognition2.023.314.624.57
Optical Recognition2.013.364.654.70

From the experimental results, it can be concluded that the parallel FMCOV generation algorithm and the parallel AMCOV generation algorithm can utilize thread-level parallelism to enable the parallel computing on multi-processor or multi-core system effectively. The speedup factors of the parallel FMCOV generation algorithm over the serial FMCOV generation algorithm and the parallel AMCOV generation algorithm over the serial AMCOV generation algorithm are proportional to the number of available processors or processor cores. In other words, the speedup factors and the CPU utilization increase as the number of available processors or processor cores increases. The parallel MCOV generation algorithm clearly outperforms the original serial algorithm in terms of CPU utilization and speedup factor.

7 Conclusion

The serial multi-class contour preserving classification helps improve the representation of the contour of the data to improve the levels of classification accuracy for FFNN. The algorithm generates FMCOV and AMCOV to narrow the space between consecutive classes of data to preserve the contour of the data and assist the FFNN to classify the data more accurately. The algorithm has been proven to be able to increase the levels of classification accuracy. However, the algorithm was designed to support only uniprocessor system. This article presents the parallel implementation of the serial multi-class contour preserving classification that overcomes its time deficiency by utilizing thread-level parallelism to support parallel computing on multi-processor or multi-core system. The technique distributes the data set and the processing of the FMCOV and AMCOV generators to be operated on available threads to increase the CPU utilization and the speedup factor of the FMCOV and AMCOV generators. The technique has been carefully designed to avoid data dependency issue. The experiments were conducted on both synthetic and real-world data sets. The experimental results confirm that the speedup factors of the parallel FMCOV generation algorithm over the serial FMCOV generation algorithm and the parallel AMCOV generation algorithm over the serial AMCOV generation algorithm are proportional to the number of available processors or processor cores. In other words, the speedup factor increases as the number of available processors or processor cores increases.


Corresponding author: Piyabute Fuangkhon, Department of Business Information Systems, Assumption University, Samut Prakan 10540, Thailand, e-mail: , .

Bibliography

[1] K. Bache and M. Lichman, UCI machine learning repository, 2014. http://archive.ics.uci.edu/ml. Accessed July, 2014.Search in Google Scholar

[2] S. Chiu, Fuzzy model identification based on cluster estimation, J. Intell. Fuzzy Syst. 2 (1994), 267–278.10.3233/IFS-1994-2306Search in Google Scholar

[3] C. Cortes and V. Vapnik, Support-vector networks, Mach. Learn.20 (1995), 273–297.10.1007/BF00994018Search in Google Scholar

[4] P. Fuangkhon, An incremental learning preprocessor for feed-forward neural network, Artif. Intell. Rev.41 (2014), 183–210.10.1007/s10462-011-9304-0Search in Google Scholar

[5] P. Fuangkhon and T. Tanprasert, Multi-class contour preserving classification, in: Intelligent Data Engineering and Automated Learning, Lect. Notes Comput. Sci. 7435, pp. 35–42, Springer, Berlin, 2012.Search in Google Scholar

[6] P. Fuangkhon and T. Tanprasert, A training set reduction algorithm for feed-forward neural network using minimum boundary vector distance selection, in: International Conference on Information Science, Electronics and Electrical Engineering, IEEE, Sapporo, Japan, pp. 71–78, 2014, doi:10.1109/InfoSEEE.2014.6948071.10.1109/InfoSEEE.2014.6948071Search in Google Scholar

[7] P. Fuangkhon and T. Tanprasert, Reduced multi-class contour preserving classification, Neural Process. Lett. (2015), 1–46 (Online).10.1007/s11063-015-9446-1Search in Google Scholar

[8] S. Haykin, Neural networks: a comprehensive foundation, 2nd ed., Prentice Hall, Upper Saddle River, NJ, 1999.Search in Google Scholar

[9] S. Kaitikunkajorn and T. Tanprasert, Improving synthesis process of decayed prior sampling technique, in: International Conference on Intelligent Technology, Assumption University Press, Bangkok, Thailand, pp. 240–244, 2005.Search in Google Scholar

[10] J. Mongkonsirivatana, Neural network reliability enhancement with boundary detection contour preserving training, in: International Conference on Intelligent Technology, Assumption University Press, Bangkok, Thailand, pp. 234–239, 2005.Search in Google Scholar

[11] M. Negnevitsky, Artificial intelligence: a guide to intelligent systems, 2nd ed., Addison Wesley, Essex, UK, 2005.Search in Google Scholar

[12] S. Russell and P. Norving, Artificial intelligence: a modern approach, 2nd ed., Pearson Education, Delhi, India, 2004.Search in Google Scholar

[13] T. Tanprasert and T. Kripruksawan, An approach to control aging rate of neural networks under adaptation to gradually changing context, in: International Conference on Neural Information Processing, IEEE, Singapore, pp. 174–178, 2002, doi:10.1109/ICONIP.2002.1202154.10.1109/ICONIP.2002.1202154Search in Google Scholar

[14] T. Tanprasert, C. Tanprasert and C. Lursinsap, Contour preserving classification for maximal reliability, in: Int. Joint Conference on Neural Networks, IEEE, Anchorage, Alaska, USA, pp. 1125–1130, 1998, doi:10.1109/IJCNN.1998.685930.10.1109/IJCNN.1998.685930Search in Google Scholar

[15] T. Tanprasert, P. Fuangkhon and C. Tanprasert, An improved technique for retraining neural networks in adaptive environment, in: International Conference on Intelligent Technology, Assumption University Press, Bangkok, Thailand, pp. 77–80, 2008.Search in Google Scholar

[16] M. Verleysen, E. Bodt and V. Wertz, UCL enhanced learning for evolutive neural architectures (2014). https://www.elen.ucl.ac.be/neural-nets/Research/Projects/ELENA/elena.htm. Accessed July, 2014.Search in Google Scholar

Received: 2015-4-21
Published Online: 2015-12-7
Published in Print: 2017-1-1

©2017 Walter de Gruyter GmbH, Berlin/Boston

This article is distributed under the terms of the Creative Commons Attribution Non-Commercial License, which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.

Downloaded on 7.5.2024 from https://www.degruyter.com/document/doi/10.1515/jisys-2015-0038/html
Scroll to top button