算法评测

测试开发工程师(QA)职业到底需要干些什么?part3:算法测试工程师QA 评测QA团队在评估和测试问答系统时需要考虑多个方面,包括数据质量、评估指标、持续改进、解释性分析等。 阅读详情

算法评测

算法评测——复杂度记法

刚才说过,线性查找的计算量为O(n),二分查找的复杂度为O(log n)。大多情况下,算法的复杂度可以这样定量评测。算法评测一般使用复杂度记法(Order记法)。

复杂度记法表示的含义是,当算法的输入大小为n时,大致需要这么多的计算量。

花费时间与n的大小无关,能在固定时间内完成的处理,其复杂度为O(1)。例如从散列中查找数据,虽然要计算散列函数,但散列函数计算不依赖于n,所以复杂度为O(1)。而散列搜索中,给定键的值(几乎)是唯一的,因此通过键搜索值的处理也是O(1)(也依赖于具体实现)。因此,散列搜索整体复杂度为O(1)[1]。

如前所见,线性查找要从开头开始查找,最大要查找n次。

某些情况下只需一次就能找到,但复杂度记法并不考虑这种特殊情况,而是表示平均值或最大值。因此记为O(n)。二分查找为O(log n)。

像这样用复杂度记法表示各种算法,即可比较算法的性能。线性查找和二分查找分别为O(n)和O(log n),因此二分查找的计算量比较少[2]。

各种算法的复杂度记法

各种算法的复杂度记法中,下述几种计算量经常出现。

— O(1) < O(log n) < O(n) < O(nlog n)< O(n2) < O(n3) … < O(nk) < O(2n)

越往右,复杂度越大。处理大规模数据时,也就是说n比较大时,实用算法也就到O(n logn)附近。再高,复杂度就会随着n的增加而急剧增大,经常导致计算无法结束。

感觉上而言,O(log n)比O(n)要快很多,O(n)和O(n log n)的差距不是很大,O(n)和O(n2)之间的鸿沟决定着着计算能否完成……。

关于速度问题,如果相当复杂的算法能用O(n2)的计算完成,那也可以说“相当快”了,毕竟速度取决于算法中的计算本身。例如,一般的基于比较的排序算法无论怎么优化,也不可能比O(n logn)快,这一点在理论上可以证明。因此,排序算法能达到O(n logn),就可以认为是高速算法。

复杂度的概念不仅用于表示计算的时间,也可以用于表示空间。也就是说,复杂度记法不仅可以表示执行时间、操作步骤数,还可以表示内存使用量等。

 

 

上面讲述了算法评测。更为详细的内容,请参考讲解算法的书籍。

算法评测

— 复杂度记法

— 复杂度

— 时间复杂度(执行时间、操作步骤数)

— 空间复杂度(内存使用量)

纸巾能折叠几次?——O(logn)和O(n)的差距

刚才说过,线性查找和二分查找相比,数据量变大后,计算时间就会出现巨大差距。这里的重点不是复杂度记法本身,而是利用复杂度记法比较算法时,对算法间差距的感觉。就是说要掌握O(log n)和O(n)在n增大时,对于复杂度差距的感觉。

再看个身边的例子。准备一张纸巾,然后将其多次对折。到底能对折多少次呢?第一次只需对半折叠即可,完全没问题。第二次、第三次、第四次直到第五次应该也没问题。但第六次就比较难折了,第七次和第八次完全折不动而不得不放弃。可能有人会想“折100次肯定没问题!”,而实际上7次就是极限了。为什么呢?

折纸所需的劳动量,依赖于要折的纸张的厚度。假设这个厚度最初为1mm,那么第一次折叠之后就是2mm。两次折叠后是3mm……不对,是4mm。

这样,厚度是1→2→4→8→16→32…这样增加的。可以认为,设折叠次数为n,计算量就按照2n增长。刚才看到,O(2n)是个相当大的复杂度,因此纸巾在n=8时无法折叠也就可以理解了。

另外有文章介绍过,厚度为0.11mm的卫生纸折叠25次后会达到富士山的高度[3]。要折叠富士山那么高的纸……一般方法绝对做不到吧。

对算法中指数增加、对数增加的感觉

计算量按照指数增加的算法,只需一点点数据量,计算量就会变得庞大无比。与指数相反,只以对数增加的O(log n)的算法,即使数据量变得非常大,也只需一点计算量就能解决,这点也能直观地理解吧。

在思考算法复杂度时,这种感觉是最重要的。例如要操作的数据有1000万条,如果能选择对数算法,那么只需几十次计算就可以了。相反,如果选错了算法,使用O(n2)或O(2n)的算法实现的话,写出的程序即使只有几百条数据,也要浪费相当多资源。

 

本文节选自《大规模WEB服务开发技术》一书

图书详细信息:http://blog.youkuaiyun.com/broadview2006/article/details/6695616



 

 

 

推荐算法评测方法总结 推荐系统 目前推荐技术的应用已经非常较普及了,新闻、商品、问答、音乐,几乎都会用到推荐算法来呈现内容。下面是淘宝、知乎、微博三个 app 首页,可以看到推荐都处于非常重要的位置。 在介绍推荐算法评测之前,先简单介绍一下推荐系统的流程。推荐一般包含以下步骤: 召回 --> 打分排序 --> 输出 召回 召回阶段通常的手段是协同过滤比较场景,也有使用 embedding 的方... 阅读详情

相关推荐

Matlab EMD算法评测图片相似性

function similarity_result = EMD_algorithm(descriptor,tem) % 此函数通过描述符计算图像之间的相似性 % 用EMD算法的最小功表示相似性,功越小,图片越相似 % 求出矩阵的行数,256个特征 [a,b] = size(descriptor); % 初始化EMD的距离搬运矩阵 di...

lzw369639的博客 1111

算法测试:挑战、难点与改进策略!

一、算法是什么?算法是解决问题的一组步骤或规则的集合。无论是在日常的应用开发中,还是在人工智能、机器学习领域,算法都扮演着重要角色。它通过一系列指令处理输入数据,产生所需的输出。典型的算法类型包括排序算法、搜索算法、加密算法、机器学习模型等。案例:在一个推荐系统中,算法会根据用户的浏览历史、兴趣和行为进行数据处理,然后通过计算和排序来推荐合适的产品。该算法就是基于用户输入的多维数据,经过特定的逻辑,输出结果。

2301_77709772的博客 1329

【数据集+评测】视频序列中的运动检测算法

运动检测 评测指标 经典算法 1 SOBS 2 ViBe 3 KNN 深度学习方法 1 FgSegNet 2 Cascade CNN CDW-2014数据集 Reference 0. 运动检测 通俗来说,运动检测是指从视频中识别发生变化或移动的区域(感兴趣的区域),是计算机视觉和视频处理中常用的预处理步骤。 与静态图像的通用目标检测不同,运动检测通常会利

signal926的专栏 1万+

AI算法评测:测试数据清洗

AI算法中特别是视觉方面,测试数据的采集存在着诸多硬性条件,甚至某些会达到苛刻的条件,测试数据的质量严重影响到最终评测的速度和质量。越高的人工智能程度就存在越多的人工前期干预,是当前行业的缩影。......

we chat:玩转测试开发 1361

大数据领域的机器学习算法评测

在大数据时代,海量的数据为机器学习算法的发展提供了丰富的素材,但同时也带来了如何选择合适算法的挑战。机器学习算法评测的目的在于评估不同算法在大数据环境下的性能、效率、准确性等方面的表现,从而为实际应用中算法的选择提供科学依据。本文章的范围涵盖了常见的机器学习算法,包括分类算法(如决策树、支持向量机等)、回归算法(如线性回归、岭回归等)、聚类算法(如 K - 均值聚类、层次聚类等)在大数据场景下的评测。同时,也会涉及到不同评测指标的计算和应用,以及评测的具体流程和实际应用案例。

AI 算法实战派 696

两层板如何做阻抗控制呢

两层板如何做阻抗控制呢? 这个问题可能很多人都会碰到,有的人在此等需要做阻抗控制的情况都选择做多层板。诚然,多层板在阻抗控制,EMC等等方面都有着天然的优势。然而,在价格上和周期上,两层板就有着绝对优势了。 对于成本非常敏感而又不是太复杂的产品,尽管对于我们硬件工程师而言,有一堆的理由要求使用多层板。然而在面对毛都不懂的老板“别人能做,你为什么不能做?”这个问题时只得低下我们高傲的头颅。 好...

weixin_42005993的博客 2万+

算法和算法评价

一个程序在执行时除需要存储空间来存放本身所用的指令、常数、变量和输入数据外,还需要一些对数据进行操作的工作单元和存储一些为实现计算所需信息的辅助空间。算法:对待特定的问题求解步骤的一种描述,它是指令的有限序列,其中得每条指令表示一个或多个操作。小结:这只是一部分的小结,以后会更新局部的笔记,记住,这是一个一直更新的详细笔记。最好时间复杂度:最好情况下算法的时间复杂度 (最好的时间复杂度一般不采用)平均时间复杂度:所有输入示例等概率出现的情况下,算法的期望运行时间。程序===数据结构+算法。

m0_60942655的博客 262

基于多智能体深度强化学习的空地协同通信系统轨迹设计与访问控制

所属子方向: UAV assisted communication 名词注释 coordinated:协调、协同 base stations 基站,公用移动通信基站,是移动设备接入互联网的接口设备,是指在一定的无线电覆盖区中,通过移动通信交换中心,与移动电话终端之间进行信息传递的无线电收发信电台。 UAV-BS:无人机基站 cooperative-competitive game:合作竞争博弈 throughput :吞吐量,每秒比特数 bps,bits per second Determinis

skysys的研究小屋 4969

算法评测在本地生活地图技术领域的探索和实践

算法评测有助于算法模型的迭代效果和周期缩短,本文将为大家介绍我们在算法评测领域的探索和实践。

阿里技术 1977

自己动手写CPU(1)五级流水线及CPU第一条指令ori

自己动手写CPU(1)五级流水线及CPU第一条指令ori 动机 不知为何研一的自由时间突然多起来,可能人一闲下来就容易焦虑吧,hhhhhh。正好之前看到一本《自己动手写CPU》,就按照此书从头实做一遍MIPS指令集的CPU,也当做对大学课程的总结。之前看龙芯杯比赛的代码震惊到我了,想想那堆大佬本科在搞这东西而我本科在瓜瓜地刷分,感叹人之间的差距真的好大。痛定思痛,还是先动手做起来这才能假意安慰自己,我好像也不错。闲言少叙,让我们开始吧! 由于作者提供了各章实现的具体代码,所以该系列博客主要记录我过程中有哪些

谦豫 7080

华为OD机试双机位C卷:采购订单 (Py/Java/C/C++/Js/Go)

华为OD机试双机位C卷 采购订单,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,并提供在线OJ模拟做题。华为OD机试真题【采购订单】

qq_45776114的博客 3534

OmniDocBench:一键评测PDF解析算法

OmniDocBench应该是目前类型最丰富、标注粒度最详细的PDF解析评测数据集了,对于评估PDF解析算法,意义重大。最新的PP-StructureV3简介 - PaddleOCR 文档便给出了在OmniDocBench上的评测对比,可以详细看看。但是,某个算法想利用该benchmark来评测结果时,需要注意数据泄露的风险,尽量避免用该benchmark里的数据进行训练。

Jamence的博客 2991

基于 Simulink 的三相四线制整流器在三相不平衡负载下的中点电位平衡控制实战教程。

本文介绍了三相四线制整流器在不平衡负载下的中点电位平衡控制方法。首先分析了中点电位漂移的物理机理和控制策略(零序电压注入)。接着详细讲解了Simulink建模步骤:搭建三相四线制主电路、设计平衡控制算法、实现PWM调制。通过对比有无平衡控制的仿真结果,验证了控制方法的有效性。最后提供了工程建议:零序注入需限幅、考虑中性线寄生电感影响、采用稳健的PI参数。该方案能有效抑制中点电位波动,保障三电平系统在不平衡工况下的稳定运行。

MHD0815的博客 60

聚类算法(三)—— 评测方法1

聚类算法(一)——DBSCAN 聚类算法(二)—— 优缺点对比 聚类算法(三)—— 评测方法2 机缘巧合,写了个聚类算法 聚类算法(四)—— 基于词语相似度的聚类算法 用在一些任务上效果还不错,然鹅组长让我来个评测… 拖了好久拖不掉了,就调研了一番,发现目前对于聚类算法的评测有很多,比较杂乱,进行了相关整理。 聚类算法评测指标-调研 大体分为两种,一种是内部质量评价标准,主要是无分类标签的数据集进行评价,另外一种是``,主要是基于已知分类标签数据集进行评价的。 内部评测指标 轮廓系数 [外链图片转.

1765

生成模型实战 | StyleGAN详解与实现

StyleGAN 能够生成非常高分辨率人脸图像的关键在于,在增加分辨率的步骤中逐步增加生成网络和判别网络的复杂性,以便在每一步中,两个模型都可以很好地完成任务。我们学习了如何通过确保每个分辨率的特征由一个独立的输入(称为风格向量)来控制,从而操纵生成图像的风格,以及如何通过将图像之间的风格进行交换来操作不同图像的风格。

盼小辉丶的博客 7630

【数字IC/FPGA】低功耗设计

低功耗设计方法功耗的类型低功耗设计方法静态低功耗技术多阈值工艺方法电源门控方法体偏置动态低功耗技术多电压域(Multi-Voltage Domain)预计算门控时钟门级优化技术毛刺的消除逻辑级优化物理级优化控制输入向量低功耗Soc系统的动态管理动态电压及频率调节技术低功耗操作系统存储器功耗控制总结 功耗的类型 CMOS电路中的功耗由两部分构成,第一部分为负载电容充放电时引起的功耗,称为动态功耗,另一部分为漏电流引起的功耗,称为静态功耗。其中动态功耗包括翻转功耗和短路功耗。翻转功耗是数字电路中信号翻转时电容充

qq_40268672的博客 3072

一种基于GOP改进的口语语音评测算法

最近在看语音评测的算法,看到2019年INTERSPEECH 2019 的的一篇paper。这篇主要是研究了 HMM transition probabilities对语音评测的影响。

cheetah的专栏 3741

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

AI算法评测的基本流程和实际案例剖析

前言:大约在3,4年前即2017、2018年,彼时人工智能风起云涌,各类培训进入人工智能行业的广告在地铁上和出口,公交车、电梯等铺天盖地,受其影响,参加过一次在深大的AI介绍公开课,其中讲述的AI内容不明觉厉,大受震撼。虽最终未进行培训,但机缘巧合下,2019年又有幸得测试经理推荐两本书,其一为高效自动化测试平台:设计与开发实战,另外一个即:机器学习测试入门与实践。兜兜转转阴差阳错,目前在职AI公司,本也只是做做自动化测试,未曾想竟被骑驴找马安排进行AI算法评测,感慨:你学到的知识未来不一定会用到,但是你未

we chat:玩转测试开发 5044

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

AI 算法评测体系:如何量化评估大模型的算法能力?

pass@k 衡量的是"在 k 次采样中至少有一次通过的概率"。设 n 次采样中有 c 次通过,则:当 n=10, c=5, k=1 时,pass@1 = 1 - C(5,1)/C(10,1) = 1 - 5/10 = 0.5。这个指标比简单的"通过率"更稳定,因为它考虑了采样方差。本文构建了 LLM 算法能力的多维度评测框架,覆盖正确性(pass@k)、复杂度(达标率)、鲁棒性(边界/大规模输入通过率)和代码质量四个维度。综合评分采用加权平均,权重按工程重要性分配。

cannonjinx的博客 1984

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

ACM算法竞赛入门——算法竞赛赛制、题目形式、常见评测状态

最全的acm算法竞赛赛制介绍、比赛、题目形式、常见测评状态

大四蒟蒻的学习笔记 1万+

AI算法评测组的独立价值在哪?——从健身动作识别/纠正项目复盘五层评测能力模型 > 算法组的KR是”准确率达标”,评测组的KR到底算啥?本文从一个真实CV项目出发,梳理评测组独立于算法组的五层价

算法准确率是算法的KR,评测组的独立价值在哪?层级核心问题评测组的独立价值评测集/数据集用什么数据来考?覆盖度、代表性、版本化判定器可靠性怎么判定对不对?口径正确性、可复现性平台化/可回归能不能自动跑?评测基础设施多维评测设计看哪些维度?多维能力地图Bad Case闭环线上怎么兜住?持续改进闭环算法组负责让模型跑出好的分数,评测组负责让”分数”这件事本身可信、可复现、可持续改进。这是两件不同的事,也是评测组存在的理由。

whweia的博客 192

聚类算法(三)—— 评测方法2

当前聚类评测指标 评测指标整体概述 聚类评测指标详细介绍 算法评测结果 Kmeans评测结果 link 内部评价指标 主要为无监督聚类评价指标,多采用类内节点和类间节点距离相关计算得到,对于我们目前算法评测不合适,因为本身依据关键词相似度得到的聚类结果 外部评价指标 主要有RI、ARI、FMI、JC、DI、Precision-Recall、AMI、homogeneity-completeness-V_measure RI、ARI、FMI、JC、DI、AMI可解释性不强,针对当前业务场景使用来说

1151

常用hash算法及评测

常用hash算法及评测 [原创 2010-11-3 11:17:38] 字号:大 中 小 RS hash 算法 unsigned int RSHash(char* str, unsigned int len) { unsigned int b = 378551; unsigned int a = 63689; unsigned int ha

xunianchong的专栏 741
上一篇: 智能应用的基本要素
下一篇: 应用算法的实际情况——简单就是美
Broadview
博客等级 码龄22年 15粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值