在社交网络中对朋友进行分类

时间:2009-11-04 21:50:42

标签: algorithm machine-learning social-networking data-mining

我正面临以下问题:
假设 u 是社交网络用户,因此有一个朋友列表 F(u)。 a 分区是函数 F-> G ,其中 G 是一组诸如高中,大学,工作等的组”。
我需要提出算法来参加 F

  • F 输入 F(f) F 中的每个 f (列表每个的朋友的朋友)。
  • 在运行期间,允许算法询问 u 问题(例如“某些特定用户的最佳组 v ?”)。
  • 问题的数量应该保持在最低限度(最低限度并不是一个明确的数字,但我会说5%的朋友似乎是正确的)。

显然,生成的分区不是最佳的,但它应该是可接受的,作为后续改进的起点。

任何想法都会非常感激

编辑:不,这不是功课。我相信家庭作业会有更明确的要求和目标功能。无论如何不,这实际上是我面临的现实问题。

我也可能稍微简化一下,但实际上用户可能是许多群体的一部分(所以它更像是 F-> P(G),其中 P( G) G 时的幂群,因此更好的算法可以做到这一点。

1 个答案:

答案 0 :(得分:3)

基本的想法是尝试根据你的朋友之间的朋友将他们分成小组。

例如,如果你是鲍勃,而且你知道莎莉和拉里,莎莉和拉里都认识对方,那么他们可能就在同一个“团体”中。你不知道那个小组到底是什么,但既然你们都认识对方,你们可能会在同一个地方见面 - 无论是工作,大学等等。

您可以将其实现为有向图,其中节点是人,边是连接。然后,您需要根据它们的连接程度将这些节点组合在一起。

一旦建立了组,那么只需要查询组中的样本以及可能模糊的节点来确定组实际上是什么。

听起来像是家庭作业,所以我不会放弃任何其他东西,但这应该让你开始。