Los*_*oul 11 algorithm math artificial-intelligence graph-theory machine-learning
通过观看Christopher Bishops视频(http://videolectures.net/mlss04_bishop_gmvm/),我一直在学习很多关于使用图形进行机器学习的知识.我发现它非常有趣并且在同一类别(机器学习/图表)中观看了其他几个但是想知道是否有人有任何关于学习更多方法的建议?
我的问题是,虽然视频给出了很高的理解,但我还没有太多的实用技巧.我读过关于机器学习/模式的Bishops书以及Norvig的AI书,但两者似乎都没有涉及特定的使用图表.随着搜索引擎和社交网络的出现,我认为图形上的机器学习会很受欢迎.
如果可能,任何人都可以建议学习资源吗?(我是这个领域的新手,开发对我来说是一个爱好,所以如果有一个非常明显的资源需要学习,我很抱歉.我试过谷歌和大学网站).
提前致谢!
dou*_*oug 15
首先,我强烈推荐Maksim Tsvetovat和Alexander Kouznetsov撰写的" Startups社交网络分析 "一书.对于需要在特定学科(在本例中为图论)快速获得基本流利程度的程序员来说,这样的书是天赐之物,这样他们就可以开始编写代码来解决这个领域的问题.两位作者都是受过学术训练的图形理论家,但他们的书的目标受众是程序员.本书中提供的大量示例几乎都是使用networkx库的python .
其次,对于你想到的项目,如果不是必不可少的话,两种库是非常有用的:
图形分析:例如,优秀的 networkx(python),或 igraph (python,R, et.al.)是我可以高度推荐的两个; 和
图形渲染:优秀的 graphViz,可以从命令行独立使用,但更有可能你想将它用作库; 在所有主要语言中都有graphViz绑定(例如,对于python,我至少知道三个,虽然 pygraphviz是我的偏好;对于R, rgraphviz是 bioconductor包套件的一部分).Rgraphviz拥有出色的文档(特别参见包中附带的Vignette).
它很容易安装并开始试验这些库,特别是使用它们
学习基本图论理论词典和分析单位(例如,度序列分布,节点遍历,图运算符);
区分图中的关键节点(例如,度中心性,特征向量中心性,协同性); 和
识别原型图子结构(例如,二分结构,三角形,周期,集团,集群,社区和核心).
使用图形分析库快速理解图论的这些基本要素的价值在于,在大多数情况下,我刚刚提到的概念与(networkx或igraph)库中的函数之间存在1:1的映射.
因此,例如,您可以快速生成两个大小相等的随机图(节点编号),渲染然后查看它们,然后轻松计算例如两者的平均度序列或中介中心性以及观察者第一手的值如何变化参数会影响图形的结构.
W/r/t ML和Graph理论技术的结合,这是我有限的个人经历.我在日常工作和图论中使用ML的次数较少,但很少在一起.这只是一个仅限于我个人经验的经验观察,所以我没有发现一个问题,即在这两个领域中结合技术似乎很自然.大多数情况下,图形理论分析在ML的盲点中是有用的,这是大量标记训练数据的可用性 -监督ML技术在很大程度上依赖于此.
解释这一点的一类问题是在线欺诈检测/预测.几乎不可能收集数据(例如,归因于特定用户的在线交易集合),您可以合理确定地将其分开并标记为"欺诈帐户".如果它们特别聪明和有效,那么您将错误标记为"合法",对于那些涉嫌欺诈的帐户,通常是第一级诊断(例如,额外的身份验证或增加的等待时间)足以使他们停止进一步的活动(这将允许一个明确的分类).最后,即使你以某种方式设法收集一个合理的无噪音数据集来训练你的ML算法,它肯定会严重失衡(即,比"欺诈"数据点更"合法"); 这个问题可以通过统计预处理(重新采样)和算法调整(加权)来管理,但它仍然是一个可能会降低结果质量的问题.
因此,虽然我从未能够成功地将ML技术用于这些类型的问题,但至少在两个实例中,我使用了图论并取得了一些成功 - 在最近的实例中,通过应用从项目改编的模型卡内基梅隆集团最初致力于检测ebay上的在线拍卖欺诈行为.
麦克阿瑟天才格兰特获奖者和斯坦福大学教授达芙妮科勒共同撰写了一本关于贝叶斯网络的权威教科书,名为Probabalistic Graphical Models,其中包含对应用于AI的图论的严格介绍.它可能与您正在寻找的不完全匹配,但在其领域中它受到高度重视.