C4.5算法是由Ross Quinlan(英语:Ross Quinlan)开发的用于产生决策树的算法。该算法是对Ross Quinlan之前开发的ID3算法的一个扩展。C4.5算法产生的决策树可以被用作分类目的,因此该算法也可以用于统计分类。 C4.5算法与ID3算法一样使用了信息熵的概念,并和ID3一样通过学习数据来建立决策树。...
3 KB (446 words) - 10:30, 25 September 2020
j)\log _{2}f(i,j).} 这个ID3算法可以归纳为以下几点: 使用所有没有使用的属性并计算与之相关的样本熵值 选取其中熵值最小的属性 生成包含该属性的节点 关于ID3算法的实现可以参考C4.5算法,它同时也是ID3的升级版。 C4.5算法 Mitchell, Tom M. Machine...
2 KB (292 words) - 23:57, 8 December 2020
平方根倒数速算法(英語:Fast Inverse Square Root,亦常以“Fast InvSqrt()”或其使用的十六进制常数0x5f3759df代称)是用于快速计算 x − 1 / 2 {\displaystyle \textstyle x^{-1/2}} (即 x {\displaystyle...
34 KB (4,332 words) - 07:46, 5 July 2025
可以用来做回归分析和分类决策 旋转森林(Rotation forest) – 每棵树的训练首先使用主元分析法 (PCA)。 还有其他很多决策树算法,常见的有: ID3算法 C4.5算法 CHi-squared Automatic Interaction Detector (CHAID). 在生成树的过程中用多层分裂...
14 KB (2,302 words) - 20:50, 19 December 2024
cells的问题。 这个问题在计算上是NP困难的,不过存在高效的启发式算法。一般情况下,都使用效率比较高的启发式算法,它们能够快速收敛于一个局部最优解。这些算法通常类似于通过迭代优化方法处理高斯混合分布的最大期望算法(EM算法)。而且,它们都使用聚类中心来为数据建模;然而k-平均聚类倾向于在可比较...
29 KB (4,268 words) - 13:38, 21 April 2025
在計算機科學與數學中,一個排序算法(英語:Sorting algorithm)是一種能將一串資料依照特定排序方式排列的算法。最常用到的排序方式是數值順序以及字典順序。有效的排序算法在一些算法(例如搜尋算法與合併算法(英语:Merge algorithm))中是重要的,如此這些算法才能得到正確解答。排序算法...
10 KB (1,212 words) - 01:11, 4 July 2025
在數學中,辗转相除法,又称欧几里得算法(英語:Euclidean algorithm),是求最大公约数的算法。辗转相除法首次出现于欧几里得的《几何原本》(第VII卷,命题i和ii)中,而在中国则可以追溯至东汉出现的《九章算术》。 两个整数的最大公约数是能够同时整除它们的最大的正整数。辗转相除法基于...
92 KB (16,106 words) - 07:48, 3 February 2025
时间复杂度 (category 算法分析)
大)的输入,它至多需要 5n3 + 3n 的时间运行完毕,那么它的渐近时间复杂度是 O(n3)。 為了計算時間複雜度,我們通常會估計算法的操作單元數量,每個單元執行的時間都是相同的。因此,總運行時間和算法的操作單元數量最多相差一个常量系数。 相同大小的不同輸入值仍可能造成算法的執行時間不同,因此我們通常使用算法的最壞情況複雜度(英语:Worst-case...
22 KB (2,789 words) - 22:08, 28 May 2025
"ABC",则S[2]表示字符'C'。这种表示方法与C语言一致。 在计算机科学中,克努斯-莫里斯-普拉特字符串查找算法(英語:Knuth–Morris–Pratt algorithm,简称为KMP算法)可在一个字符串S内查找一个词W的出现位置。一个词在不匹配时本身就包含足够的信息来确定下一个匹配可能的开始位置,此算法利用这一特性以避免重新检查先前配對的字符。...
13 KB (1,596 words) - 14:39, 2 July 2025
(AODE) 贝叶斯信念网络 (BBN) 贝叶斯网络 (BN) 决策树算法 决策树 分类与回归树 (CART) 迭代二分法3(ID3) C4.5算法 C5.0算法 卡方自动交互检测(CHAID) 决策桩 条件决策树 ID3算法 随机森林 SLIQ 线性分类器 费舍尔线性判别分析 线性回归 逻辑回归...
11 KB (1,351 words) - 03:42, 12 July 2025
在模式识别领域中,最近鄰居法(KNN算法,又譯K-近邻算法)是一种用于分类和回归的無母數統計方法,由美国统计学家伊芙琳·费克斯和小約瑟夫·霍奇斯于1951年首次提出,后来由托馬斯·寇弗(英语:Thomas M. Cover)扩展。在这两种情况下,输入包含特徵空間中的k个最接近的训练样本。...
15 KB (2,327 words) - 08:47, 12 December 2024
在计算机科学中,算法分析(英語:Analysis of algorithm)是分析执行一个给定算法需要消耗的计算资源数量(例如计算时间,存储器使用等)的过程。算法的效率或复杂度在理论上表示为一个函数。其定义域是输入数据的长度(通常考虑任意大的输入,没有上界),值域通常是执行步骤数量(时间复杂度)或...
14 KB (2,600 words) - 07:30, 7 June 2025
Floyd-Warshall算法(英語:Floyd-Warshall algorithm),中文亦称弗洛伊德算法或佛洛依德算法,是解决任意两点间的最短路径的一种算法,可以正確處理有向圖或负权(但不可存在负权回路)的最短路径問題,同时也被用于计算有向图的传递闭包。 Floyd-Warshall算法的时间复杂度為 O...
7 KB (745 words) - 09:26, 22 June 2025
戴克斯特拉算法(英語:Dijkstra's algorithm),又稱迪杰斯特拉算法、Dijkstra算法,是由荷兰计算机科学家艾茲赫尔·戴克斯特拉在1956年发现的算法,并于3年后在期刊上发表。戴克斯特拉算法使用类似廣度优先搜索的方法解决赋权图的单源最短路径问题。 该算法...
39 KB (4,746 words) - 00:26, 4 July 2025
序列最小优化算法(英語:Sequential minimal optimization, SMO)是一种用于解决支持向量机训练过程中所产生优化问题的算法。SMO由微软研究院的約翰·普拉特于1998年发明,目前被广泛使用于SVM的训练过程中,并在通行的SVM库LIBSVM中得到实现。 1998年,SMO算法...
9 KB (2,156 words) - 14:13, 20 July 2025
Cocks)在一个内部文件中提出了一个与之等效的算法,但该算法被列入机密,直到1997年才得到公开。 對极大整数做因数分解的難度決定了 RSA 算法的可靠性。換言之,對一极大整数做因数分解愈困难,RSA 算法愈可靠。假如有人找到一种快速因数分解的算法的话,那么用 RSA 加密的信息的可靠性就会极度下降。但找到这样的算法的可能性是非常小的。今天只有短的...
20 KB (3,327 words) - 00:26, 3 February 2025
算法的原理。由于这种算法的公开性和安全性,在90年代被广泛使用在各种程序语言中,用以確保资料傳遞無誤等。 MD5由MD4、MD3、MD2改进而来,主要增强算法复杂度和不可逆性。 MD5曾被用於檔案校驗、SSL/TLS、IPsec、SSH,但MD5早已被發現有明顯的缺陷。 MD5...
10 KB (1,319 words) - 14:43, 2 July 2025
匈牙利算法是一种在多项式时间内求解任务分配问题的组合优化算法,并推动了后来的原始对偶方法(英语:primal-dual methods)。美国数学家哈罗德·W·库恩于1955年提出该算法。此算法之所以被称作匈牙利算法,是因为算法很大一部分是基于以前匈牙利数学家科尼格·德內什(英语:Dénes...
22 KB (3,067 words) - 15:39, 27 May 2024
启发式搜索 遗传算法 数据结构的算法 数论与代数算法 计算几何的算法 凸包算法 图论的算法 哈夫曼编码 树的遍历 最短路径算法 最小生成树算法 最小树形图 网络流算法 匹配算法 分團問題 动态规划 其他 数值分析 加密算法 排序算法 检索算法 随机化算法 关于并行算法,请参阅并行计算一文。 Thomas H...
32 KB (4,827 words) - 00:25, 5 July 2025
Floyd判圈算法(Floyd Cycle Detection Algorithm),又称龟兔赛跑算法(Tortoise and Hare Algorithm),是一个可以在有限状态机、迭代函数或者链表上判断是否存在环,求出该环的起点与长度的算法。该算法据高德纳称由美国科学家罗伯特·弗洛伊德发明,但这一算法...
5 KB (790 words) - 05:01, 8 December 2020
Paxos算法是莱斯利·兰伯特(英語:Leslie Lamport,LaTeX中的「La」)于1990年提出的一种基于消息传递且具有高度容错特性的共识(consensus)算法。 需要注意的是,Paxos常被误称为“一致性算法”。但是“一致性(consistency)”和“共识(consensus)...
26 KB (3,911 words) - 14:58, 2 July 2025
乘法算法是计算两个数值相乘乘積的算法。为了提高运算效率,不同大小的数字适用不同的乘法算法。自十进制数字系统诞生以来,就已开始发展乘法算法。 网格法(英语:Grid method multiplication) (或盒式法)是一种用于给小学生进行乘法计算启蒙的简单乘法算法...
34 KB (4,359 words) - 16:06, 9 January 2024
秦九韶算法是中国南宋时期的数学家秦九韶表述求解一元高次多项式的值的算法——正负开方术。它也可以配合牛顿法用来求解一元高次多项式的根。 19世纪初,英国数学家威廉·乔治·霍纳(英语:William George Horner)重新发现并证明,後世称作霍纳算法(Horner's method、Horner...
13 KB (2,017 words) - 09:34, 28 July 2025
學家吉爾伯特·斯特朗把FFT描述为“我们一生中最重要的数值算法”,它还被IEEE科学与工程计算期刊列入20世纪十大算法。 用FFT计算DFT会得到与直接用DFT定义计算相同的结果;最重要的区别是FFT更快。(由于捨入誤差的存在,许多FFT算法还会比直接运用定义求值精确很多,后面会讨论到这一点。) 令...
42 KB (6,825 words) - 21:20, 3 July 2025
萤火虫算法(Firefly Algorithm)是一种启发式算法,灵感来自于萤火虫闪烁的行为。萤火虫的闪光,其主要目的是作为一个信号系统,以吸引其他的萤火虫。剑桥大学的Xin-She Yang(音译:杨新社)教授提出了萤火虫算法,其假设为: 萤火虫不分性别,这样一个萤火虫将会吸引到所有其他的萤火虫;...
12 KB (1,743 words) - 13:55, 22 June 2022
在计算机科学中,X算法可用来求解精确覆盖问题。此名称最早在高德纳的论文《舞蹈链》中出现,他认为此算法是“试错法中最显而易见”的。 就技术而言,X算法是一个深度优先的不确定性回溯算法。由于X算法是一个解决精确覆盖问题的简洁方法,高德纳希望通过该算法体现舞蹈链数据结构的高效性,他把使用后者的X算法称为DLX。 X算法...
14 KB (1,280 words) - 03:26, 5 March 2024
Jarník)发现;并在1957年由美国计算机科学家羅伯特·C·普里姆独立发现;1959年,艾兹格·迪科斯彻再次发现了该算法。因此,在某些场合,普里姆算法又被称为DJP算法、亚尔尼克算法或普里姆-亚尔尼克算法。 从单一顶点开始,普里姆算法按照以下步骤逐步扩大树中所含顶点的数目,直到遍及连通图的所有顶点。...
16 KB (1,976 words) - 03:20, 4 July 2025
模擬退火(英語:Simulated annealing,缩写作SA)是一種逼近给定函数全局最优的通用概率演算法,具体来说,它是一种元启发算法,常用來在一定時間內,尋找在一個很大搜尋空間中的近似全局最優解。在有大量局部最优解时,模拟退火算法可以找到全局最优解。 模拟退火常用于搜索空间离散的情形(如旅行推销员问题、布尔可满足...
31 KB (4,540 words) - 06:25, 4 July 2025
在密碼學中,RC4(來自Rivest Cipher 4的縮寫)是一種串流加密法,密鑰长度可变。它加解密使用相同的密钥,因此也属于对称加密算法。RC4是有线等效加密(WEP)中采用的加密算法,也曾经是TLS可采用的算法之一。 RC4是由美國密碼學家羅納德·李維斯特(Ronald...
5 KB (735 words) - 02:06, 20 May 2025
Lamport面包店算法是解决多个线程并发访问一个共享的单用户资源的互斥问题的算法。 由莱斯利·兰波特发明。 Lamport把这个并发控制算法非常直观地类比为顾客去面包店采购。面包店一次只能接待一位顾客的采购。已知有N位顾客要进入面包店采购,按照次序安排他们在前台登记一个签到号码。该签到号码逐次增...
6 KB (877 words) - 07:29, 27 March 2024
黄金分割搜索 (category 算法)
黄金分割搜索是一种通过不断缩小单峰函数的最值的已知范围,从而找到最值的方法。它的名称源于这个算法保持了间距具有黄金分割特性的三个点。这个算法与斐波那契搜索和二分查找关系紧密。黄金分割搜索是由Kiefer提出的,而斐波那契搜索是由Avriel和Wilde所提出。 上图表示了算法中找最小值的一个步骤。 f ( x ) {\displaystyle...
3 KB (662 words) - 08:27, 5 March 2024