วิธีการทำคลัสเตอร์ที่ไม่ต้องระบุจำนวนคลัสเตอร์ล่วงหน้า


17

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

คำตอบ:


22

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

อัลกอริทึมการจัดกลุ่มมักแบ่งออกเป็นอาณาจักรกว้าง ๆ :

  1. อัลกอริทึมการแบ่งพาร์ติชัน (เช่นค่าkและค่าเฉลี่ย )
  2. การจัดกลุ่มตามลำดับชั้น (ตามที่@Tim อธิบาย )
  3. การจัดกลุ่มตามความหนาแน่น (เช่นDBSCAN )
  4. การจัดกลุ่มตามรูปแบบ (เช่นโมเดลการผสมแบบเกาส์ จำกัดหรือการวิเคราะห์ระดับแฝง )

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

การจัดกลุ่มแบบลำดับชั้นไม่ต้องการให้คุณระบุจำนวนคลัสเตอร์ล่วงหน้าตามที่ k-mean ทำ แต่คุณเลือกจำนวนคลัสเตอร์จากเอาต์พุตของคุณ ในทางกลับกัน DBSCAN ไม่ต้องการเช่นกัน (แต่มันต้องการสเปคของคะแนนขั้นต่ำสำหรับ 'ละแวกใกล้เคียง' - แม้ว่าจะมีค่าเริ่มต้นดังนั้นในบางแง่มุมคุณสามารถข้ามการระบุสิ่งนั้นได้ จำนวนของรูปแบบในคลัสเตอร์) GMM ไม่ต้องการแม้แต่สามข้อใด ๆ แต่ต้องการสมมติฐานที่เกี่ยวกับกระบวนการสร้างข้อมูล เท่าที่ฉันรู้ไม่มีอัลกอริทึมการจัดกลุ่มที่ไม่ต้องการให้คุณระบุจำนวนของคลัสเตอร์จำนวนข้อมูลขั้นต่ำต่อคลัสเตอร์หรือรูปแบบ / การจัดเรียงของข้อมูลใด ๆ ภายในคลัสเตอร์ ฉันไม่เห็นว่าจะมี

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

  • Berkhin, P. "การสำรวจเทคนิคการทำเหมืองข้อมูลแบบกลุ่ม" ( pdf )

ฉันสับสนโดย # 4 ของคุณ: ฉันคิดว่าถ้าแบบจำลองแบบผสมผสานแบบเกาส์กับข้อมูลนั้นต้องเลือกจำนวน Gaussians ให้พอดีนั่นคือต้องระบุจำนวนกลุ่มล่วงหน้า ถ้าเป็นเช่นนั้นทำไมคุณถึงพูดว่า "สำคัญที่สุดเท่านั้น" # 1 ต้องการสิ่งนี้
อะมีบาพูดว่า Reinstate Monica

@ อะมีบานั้นขึ้นอยู่กับวิธีการใช้โมเดลและวิธีการนำไปใช้ GMMs มักจะเหมาะสมที่จะลดเกณฑ์บางอย่าง (เช่นเช่น OLS regression คือ cf ที่นี่ ) ถ้าเป็นเช่นนั้นคุณไม่ได้ระบุจำนวนคลัสเตอร์ล่วงหน้า แม้ว่าคุณจะทำตามการใช้งานอื่น ๆ แต่ก็ไม่ใช่คุณสมบัติทั่วไปสำหรับวิธีการที่ใช้แบบจำลอง
gung - Reinstate Monica

k=3k

ฉันไม่ได้ทำตามข้อโต้แย้งของคุณที่นี่ @amoeba เมื่อคุณพอดีกับโมเดลการถดถอยอย่างง่ายที่มีอัลกอริทึม OLS คุณจะบอกว่าคุณกำลังระบุความชัน & การสกัดกั้นไว้ล่วงหน้าหรือว่าอัลกอริทึมนั้นระบุมันด้วยการปรับเกณฑ์ให้เหมาะสมหรือไม่ หากหลังฉันไม่เห็นว่ามีอะไรแตกต่างกันที่นี่ แน่นอนว่าเป็นจริงที่คุณสามารถสร้างเมตาดาต้าอัลกอริทึมใหม่ที่ใช้ k-mean เป็นหนึ่งในขั้นตอนในการค้นหาพาร์ติชันที่ไม่มีการระบุล่วงหน้า k แต่เมตาอัลกอริทึมนั้นจะไม่เป็นวิธี k
gung - Reinstate Monica

1
@ amoeba สิ่งนี้ดูเหมือนจะเป็นปัญหาทางความหมาย แต่อัลกอริธึมมาตรฐานที่ใช้เพื่อให้พอดีกับ GMM นั้นโดยทั่วไปจะปรับเกณฑ์ให้เหมาะสม เช่นการMclustใช้งานได้รับการออกแบบมาเพื่อปรับ BIC ให้เหมาะสม แต่สามารถใช้ AIC หรือลำดับของการทดสอบอัตราส่วนความน่าจะเป็น ฉันเดาว่าคุณสามารถเรียกมันว่า meta-algorithm, b / c มันมีขั้นตอนที่เป็นส่วนประกอบ (เช่น EM) แต่นั่นคืออัลกอริทึมที่คุณใช้ & ในอัตราใด ๆ คุณไม่จำเป็นต้องระบุ k ล่วงหน้า คุณสามารถเห็นได้อย่างชัดเจนในตัวอย่างที่เชื่อมโยงซึ่งฉันไม่ได้ระบุ k ไว้ล่วงหน้า
gung - Reinstate Monica

13

ตัวอย่างที่ง่ายที่สุดคือการจัดกลุ่มแบบลำดับชั้นที่คุณเปรียบเทียบแต่ละจุดกับจุดอื่น ๆ โดยใช้การวัดระยะทางจากนั้นเข้าร่วมคู่ที่มีระยะทางที่เล็กที่สุดในการสร้างจุดเชื่อมต่อหลอก (เช่นbและcทำให้bcเป็นรูปภาพ) ด้านล่าง) ถัดไปคุณทำซ้ำขั้นตอนโดยการเข้าร่วมจุดและหลอกจุดตามระยะทางตามลำดับของพวกเขาจนกว่าแต่ละจุดจะเข้าร่วมกับกราฟ

ภาพประกอบ Wikipedia

(ที่มา: https://en.wikipedia.org/wiki/Hierarchical_clustering )

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


การตัดแต่งไม่ได้หมายความว่าคุณกำลังตัดสินใจเลือกหมายเลขคลัสเตอร์หรือไม่
Learn_and_Share

1
@MedNait นั่นคือสิ่งที่ฉันพูด ในการวิเคราะห์กลุ่มคุณจะต้องทำการตัดสินใจเช่นนี้คำถามเดียวก็คือมันเป็นอย่างไร - เช่นมันอาจเป็นกฎเกณฑ์โดยพลการหรืออาจเป็นไปตามเกณฑ์ที่สมเหตุสมผลเช่นแบบจำลองความเป็นไปได้ตามความเหมาะสมเป็นต้น
Tim

1
มันขึ้นอยู่กับว่าคุณเป็นใครอย่างแน่นอน @MedNait การจัดกลุ่มตามลำดับชั้นไม่ต้องการให้คุณระบุจำนวนของคลัสเตอร์ล่วงหน้าตามที่ k-mean ทำ แต่คุณเลือกจำนวนคลัสเตอร์จากเอาต์พุตของคุณ ในทางกลับกัน DBSCAN ก็ไม่ต้องการเช่นกัน (แต่มันต้องการสเปคของคะแนนขั้นต่ำสำหรับ 'ละแวกใกล้เคียง' - แม้ว่าจะมีค่าเริ่มต้น - ซึ่งทำให้พื้นกับจำนวนของรูปแบบในคลัสเตอร์) . GMM ไม่จำเป็นต้องมีสิ่งนั้นด้วยเช่นกัน แต่ต้องใช้การตั้งสมมติฐานเกี่ยวกับกระบวนการสร้างข้อมูล อื่น ๆ
gung - Reinstate Monica

10

พารามิเตอร์ที่ดี!

วิธีการ "ปราศจากพารามิเตอร์" หมายความว่าคุณจะได้รับช็อตเด็ดครั้งเดียว (ยกเว้นการสุ่ม) โดยไม่มีความเป็นไปได้ในการปรับแต่ง

ตอนนี้การจัดกลุ่มเป็นเทคนิคการสำรวจ คุณต้องไม่สมมติว่ามีการจัดกลุ่ม "จริง"เดียว คุณควรสนใจสำรวจกลุ่มต่าง ๆ ของข้อมูลเดียวกันเพื่อเรียนรู้เพิ่มเติม การจัดกลุ่มเป็นกล่องดำนั้นไม่ได้ผลดีนัก

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

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


0

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.