Document-Threads
Step 1 : population at generation p, centroid vectors,
and document vectors allocate to global memory.
Step 2 : Set block size i. i is the number of chromo-
some in population at generation p and x
th
block
indicates i
th
chromosome. For example, first block
allocates to the first chromosome, second block
allocates to the second chromosome and so on.
Step 3 : Set threads size n in each block. Each
thread indicates value of gene in i
th
chromosome.
Consequently, n
th
thread indicates n
th
document
vector (D
n
).
Step 4 : Start computation of each block; calculate
cosine similarity between document vector (D
n
) and
centroid vector (CV
k
) in each thread.
Step 5 : Finally, the result of cosine similarity be-
tween document and centroid vector allocates to the
shred memory in each block. So, we use it for clus-
tering validity index (CH index, DB index).
While in Document-Threads architecture as
shown Figure 7, chromosomes of population at gen-
eration p are assigned to each block. So, it simulta-
neously calculates n × i documents cosine similarity
in a generation p.
4 EXPERIMENT RESULTS
In this section, we implement our method of MO-
GAs on CUDA for document clustering on the Reu-
ters-21578 collection, which is one of the most
widely adopted benchmark datasets in the text min-
ing field, and compare and discuss the performance
of MOGAs on CUDA with conventional GA. Also,
we use F-measure (Fragoudis et al., 2005) to evalu-
ate the performances of these clustering algorithms.
The population number in our conventional GA and
MOGAs is 300. These algorithms are terminated
when the number of generations reaches 1,000, or
when the iterations without improvement reach con-
secutive 20. In the current test data set 1, containing
100 documents from three topics (acq(30),
crude(30), trade(40)), data set 2 containing 200
documents from four topics (coffee(50), trade(50),
crude(50), sugar(50)), and data set 3 containing 300
documents from six topics (coffee(50), trade(50),
crude(50), sugar(50), grain(50), ship(50)) are se-
lected. After being processed by word extraction,
stop word removal, and Porter’s stemming, there are
1019, 3436 and 4210 index terms, respectively. Al-
so, the index term weight that is extracted by using
the Okapi’s calculation was determined.
We implement our experiments in two steps:
Firstly, by comparing the performances of the MO-
GAs to those of the other clustering algorithms for
the different data sets in serial code. Secondly, by
comparing the computational times of these algo-
rithms for the same data sets then we design GPU
parallel code and compare the computational times
with CPU serial code.
Figure 8 shows the performances of clustering
algorithms with the different data sets. GA indicates
the conventional GA with single objective function.
NSGA-II and SPEA2 indicate the MOGAs with two
objective functions. DB and CH indicate objective
functions applied in the clustering algorithms. DB
stands for DB index and CH for CH index. In sum-
mary, the clustering performances in all data sets are
highest F-measure when using NSGA-II and next,
SPEA 2. With each data set, the average F-measure
value of MOGAs using the NSGA-II and SPEA2 is
0.79, 0.75 and 0.80. Consequently, the document
clustering applying the MOGAs shows the perfor-
mance about 21% than conventional GA.
Figure 8: The clustering performance for each data set.
However, as a result of Table 1 the computational
time of MOGAs is greater than GAs. So, we adopted
CUDA for reduce computational times in document
clustering using MOGAs. We evaluate performance
of our MOGAs base on CUDA implementation us-
ing GeForce GTX 550Ti video cards with 192 cores
and 1 GB of RAM DDR3. GeForce GTX 550 Ti
consists of four Streaming Multiprocessors (SM).
Each SM consists of eight processor cores called
Streaming Processors (SP). In effect, GeForce GTX
550 Ti is a massively-parallel multi-core processor
embodying 32 SPs in total and maximum number of
active threads on each block is 1,024, in total more
than 130,000 threads. The computer used for exper-
iments was a desktop PC with Intel Core i7-2600 to
3.4 GHz, 8 GB of RAM, operating system 64-bit
Microsoft Windows 7 sp1.
DocumentClusteringUsingMulti-ObjectiveGeneticAlgorithmswithParallelProgrammingBasedonCUDA
285