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

CURE คืออะไร?


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

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

เนื่องจากเลือกจุดตัวแทน จุดเหล่านี้จึงลดลงไปยังจุดศูนย์กลางด้วยปัจจัยหนึ่ง 𝛼 การสนับสนุนนี้ช่วยกลั่นกรองผลกระทบของค่าผิดปกติ ซึ่งโดยทั่วไปแล้วจะอยู่ห่างจากจุดศูนย์กลาง ดังนั้นจึงลดขนาดลงมากขึ้น ตัวอย่างเช่น จุดตัวแทนที่ระยะห่างจากศูนย์กลาง 10 หน่วยสามารถเปลี่ยนได้ 3 หน่วย (สำหรับ 𝛼 =0.7) ในขณะที่จุดตัวแทนที่ระยะทาง 1 หน่วยสามารถเปลี่ยนได้ 0.3 หน่วย

CURE ใช้ประโยชน์จากลักษณะเฉพาะของกระบวนการจัดกลุ่มแบบลำดับชั้นเพื่อลบค่าผิดปกติที่จุดหลายจุดสองจุดในเฟสการทำคลัสเตอร์ อย่างแรก หากคลัสเตอร์เพิ่มขึ้นช้า อาจหมายความว่าคลัสเตอร์รวมค่าผิดปกติเป็นส่วนใหญ่ เนื่องจากตามคำจำกัดความ ค่าผิดปกติอยู่ไกลจากส่วนอื่นๆ และจะไม่รวมกับจุดต่างๆ กันบ่อยนัก

ใน CURE ขั้นตอนแรกของการกำจัดค่าผิดปกตินี้มักปรากฏขึ้นเมื่อจำนวนคลัสเตอร์เป็น 1/3 ของจำนวนคะแนนเริ่มต้น ขั้นตอนที่สองของการกำจัดค่าผิดปกติจะปรากฏขึ้นเมื่อหลายคลัสเตอร์อยู่ในลำดับของ K ซึ่งเป็นคลัสเตอร์ที่ต้องการหลายรายการ ณ จุดนี้ คลัสเตอร์ขนาดเล็กจะถูกลบออก

เนื่องจากความซับซ้อนที่แย่ที่สุดของ CURE คือ $\mathrm{O(m^2logm)}$ จึงไม่สามารถใช้กับชุดข้อมูลสูงได้อย่างแม่นยำ CURE ใช้สองวิธีในการเร่งขั้นตอนการจัดกลุ่ม วิธีแรกใช้สุ่มตัวอย่างและใช้การจัดกลุ่มแบบลำดับชั้นบนจุดข้อมูลที่สุ่มตัวอย่าง ตามด้วยการส่งผ่านสุดท้ายที่สร้างแต่ละจุดที่เหลืออยู่ในชุดข้อมูลให้เป็นหนึ่งในคลัสเตอร์โดยเลือกคลัสเตอร์ที่มีจุดตัวแทนที่ใกล้ที่สุด

ในบางกรณี ตัวอย่างที่จำเป็นสำหรับการจัดกลุ่มจะสูงและต้องใช้เทคนิคที่สองเพิ่มเติม ในสถานการณ์นี้ CURE จะแบ่งพาร์ติชั่นข้อมูลตัวอย่างและจัดกลุ่มจุดในทุกพาร์ติชั่น ขั้นตอนก่อนการจัดกลุ่มนี้จะตามด้วยการจัดกลุ่มของคลัสเตอร์ระดับกลางและการส่งผ่านครั้งสุดท้ายที่สร้างแต่ละจุดในชุดข้อมูลให้เป็นหนึ่งในคลัสเตอร์