ดำเนินการจัดกลุ่ม K-Mean (หรือญาติสนิท) ด้วยเมทริกซ์ระยะทางไม่ใช่ข้อมูลแบบจุดต่อจุด


22

ฉันต้องการทำการจัดกลุ่ม K- หมายถึงการจัดกลุ่มบนวัตถุที่ฉันมี แต่วัตถุไม่ได้อธิบายว่าเป็นจุดในอวกาศเช่นobjects x featuresชุดข้อมูล อย่างไรก็ตามฉันสามารถคำนวณระยะห่างระหว่างวัตถุสองชนิดใดก็ได้ (มันขึ้นอยู่กับฟังก์ชันความคล้ายคลึงกัน) objects x objectsดังนั้นฉันจึงทิ้งของเมทริกซ์ระยะทาง

ฉันเคยใช้ K-mean มาก่อน แต่นั่นก็มีจุดเข้าชุดข้อมูล; และด้วยการป้อนเมทริกซ์ระยะทางมันไม่ชัดเจนสำหรับฉันที่จะอัปเดตกลุ่มให้เป็น "ศูนย์" ของคลัสเตอร์โดยไม่ต้องใช้การแทนจุด ปกติจะทำเช่นนี้ได้อย่างไร? มีเวอร์ชั่นของ K-Mean หรือเมธอดอยู่ใกล้ไหม


คุณหมายถึงอะไรที่ไม่ได้อธิบายว่าเป็นคะแนน
อยากรู้อยากเห็น

ดูเพิ่มเติมstats.stackexchange.com/q/12495/3277
ttnphns

คำตอบ:


24

เห็นได้ชัดว่า k-mean ต้องสามารถคำนวณค่าเฉลี่ยได้

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


21

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

หน้าเคอร์เนล -meansk

เคล็ดลับเคอร์เนลนี้เป็นแนวคิดที่ได้รับความนิยมและพื้นฐานในสถิติและการเรียนรู้ของเครื่อง

หน้า Wiki บนเคอร์เนลเคล็ดลับ

หากคุณมีความสนใจหนังสือเรียนรู้กับเมล็ดจากโดย Bernhard Schölkopfและ Alexander J. Smola จะเป็นการแนะนำที่ดีมาก

หมายเหตุจาก Max Welling นี้ดูดีมาก นอกจากนี้หากคุณใช้ R คุณสามารถดูแพ็คเกจ R นี้ได้

MDS อาจเป็นวิธีหนึ่งในการแก้ปัญหาของคุณ แต่ไม่ได้โจมตีปัญหาที่คุณต้องการแก้ไขโดยตรง ในขณะที่เคอร์เนล k- หมายถึงทำ


ฉันต้องการรวมลิงก์เพิ่มเติม แต่ไม่สามารถทำได้เนื่องจากชื่อเสียงต่ำ โน้ตจาก Max Welling note นี้ดูดีมาก นอกจากนี้ถ้าคุณใช้ R คุณสามารถดูแพ็คเกจ R
d_ijk_stra

(+1) ยินดีต้อนรับสู่เว็บไซต์ ฉันได้เพิ่มลิงก์ในความคิดเห็นของคุณไปยังเนื้อหาของโพสต์รวมถึงลิงค์ไปยังข้อความSchölkopfและ Smola
พระคาร์ดินัล

9

@gung นั้นถูกต้องจริง ๆ ขอแนะนำให้คุณปรับมาตราส่วนแบบหลายมิติ (MDS) เป็นเครื่องมือเบื้องต้นในการสร้าง points X dimensionsข้อมูลจากเมทริกซ์ระยะทาง ฉันจะเพิ่มเพียงไม่กี่จังหวะ K-วิธีการจัดกลุ่มหมายถึงระยะทางแบบยุคลิด MDS จะให้พิกัดจุดในมิติเพื่อให้คุณรับประกันระยะทางแบบยุคลิด คุณควรใช้ตัวชี้วัด MDS และขอขนาดที่มีขนาดใหญ่ที่สุดเท่าที่จะเป็นไปได้เนื่องจากเป้าหมายของคุณคือลดข้อผิดพลาดในการปรับข้อมูลให้ถูกต้องไม่แมปในรูปแบบ 2D หรือ 3D

ถ้าคุณไม่มีซอฟต์แวร์ MDS ในมือ แต่มีฟังก์ชั่นเมทริกซ์บางอย่างเช่นการสลายตัวของค่าเฉพาะหรือการแยกค่าเอกพจน์ จากนั้นคุณสามารถทำเมตริก MDS อย่างง่าย ๆ ด้วยตัวเอง - Torgerson MDS หรือที่เรียกว่าการวิเคราะห์พิกัดหลัก (PCoA) มันมีจำนวนเล็กน้อยการวิเคราะห์องค์ประกอบหลักบิด ฉันจะไม่อธิบายที่นี่แม้ว่ามันจะค่อนข้างง่าย คุณสามารถอ่านเกี่ยวกับเรื่องนี้ในหลายสถานที่เช่นที่นี่

ในที่สุดก็เป็นไปได้ที่จะตั้งโปรแกรม "K- mean สำหรับการป้อนข้อมูลระยะทางเมทริกซ์" โดยตรง - โดยไม่ต้องโทรหรือเขียนฟังก์ชั่นที่ทำ PCoA หรือ MDS ตัวอื่น เรารู้ว่า (a) ผลรวมของการเบี่ยงเบนกำลังสองจากเซนทรอยด์เท่ากับผลรวมของระยะทางคู่ปริภูมิแบบยุคลิดกำลังสองหารด้วยจำนวนคะแนน; และ (ข) ทราบวิธีการคำนวณระยะทางระหว่าง centroids คลัสเตอร์จากเมทริกซ์ระยะทาง ; (c) และเรารู้เพิ่มเติมว่าผลรวมของกำลังสองมีความสัมพันธ์กันอย่างไรในค่า K ทั้งหมดนี้รวมกันทำให้การเขียนอัลกอริทึมที่คุณต้องการตรงไปตรงมาและไม่ซับซ้อน เราควรจำไว้ว่า K-mean นั้นมีไว้สำหรับระยะทางแบบยุคลิด / พื้นที่แบบยุคลิดเท่านั้น ใช้ K-medoids หรือวิธีอื่นสำหรับระยะทางที่ไม่ใช่ยูคลิด

คำถามที่คล้ายกัน


7

แน่นอนฉันไม่รู้ว่ามันทำ "ปกติ" ได้อย่างไรและสำหรับบันทึกฉันไม่ทราบมากเกี่ยวกับการวิเคราะห์กลุ่ม อย่างไรก็ตามคุณคุ้นเคยกับการวัดหลายมิติหรือไม่? ( นี่คือการอ้างอิงอีกวิกิพีเดียและคุณสามารถค้นหา CV ภายใต้แท็ก.) หลายมิติการปรับใช้เวลาในเมทริกซ์ของระยะทางจากจำนวนซึ่งเสียงเหมือนสถานการณ์ของคุณ จาก MDS คุณสามารถรับตำแหน่งของวัตถุในพื้นที่มิติต่ำสุดที่จำเป็นเพื่อแสดงวัตถุเหล่านั้นอย่างเพียงพอ ฉันเดาว่าคุณสามารถใช้สถานที่เหล่านั้นเพื่อทำการวิเคราะห์กลุ่มต่อมาเช่น k-mean; อีกทางหนึ่งเมื่อคุณมีเอาต์พุตคุณอาจไม่ต้องใช้ CA อีกต่อไป

ฉันไม่รู้ว่าคุณใช้ R หรือไม่ แต่นี่คือมุมมองงานสำหรับ Psychometrics ซึ่งรวมถึงส่วนของ MDS ใน R. Hope ที่ช่วยได้


4

k

ในกรณีของคุณสิ่งที่คุณต้องทำคือ:

  1. D
  2. DผมJDJผม
  3. D
  4. S=-12D
  5. SSS~
  6. S~=VΛV
  7. n-1X=VΛ1/2

n


ขั้นตอนที่อธิบายไว้นั้นไม่น้อยไปกว่าการวิเคราะห์พิกัดหลักที่ฉันพูดถึงในคำตอบของฉัน
ttnphns

โปรดยกตัวอย่างขั้นตอนที่ 5 ของคุณแทนที่ค่า eigenvalue (เชิงลบ) สุดท้ายจากองค์ประกอบเมทริกซ์ S ดูเหมือนจะไม่ช่วยทำให้ S semidefinite เป็นบวก
ttnphns

@ttnphns: โดยทั่วไปคือ PCA ใช่ แต่ไม่ต้องการระยะทางในการวัด คำอธิบายของขั้นตอนที่ 5 นั้นโชคไม่ดีขอบคุณที่จำได้ ตอนนี้ชัดเจนหรือไม่
blubb

ลบผลรวมของค่าลักษณะเฉพาะเชิงลบจากค่าลักษณะเฉพาะทั้งหมดแล้วฟื้นฟู S เมทริกซ์จะเทียบเท่ากับการลบจำนวนเงินนั้นมาจากองค์ประกอบเส้นทแยงมุมของเอสนี้ endeed ทำให้ S บวก (กึ่ง) แน่นอน แต่ ...
ttnphns

... แต่วิธีนี้ไม่ดีมากในแง่ที่ว่าผลลัพธ์ euclidean ข้อมูล X ผลิต euclidean ระยะทาง D_new ซึ่งเป็นมากห่างไกลจากความแตกต่างเดิมดีดังนั้นฉันไม่อยากจะแนะนำขั้นตอนที่ 5 ของคุณดูเหมือนว่าดีมากเพียงชุดเชิงลบ eigenvalues ​​เป็น 0 และข้ามไปที่ขั้นตอนที่ 7 หรือวิธีที่ดีขึ้นเล็กน้อย: ตั้งค่า eigenvalues ​​เชิงลบเป็น 0, rescale eigenvalues ​​เชิงบวกเพื่อให้พวกเขารวมเป็นต้นฉบับ (= ติดตาม (S)) แล้วข้ามไปที่ขั้นตอนที่ 7 ถึงฉัน.
ttnphns

2

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


2

ฉันไม่รู้ว่าทำไมมันถึงเป็นเรื่องแปลกมากในวรรณคดี แต่วิธีการแก้ปัญหาที่แนะนำโดย @gung และ @ttnphns (ฉายภาพระยะทางตามเข็มนาฬิกาของคุณครั้งแรกในพื้นที่ Euclidean โดยใช้การวิเคราะห์พิกัดหลักเช่นผ่านแพ็คเกจนี้ถ้าคุณใช้ R แล้ว การทำ K- หมายถึงวิธีปกติ) นั้นง่ายและไม่ต้องการอัลกอริธึมพิเศษ ฉันเองใช้มันที่นี่ฝังตัวในกรอบการเพิ่มประสิทธิภาพและทำงานได้ค่อนข้างดี


1

เกี่ยวกับการจัดกลุ่มและ MDS ฉันขอแนะนำทรัพยากรต่อไปนี้:

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

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