分类: 算法实现

自然语言处理之 BERT

BERT简介 BERT(Bidirectional Encoder Representations from Transformers)是一种预训练语言表示的方法,由Google的研究者在2018年提出。它在自然语言处理(NLP)领域取得了革命性的进展,尤其是在理解上下文含…

时序相似性计算:从DTW到FastDTW

DTW简介 DTW(Dynamic Time Warping)是一种用于比较时间序列之间相似性的算法。它可以有效地处理在时间轴上存在偏移、缩放和扭曲等变形的时间序列数据。DTW算法通过对两个时间序列进行动态规整,将它们按最优路径…

模糊C聚类算法Fuzzy C-Means

Fuzzy C-Means简介 模糊理论 模糊控制是自动化控制领域的一项经典方法。其原理则是模糊数学、模糊逻辑。1965,L. A. Zadeh发表模糊集合“Fuzzy Sets”的论文, 首次引入隶属度函数的概念,打破了经典数学“非0即 1”…

PageRank算法原理与实现

什么是PageRank PageRank,简称PR,是Google排名运算法则(排名公式)的一部分,是Google用于用来标识网页的等级/重要性的一种方法,是Google用来衡量一个网站的好坏的重要标准之一。PageRank计算页面的重要性,对…

法→原理, 算法实现 ·

算法的时间复杂度和空间复杂度

算法复杂度是算法性能最基本的评价标准。算法复杂度由时间复杂度和空间复杂度组成,属于计算复杂性理论中的内容。 时间复杂度 时间复杂度描述了算法的运行时间, 算法的时间复杂度是一个函数,它定量描述了该算法…

法→原理, 算法实现 ·

经典算法之分治法

分治法概念 分治法(divide-and-conquer)字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。分治有两个特…

法→原理, 算法实现 ·

经典算法之动态规划法

动态规划是一种将原问题拆解为若干子问题的求解方法,常常用于重叠子问题的和最有结构性能的问题。通过动态规划的方法,计算量则圆圆小于一般的解法。原因在于,对于重叠子问题,一般情况下会被重复计算,而动态规…

法→原理, 算法实现 ·

动态规划之背包问题

背包问题(Knapsack problem)是动态规划的经典问题。动态规划的基础是递归,和分治一样,都是假设子问题已经解决,由子问题的解组合计算得到父问题的解,类似裴波那契数列中的递推式如f(n) = f(n-1) + f(n-2)。但…

文本内容相似度计算方法:simhash

如何比较两篇文章的相似度在互联网搜索引擎层面使用的非常广泛,试想,如果不进行类似的比较,在当前互联网信息抄来抄去的情况下,搜索引擎结果页排在前面的结果可能都是相似的内容。Google为了避免出现上述的问题…

加密解密算法之RSA

在了解RSA之前,需要先要对对称加密和非对称加密有个初步的了解。对称加密就是加密和解密使用同一个密钥。对称加密快而且方便,但是有个缺点,密钥容易被偷或被破解。非对称算法把密钥分成两个,一个自己持有叫私钥…