使用机器学习衡量两个用户之间的联系

人工智能 机器学习 算法
2021-10-28 09:01:52

给定这个数据集:

User 1: {'Artist': 1, 'Public Figure': 9, 'Film Director': 1, 'Education': 1, 'Musician/Band': 4, 'Musician': 1, 'Community': 1, 'Author': 4, 'Politician': 1, 'TV Show': 2, 'Entrepreneur': 1, 'Journalist': 4, 'Product/Service': 1, 'Defense Company': 1, 'Computer Company': 2, 'Nonprofit Organization': 3, 'Computers & Internet Website': 4, 'Media/News Company': 3, 'Podcast': 1, 'News & Media Website': 2, 'Charity Organization': 1, 'Government Organization': 1, 'Magazine': 1}
User 2: {'Nonprofit Organization': 1, 'Movie': 2, 'Musician/Band': 22, 'Public Figure': 2, 'Entrepreneur': 2, 'TV Show': 2, 'Medical Company': 1, 'American Restaurant': 1, 'Sports & Recreation': 1, 'Media/News Company': 2, 'Sports Team': 1, 'Artist': 3, 'Musician': 1, 'College & University': 1, 'Athlete': 1, 'Music': 1, 'App Page': 1, 'Comedian': 1, 'Interest': 2, 'Product/Service': 1, 'Book Series': 1

我相信我可以根据他们喜欢或不喜欢相同类别的主题这一事实得出结论,连接强度是高是低。如果我有 500 个用户,每个用户都有类别和权重,那么哪种机器学习技术最适合应用于这些连接类型?

我想自动应用不同的权重,如果大多数人都有音乐家/乐队或喜欢电影,那应该比像用户 1 中的“国防公司”这样的人更有趣。

1个回答

这个问题可能会得到改进,以便通过更严格地定义两件事来使答案更具体。

  • 连接强度
  • 自动化必须从该值中推断出什么

学习、关联、预测和最大化盈利能力

从评论中猜测,目标似乎是出于商业目的对用户进行分析。用户分析的两个常见应用是

  • 提出购买选择或
  • 在社交网络中推荐朋友。

虽然看起来学习程序可以同时服务于这两种应用,但它们实际上是两个非常不同的问题。

一是通过增加每次交易的销售额来优化电子商务的盈利能力。另一种是建立一个社交网络,其中在朋友建议来自的用户配置文件配对中存在一些相似之处,也许还有一些故意的差异。

两者中的第一个与通过匹配用户来预测销售潜力有关,并依赖于假设两个具有相同兴趣的人更有可能在某种程度上相互反映购买模式,这可以预测为统计分析。

但是,通过立即跳到学习算法来接近该项目,经过一个月或一年的开发可能不会产生最佳结果。

解决此类问题的一种合理方法

根据问题中 STRENGTH 和 AUTOMATICALLY 的定义,它可能是概率矩阵或超立方体的简单应用,将创建基于兴趣的用户分析功能应用。为了通过兴趣的有序列表创建用户之间的相关性以放置在矩阵或超立方体的一个单元中,Spearman 的排名顺序相关是此类应用的一种通用但有效的方法。

学习通常从猜测开始

首先,您必须确定(最好用精确的数学术语)什么是有利的产品展示或有利的潜在朋友介绍。在确定之后,可以开发一个概率公式来预测基于相关矩阵或超立方体的有利因素。贝叶斯定理可能非常适用于从应用程序的约束和关系开发概率公式。

学习增加

一旦可以证明通过应用相关性获得的改善的好感度,那么应用学习算法将是明智的。顺序是这样的。

  • 通过随机选择向用户呈现的选项获得的结果
  • 使用相关矩阵或超立方体获得的结果
  • 通过迭代收敛于最佳呈现而获得的结果
  • 调整迭代收敛轨迹变化但不振荡

多层反向传播 Hopfield 神经网络可能是在使用相关性时改变参数的一种选择(或相关性的选择,因为 Spearman 只是有序离散兴趣的一种相关性模型)。神经网络也只是一种收敛方法。作为微分方程系统建模并使用泰勒级数的扩展来使用定义的独立输入向量进行评估是另一种方法。

要了解收敛的简单程度以及学习算法的原始程度,请考虑迭代确定平方根的除法和平均法