《大数据算法》一1.3 大数据算法设计与分析

简介: 本节书摘来华章计算机《大数据算法》一书中的第1章 ,第1.3节,王宏志 编著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。 1.3 大数据算法设计与分析 本节对大数据算法设计与分析进行概述,蜻蜓点水地罗列一些技术,具体的技术将在后面的章节详细讲授。

本节书摘来华章计算机《大数据算法》一书中的第1章 ,第1.3节,王宏志 编著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

1.3 大数据算法设计与分析

本节对大数据算法设计与分析进行概述,蜻蜓点水地罗列一些技术,具体的技术将在后面的章节详细讲授。

1.3.1 大数据算法设计技术

1.精确算法设计方法
精确算法设计技术就是传统算法设计与分析课里讲授的算法,例如贪心法、分治法、动态规划、搜索、剪枝。这些算法设计方法也是大数据算法设计中所必需的,在本书中会经常用到这些技术。
2.并行算法
并行算法是一类很重要的大数据算法设计技术。在很多人的理解中,大数据算法就等同于并行算法,但是大数据算法不完全是并行算法。
3.近似算法
近似算法的意思是说,虽然给定计算时间,给定计算资源,对于很大的数据量无法算出精确解,但是可以退而求其次,算不那么精确的解,而且这个解的不精确程度在可以忍受的范围内。这样的设计算法有一套专门的设计技术,就是所谓的近似算法。
4.随机化算法
一种很重要的技术是随机化算法设计技术。在某些情况下,可以通过增加随机化来提高算法的效率和精度。最典型的一个技术就是抽样。虽然无法处理整个数据集合,但是可以从这个集合中抽取一小部分来处理,通过这个抽样我们就能以小见大,这一部分抽样就能够体现整个大数据集合的特征。
5.在线算法/数据流算法
所谓的在线算法或者数据流算法,指的是数据源源不断地到来,根据到来的数据返回相应的部分结果。这类算法的设计思想可以应用于两种情况:一是当数据量非常大仅能扫描一次时,可以把数据看成数据流,把扫描看成数据到来,扫描一次结束;二是数据更新非常快,不能把数据全部存下来再算结果,这时候数据也可以看成一个数据流。
6.外存算法
也有人称外存算法为I/O有效算法或者I/O高效算法。这类算法不再简单地以CPU时间作为算法时间复杂度的衡量标准,而是以I/O次数作为算法时间复杂度的判断标准,在设计算法的时候,也不是简单地以CPU时间为优化目标,而是以I/O次数尽可能少为优化目标。
7.面向新型体系结构的算法
还有一种大数据处理算法是面向特定体系结构设计的,这里的特定体系结构包括多级cache,也包括GPU和FPGA。由于这些新体系结构的特征不同,所需要的算法设计技术也不同。
8.现代优化算
现代优化方法,包括遗传算法、模拟退火、蚁群算法、禁忌搜索等。它们在传统算法设计中的智能优化方面扮演了很重要的角色,在大数据处理算法里也有用武之地,考虑到大数据中数据量大、变化快的特点,在使用这些技术设计大数据算法时需要注意算法的可扩展性。

1.3.2 大数据算法分析技术

和传统算法分析相比,大数据算法分析尤其重要。因为在大数据上进行实验所需要的成本相对“小数据”大得多,因而完成算法计算所需的资源(时间和空间)或者某种性质(如精度)难以通过实验来得到,而必须通过理论分析来求得。当设计完一个大数据算法后,可以通过算法分析来求得所需资源(例如时间、空间或磁盘I/O)或某种性质(例如算法得到的解和精确解比例)与输入规模之间的关系,这样就可以基于算法在小规模数据上的实验结果来推演出算法在大规模数据上需要的计算资源或者某种性质所能够达到的程度,从而判定算法是否可行。对于大数据算法,主要分析如下因素:
1.时间和空间复杂度
和传统算法分析类似,大数据算法同样需要进行时间和空间复杂度分析。
2. I/O复杂度
有些情况下,大数据无法完全放入内存,必须设计外存算法,这时候需要分析磁盘I/O复杂度,即在算法运行过程中读写磁盘次数。
3.结果质量
由于大数据上的一些计算问题有时在给定的资源约束内无法精确完成,需要退而求其次,设计近似算法,在这种情况下需要分析计算结果的质量和近似比,即最优解和近似解之间的比例;对于在线算法,有时候需要分析竞争比(competitive ratio),即根据当前数据得到解的代价和知道所有数据的情况下得到解的代价相差多少。在后面章节中我们将会看到,在很多情况下,结果质量的分析往往要比结果效率的分析更复杂。
4.通信复杂度
当设计并行算法的时候,涉及多台机器,这些机器之间需要通信,这时需要知道算法运行过程中所需通信量的大小,也就是通信复杂度。
从上述介绍可以看出,大数据算法分析的内容比传统算法要丰富,也涉及更多的算法分析技术。

相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
相关文章
|
7月前
|
存储 分布式计算 大数据
基于Python大数据的的电商用户行为分析系统
本系统基于Django、Scrapy与Hadoop技术,构建电商用户行为分析平台。通过爬取与处理海量用户数据,实现行为追踪、偏好分析与个性化推荐,助力企业提升营销精准度与用户体验,推动电商智能化发展。
|
8月前
|
机器学习/深度学习 自然语言处理 算法
大数据选举预测:算票的不只是选票,还有算法
大数据选举预测:算票的不只是选票,还有算法
343 0
|
8月前
|
存储 SQL 分布式计算
终于!大数据分析不用再“又要快又要省钱”二选一了!Dataphin新功能太香了!
Dataphin推出查询加速新功能,支持用StarRocks等引擎直连MaxCompute或Hadoop查原始数据,无需同步、秒级响应。数据只存一份,省成本、提效率,权限统一管理,打破“又要快又要省”的不可能三角,助力企业实现分析自由。
432 49
|
7月前
|
算法 搜索推荐 大数据
当“爆款书”遇上大数据:出版业的老路,正在被算法改写
当“爆款书”遇上大数据:出版业的老路,正在被算法改写
925 8
|
7月前
|
机器学习/深度学习 大数据 关系型数据库
基于python大数据的台风灾害分析及预测系统
针对台风灾害预警滞后、精度不足等问题,本研究基于Python与大数据技术,构建多源数据融合的台风预测系统。利用机器学习提升路径与强度预测准确率,结合Django框架实现动态可视化与实时预警,为防灾决策提供科学支持,显著提高应急响应效率,具有重要社会经济价值。
|
7月前
|
机器学习/深度学习 大数据 关系型数据库
基于python大数据的青少年网络使用情况分析及预测系统
本研究基于Python大数据技术,构建青少年网络行为分析系统,旨在破解现有防沉迷模式下用户画像模糊、预警滞后等难题。通过整合多平台亿级数据,运用机器学习实现精准行为预测与实时干预,推动数字治理向“数据驱动”转型,为家庭、学校及政府提供科学决策支持,助力青少年健康上网。
|
8月前
|
运维 监控 JavaScript
基于 Node.js 图结构的局域网设备拓扑分析算法在局域网内监控软件中的应用研究
本文探讨图结构在局域网监控系统中的应用,通过Node.js实现设备拓扑建模、路径分析与故障定位,提升网络可视化、可追溯性与运维效率,结合模拟实验验证其高效性与准确性。
458 3
|
7月前
|
传感器 人工智能 监控
拔俗多模态跨尺度大数据AI分析平台:让复杂数据“开口说话”的智能引擎
在数字化时代,多模态跨尺度大数据AI分析平台应运而生,打破数据孤岛,融合图像、文本、视频等多源信息,贯通微观与宏观尺度,实现智能诊断、预测与决策,广泛应用于医疗、制造、金融等领域,推动AI从“看懂”到“会思考”的跃迁。
632 0
|
8月前
|
存储 边缘计算 算法
【太阳能学报EI复现】基于粒子群优化算法的风-水电联合优化运行分析(Matlab代码实现)
【太阳能学报EI复现】基于粒子群优化算法的风-水电联合优化运行分析(Matlab代码实现)
158 0