Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

ประเภทของอัลกอริธึมพาร์ทิชันคืออะไร?


มีอัลกอริธึมพาร์ทิชันสองประเภทดังต่อไปนี้ -

การจัดกลุ่ม K หมายถึง − K-means clustering เป็นอัลกอริธึมการแบ่งส่วนที่ใช้บ่อยที่สุด K-means จะกำหนดข้อมูลใหม่ในชุดข้อมูลให้กับกลุ่มใหม่ที่สร้างขึ้นเพียงกลุ่มเดียว บันทึกหรือจุดข้อมูลถูกกำหนดให้กับคลัสเตอร์ที่ใกล้ที่สุดโดยใช้การวัดระยะทางหรือความคล้ายคลึงกัน มีขั้นตอนต่อไปนี้ที่ใช้ในการจัดกลุ่ม K-means:

  • สามารถเลือก K คลัสเตอร์เริ่มต้น centroid c1 , c2 , c3 ...... ck .

  • สามารถกำหนดอินสแตนซ์ x แต่ละรายการในคลัสเตอร์ S ที่มีเซนทรอยด์ใกล้กับ x มากที่สุด

  • สำหรับแต่ละคลัสเตอร์ ให้คำนวณเซนทรอยด์ใหม่โดยพิจารณาจากองค์ประกอบที่อยู่ในคลัสเตอร์นั้น

  • ไปที่ (b) จนกว่าคอนเวอร์เจนซ์จะเสร็จสิ้น

  • สามารถแยกวัตถุ (จุดข้อมูล) ออกเป็นคลัสเตอร์ K ได้

  • ใช้สำหรับคลัสเตอร์ center (centroid) =ค่าเฉลี่ยของจุดข้อมูลทั้งหมดในคลัสเตอร์

  • สามารถกำหนดแต่ละจุดให้กับคลัสเตอร์ที่มีเซนทรอยด์อยู่ใกล้ที่สุด (โดยใช้ฟังก์ชันระยะทาง)

ค่าเริ่มต้นสำหรับวิธีการถูกกำหนดโดยพลการ สิ่งเหล่านี้สามารถกำหนดแบบสุ่มหรืออาจใช้ค่าจากรายการอินพุต k รายการแรกด้วยตนเอง องค์ประกอบการบรรจบกันสามารถอ้างอิงจากความคลาดเคลื่อนกำลังสอง แต่ไม่จำเป็นต้องเป็นเช่นนั้น ตัวอย่างเช่น อัลกอริทึมถูกกำหนดให้กับคลัสเตอร์ต่างๆ เทคนิคการเลิกจ้างอื่น ๆ ได้ล็อคจำนวนการวนซ้ำคงที่ สามารถรวมจำนวนครั้งสูงสุดได้เพื่อให้แน่ใจว่าการช็อปปิ้งจะไม่มีการบรรจบกัน

อัลกอริทึม

ป้อนข้อมูล

D = {t1t2 ... tn} // Set of elements
k // Number of desired clusters

ผลผลิต

K // Set of clusters

อัลกอริทึม K หมายถึง -

กำหนดค่าเริ่มต้นสำหรับวิธี m12 ... mk

ซ้ำ

กำหนด ti แต่ละรายการให้กับคลัสเตอร์ที่มีค่าเฉลี่ยใกล้เคียงที่สุด

คำนวณหาค่าเฉลี่ยใหม่สำหรับแต่ละคลัสเตอร์

จนกว่าจะตรงตามเกณฑ์การบรรจบกัน

อัลกอริทึมเพื่อนบ้านที่ใกล้ที่สุด − อัลกอริธึมที่คล้ายกับเทคนิคลิงค์เดียวเรียกว่าอัลกอริธึมเพื่อนบ้านที่ใกล้ที่สุด ด้วยอัลกอริธึมแบบอนุกรมนี้ รายการต่างๆ จะถูกรวมซ้ำในคลัสเตอร์ปัจจุบันที่อยู่ใกล้ที่สุด ในอัลกอริทึมนี้ เกณฑ์ t สามารถระบุได้ว่ารายการจะถูกแทรกลงในคลัสเตอร์ที่มีอยู่หรือจะสร้างคลัสเตอร์ใหม่

อัลกอริทึม

ป้อนข้อมูล

D = {t1t2 ... tn} // Set of elements
A // Adjacency matrix showing distance between elements

ผลผลิต

K // Set of clusters
Nearest neighbour algorithm
   K1 = {t1};
   K = {K1};
   k = 1;
   for i = 2 to n do
      find the tm in some cluster Km in K such that dis {ti, tm} is the smallest;
      If dis {ti, tm} $\leqslant$ t then
      Km = Km $\cup$ ti
else
k = k + 1;
Kk = {ti}