略谈社交网络:
抽屉里有本书《social networks analysis》,平时也没翻,突然老板说,搞一下社交网络分析,于是就上了。一周下来写个小结。由于在网络中找关键点,已经被分析了很多(比如中心性、流中心性等,而且python有个networks的包,总之没什么难度。),我当时的定位是网络分解:把一个大的网络划分为若干个紧密连接的子网络。
数据的准备以及验证:
作为验证算法的有效性来说,我们没有去找一个已经标记过的网络,而是造了一批数据。我们设定A B C三个群体,分别20、20、50人;同类人与人之间 0.2的概率与其他人发生联系,异类人与人之间0.02的概率法身联系。这样一个用于测试的社交网络就够造好了。
分解的思想:
记得之前看一本书上说:信息是来自于网络的外部(原话已经忘了)。对于局部网络来说他有一些桥梁(边)使他与全局相连,那怎么找到这些桥梁呢?我们使用的方法非常简单,让网络中每一个人都从自己的出发点传递一条信息给其他所有人(当然,因为这些人很懒,他们每次都会走最近的路线),然后看看哪条(边)被最多(或者top K)的人使用,那它就是“桥