钓鱼城引擎是关河因果分析系统的核心引擎,由深圳计算科学研究院钓鱼城团队基于图函数依赖理论研发。作为全球首款支持自动发现、自动筛选、可增量、可解释的图数据关联关系分析引擎,目标是挖掘出数据中的关联关系。

用途

移动互联网的发展和IoT的兴起引发了数据爆炸,海量的数据从用户或传感器处收集而来,数据如果仅仅是堆放在各个公司的数据仓库中而不利用,这些数据就只会花费存储成本而不产生价值,这无异于租了金矿却不开发。
数据中存在许多“知识”,数据是现实生活中各种行为现象的记录与抽象,知识就是其重蕴含的关系和道理,通过数据挖掘掌握知识,利用知识才能让数据产生价值。知识的主要用途大约有四种:

  1. 发现数据中的关联: 例如使用超市数据,发现消费者购买商品与其各种行为(消费时间,消费金额,购买的其他商品,购买间隔等,乃至开了什么样的车子来超市)之间的关联,从而为不同客户制定不同的营销策略
  2. 分类已有数据: 例如银行利用客户的数据来为客户划分评级,制定金融产品推销策略,降低金融风险。
  3. 识别新数据类别: 利用已有的分类来评估信新到来的数据的类型,比如app有了一个新增用户,根据用户输入的注册信息辨别他的偏好。
  4. 预测或补充数据: 利用我们已知的知识补充不存在的数据。比如利用已有药品与疾病的关系寻找新化合物与疾病之间的关系,助力药品开发。
    钓鱼城引擎是针对图数据的关联关系挖掘引擎,能完成上述目的。用户可以在关河因果https://yinguo.grandhoo.com/home中体验钓鱼城引擎功能,发现数据中蕴含的规律。

理论

  1. 图计算
    使用图理论完成关联关系挖掘,相比机器学习理论拥有可解释的特性。 对现实世界的规则有更好的亲和性,更容易寻找到数据中潜在的规律。
  2. 分布式
    钓鱼城系统基于图理论,有并行计算可行性,可以利用多机集群进行计算,有效提高程序效率。同时,钓鱼城是云原生应用,用户无需关心分布式细节,按需使用算力即可。

优势

得益于图理论,钓鱼城系统挖掘的规则(知识)具有可解释的特性,机器学习模型得出的结论人类无法理解,无法确定得出规则的原因, 在金融风控,社交分析,生物制药,反诈骗等应用场景下具有不可替代的优势。

图数据

引子

现实世界纷纷扰扰,信息庞杂,人类为了处理海量的信息并加以利用发明了计算机。现代计算机起源于图灵的图灵机理论:“一个受控制器控制的读写头,在一条带有信息的纸带上行走,并根据纸带的信息做出相应操作”

下图为一个图灵机的示意图

图灵机上的纸带是现实世界中事物信息与行为信息的数据化表示。没有它,计算机就无法使用它强大的算力来解决现实生活中的问题。
接下来的问题是如何将现实世界抽象到纸带上成为程序,为此计算机科学家与工程师们进行了很多努力,提出了诸多编程范式,例如描述现实中行为流程的过程式编程,描述现实对象交互的面向对象式编程,无中间状态只关心输入与输出的函数式编程。正如Pascal之父——Nicklaus Wirth所说:程序=数据结构+算法。

一个能够运行的计算机程序是由精妙的算法和表述力强大的数据结构构成,由于现代计算机的算力越来越强大,能够承载的数据也逐渐变多,组织起合适的数据结构用于运算可以更有效的利用算力,解决现实问题。现在应用最多的关系模型就是一种很有力的数据组织形式。

关系型数据

关系型数据是现代数据库应用最多的数据模型,它将现实世界中的信息抽象为一个个存储着数据的二维表,如下表所示

表的每一行都称为一条记录,记录是逻辑意义上的数据,每一列成为一个字段,表中的每一行都具有相同的字段(可能为空)字段具有特定的类型。表和表之间通过组合和约束(两个表数据的笛卡尔积的子集)建立联系来描述现实中的对象及其关系。
关系型数据具有容易理解,使用方便,易于维护的特点,这得益于简明的二维表,功能强大的SQL语言以及关系型数据库的ACID特性。时间进入21世纪,移动设备与IoT的崛起导致产生的数据量指数级增长,数据内部依赖的复杂度逐渐增加,关系型数据潜在的问题也逐渐暴露出来,为了解决这些问题,NoSQL数据库应运而生。
NoSQL类型数据库主要可以分为四类:

  • KV数据库
  • 列存储数据库
  • 文档型数据库
  • 图数据库

这些非关系型数据库应用了不同的数据模型,来为特定的相关算法带来计算速度提升。在这里我们重点
放在用于图结构相关算法的图数据上

图数据

图数据起源于图理论,图作为一种抽象数据模型,用于描述图论中有向图和无向图的概念。
图由一个有限的点集合以及边集合构成。支持移除,增加点边,以及在点边上游走等操作。下图就是一个典型的图数据的逻辑形式

常见的用于描述图数据的方式有两种:

  1. 邻接表
    存储下所有的节点,为每一个节点创建一个列表,列表中存储点邻接的边以及边的终点,下图即为一个图的邻接表表示

  2. 邻接矩阵
    使用一个二维矩阵,行和列表示边的起点和终点,矩阵用于描述点之间的边,点的信息可以存储在其他数据结构中,矩阵中可以选择一个边的一维信息(比如权重)进行存储,这样的数据结构在处理具有大量节点的稀疏图时具有劣势,处理稠密图以及进行边的一维信息运算上具有优势,下图即为一个图的邻接矩阵表示。
    图数据在抽象一些实际场景时表达力很强,比如在表达社交网络时,人的信息可以被抽象成点,人和人的关系被抽象成边,可以很直观的描述出社交关系网,并且利用这个关系网可以使用图相关算法进行快速的计算,得出直观有效的图函数依赖(规则)下图是一个钓鱼城引擎在娱乐图中挖掘出的图函数依赖(规则)

相比关系型数据,图数据具有以下优势

  1. 能够使用图算法的情况下查询,计算,存储更快
  2. 建模更自然,更简单
  3. 能够使用主谓宾结构,从数据的局部逐渐向外挖掘知识
  4. 可以通过定义新的点类型和边类型,动态的更改模式
  5. 数据展示更直观,更简单

图算法

图算法基于图数据结构,基本的图算法有以下几类

  1. 路径搜索:广度优先搜索、深度优先搜索。这类算法用于遍历整张图,获取图上信息。
  2. 最短路径:迪杰斯特拉算法、贝尔曼-福德算法等。这类算法用于寻找从图上某一点到另一点的最短路,在优化路径的场景下经常应用(交通规划,数据通路规划)
  3. 最小生成树算法:Prim算法,Kruskal算法。这类算法用于寻找如何在加权图中寻找能将所有节点连接起来加权最小的生成树,在优化连接系统的场景下经常应用(连接几个异地机房,架设电网,安装水管)
  4. 拓扑排序算法:卡恩算法。这类算法用于在图中寻找一个特定的节点顺序,在寻找有效的任务顺序时有所应用。
    对于图来说,在机器学习领域,图神经网络近年来成为热点,针对图数据结构的神经网络算法日渐丰富。同时图嵌入领域也在过去十年有了丰富的应用。

关河因果:钓鱼城引擎技术概述相关推荐

  1. 关河因果将逻辑规则与机器学习融合,将带来哪些技术突破?

    机器学习黑盒,缺乏可解释性 机器学习特别是深度学习,以神经网络为代表,发展至今,在很多任务上获得了很大的成功.在有足够多标注数据的情况下,神经网络往往效果惊人.但是,当标注数据匮乏时,神经网络的性能就 ...

  2. 浅析关河因果“逻辑规则+机器学习”

    逻辑规则融合机器学习是必然趋势 1."逻辑规则"在业务决策中的应用 在商业场景中,管理者一般如何进行决策?在数据分析并未普及时,人们通常会依赖于行业专家们将行业经验融合逻辑思维,形 ...

  3. 转载关河兄的一篇文章《探索性测试(Exploratory Testing)概述》

    2006年07月15日 15:05:00 作者:关河 <探索性测试(Exploratory Testing)概述> 在敏捷测试(Agile testing)中,探索性测试是作为一个重要组成 ...

  4. 【转】学习3D引擎架构技术概述

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接: https://blog.csdn.net/jxw167/article/deta ...

  5. 学习3D引擎架构技术概述

    近期对3D引擎的架构设计做了一个梳理总结,现在开发游戏都离不开引擎,这些引擎包括Unity引擎,虚幻引擎,Cocos2dx引擎,自研引擎等等.很多开发者只会利用他们写逻辑,遇到优化问题就束手无策了,遇 ...

  6. drools规则引擎技术指南_物联网规则引擎技术

    物联网应用程序设计与典型的IT解决方案大不相同,因为它将物理操作技术(OT)与传感器.致动器和通信设备连接起来,并将数字信息技术(IT)与数据.分析和工作流连接起来. 在企业环境中,物联网非常复杂,这 ...

  7. Apache的流处理技术概述

    对于流数据的处理存在很多技术:简单的事件处理器,流处理器和复杂的事件处理器.即使在开源社区中,也存在很多扑朔迷离的选择,其中很多的差异并没有被很好的记载,也不容易发现.这就是为什么我决定写这篇Apac ...

  8. freemarker ftl模板_Web开发人员必会的模板引擎技术之Freemarker

    曾几何时,Web开发是个多么高大上的名字,程序猿们都以能搞定Web技术为荣,此时还没有前后端之说.然而随着互联网的发展,社会分工进一步细化,职业岗位也更加细分,慢慢开始有了前端攻城狮和后端攻城狮,技术 ...

  9. LOD地形渲染技术概述

    参考文章 http://blog.sina.com.cn/s/blog_5e3213f30100zxet.html LOD技术简述 http://blog.sina.com.cn/s/blog_458 ...

最新文章

  1. Expression: _CrtIsValidHeapPointer(pUserData)
  2. c语言用正数的形式求最大值最小值,C语言-进制 - 盘盘的灰灰的个人空间 - OSCHINA - 中文开源技术交流社区...
  3. 阿里开发者们的第5个感悟:听话,出活
  4. Connection to node -1 (Desktop/192.168.0.102:9091) could not be established.
  5. 电机编码器调零步骤_BLDC电机换向方法解析
  6. C++primer 13.6.2节练习
  7. PHP正则表达式提取超链接及其标题
  8. system v 消息队列(二)
  9. 从零开始学android开发-创建第一个android项目
  10. 使用严格模式的坏处_再见面试官:单例模式有几种写法?
  11. AndroidDeveloper Weekly No.3
  12. excel 地级市名单_“excel随机抽取名单“谁有全国行政区划列表(EXCEL版且含省市县乡)?...
  13. 韦东山linux嵌入式学习之路
  14. Spring Boot项目JSP页面中文乱码解决
  15. vue项目封装腾讯TcPlayer播放器
  16. 纪念一次面试机试失败的题目:
  17. 记一次windows 10 无法升级问题的处理(系统盘MBR转GPT)
  18. Windows下命令行怎样登录MySQL
  19. 计算机流体力学软件基础及工程应用,流体力学及其工程应用(英文版·原书第10版)2013年版...
  20. csh/python/tcl常用功能

热门文章

  1. 用scratch3.0做游戏(1)
  2. vue 上传文件和下载文件
  3. 关于 LiDAR 从基础入门到数据处理总结归纳
  4. 在UWP应用中加入Cortana语音指令集
  5. 12.12 Daily Scrum
  6. 倒F天线仿真及走线宽度和高度对天线参数的影响
  7. 气相色谱仪分析常用的色谱定量方法有哪些?
  8. 怎样安装西门子PLC
  9. iOS笔记-performSelector的探索
  10. SecureCRT乱码的问题