AbutionDB`知识图谱+时序机器学习特征存储

关于AbutionDB​

AbutionDB是一个多模态的数据库,支持动静态知识图谱、时序事件数据、空间数据、机器学习特征、关系型数据、文本数据的存储,其中动态知识图谱平台AbutionGraph是一套包含数据采集、存储、计算、分析、监控的闭环大数据解决方案,本文将介绍知识图谱特征及其它用户行为特征在AbutionDB中作为机器学习特征存储的功能。

 

机器学习概念

机器学习是教会计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

特征工程是机器学习中最重要的一环,过程包含了特征提取、特征构建、特征选择等,选取的机器学习特征的质量直接决定了算法模拟人类行为的好坏。

机器学习特征是从数据中抽取出来的对结果预测有用的信息,可以是文本或者某项指标值,所谓“工欲善其事(学习人类),必先利其器(机器学习特征)”。

 

企业中用做机器学习的数据源

用户行为日志数据:记录用户在系统上操作所留下来的日志行为数据

业务数据:聊天数据、交易数据、商品/物品的信息、用户/会员的信息……

第三方数据:爬虫数据、购买的数据、合作方的数据……

其中,聊天、交易、商品、用户等数据包含实体间交互是天然的“图数据”,使用图的形式存储相比传统的数据库更具有表征力,进一步可以得到360度的用户画像特征,这些特征更适合作为机器学习的特征来训练上层的业务模型。

 

在线离线特征

我们在训练算法模型时,旧方案是使用数据处理程序从历史的离线数据中提取特征到内存,之后直接训练模型,待下一次重新训练时,再重复这个过程,使用模型做事件预测时也会遵循该过程。如果优化模型使原本的特征改变(增加/删除训练特征),就要从特征工程代码中去做修改,则存在代码不一致的风险,灵活度也非常低。

因此,在AbutionDB的解决方案中,历史的特征它可以是AbutionGraph中的图属性信息(静态或动态),也可以将丰富的图属性或业务中产生的事件数据在特征工程作业中将特征数据写入同一数据库底层AbutionDB中(静态或时序),它将结合一些天然的图特征和同一平台上的各种指标特征作为离线的特征存储。此外,针对特定的业务场景,在特征工程作业中还可以将实时产生的动态图属性(实体的邻居属性等)和实时聚合更新的机器学习特征(方差、最大最小值等)作为作为在线特征加入到特征向量中。在特征使用时,我们可以低延迟(实时)的从数据库中取到特征数据去做机器学习任务,更好的支持在线机器学习应用。

 

在线时序机器学习特征存储

算法模型可能具有数百个特征,除了一些固定不变的特征外,为了充分体现数据随时间推移的价值,而不用手动使用代码去维护,AbutionDB使用多维度时间序列的方式同时存储一些在线“动态变化”的机器学习特征,比如:“某三”与“某四”上午和下午分别互动了2次作为互动特征,自动汇总在“天”里的特征就是4次。这无形中横向的扩展了机器学习的特征维度,好处是显而易见的,时效性提高了、省去离线计算所需资源、机器学习模型更健壮且准确性也提高了。

考虑到过去发生的事件,事件发生期间的特征价值、事件在不同时间跨度的特征都是各有意义的。AbutionDB可以根据某个时间点或者时间跨度来查询某个特征的值:

1.时间点特征。提取具体的“年月日时分秒”所对应的特征,同时可以提取指定维度(小时、天、周、月等)的聚合特征值。

2.时间跨度特征。提取指定开始时间和结束时间范围内的机器学习特征。

 

特征工程工具

AbutionDB之上的各种数据形式存储都具有编程接口可以方便的拿到已经存在的数据去做二次处理,对于新产生的数据,AbutionDB可以无缝的使用大数据通用框架(如Apache Spark,Apache Flink,Java分布式内存等),Flink可以保证大规模数据的时效性和数据源的多样性,而Spark的功能和技术生态都更加完善,可以支撑大规模的二次数据应用任务。

 

在线算法模型持久化

模型持久化的目的是便于各应用模块的使用,在AbutionDB的解决方案中,将训练完成算法模型物化在分布式内存中,好处主要是3点:

  1. 分布式算法模型高可用;
  2.  模型高可用,集群中每台服务器都可以享用模型去做预测任务;
  3. 使用低延时,模型存在内存中可以非常低延时的使用模型去做24小时在线的预测任务;
  4. 同步更新,对于模型更新频率高的应用,在任意一台服务器更新模型后都可以同步到集群中的各个节点。

另一种方案,基于大数据环境Spark来做一些算法应用,可以使用图特摩斯科技经过深度扩展的Spark,在“云端”部署各种机器学习或者深度学习系统(BigDL、TensorFlow、PyTorch、MaxNet等)训练得到的算法模型,本方案的主要好处:

  1. 分布式算法模型高可用;
  2. 分布式计算框架,大吞吐预测;
  3. 更灵活的集群资源使用管控,“资源池”-即容器机制让计算与存储资源互不影响;
  4. 任何新开发的Spark程序都可一键上“云”;
  5. 省去API开发,类名即接口。

 

总结

天然支持机器学习特征存储的数据库少之又少,大多数的业务都可能涉及数据库与机器学习应用的相互结合,在线且在同一套存储系统中存储特征好处无需多讲。为了更快速“懂”你的客户,提供更好的服务,用户的各个时间段的行为不容忽视,时序的特征存储成为关键,即可以快速取到历史数据,又可以在线生成时间段的行为特征,而不必像往常一样将历史数据反复的重新计算来获取特征。为了更真实的将现实社会特征“虚拟”到数字化网络,知识图谱无疑是未来时代的宠儿,它可以360度的将你的用户特征刻画并存储在虚拟网络中,这些用户特征将会随着用户的行为而实时同步到虚拟网络中,并结合历史特征实时更新这些指标值,这就是“数字孪生”技术,将现实场景复制到数字网络中,实现虚实对应。AbutionDB就是这样的一个存储系统,为了适应数据产生速度、数据应用速度、数据计算速度越来越快的时代,AbutionDB同时支持知识图谱数据(动态)、K-V关系数据、事件数据、空间数据、机器学习特征、文本数据的存储。以领域知识驱动数据建设,面向实时、多源、异构、多维度、多尺度、动态、可追溯和跨模态复杂社会信息网络的风险感知、智能分析和群体决策的超大规模时序关联图及大数据智能计算一体化平台。实现一套多用,一个平台解决所有数据应用问题。

 

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页