You are on page 1of 6

อัลกอริทมึ เคมีนคลัสเตอรริงแบบขนานที่มีประสิทธิภาพบนระบบคลัสเตอร

An Efficient Parallel K-means Clustering Algorithm on a Cluster System

นเรศ ผองสวัสดิ์กุล1 และ จีรพร วีระพันธุ2


สาขาวิชาวิทยาการคอมพิวเตอร คณะวิทยาศาสตร
สถาบันเทคโนโลยีพระจอมเกลาเจาคุณทหารลาดกระบัง กรุงเทพฯ 10520
E-Mail: 1s0067505@kmitl.ac.th และ 2ksjeerap@kmitl.ac.th

Abstract ประมวลผลแบบขนานบนระบบคลั สเตอรมาประยุกตใ ช


K-means clustering algorithm is applied to ซึ่งผลการทดลองแสดงใหเห็นวาเวลาที่ตองใชสําหรับการ
classify or to group objects into K groups by
considering their attributes or features and can be
ประมวลลดลง และสามารถรองรับ ป ญหาขนาดใหญ ไ ด
used for developing applications in various fileds. มากกวาเดิม
However, the problem of those applications are time
consuming and out of memory because the data are
too large. In this research we present the efficient K- คําสําคัญ: อัลกอริทึมเคมีนคลัสเตอรริงแบบขนาน
means clustering algorithm by introducing the new
method for selecting initial cluster centers and
applying a parallel method to solve the problem. To 1. บทนํา
evaluate the performance of the proposed algorithm,
a number of experiments were performed on a cluster
อัล กอริ ทึ มเคมี น คลั ส เตอร ริ ง (K-means Clustering
system. The investigated results showed that the Algorithm) เป น วิ ธี ก ารแบง กลุ มข อ มู ล ของวั ตถุ ทั้ งหมด
response time was improved and the system can
support more data. ออกตามจํานวนกลุมที่ตองการ K กลุม และคา K ตองนอย
Keyword: parallel clustering algorithm
กวาจํ านวนของวัตถุ ทั้งหมด (N) ซึ่งจํานวนกลุ มตอ งเป น
เลขจํา นวนเต็ มบวก และการจั ดกลุ มวั ตถุตองอาศั ยความ
บทคัดยอ เหมือนของวัตถุ โดยวัดจากระยะหางที่นอยที่สุดระหวา ง
เคมีน คลัส เตอร ริงเปน อั ลกอริทึ มสํา หรับ จั ดกลุ มวั ตถุ วัตถุกับจุดศูนยกลางของกลุมทั้งหมด เพื่อจัดวัตถุเขาสูกลุม
ต า งๆ ตามจํ า นวนกลุ มที่ ต อ งการ โดยพิ จ ารณาจากคุ ณ ตางๆ ตามจํานวนกลุมที่ตองการ นิยมใชการวัดระยะแบบ
ลักษณะของวัตถุเหลานั้นและถูกนําไปพัฒนาแอพพลิเ คชัน ยูคลิด (Euclidean distance) และจุดศูนยกลางเหลานั้นเปน
จํานวนมากในหลากหลายสาขา แตการนําไปประยุกตใช ตัวแทนของกลุมตางๆ สามารถคํานวณไดจากคาเฉลี่ยของ
ตางก็ประสบปญหาเดียวกันคือ เวลาและหนวยความจําที่ วัตถุที่อยูภายในกลุมเดียวกัน ซึ่งวัตถุเหลานั้นมีคุณลักษณะ
ตอ งใช ใ นการประมวลผลมากเกิ น ไป เนื่ อ งจากข อ มู ล มี เหมือนกัน สวนวัตถุที่อยูตางกลุมก็มีคุณลักษณะที่แตกตาง
ขนาดใหญ งานวิจัยนี้เรานําเสนอวิธีการเพิ่มประสิทธิภาพ กั น และอั ล กอริ ทึ มเคมี น แบบลํ า ดั บ เมื่ อ ใช ห นึ่ งหน ว ย
ของอั ลกอริทึมเคมีน คลัสเตอร ริงโดยนํา เสนออัลกอริทึ ม ประมวลผลต อ งใช เ วลาสํ า หรั บ การประมวลผลเท า กั บ
สํา หรั บ เลื อ กชุ ด ของจุ ด ศู น ย ก ลางเริ่ มต น และนํ า วิ ธี ก าร O(RKN) และมีขั้นตอนยอยในการทํางาน ดังนี้[8]

Proceedings of the Conference on Knowledge and Smart Technologies 2009 (July 24-25, 2009)

142
ประสบกับปญหาการมีหนวยความจํ าไมเ พียงพอสําหรั บ
การประมวลผล เนื่ อ งจากอาศั ย พื้ น ที่ ห น ว ยความจํ า บน
คอมพิวเตอรเพียงเครื่องเดียวเทานั้น และเร็วๆ นี้มีงานวิจัย
เกี่ ย วกั บ อั ล กอริ ทึ ม เคมี น คลั ส เตอร ริ ง แบบขนานบน
เครือขายของคอมพิวเตอร [3,4,6,8,11] ซึ่งชวยทําใหเวลาที่
จําเปน ตองใช สําหรับ การประมวลผลลดลง และสามารถ
ประมวลผลข อ มู ล ที่ มีข นาดใหญ มากกว า คอมพิ ว เตอร
เพี ย งเครื่อ งเดี ย วจะสามารถประมวลผลได เนื่อ งจากใช
คอมพิวเตอรหลายเครื่องในการประมวลผล
งานวิ จั ย นี้ นํ า เสนอวิ ธี ก ารเพิ่ ม ประสิ ท ธิ ภ าพของ
อั ล กอริ ทึ มเคมี น ด า นความเร็ ว ในการประมวลผล และ
สามารถประมวลผลข อ มู ล ที่ มี ข นาดใหญ ขึ้ น ได โดย
รูปที่ 1. อัลกอริทึมเคมีน นําเสนออัล กอริทึ มสํา หรั บเลือกชุด ของจุด ศูน ยกลางเริ่ ม
แอพพลิ เคชั น จํ า นวนมากนํา เอาอัล กอริ ทึ มเคมี น มา ต น แบบใหม และนํ า วิ ธี ก ารประมวลผลแบบขนานมา
ประยุกตใชในหลากหลายสาขา โดยเฉพาะแอพพลิเคชั น ประยุกตใชรวมกัน
ในการทํ าเหมือ งขอ มูล (Data Mining) ซึ่ งต างก็ ตองการ หั ว ข อ ต อ ไปที่ จ ะกล า วถึ ง คื อ งานวิ จั ย ที่ เ กี่ ย วข อ ง
อัล กอริ ทึ มที่ ป ระมวลผลได อ ย างรวดเร็ว กั บ ขอ มู ลขนาด หัวข อที่ 3 งานวิจั ยที่นํ าเสนอ หั วขอ ที่ 4 การวิเคราะห
ใหญ ยกตัว อยางเชน ระบบสังเกตการณโลก (The Earth ประสิทธิภาพของอัลกอริทึม หัวขอที่ 5 การทดลองและ
Observing System: EOS) ขององคการนาซา (NASA)[6] หัวขอสุดทายคือ สรุปผล
ระบบนี้ สามารถสรางขอ มูล จํานวนมหาศาล (หน วยเป น
เทเรไบต ตอ วั น ) ข อ มู ล เหล า นั้ น ถู ก นํ า มาใช ใ นการระบุ 2. งานวิจัยที่เกี่ยวของ
ความผิดปกติที่ เกิดขึ้นบนโลกของเรา ซึ่งการจัดกลุมของ งานวิจั ยที่เกี่ย วของที่เราทํ าการศึ กษาแบงออกเปน 2
ขอมูลสามารถทําไดโดยใชอัลกอริทึมคลัสเตอรริง สวนคือ งานวิจัยเกี่ยวกับอัลกอริทึมสําหรับเลือกชุดของจุด
อยางไรก็ตาม เมื่อขอมูลมีขนาดใหญจะสงผลกระทบ ศูนยกลางเริ่มตน [1,10] และงานวิจั ยเกี่ยวกับอัลกอริทึ ม
ต อ เวลา และหน ว ยความจํ า ที่ จํ า เป น ต อ งใช สํ า หรั บ การ เคมี นคลั สเตอรริ งแบบขนาน [6,8,11] ซึ่ง ในงานวิ จัย [10]
ประมวลผล ดั งนั้น แอพพลิ เคชันมากมายที่นํ า อัล กอริทึ ม แสดงวิ ธี ก ารของลอยด (Lloyd-Type Methods) เลื อ กจุ ด
เคมีนแบบลําดับมาใชตองประสบกับปญหาเรื่องเวลาและ ศูนยกลาง 2 จุด แรก โดยเลือกคูของวั ตถุ x, y  X ดว ย
หน ว ยความจํ า ที่ ตอ งใช ใ นการประมวลผลมากเกิ น ไป ค า ความน า จะเป น ดั ง นี้ || x  y || ² ส ว นจุ ด ศู น ย ก ลาง
เนื่ อ งจากข อ มู ล มี ข นาดใหญ และเพื่ อ ลดเวลาในการ จุ ด ถั ด ไปเลื อ กจากวั ตถุ x ด ว ยค า ความน า จะเป น ดั ง นี้
ประมวลผล ไดมีงานวิจัยเกี่ยวกับอัลกอริทึมสําหรับเลือก min j{1,..., i} || x  c j || ² เมื่ อ X เป น ชุ ด ของข อ มู ล
ชุด ของจุ ด ศูน ย ก ลางเริ่มต น [1,5,10] ดังแสดงในรูป ที่ 1 ทั้งหมด สวน i คือ จํานวนของจุดศูนยกลางที่ถูกเลือกไว
(ขั้นตอนที่ 2) กอนการจัดกลุ มวัตถุดว ยอัลกอริ ทึมเคมี น แล ว และ c คื อ จุ ด ศู น ย ก ลางของกลุ ม และงานวิ จั ย [1]
คลั ส เตอร ริ ง ซึ่ ง ช ว ยให ก ารจั ด กลุ ม วั ต ถุ ร วดเร็ ว ยิ่ ง ขึ้ น เลื อ กจุ ด ศู น ย กลางจุ ด แรก โดยสุ มจากวั ตถุ ทั้ งหมด และ
เนื่องจากจํานวนรอบของการจัดกลุมวัตถุลดลง แตยังตอง เลื อ กจุ ด ศู น ย ก ลางจุ ด ถั ด ไปด ว ยค า ความน า จะเป น ดั ง นี้

Proceedings of the Conference on Knowledge and Smart Technologies 2009 (July 24-25, 2009)

143
D(x) 2 เมื่อ x  X และ D(x) คือ ระยะหางระหวางวัตถุ ถัดไปทําหนาที่แบงขอมูลออกทีละครึ่งหนึ่ง โดยเลือกจุ ด
กับจุดศูนยกลางของวัตถุนั้น ซึ่งถูกเรียกวา “D² Weighting” ศู น ย ก ลางของกลุ ม ที ล ะจุ ด สลั บ กั บ การจั ด กลุ มวั ต ถุ ซึ่ ง
อั ล กอริ ทึ ม สํ า หรั บ เลื อ กชุ ด ของจุ ด ศู น ย ก ลางเริ่ ม ต น มี อั ล กอริ ทึ มนี้ ตอ งใช เ วลาสํ า หรั บ การประมวลผลเท า กั บ
ความสํา คัญมากต อการจัด กลุ มวั ตถุ เนื่อ งจากอัล กอริทึ ม O(KN) และมีขั้นตอนยอยในการทํางาน ดังนี้
เคมีนตองจัดกลุมวัตถุว นซ้ําไปเรื่อยๆ จนกวาวัตถุทั้งหมด
1. เลือกวัตถุที่มีระยะหางนอยที่สุดจากพิกัดศูนย
จะไมมีการเปลี่ยนกลุม ซึ่งตองใชเวลาในการประมวลผล
2. กําหนดจุดศูนยกลางจากวัตถุที่ถูกเลือกไว
เทากับ O(RKN) [6] เมื่อ R คือ จํานวนรอบของการทํางาน
3. จั ด กลุ ม วั ต ถุ ทั้ ง หมดตามระยะห า งที่ น อ ยที่ สุ ด
ซ้ํา สวน K คือ จํานวนกลุมที่ตองการ และ N คือ จํานวน
ระหวางวัตถุกับจุดศูนยกลางที่ถูกกําหนดไว
ของวั ต ถุ ทั้ ง หมด จากผลการทดลองพบว า อั ล กอริ ทึ ม
4. เลือกวัตถุที่มีระยะหางมากที่สุดจากทุกกลุม
สํ า หรั บ เลื อ กชุ ด ของจุ ด ศู น ย ก ลางเริ่ มต น เหล า นี้ ชว ยลด
5. ทํางานซ้ําขั้นตอนที่ 2 จนกวาจุดศูนยกลางจะครบ
จํานวนรอบของการทํางานลง จึงสงผลใหเวลาที่จําเปนตอง
K จุดศูนยกลาง
ใชในการประมวลผลลดลงตามไปดวย
6. คํานวณคาเฉลี่ยของแตละกลุมเพื่อกําหนดเปนชุด
สวนตอมาเปนงานวิจัยเกี่ยวกับอัลกอริทึมเคมีนคลั ส
เตอรริง แบบขนาน ซึ่ งในงานวิจัย[6] ออกแบบใหแตล ะ ของจุดศูนยกลางเริ่มตน
โปรเซสเซอรจัดกลุมวัตถุที่อยูกลุมเดียวกันเทานั้น งานวิจัย
[11] ออกแบบใหแตละโปรเซสเซอรจั ดกลุมวัตถุของทุ ก 3.2 อัลกอริทึมเคมีนแบบขนาน
กลุม และกระบวนหลักทําหนาที่เลือกชุดของจุดศูนยกลาง แนวคิ ด ของอั ล กอริ ทึ ม เคมี น แบบขนานที่ นํ า เสนอ
แลว กระจายไปยังทุกกระบวนการยอ ย ซึ่ งโปรเซสเซอร คล า ยกั บ วิ ธี ก ารในงานวิ จั ย [8] คื อ ออกแบบให แ ต ล ะ
หลัก รับ ผิด ชอบงานของทั้ ง 2 กระบวนการ และงานวิจั ย โปรเซสเซอรจัด กลุ มวั ตถุ ของทุก กลุ ม และกระบวนการ
[8]ไดพัฒนาใหแตละกระบวนการทําหนาที่เลือกชุดของจุด หลัก (Master Process) ทําหนาที่เลือกจุดศูนยกลางเริ่มตน
ศูนยก ลางเอง ซึ่ งวิธีก ารประมวลผลแบบขนานหรื อแบบ แบบใหม ซึ่ ง พั ฒนาตามแบบจํ า ลองการเขี ย นโปรแกรม
กระจายมีประโยชนเปนอยางมากในการเพิ่มประสิทธิภาพ เพี ย งโปรแกรมเดี ย ว และใช โ ปรแกรมนี้ ทํ า งานบนทุ ก
ของอั ล กอริ ทึ มเคมี น โดยทํ า การแบ ง ข อ มู ล ไปยั ง หลาย โปรเซสเซอรกับชุดขอมูลที่ตางกัน (SPMD) ดังนี้
โปรเซสเซอร เพื่อใหโปรเซสเซอรเหลานั้นชวยกันจัดกลุม Master Process

วั ตถุ พ ร อ มๆ กั น ทํ า ให เ วลาที่ จํ า เป น ต อ งใช สํ า หรั บ การ 1. Read objects from file.
2. Randomly form equal subsets follow about number

ประมวลผลลดลง และสามารถรองรั บป ญหาขนาดใหญ of processors.


3. Select initial centers.
4. Send each subset to each slave process.
มากกวาคอมพิวเตอรเครื่องเดียวจะสามารถประมวลผลได 5. Broadcast initial centers to all slave processes.
6. Receive result sets from all slave processes.

3. งานวิจัยที่นําเสนอ Slave Process

3.1 อัลกอริทึมสําหรับเลือกชุดของจุดศูนยกลาง 1. Receive a subset P and set C from master process.


2. Assign internal objects into internal clusters and
count of objects moved.
เริ่มตน 3. Calculate sum and count of objects into internal
cluster.
แนวคิดของอัลกอริทึมที่นําเสนอสําหรับเลือกชุดของ 4. Broadcast sum, count of objects and count of objects
moved to all slave processes.
จุดศูนยกลางเริ่มตน แบบใหมคือ เลือกจุดศูนยกลาง 2 จุ ด 5. Calculate new centers by using sum and counts.
6. Repeat step 2 if objects moved.
แรกใหเ ปน ขอบของข อมู ลทั้ งหมด ส ว นจุ ดศู นย กลางจุ ด 7. Send result set to master process.

Proceedings of the Conference on Knowledge and Smart Technologies 2009 (July 24-25, 2009)

144
4. การวิเคราะหประสิทธิภาพของอัลกอริทึม ขั้นตอน 10: แตละกระบวนการยอยสงผลลัพธการจัดกลุม
การวิเคราะหเวลาที่เครื่องคอมพิวเตอรตองใชใ นการ กลับไปยังกระบวนการหลัก
Tcomm6 = Tstartup + G Tdata
ประมวลผลอัล กอริทึม (Time Complexity) แบ งเปน 2
จากอั ล กอริ ทึ ม เคมี นแบบขนานพบว า กระบวนการ
สว น คือ เวลาสํ า หรับ การสื่อ สารระหว า งโปรเซสเซอร
ยอยมีการทํางานซ้ําตั้งแตขั้นตอนที่ 2 จนถึงขั้นตอนที่ 5 ซึ่ง
(Communication Time: Tcomm) และเวลาสํา หรับ การ
TCM เป นผลรวมของเวลาที่ใ ชสํ าหรับ การสื่ อสาร และ
ประมวลผล (Computation Time: Tcomp) ซึ่งอัลกอริทึม
TCP เป น ผลรวมของเวลาที่ ใ ช สํ า หรั บ การประมวลผล
เคมีนแบบขนานที่นําเสนอมีเวลาสําหรับการสื่อสาร และ
ฉะนั้นเวลาที่เครื่องคอมพิวเตอรตองใชในการประมวลผล
เวลาสําหรับการประมวลผลทั้งหมด 10 ขั้นตอน ดังนี้
สามารถคํานวณไดจากสมการ ดังนี้
ขั้นตอน 1: กระบวนการหลั กเลื อกชุ ดของจุด ศูนย กลาง
Total Time = TCM + TCP
เริ่มตน
TCM = Tcomm1 + Tcomm2 + Tcomm3 + Tcomm4 +
Tcomp1 = KN
Tcomm5 + Tcomm6
ขั้นตอน 2: กระบวนการหลัก สงกลุมขอ มูลไปยั งแตล ะ = nProc (Tstartup + N/nProc Tdata) + Tstartup +
กระบวนการยอย |C| Tdata + R (Tstartup + |C| Tdata) +
R (Tstartup + K Tdata) + R (Tstartup + Tdata) +
Tcomm1 = nProc(Tstartup + N/nProc Tdata) Tstartup + G Tdata
ขั้นตอน 3: กระบวนการหลักกระจายชุดของจุดศูนยกลาง = (nProc + 3R + 2) Tstartup +
(N + |C| + R (|C| + K +1) + G) Tdata
เริ่มตนไปยังทุกกระบวนการยอย = O(N + R|C|)
Tcomm2 = Tstartup + |C| Tdata
TCP = Tcomp1 + Tcomp2 + Tcomp3 + Tcomp4
ขั้นตอน 4: กระบวนการยอยนําขอมูลของวัตถุและชุดของ = KN + RK|P| + R|P| + R|C|
จุดศูนยกลางเริ่มตนมาจัดกลุมและนั บจํานวนวัตถุที่มีการ = KN + R (K|P| + |P| + |C|)
= O(KN + RK|P|)
เปลี่ยนกลุม
Tcomp2 = K|P| Total Time = O(N + R|C|) + O(KN + RK|P|)

ขั้นตอน 5: กระบวนการยอยคํานวณผลรวมและนับจํานวน = O(KN + RK|P|)

สมาชิกของแตละกลุม การวิเคราะหหนวยความจําที่เครื่องจําเปนตองใชใน
Tcomp3 = |P| การประมวลผลอัลกอริทึม (Space Complexity) เนื่องจาก
ขั้นตอน 6: แตละกระบวนการยอยกระจายผลรวมไปยังทุก กระบวนการหลั ก ทํ า การแบ ง ข อ มู ล ทั้ ง หมดไปยั ง ทุ ก
กระบวนการยอย กระบวนยอยแบบสุม ซึ่งแตละโปรเซสเซอรทํางานอยูบน
Tcomm3 = Tstartup + |C| Tdata
เครื่องคอมพิวเตอรตางเครื่องกัน และแตละเครื่องมีหนวย
ขั้นตอน 7: แตละกระบวนการยอยกระจายจํานวนสมาชิก
ความจําเปนของตัวเอง ดังนั้นอัลกอริทึมเคมีนแบบขนาน
ไปยังทุกกระบวนการยอย
Tcomm4 = Tstartup + K Tdata จึ งสามารถรองรั บ ข อ มู ล ที่ มีข นาดใหญ ขึ้ น และต อ งใช
ขั้นตอน 8: แตละกระบวนการยอยกระจายจํานวนวัตถุที่มี หนวยความจําทั้งหมดเทากับ O(N) [6]
การเปลี่ยนกลุมไปยังทุกกระบวนการยอย จากอั ล กอริ ทึ ม เคมี น แบบขนาน Tstartup เป น เวลา
Tcomm5 = Tstartup + Tdata สําหรับเตรีย มการเริ่มตน ในการสงขอ มูลและ Tdata เป น
ขั้นตอน 9: กระบวนการยอยนําผลรวม และจํานวนสมาชิก เวลาสําหรับสงขอมูลไปยังโปรเซสเซอรหนวยอื่น ซึ่งเวลา
ของแตละกลุมมาคํานวณหาคาเฉลี่ย ทั้ง 2 เป นเวลาคงที่ขึ้น อยูกับ ระบบ [6] ส วน nProc คื อ
Tcomp4 = |C|
จํานวนของโปรเซสเซอรทั้งหมดที่ใชในการประมวลผล

Proceedings of the Conference on Knowledge and Smart Technologies 2009 (July 24-25, 2009)

145
เซต N คือ ขอมูลของวัตถุทั้งหมดที่ตองการจัดกลุม เซต P อัลกอริทึมที่นําเสนอ: เลือกจุดศูนยกลางจุดแรกจากวัตถุที่
คือ ขอมูลของวัตถุที่แตละโปรเซสเซอรรับผิดชอบ ดังนั้น อยู ใ กล กั บพิ กั ด ศู น ยมากที่ สุ ด และเลือ กจุ ด ศู นย ก ลางจุ ด
|P|  N/nProc เซต G คือ ผลลัพธของการจัดกลุมวัตถุ ใน ถัด ไปจากวั ตถุ ที่มีร ะยะหา งมากที่ สุด ระหว า งวั ตถุกั บ จุ ด
กระบวนการยอย และเซต C คือ ชุดของจุดศูนยกลาง ซึ่ง ศูนยกลางของวัตถุนั้นจนครบถวน แลวคํานวณคาเฉลี่ยเพื่อ
ประกอบดวยจุดศูนยกลางของทุกกลุม กําหนดเปนชุดของจุดศูนยกลางเริ่มตน
ตาราง 2. เวลาที่ตองใชสําหรับการประมวลผล
5. การทดลอง K Algo1 Algo2 Algo3 NewAlgo
10 0.0469 0.1094 0.0262 0.0078
การทดลองในงานวิ จั ย นี้ เ ป น การพั ฒ นาอั ล กอริ ทึ ม 20 0.0859 0.1680 0.0625 0.0352
30 0.1953 0.1445 0.1055 0.0859
สําหรับเลือกจุดศูนยกลางเริ่มตน และอัลกอริทึมเคมีนคลัส 40 0.2500 0.1953 0.1016 0.0664
50 0.4258 0.1836 0.1133 0.0977
เตอร ริ ง แบบขนานบนระบบคลั ส เตอร แ บบเนื้ อ เดี ย ว
(Homogeneous Cluster System) ซึ่งใช ระบบการสงผา น 0.45
Time Comparison
0.4

ขอความ (Message Passing Interface: MPI) เพื่อทําใหกลุม

Execution Time
0.35

(Second)
0.3 Algo1

ของคอมพิวเตอรสามารถติดตอสื่อสารและทํางานรวมกัน 0.25
0.2
Algo2
Algo3

ได โดยใชภาษาซีในการพัฒนาโปรแกรม สวนไฟลขอมูล


NewAlgo
0.15
0.1

ที่นํามาใชในการทดลองมีรายละเอียด ดังนี้ 0.05


0
K
ตาราง 1. ชุดขอมูลสําหรับการทดลอง 10 20 30 40 50

Data set Quantity Attributes Size: KB รูปที่ 2. เปรียบเทียบเวลาที่ตองใชสําหรับ


Cloud 1,024 10 106 การประมวลผล
Spam 4,601 58 686
Intrusion 494,019 35 63,539 ตาราง 3. จํานวนรอบของการทํางานซ้ํา
ส ว นแรกคื อ การทดลองวั ด ประสิ ท ธิ ภ าพของ K Algo1 Algo2 Algo3 NewAlgo
10 32 31 17 2
อัลกอริทึมเคมีนแบบลําดับ สําหรับหนึ่งหนวยประมวลผล 20 31 36 22 11
30 48 19 24 20
โดยพิจารณาจากเวลาที่ตองใชสําหรับการประมวลผล และ 40 46 23 17 11

จํา นวนรอบของการทํ า งานซ้ํ า ซึ่ งนํ า อั ลกอริ ทึ มสํ า หรั บ 50 65 16 15 13

เลือกชุดของจุดศูนยกลางเริ่มตน แบบตางๆ มาประยุกตใช จากผลการทดลองของอั ล กอริ ทึ มเคมี น แบบลํ า ดั บ


กับอัลกอริทึมเคมีนแบบลําดับ ดังนี้ แสดงใหเห็นวาอัลกอริทึมสําหรับเลือกชุดของจุดศูนยกลาง
อัลกอริทึม 1: เลือกชุดของจุดศูนยกลางเริ่มตน โดยเลือก เริ่มตนที่ นําเสนอ เมื่อถู กนํ าไปประยุกต ใช กับอั ลกอริทึ ม
วัตถุที่อยูลําดับแรกจนถึงลําดับที่ K จากวัตถุทั้งหมด [8] เคมีนแลวทําใหประสิทธิภาพของอั ลกอริ ทึมเคมี นดีที่สุ ด
อัลกอริทึม 2: เลือกจุดศูนยกลาง 2 จุดแรก โดยเลือกคูของ ซึ่งมี เพีย งอัล กอริทึม เคมี นแบบที่ 3 เทานั้ นที่ เวลาสํา หรั บ
วัตถุที่มีระยะหางมากที่สุด และเลือกจุดศูนยกลางจุดถัดไป การประมวลผล และจํ า นวนรอบของการทํ า งานซ้ํ า ถู ก
จากวัตถุที่มรี ะยะหางมากที่สุดระหวางวัตถุกับจุดศูนยกลาง บันทึกเปนคาเฉลี่ย เนื่องจากจุดศูนยกลางจุดแรกถูกเลือก
ของวัตถุนั้น [10] โดยการสุมทําใหชุดของจุดศูนยกลางเริ่มตนที่ไดรับมาขาด
อัลกอริ ทึม 3: เลือกจุด ศูนยกลางจุด แรก โดยสุมจากวัตถุ ความแน น อน ส ง ผลให เ วลาที่ ต อ งใช สํ า หรั บ กา ร
ทั้งหมด และเลือกจุดศูนยกลางจุดถัดไปจากวัตถุที่มีระยะ ประมวลผล และจํ า นวนรอบของการทํ า งานซ้ํ า อาจไม
หางมากที่สุดระหวางวัตถุกับจุดศูนยกลางของวัตถุนั้น [1] เทากันในการประมวลผลแตละครั้ง

Proceedings of the Conference on Knowledge and Smart Technologies 2009 (July 24-25, 2009)

146
ส ว นสุ ด ท า ยคื อ การทดลองวั ด ประสิ ท ธิ ภ าพของ 6. สรุปผล
อั ล กอริ ทึ ม เคมี น แบบขนาน โดยทํ า การเปรี ย บเที ย บ งานวิ จั ย นี้ นํ า เสนอวิ ธี ก ารเพิ่ ม ประสิ ท ธิ ภ าพของ
ประสิทธิภาพระหวางอัลกอริทึมเคมีนแบบขนานแบบเดิม อัลกอริทึมเคมีนคลัสเตอรริงใหดียิ่งขึ้นเพื่อตอบสนองกับ
ซึ่ ง ใช อั ล กอริ ทึ ม สํ า หรั บ เลื อ กชุ ด ของจุ ด ศู น ย ก ลางเริ่ ม ความตองการของแอพพลิเคชันในปจจุบนั ที่ตองทํางานกับ
ตนแบบแรก [8] กับอัลกอริทึมเคมีนแบบขนานแบบใหมที่ ขอมูลขนาดใหญ ซึ่งกอใหเกิดปญหาที่สําคัญมากคือ เวลา
นําเสนอ โดยใชหนวยประมวลผลจํานวน 2 หนวย ในการ และหนวยความจําที่ตองใชสําหรับประมวลผลมากเกินไป
ทดลองครั้งนี้ ดังนั้นเราจึงนําเสนออัลกอริทึมสําหรับเลือกชุดของจุดศูนย
ตาราง 4. ผลการเปรียบเทียบประสิทธิภาพ
กลางเริ่ ม ต น แบบใหม และนํ า วิ ธี ก ารประมวลผลแบบ
อัลกอริทึมเคมีนแบบขนาน
ParK-means NewK-means
ขนานมาประยุก ตใช รว มกัน จากผลการทดลองแสดงให
K

10
Itera
32
Time
0.0313
Itera
2
Time
0.0039
เห็ น วา เวลาที่ตอ งใช สํ าหรั บการประมวลผลลดลง และ
20 31 0.0547 11 0.0234 สามารถรองรับปญหาที่มีขนาดใหญมากกวาคอมพิวเตอร
30 48 0.1211 20 0.0508
40 46 0.1406 11 0.0430 เพียงเครื่องเดียวจะสามารถประมวลผลได
50 65 0.2383 13 0.0586

0.3
Time Comparison
7. เอกสารอางอิง
0.25
[1] D. Arthur, and S. Vassilvitskii, “k-means++: The
Execution Time

Advantages of Careful Seeding”, SODA, 2007.


(Second)

0.2
ParK-means
0.15 NewK-means [2] D. Arthur and S. Vassilvitskii, “K-means++ test
0.1
code”,http://www.stanford.edu/_darthur/kMeanspp
Test.zip.
0.05
[3] H. BISGIN, “Parallel Clustering Algorithm With
0 K Application to Climatology”, Computational Science
10 20 30 40 50
and Engineering, December 2007.
รูปที่ 3. ผลการเปรียบเทียบประสิทธิภาพ [4] M. N. Joshi, “Parallel K - Means Algorithm on
Distributed Memory Multiprocessors”, Computer
อัลกอริทึมเคมีนแบบขนาน Science Department University of Minnesota, Twin
Cities, spring 2003.
จากผลการทดลองของอั ล กอริ ทึ มเคมี น แบบขนาน [5] C. H. Jun, J. S. Lee, and H. S. Park, “A K-means-like
Algorithm for K-medoids Clustering and Its
แสดงให เ ห็ น ว า อั ล กอริ ทึ มเคมี น แบบขนานแบบใหม มี Performance”, Proceedings of the 36th CIE
ประสิ ท ธิ ภ าพสู ง กว า แบบเดิ ม เนื่ อ งจากนํ า อั ล กอริ ทึ ม Conference on Computers & Industrial Engineering,
pp.1222-1231, Taipei, Taiwan, Jun. 20-23, 2006.
สํ า หรั บ เลื อ กชุ ด ของจุ ด ศู น ย ก ลางเริ่ ม ต น ที่ นํ า เสนอมา [6] S. Kantabutra, “Parallel K-Means Clustering
Algorithm on NOW”, September 1999.
ประยุ ก ตใ ช โดยอั ลกอริ ทึ มเคมีน แบบขนานจะมี จํ านวน [7] S. Kantabutra, P. Kornpitak, and C. Naramittakapong ,
“Pipelined K-means Algorithm on COWs”, ISCIT ,
รอบของการทํางานซ้ํา เทา กับอัล กอริทึ มเคมี นแบบลําดั บ September 03-05, 2003, Hatyai, Songkhla, Thailand.
[8] W. Liao, “The Software Package of Parallel K-
เสมอ เมื่อ จํา นวนกลุ มที่ ตองการเท ากั น (K) ถึ งแม วา การ means”, http://www.ece.northwestern.edu/~wkliao/
Kmeans/index.html, 2005.
เลือกชุดของจุดศูนยกลางเริ่มตนเปนความรับผิดชอบของ [9] J. Mao, L. Ou, Z. Xiong, and Y. Zhang, “The Study of
กระบวนการหลัก (Master Process) เทานั้น แตเวลาที่ใชใน Parallel K-Means Algorithm”, Proceedings of the 6th
World Congress on Intelligent Control and
การประมวลผลสวนใหญจะอยูในกระบวนการยอย (Slave Automation, June 21 - 23, 2006, Dalian, China.
[10] R. Ostrovsky, Y. Rabani, L. J. Schulman, and
Process) ซึ่งเปนผลเนื่องมาจากวิธีการของอัลกอริทึมเคมีน C. Swamy, The Effectiveness of Lloyd-Type Methods
for the k-Means Problem”, IEEE, 2006.
คลัสเตอรริง และจํานวนรอบที่ใช ดังนั้นวิธีการที่นําเสนอ [11] E. SÜLÜN, “Improvements in K-means Algorithm to
Execute on Large Amounts of Data”,
ในงานวิจัยนี้ชวยทํา ใหอัลกอริทึมเคมีนคลั สเตอร ริงแบบ http://library.iyte.edu.tr/tezler/master/bilgisayaryaziliz/
T000441.pdf, October 2004.
ขนานมีประสิทธิภาพสูงยิ่งขึ้น

Proceedings of the Conference on Knowledge and Smart Technologies 2009 (July 24-25, 2009)

147

You might also like