当前位置: 首页 > 科技观察

大数据的算法分类与实时分析

时间:2023-03-15 01:42:33 科技观察

今天,大数据技术的发展和进步为海量数据的采集和传输开辟了新的更高效的途径。这场革命促进了实时算法和方法的研究和开发。传统上,机器学习算法不是为实时处理而设计的。事实上,数据科学竞赛(例如Netflix、Kaggle)经常因昂贵、使用不切实际和计算密集型而受到批评。这源于这样一个事实,即感知准确性比算法速度更重要,因为数据挖掘的原始设置是离线的,通常是批量计算的。大数据的出现让它发生了变化,随着越来越多的算法出现,重新考虑一种可扩展的方法。大多数时候,可扩展性本身并不会影响算法的准确性,因为计算本质上是相同的。大数据分析的实时处理带来了更根本的变化,因为它限制了可以在这种情况下使用的算法的计算复杂性。一个实时流算法应该满足以下条件:它应该一次处理一个示例,最多检查一次,使用有限的内存,在有限的时间内工作,并随时进行预测。为了满足这些要求,设计流式算法变得很流行,其中不断更新学习模型以反映来自流的传入示例。需要能够在处理传入示例后生成预测的算法,而不管数据稀疏性如何。流数据的最先进方法来自许多不同的方向,从在线学习、随机线性代数、云计算到分布式优化方法,甚至存在多类噪声和杂散数据的分类问题。一般来说,这些方法不是特别有效,但预测的某些部分可能基于预先计算的模型。事实上,离线-在线循环是传统机器学习和实时分析之间的一个很好的折衷,因为它通过方法的在线部分推动方法离线,并随着新的观察结果的出现来改进模型。增量学习算法代表了一种适合实时分析提出的要求的方法。本质上,这些算法有一个离线核心模型,可以回顾历史数据,做出新的观察,并步入模型。为了保持模型的快速增量更新,这只是基于流中到检测模型的概念漂移的部分更新,然后在预定时间离线启动完整更新。这使系统能够对新的观察结果做出快速反应,这是速度和准确性之间的折衷。请注意,根据所用算法的类型,可以更新为完全建模,在这种情况下,无需保留算法的离线部分。事实上,这使得增量算法成为在线学习算法的主要标准是它是否能够更新模型并生成实时预测。实时分析已应用于各种场景,包括社交媒体、金融和各种科学学科。然而,能够处理大量实时数据的工具仍然很少,主要是内部解决方案。分类:Hoeffdingoptiontree是一种渐进式决策树算法。Hoeffding树利用了这样一个事实,即小样本通常足以选择最佳分裂特征。朴素贝叶斯是一种非常简单且计算量小的分类器,模型的更新和新样本的分类可以实时完成。朴素贝叶斯是没有离线组件的增量学习的一个很好的例子,因为这个模型能够在没有预测的情况下生成历史数据,从而提高新观察的能力。聚类:StreamKM++计算流的小加权样本,它使用k-means++算法作为随机播种技术来选择最佳聚类的值。D-Stream使用一个将每个输入数据记录映射到网格的在线组件和一个计算网格密度和集群基于密度的网格的离线组件。该算法使用密度衰减技术来捕获数据流中的动态变化。回归:当LDA递增更新时,新样本到达LDA的最小二乘解。这种方法的优点是它执行模型的完整更新,从而为批量LDA提供精确的最小二乘解。SAIRT是二元回归树的增量版本。它在面对涉及的未知力量时调整传感模式,例如函数的逐渐和突然漂移、函数某些区域的数据流变化、噪声和虚拟漂移。它监视节点并忘记从示例中选择的区域,存储与树的叶子相关联的本地窗口,其余的都是有用的。