โดยทั่วไปเป้าหมายของการทำคลัสเตอร์กราฟและวิธีการตรวจหาชุมชนคือการคำนวณกลุ่ม มีความแตกต่างระหว่างพวกเขาหรือไม่?
โดยทั่วไปเป้าหมายของการทำคลัสเตอร์กราฟและวิธีการตรวจหาชุมชนคือการคำนวณกลุ่ม มีความแตกต่างระหว่างพวกเขาหรือไม่?
คำตอบ:
ไม่ตัวอย่างเช่นจากการตรวจจับชุมชนในกราฟการสำรวจล่าสุดและดีมากโดย Santo Fortunato "คุณสมบัติของเครือข่ายจริงนี้เรียกว่าโครงสร้างชุมชน (Girvan และ New-man, 2002) หรือการรวมกลุ่ม" มีประเด็นเล็ก ๆ น้อย ๆ ในการอธิบายประเด็นเพิ่มเติมจริงๆ ฉันมีความรู้สึกว่าในสไตล์การวิเคราะห์เครือข่ายโซเชียลก่อนหน้านี้เครือข่ายมีแนวโน้มที่จะเรียบง่าย (ไม่ถ่วงน้ำหนัก) แต่มันไม่ใช่สิ่งที่ฉันต้องการจะเถียงและไม่สำคัญ คำตอบสำหรับคำถามของคุณคือ
ในการตรวจสอบโครงสร้างชุมชนในเครือข่าย M.Newman กำหนดการจัดกลุ่มกราฟเป็นปัญหาเฉพาะที่กำหนดไว้ในบริบทของวิทยาศาสตร์คอมพิวเตอร์
ลองพิจารณาการคำนวณบางอย่างซึ่งสามารถแบ่งในการดำเนินงานที่ง่ายขึ้นหลาย ๆ สิ่งเหล่านี้แสดงถึงโหนดในเครือข่ายของเรา ลิงค์สอดคล้องกับการพึ่งพาระหว่างการดำเนินการนั่นคือผลลัพธ์ของการดำเนินการหนึ่งเป็นสิ่งจำเป็นโดยอีกอันหนึ่ง ปัญหาประกอบด้วยการแจกจ่ายการดำเนินการผ่านตัวประมวลผลหลายตัวเพื่อการประมวลผลแบบขนาน กล่าวอีกนัยหนึ่งเราต้องการกำหนดแต่ละโหนด (การทำงาน) ให้กับคลาสที่เฉพาะเจาะจง (ตัวประมวลผล) นั่นคือเราต้องการแบ่งพาร์ติชันกราฟ
แม้ว่าจะมีข้อ จำกัด อยู่สามประการ แรกคือการได้รับจำนวนชุมชนที่กำหนดไว้ล่วงหน้าเพราะจำนวนของโปรเซสเซอร์เป็นที่รู้จักกันล่วงหน้าอย่างชัดเจน ประการที่สองคือการรับโหลดที่สมดุล: เราต้องการให้แต่ละโปรเซสเซอร์ดำเนินการในจำนวนที่เท่ากัน ในแง่ของกราฟเราต้องการให้ชุมชนมีจำนวนโหนดเท่ากันโดยประมาณ ที่สามคือการได้รับการสื่อสารที่ต่ำที่สุดระหว่างโปรเซสเซอร์เพราะมันทำให้กระบวนการช้าลง ดังนั้นในแง่ของกราฟเราต้องการลดจำนวนลิงก์ระหว่างชุมชน
ดังนั้นจากมุมมองนี้การตรวจจับชุมชนถือได้ว่าเป็นปัญหาทั่วไปมากกว่าการจัดกลุ่มกราฟ ข้อ จำกัด ที่สามจะถูกบังคับใช้ในปัญหาทั้งสอง แต่จำนวนและขนาดของชุมชนที่ไม่เป็นที่รู้จักเบื้องต้นในการตรวจสอบชุมชน
ชื่อที่แตกต่างกันสองแบบนี้ได้รับสิ่งเดียวกันโดยชุมชนนักวิทยาศาสตร์ที่แตกต่างกันขึ้นอยู่กับว่าใครต้องการที่จะเน้นแรงจูงใจเครือข่ายสังคมหรือไม่ บางทีใครบางคนกำลังกำหนดการจัดกลุ่มและการตรวจจับของชุมชนเป็นสิ่งที่แตกต่างกัน แต่คนส่วนใหญ่ที่ศึกษาหนึ่งในพวกเขาจะไม่สามารถบอกคุณได้ว่าทำไมพวกเขาไม่ได้ใช้คำอื่น ๆ
หากเครือข่ายขนาดใหญ่แบ่งออกเป็นสองส่วนอะไรรับประกันได้ว่าสองส่วนนี้เป็นสองชุมชน สองคลัสเตอร์มีการเชื่อมต่อต่ำไม่ได้หมายความว่าแต่ละคลัสเตอร์มีโหนดหรือโหนดที่มีลักษณะคล้ายกัน (เช่นชุมชน) นึกถึงกราฟเครือข่ายสังคม มีชุมชนมากมายแน่นอน โดยการจัดกลุ่มอัลกอริทึมคุณสามารถจัดกลุ่มเป็นสองส่วน ในกรณีนี้คุณจะเรียกชุมชนแต่ละชิ้นหรือไม่ ? คำตอบของฉันคือไม่ เนื่องจากทั้งสองกลุ่มอาจเป็นคนในพื้นที่ทางภูมิศาสตร์สองแห่ง และจากนั้นก็ไม่ใช่ชุมชน
อัลกอริธึมการทำคลัสเตอร์สนใจเพียงแค่การตัดต่ำสุดไม่เกี่ยวกับความคล้ายคลึงกันของโหนดหรือความคล้ายคลึงในการเชื่อมต่อ นอกจากนี้ในขั้นตอนวิธีการจัดกลุ่มจำนวนกลุ่มควรถูกกำหนดไว้ล่วงหน้า
อัลกอริธึมการตรวจหาชุมชนพวกเขาสนใจเรื่องความหนาแน่นพวกเขาพบว่าส่วนที่หนาแน่นของเครือข่ายและอัลกอริธึมแบบนั้น (ฉันเคยเห็นมาแล้ว) ไม่จำเป็นต้องกำหนดจำนวนชุมชนล่วงหน้า
อย่างไรก็ตามอัลกอริทึมการจัดกลุ่มสามารถใช้ในการค้นหาชุมชนจากนั้นไม่รับประกันว่าแต่ละคลัสเตอร์มีโครงสร้างชุมชนที่ดีควรตรวจสอบแต่ละคลัสเตอร์อย่างรอบคอบ
"เราไม่สามารถใช้การค้นพบชุมชนเพื่อแก้ปัญหาการทำคลัสเตอร์และในทางกลับกันได้แม้จะมีความคล้ายคลึงกัน แต่ก็มีวิธีการที่สำคัญในการค้นพบชุมชนจะเชื่อมต่อแบบเบาบางในขณะที่การจัดกลุ่มสามารถทำงานกับชุดข้อมูลหนาแน่นได้ ในขณะที่การค้นพบชุมชนมักจะเกี่ยวข้องกับประเภทคุณลักษณะเดียว - ขอบ - มักเป็นเลขฐานสองในกรณีของเครือข่ายที่ไม่ถ่วง "สำหรับข้อมูลเพิ่มเติมอ่านบทความต่อไปนี้:" ในการเปรียบเทียบระหว่างการค้นพบชุมชนและการจัดกลุ่ม "Riccardo Guidotti และ Michele Coscia