在机器学习中使用图论的建议?

时间:2011-12-12 15:37:59

标签: algorithm math artificial-intelligence machine-learning graph-theory

通过观看Christopher Bishops视频(http://videolectures.net/mlss04_bishop_gmvm/),我一直在学习很多关于使用图形进行机器学习的知识。我发现它非常有趣并且在同一类别(机器学习/图表)中观看了其他几个但是想知道是否有人有任何关于学习更多方法的建议?

我的问题是,虽然视频给予了很高的理解,但我还没有很多实用技巧。我读过关于机器学习/模式的Bishops书以及Norvig的AI书,但两者似乎都没有涉及特定的使用图表。随着搜索引擎和社交网络的出现,我认为图形上的机器学习会很受欢迎。

如果可能的话,是否有人可以建议学习资源? (我是这个领域的新手,开发对我来说是一个爱好,所以如果有一个非常明显的资源需要学习,我很抱歉。我试过google和大学网站。)

提前致谢!

4 个答案:

答案 0 :(得分:15)

首先,我强烈推荐Maksim Tsvetovat和Alexander Kouznetsov撰写的 Social Network Analysis for Startups 一书。对于需要在特定学科(在本例中为图论)快速获得基本流利程度的程序员来说,这样的书是天赐之物,这样他们就可以开始编写代码来解决这个领域的问题。两位作者都是受过学术训练的图形理论家,但他们的书的目标受众是程序员。本书中提供的大量示例几乎都是使用networkx库的python。

其次,对于您所考虑的项目,如果不是必不可少的话,两种类型的库非常有用:

  • 图表分析 :例如,优秀的networkx(python)或igraph (python,R, et.al 。)是我可以高度推荐的两个;以及

  • 图表呈现 :优秀的graphViz,可以使用 从命令行独立,但你更有可能想要 用它作为一个图书馆;所有主要的都有graphViz绑定 语言(例如,对于python,我至少知道三个, 虽然pygraphviz是我的偏好;对于R,有rgraphviz bioconductor包套件的一部分)。 Rgraphviz拥有出色的文档(特别参见包中附带的Vignette)。

安装和开始试验这些库非常容易,特别是使用它们

  • 学习基本图形理论词典和分析单位 (例如,度序列分布,节点遍历,图形 运营商);

  • 区分图中的关键节点(例如,度中心性, 特征向量中心性,协同性);以及

  • 识别原型图子结构(例如,二分结构, 三角形,周期,集团,集群,社区和核心。)

使用图形分析库快速理解图论的这些基本要素的价值在于,概念之间存在 1:1映射 >我刚才提到了(networkx或igraph)库中的功能

因此,例如,您可以快速生成两个大小相等的随机图(节点编号),渲染然后查看它们,然后轻松计算例如平均度序列或两者之间的中介中心性和第一手观察者如何变化这些参数的值会影响图的结构。

W / r / t ML和Graph理论技术的结合,这是我有限的个人经历。我在日常工作和图论中使用ML的次数较少,但很少在一起。这只是一个仅限于我个人经验的经验观察,所以我没有发现一个问题,即在这两个领域中结合技术似乎很自然。大多数情况下,图形理论分析在ML的盲点中很有用,这是大量标记训练数据的可用性 - 受监督的ML技术在很大程度上依赖于此。

说明这一点的一类问题是在线欺诈检测/预测。几乎不可能收集数据(例如,归因于特定用户的在线交易集合),您可以合理确定地将其分开并标记为“欺诈帐户”。如果它们特别聪明和有效,那么您将错误标记为“合法”,对于那些涉嫌欺诈的帐户,通常是第一级诊断(例如,额外的身份验证或增加的等待时间)足以使他们停止进一步的活动(这将允许一个明确的分类)。最后,即使你以某种方式设法收集一个合理的无噪声数据集来训练你的ML算法,它肯定会严重失衡(即,比“欺诈”数据点更“合法”);这个问题可以通过统计预处理(重新采样)和算法调整(加权)来管理,但它仍然是一个可能会降低结果质量的问题。

因此,虽然我从未能够成功地将ML技术用于这些类型的问题,但至少在两个实例中,我已经使用图论获得了一些成功 - 在最近的实例中,通过应用从由Carnegie Mellon的一个小组开展的项目最初是针对detection of online auction fraud on ebay

答案 1 :(得分:9)

麦克阿瑟天才格兰特获奖者和斯坦福大学教授达芙妮科勒共同撰写了一本关于贝叶斯网络的权威教科书,名为 Probabalistic Graphical Models ,其中包含对图论的严格介绍适用于AI。它可能与您正在寻找的不完全匹配,但在其领域中它受到高度重视。

答案 2 :(得分:3)

您可以参加斯坦福大学的免费在线课程,学习机器学习和人工智能:

https://www.ai-class.com/
http://www.ml-class.org/

这些课程不仅仅是关注图论,而是包括更广泛的领域介绍,它们将让您很好地了解应该如何以及何时应用哪种算法。我知道您已经阅读了有关AI和ML的入门书籍,但我认为在线课程将为您提供大量可以尝试的练习。

答案 3 :(得分:1)

虽然这与您所寻找的不完全匹配,但 textgraphs 是一个专注于图论与自然语言处理之间联系的研讨会。 Here是一个链接。我相信研讨会还制作了this本书。

相关问题