云原生数据仓库AnalyticDB PostgreSQL版通过集成MADlib扩展来实现机器学习。

MADlib是一个在PG内核数据库中运行机器学习、图计算模型的开源库。在机器学习方面,MADlib除提供数理统计通用函数/存储过程之外,还提供一系列比较经典的监督/非监督学习算法库。

MADlib机器学习模块主要解决以下问题:

  • 分类/回归问题:提供一系列算法如K最近邻、MLP多层感知神经网络、SVM支持向量机、决策树等算法来解决二元分类/回归问题,集成最小二乘法、GLM广义线性回归、逻辑回归、多项式回归等模型来解决回归问题;
  • 聚类问题:提供K-Means算法实现聚类分析;
  • 关联分析:提供Apriori算法实现关联分析,解决如“啤酒与尿布”的关联问题;
  • 时序分析:提供ARIMA自回归移动平均模型预测时间序列数据的未来值;
  • 其他:数据降维如通过PCA主成分分析模型来提炼主因子,文档分类与LDA文档主题建模。

MADlib还集成图计算模型,解决诸如最短路径、PageRank排名、社交网络“谁认识谁,谁与谁更熟悉“等问题。图计算模型相关算法如下表:

类别 模型/功能 说明
最短路径 所有顶点之间最短路径 计算所有顶点之间的最短路径并保存到指定结果表,根据结果表查找任意起点到任意终点的最短路径。
给定顶点到其他之间最短路径 计算给定顶点到其他顶点之间的最短路径并保存到指定结果表,根据结果表查找给定顶点到任意终点的最短路径。
广度优先搜索 广度优先搜索 使用广度优先方法查找从给定源顶点可到达的节点。
HITS HITS分数 在有向图中找到所有顶点的HITS分数(权威度和中心度)。
网页排名 PageRank 在有向图中找到所有顶点的PageRank。
弱连通分量 弱连通分量 查找图的所有弱连接组件。
度量 平均路径长度 计算图的平均最短路径长度。
紧密度 计算图中每个节点的紧密度中心值。
图形直径 计算图的直径。
入/出度 计算每个顶点的度数(入度/出度)。

机器学习模块的具备以下优点:

  • 易用性好,入门门槛低,掌握SQL即可分析海量数据,让程序员,解决数据分析师轻松编程;
  • 轻量化程度高,面对复杂问题的解决方案选型时选择云原生数据仓库AnalyticDB PostgreSQL版即可,比如既要解决分类问题又要解决社交网络分析等问题时;
  • 计算有弹性,性能有保障,基于云原生数据仓库AnalyticDB PostgreSQL版云原生架构,方便弹性扩展CPU/计算节点等资源。