อัลกอริทึมการจัดกลุ่มสำหรับข้อมูลที่ไม่ใช่มิติ


12

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

โปรดยกโทษให้ฉันถ้าคำถามนี้มีวิธีแก้ปัญหาที่รู้จักกันดีฉันรู้น้อยมากเกี่ยวกับปัญหาแบบนี้! การวิจัย (จำกัด มาก) ของฉันเปิดอัลกอริทึมการจัดกลุ่มสำหรับข้อมูลมิติเท่านั้น

ขอบคุณ!


ทำไมการไม่ใช้มิติสร้างปัญหานี้เป็นพิเศษ
Raphael

1
อัลกอริทึมบางอย่างที่ฉันเห็นสำหรับการจัดกลุ่ม (จริงๆแค่ k-mean) ต้องการการสร้างจุดข้อมูลแบบสุ่มเป็นเมล็ดซึ่งไม่สามารถทำได้กับข้อมูลที่ไม่มีมิติ ดังนั้นความต้องการพิเศษคือศูนย์คลัสเตอร์จะต้องแสดงด้วยชุดของจุดข้อมูลที่มีอยู่ (อาจถ่วงน้ำหนัก)
paintcan

คำตอบ:


15

หากฟังก์ชั่นในระยะที่เป็นตัวชี้วัดแล้วคุณสามารถใช้ทั้ง -Center การจัดกลุ่ม (ที่รัศมีสูงสุดของลูกจะลดลง) หรือจัดกลุ่ม -Median (ซึ่งช่วยลดผลรวมของระยะทางที่ศูนย์คลัสเตอร์) จัดกลุ่ม -center นั้นง่าย: เพียงแค่เลือกจุดที่ไกลที่สุดและคุณรับประกันว่าจะได้รับการประมาณ 2 ครั้งผ่านความไม่เท่าเทียมกันของรูปสามเหลี่ยม (นี่คือผลลัพธ์เก่าเนื่องจาก Gonzalez)k k kkkkk

สำหรับการจัดกลุ่ม -median มีงานมากมายให้อ่านที่นี่มากเกินไป Michael Shindler ที่ UCLA ได้ทำการสำรวจความคิดเห็นหลัก ๆk

ปัญหาทั้งสองนี้เป็นปัญหาแบบ NP-hard โดยทั่วไปและยากที่จะประเมินโดยประมาณภายในปัจจัยที่กำหนดเอง โปรดทราบว่าหากคุณวางเงื่อนไขการเป็นตัวชี้วัดสิ่งต่างๆจะแย่ลงในแง่ของความสามารถในการประมาณ

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

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


3
ขอบคุณสำหรับภาพรวมที่รวดเร็วและชัดเจน ฉันต้องใช้เวลาอย่างน้อยสองสามวันเพื่อตรวจสอบว่าคุณได้ตอบคำถามของฉันแล้วหรือยัง ดูเหมือนว่าฉันมีจำนวนมากที่จะเรียนรู้ก่อนที่ผมจะเข้าใจปัญหาของฉันพอ :)
paintcan

5

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


ใช่นั่นเป็นอีกตัวอย่างที่ดี และแน่นอนว่า Warren เป็นผู้เชี่ยวชาญในเรื่องนี้! ฉันไม่ทราบว่าอินพุตของ OP นั้นเป็น +/- หรือไม่หรือสามารถแปลงผ่านทาง thresholding ถ้าเป็นเช่นนั้นนี่เป็นตัวเลือกที่เหมาะสม
Suresh Venkat

5

หากคุณเพียงแค่มองหาประสิทธิภาพเชิงประจักษ์อัลกอริทึมการแพร่กระจายความสัมพันธ์มักจะทำงานได้ดีกว่า k-medians มีรหัสในหลายภาษาและสิ่งพิมพ์ที่อธิบายอัลกอริทึมโดยละเอียดเพิ่มเติมอยู่ที่นี่: http://www.psi.toronto.edu/index.php?q=affinity%20propagation

วัตถุประสงค์ที่พยายามขยายให้ใหญ่สุดคือ:

is(i,ci)

โดยที่คือการวัดความคล้ายคลึงกันที่กำหนดไว้ระหว่างคู่ของคะแนน (เช่นระยะทางลบ) และมอบคลัสเตอร์ที่เป็นเจ้าของ มีพารามิเตอร์เพิ่มเติมหนึ่งพารามิเตอร์ที่กำหนดในที่ควบคุมว่าคุณต้องการกลุ่มขนาดใหญ่หรือขนาดเล็กc ic i s ( i , i )scicis(i,i)


5

คำถามของคุณดูเหมือนจะบอกเป็นนัยว่าคุณกำลังมองหาอัลกอริทึมที่มีเวลาในการคำนวณที่เหมาะสม เมื่อกำหนดขนาดของจุดยอด (หรือจุด) ของคุณจะเป็นการสร้างการแสดงกราฟน้ำหนักของข้อมูลของคุณและใช้ Markov Cluster Algorithm (MCL) เพื่อจัดกลุ่มกราฟ

http://www.micans.org/mcl/

MCL ขึ้นอยู่กับการเดินสุ่มผ่านกราฟที่มีน้ำหนักและไม่มีน้ำหนักเพื่อค้นหากราฟย่อยที่มีความหนาแน่นสูง สามารถจัดการกับกราฟขนาดใหญ่และถูกใช้ในโปรแกรมทางชีวสารสนเทศที่รู้จักกันดีและใช้กันอย่างแพร่หลาย (เช่น BLAST) -Boucher


1

พิจารณาk-ใกล้ที่สุดอัลกอริทึมเพื่อนบ้าน


Raphael อัลกอริทึม k-NN ไม่ใช่อัลกอริธึมการจัดกลุ่มจริง ๆ ใช่ไหม? ถ้าคุณไม่ดึง k เพื่อนบ้านของโหนดซ้ำ ๆ ?
Suresh Venkat

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