【信息科学与工程学】【数据科学】第五十五篇 大数据算法
大数据领域算法众多,涵盖不同子领域。以下表格选取了部分核心与代表性算法,并按您要求的格式进行整理。
编号 | 算法/模型名称 | 算法逐步推理思考的数学方程式 (核心) | 关联知识 | 复杂度 (时间复杂度) | 数据类型 |
|---|---|---|---|---|---|
1 | MapReduce | 1.Map阶段: | 分布式计算、函数式编程、容错处理 | O(n),取决于数据量和任务 | 海量、非结构化/结构化批数据 |
2 | PageRank | PR(pi)=N1−d+d∑pj∈M(pi)L(pj)PR(pj) | 图论、线性代数、迭代计算 | O(n*k),n为页面数,k为迭代次数 | 图数据 (网页链接关系) |
3 | K-Means | 1. 目标函数(误差平方和): (J = \sum{j=1}^{k} \sum{x \in C_j} | x - \mu_j | ||
4 | Apriori | 1. 支持度: Support(X)=Ncount(X) | 关联规则、集合论、搜索算法 | O(2^n) 最坏情况,实际通过剪枝优化 | 事务型数据 (购物篮数据) |
5 | TF-IDF | 1. 词频: TF(t,d)=∑t′∈dft′,dft,d | {d \in D: t \in d} | } ) | 信息检索、文本挖掘、向量空间模型 |
6 | Bloom Filter | 1. 初始化一个长度为 | 概率数据结构、哈希函数、空间效率 | O(k),插入和查询均为常数时间 | 任意可哈希的数据对象 |
7 | 梯度提升决策树 (GBDT) | 1. 模型为加法模型: Fm(x)=Fm−1(x)+γmhm(x) | 集成学习、决策树、梯度下降、损失函数 | O(nmd*log n),n样本数,m树数量,d特征数 | 数值/类别型特征,监督数据 |
8 | Dijkstra算法 | 1. 初始化距离: 起点 | 图论、贪心算法、优先队列 | O(|E|+ |V|log |V|) (使用斐波那契堆) | 带权有向/无向图数据 |
9 | LSH (局部敏感哈希) | 核心思想: 将相似的数据点以高概率映射到同一个哈希桶中。 | 近似最近邻搜索、概率论、度量空间 | O(n*L),n数据点,L哈希表数量 | 高维特征向量 |
10 | 流式处理 (如,滑动窗口平均) | 对于无限流数据,维护一个固定大小 | 数据流模型、滑动窗口、实时计算 | O(1),每次更新为常数时间 | 无界、有序的流数据 |
说明:
“所有算法”的界定:大数据领域极其广泛,算法数以千计,上表仅列出跨领域通用或子领域基石性的部分算法作为示例。
“数学方程式”列:由于篇幅限制,表格中展示的是算法最核心的数学表达或计算步骤,而非完整的逐步推导。完整的推导通常需要结合论文或教材。
复杂度:表中给出的是理论时间复杂度的渐进上界(大O表示法)。实际运行效率受数据分布、并行化程度、具体实现和硬件资源影响巨大。
扩展领域:其他重要领域如深度学习(CNN, RNN, Transformer)、实时计算(Storm, Flink底层算子)、分布式协同(Paxos, Raft)等均有其核心算法集,受表格篇幅所限未逐一列出。
编号 | 算法/模型名称 | 算法逐步推理思考的数学方程式 (核心) | 关联知识 | 复杂度 (时间复杂度) | 数据类型 |
|---|---|---|---|---|---|
11 | 随机森林 | 1. 自助采样(Bootstrap)得到 | 集成学习、Bagging、决策树、特征重要性 | O(k * n * log(n) * m),k树数量,n样本数,m特征数 | 数值/类别型特征,监督数据 |
12 | 支持向量机 | 1. 优化目标(硬间隔): (\min_{w,b} \frac{1}{2} | w | ||
13 | 隐狄利克雷分布 | 1. 文档生成过程: | 主题模型、贝叶斯推断、概率图模型 | O(nki),n总词数,k主题数,i迭代次数 | 文本数据集合 |
14 | 协同过滤 | 1.用户-物品评分矩阵 Rm×n。 | sim(u, v) | } ) | sim(i, j) |
15 | XGBoost | 1. 目标函数 = 损失函数 + 正则化项: Obj(t)=∑i=1nL(yi,y^i(t−1)+ft(xi))+Ω(ft) | 梯度提升、决策树、正则化、分布式计算 | 与GBDT类似,但工程优化极佳 | 数值/类别型特征,监督数据 |
16 | Word2Vec | 1.Skip-gram目标: 最大化给定中心词 wc下上下文词 wo的平均对数概率: (\frac{1}{T} \sum{t=1}^{T} \sum{-c \le j \le c, j \ne 0} \log p(w_{t+j} | w_t) ) | w_c) = \frac{\exp(u{o}^T v_c)}{\sum{w=1}^{W} \exp(u_{w}^T v_c)} ),常通过负采样优化。 | 词嵌入、分布式表示、神经网络、自然语言处理 |
17 | Transformer (编码器) | 1.自注意力机制: Attention(Q,K,V)=softmax(dkQKT)V,其中Q, K, V由输入线性变换得到。 | 自注意力、位置编码、深度神经网络、并行计算 | O(n² * d),n序列长度,d模型维度 | 序列数据(文本、时序) |
18 | HyperLogLog | 1. 将元素通过哈希函数映射为二进制串。 | 基数估计、概率统计、哈希函数、流式统计 | O(n),n为数据流中唯一元素数量 | 海量数据流的独立元素计数 |
19 | t-SNE | 1. 在高维空间计算数据点对之间的条件概率(相似度): (p_{j|i} = \frac{\exp(- | x_i - x_j | ||
20 | C4.5 (决策树) | 1. 计算每个特征A的信息增益比: GainRatio(A)=SplitInfo(A)Gain(A) | S_v | }{ | S |
21 | FP-Growth | 1. 扫描数据集,构建频繁项头表和FP树。 | 关联规则、频繁模式树、深度优先搜索 | O(n * p),n事务数,p频繁1-项集平均长度 | 事务型数据 |
22 | KNN | 1. 给定测试样本,计算它与训练集中所有样本的距离(如欧氏距离)。 | 惰性学习、距离度量、特征归一化 | O(n * d),查询时需计算与所有训练样本的距离 | 数值型特征向量,监督数据 |
23 | AdaBoost | 1. 初始化样本权重 wi(1)=1/N。 | 集成学习、Boosting、加法模型 | O(T * f(n)),T迭代次数,f(n)是弱分类器训练复杂度 | 数值/类别型特征,监督数据 |
24 | EM算法 | 1.E步(期望): 基于当前参数 θ(t)计算隐变量 Z的后验概率 Q(z∥x,θ(t))。 | 最大似然估计、隐变量模型、高斯混合模型 | 迭代算法,每次迭代复杂度取决于具体模型 | 含隐变量的不完全数据 |
25 | Bellman-Ford | 1. 初始化距离数组 | V | -1 | 图论、动态规划、单源最短路径 |
26 | 最小哈希 | 1. 定义特征矩阵的行的一个随机排列。 | 集合相似度估计、Jaccard相似度、哈希 | O(n * m),n特征数,m集合数,但通过哈希函数模拟排列可优化 | 集合数据(如文档的词袋表示) |
27 | CURE聚类 | 1. 对数据集进行随机采样。 | 层次聚类、采样、对噪声和形状鲁棒 | O(n² log n) 最坏,采样后大幅降低 | 数值型数据,尤其对非球形簇有效 |
28 | PrefixSpan | 1. 扫描数据库,找出所有长度为1的频繁序列。 | 序列模式挖掘、投影数据库、深度优先搜索 | O(n * m),n序列数,m频繁模式长度 | 序列数据(如用户行为序列) |
29 | SVD (奇异值分解) | 将矩阵 Am×n分解为: A=UΣVT | 线性代数、矩阵分解、降维、推荐系统 | O(min(m²n, mn²)),完整SVD;截断SVD可优化 | 任何实数矩阵(如评分矩阵、词-文档矩阵) |
30 | Count-Min Sketch | 1. 初始化 | 流数据、频率估计、概率数据结构 | O(d),更新和查询均为常数时间 | 数据流中的元素(如IP、搜索词) |
总结:以上补充的20个算法与之前的10个共同构成了大数据处理中机器学习、数据挖掘、实时计算和图计算等核心任务的工具箱。实际应用中,需要根据数据规模、特征、业务目标和计算资源来选择和组合这些算法。
