1. 程式人生 > >Community detection 社團檢測 (1)

Community detection 社團檢測 (1)

另個原因是難以驗證結果是否正確。對於有標註的資料,可以簡單地對比劃分結果來計算正確率,方法(NMI,Jaccabi,Omega,F-score)也不盡相同。正確率太高也不一定是好事,容易過擬合。然而大部分的資料是無標註的,在不知道正確結果的情況下得到社團的劃分,所以說不知道該檢測到什麼社團。Newman大牛一篇文章甚至說到,我們就不該在檢測之前知道社團長什麼樣。等檢測出來後,再解釋社團的意義。(總覺得不靠譜= = 我真該去搞應用)咳咳,此時該如何評價呢?一部分人會說,嘿,我和他得到的結果一樣,所以是正確的,然後開始自圓其說。幾個不同的方法得到相同的結果,這個結果確實有著不平凡的地方。更令人信服的方式是從某些描述社團特性
(密度,類間散度,類內散度,power-law)的側面來評價結果,比如社團內部的密度是否高,社團之間的聯絡是否少等等,有些目標函式也用來當作評價,比如最常用的modularity(可以同時衡量類內和類間兩方面)。這樣的評價更加客觀,原本是以函式A為目標求解,結果顯示評價(或目標)B和C也能得到很高的值,從多個側面來看,這個結果是好的。注意,要根據希望的社團結構來選擇合適的評價指標。每個人研究的問題或多或少都有所不同,許多人都是自己設的評價指標。自己的指標當然是自己跑的最好,別人跑的差。所以選用別人的指標會更有說服力,看,我用的你的指標跑的還比你好,你都能發表出來,就沒有理由不發表我的。啊,又陷入了發表論文的怪圈。再次注意,不要只是為了打敗別人而設指標,一定要選擇適合你的問題的指標,畢竟我們都是想解決問題的。別人的方法不足以解決問題,而我們的能夠解決,順便打敗他了而已= =。