Algorithm
文章平均质量分 68
这孩子谁懂哈
坚持比努力更可怕/You Reap What You Sow
展开
-
EM算法
EM算法 最大期望算法(Expectation Maximization Algorithm,又译期望最大化算法),是一种迭代算法,用于含有隐变量(latent variable)的概率参数模型的最大似然估计或极大后验概率估计。来自百度百科的定义,不知道是不是就我一个没有看懂。反正我是没怎么看懂。那就让我 一一道来:O(∩_∩)O哈哈~简单的算法思想: 小时候,老妈给一大袋糖果给你,叫你和你姐姐等原创 2017-01-15 14:58:54 · 386 阅读 · 0 评论 -
七大查找算法
七大查找算法 阅读目录1. 顺序查找2. 二分查找3. 插值查找4. 斐波那契查找5. 树表查找6. 分块查找7. 哈希查找 查找是在大量的信息中寻找一个特定的信息元素,在计算机应用中,查找是常用的基本运算,例如编译程序中符号表的查找。本文简单概括性的介绍了常见的七种查找算法,说是七种,其实二分查找、插值查找以及斐波那契转载 2017-03-16 13:45:56 · 662 阅读 · 0 评论 -
遗传算法
遗传算法 ( GA , Genetic Algorithm ) ,也称进化算法 。 遗传算法是受达尔文的进化论的启发,借鉴生物进化过程而提出的一种启发式搜索算法。因此在介绍遗传算法前有必要简单的介绍生物进化知识。 一.进化论知识 作为遗传算法生物背景的介绍,下面内容了解即可: 种群(Population):生物的进化以群体的形式进行,这样的一个群体称为种群。 个体:组成种群的单转载 2017-04-21 13:53:23 · 1670 阅读 · 0 评论 -
模拟退火算法
一. 爬山算法 ( Hill Climbing ) 介绍模拟退火前,先介绍爬山算法。爬山算法是一种简单的贪心搜索算法,该算法每次从当前解的临近解空间中选择一个最优解作为当前解,直到达到一个局部最优解。 爬山算法实现很简单,其主要缺点是会陷入局部最优解,而不一定能搜索到全局最优解。如图1所示:假设C点为当前解,爬山算法搜索到A点这个局部最优解就会停止搜索,因为在A点转载 2017-04-21 14:03:16 · 531 阅读 · 0 评论 -
排列和组合区别
这是两个非常容易混淆的概念:排列:从n个不同的元素中,取r个不重复的元素,按次序排列,称为从n个中取r个的无重复排列。有话说: 要考虑到顺序的问题,就是排列问题。当 r=n时,称为全排列。 A(n,r)组合:从n个不同的元素中,取r个不重复的元素,组成一个子集,而不考虑其元素的顺序,称为从n个中取r个的无重组和。有话说:没有也不需要考虑顺序问题就是...原创 2017-09-05 20:24:32 · 15282 阅读 · 0 评论 -
P和NP问题
背景知识:参考链接美剧《基本演绎法》(也就是美版“福尔摩斯”)第 2 季第 2 集中,两位研究 NP 问题的数学家被谋杀了,凶手是同行,因为被害者即将证明“P=NP 问题”,她为独吞成果而下了毒手。然而凶手的动机,并不是千禧年大奖难题那100万美元的奖金——解决了 P=NP 问题,就能够破译世界上所有的密码系统,这里面的利益比100万美元多多了。剧中只用了一句话来介绍 P=NP 的意义原创 2017-09-22 16:05:58 · 606 阅读 · 0 评论 -
KNN中的优化算法KD-tree
我们知道KNN是基于距离的一个简单分类算法,熟悉KNN的都知道,我们要不断计算两个样本点之间的距离,但是,试想一下,如果数据量特别大的时候,我们要每个都计算一下,那样计算量是非常大的,所以提出了一种优化KNN的算法-----kd-tree.实现k近邻法时,主要考虑的问题是如何对训练数据进行快速k近邻搜索。这在特征空间的维数大及训练数据容量大时尤其必要。k近邻法最简单的实现是线性扫描(穷原创 2017-09-26 16:55:18 · 7212 阅读 · 0 评论 -
极大似然估计和最小二乘法区别
最近在优化问题,发现很多的极大似然估计问题和最小二乘问题,查阅了一下资料,留在这里,以备不时之需。最大似然估计,就是利用已知的样本结果,反推最有可能(最大概率)导致这样结果的参数值。例如:一个麻袋里有白球与黑球,但是我不知道它们之间的比例,那我就有放回的抽取10次,结果我发现我抽到了8次黑球2次白球,我要求最有可能的黑白球之间的比例时,就采取最大似然估计法: 我假设我抽到黑球的原创 2017-12-29 21:22:43 · 9836 阅读 · 0 评论 -
大白话讲解LCS(最长公共子序列)
今天看了七月在线算法课。再一次认识了LCS,现在整理记录:LCS(Longest Common Subsequence)最长公共子序列。一个序列S任意删除若干个字符得到新序列T,那么T叫做S的子序列。两个序列X和Y的公共子序列中,长度最长的那个叫X和Y的最长公共子序列。例如:字符串13455和245576的最长公共子序列为455.字符串acdfg和adfc的最长公共子序列为adf.注意:这里要区别...原创 2022-03-26 20:32:02 · 1472 阅读 · 0 评论 -
MATLAB中实现编辑距离并求相似度
编辑距离,又称Levenshtein距离,是指两个字串之间,由一个转成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。好像R2018a已经集成了编辑距离的API ,但是没有安装2018a,dist = edr(x,y,tol)[dist,ix,iy] = edr(x,y,tol)[___] = edr(x,y,maxsamp)[___] = ...原创 2018-05-29 11:08:17 · 3932 阅读 · 3 评论 -
TF-IDF算法详解
最近在做一些NLP的研究,由于也是第一次做这个东西,其实还是发现很多有意思的东西。相信很多做过NLP的人都应该接触过提取关键词的这个功能。现在有很多可以使用的第三方工具包可以很容易的来实现这个功能,比如snowNLP,jieba等,但是我们还是要做到知其然,知其所以然,所以便有了这一篇文字的记录。 首先我们来了解一下什么是TF-IDF?其实这个是两个词的组合,可以拆分为TF和...原创 2018-08-06 14:04:48 · 102791 阅读 · 25 评论 -
贪心算法、分治算法、回溯算法
贪心算法:一、基本概念:所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。贪心算法没有固定的算法框架,算法设计的关键是贪心策略的选择。必须注意的是,贪心算法不是对所有问题都能得到整体最优解,选择的贪心策略必须具备无后效性,即某个状态以后的过程不会影响以前的状转载 2017-04-10 15:52:06 · 1350 阅读 · 0 评论 -
HMM(隐马尔可夫详解)
隐马尔可夫模型 (Hidden Markov Model,HMM) 最初由 L. E. Baum 和其它一些学者发表在一系列的统计学论文中,随后在语言识别,自然语言处理以及生物信息等领域体现了很大的价值。平时,经常能接触到涉及 HMM 的相关文章,一直没有仔细研究过,都是蜻蜓点水,因此,想花一点时间梳理下,加深理解,在此特别感谢 52nlp 对 HMM 的详细介绍。 考虑下面交通灯的例子,一个转载 2017-02-23 13:58:32 · 3705 阅读 · 0 评论 -
人人都应该了解的十大算法
我们应该都知道一个著名的公式:程序=算法+数据结构,算法是一个程序的核心,所以今天就给大家介绍一下我们常用的十大算法。1、快速排序算法快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的内部循环(inn原创 2017-02-11 15:27:37 · 1994 阅读 · 0 评论 -
高斯分布的理解
高斯分布(Gaussian distribution)又称正态分布(Normal distribution),最早由A.棣莫弗在求二项分布的渐近公式中得到。C.F.高斯在研究测量误差时从另一个角度导出了它。P.S.拉普拉斯和高斯研究了它的性质。[1] 是一个在数学、物理及工程等领域都非常重要的概率分布,在统计学的许多方面有着重大的影响力。正态曲线呈钟型,两头低,中间高,左右对称因其曲线呈钟形,因原创 2017-01-15 14:58:57 · 10661 阅读 · 0 评论 -
动态规划算法
一、首先什么是动态规划算法:动态规划是通过拆分问题,定义问题状态和状态之间的关系,使得问题能够以递推(或者说分治)的方式去解决。动态规划过程是:每次决策依赖于当前状态,又随即引起状态的转移。一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最优化决策解决问题的过程就称为动态规划。二、基本思想与策略基本思想与分治法类似,也是将待求解的问题分解为若干个子问题(阶段),按顺序求解子阶段,前一子问原创 2017-01-15 14:58:59 · 430 阅读 · 0 评论 -
维特比算法
最近小组长要求我做一个HMM的专题算法报告,后来发现HMM里用到了Viterbi 算法,且是核心算法,结合网上各位大牛的博客和自己的理解。百度百科的维特比算法定义:维特比算法是一种动态规划算法用于寻找最有可能产生观测事件序列的-维特比路径-隐含状态序列,特别是在马尔可夫信息源上下文和隐马尔可夫模型中。你们能看懂吗?原理根据动态规划原理,最优路径具有这样的特征:如果最优路径在时刻t通过节点it原创 2017-01-15 14:59:02 · 831 阅读 · 0 评论 -
DTW(动态时间规整算法)
转自http://blog.csdn.net/zouxy09/article/details/9140207Dynamic Time Warping(DTW)诞生有一定的历史了(日本学者Itakura提出),它出现的目的也比较单纯,是一种衡量两个长度不同的时间序列的相似度的方法。应用也比较广,主要是在模板匹配中,比如说用在孤立词语音识别(识别两段语音是否表示同一个单词),手势识转载 2017-01-15 15:25:02 · 10495 阅读 · 1 评论 -
CART算法
CART算法是创建决策树的一种算法,Classification And Regression Tree,即分类回归树算法,简称CART算法,它是决策树的一种实现,通常决策树主要有三种实现,分别是ID3算法,CART算法和C4.5算法。由于ID3和C4.5的算法构造出的决策树大都是说一下三者的区别吧ID3 采用提取信息增益特征的选取更偏向与取值较多的属性特征,很容易产生原创 2017-01-15 15:27:54 · 943 阅读 · 0 评论 -
HMM预测妹子心情
最近小组长要求做一个HMM的技术专题报告,想怎么使用通俗易懂的语言来给大家讲解呢?想了好久,终于在网上看到这位大牛的文章,感觉很通俗易懂,今天引用这位大牛的文章,进一步的讲解一下HMM,慢慢的揭开HMM的神秘面纱!先来讲解一下什么是马尔科夫链:一个系统有N个状态 S1,S2,···,Sn,随着时间推移,系统从某一状态转移到另一状态,设qt为时间t的状态,系统在时间t处于状态Sj的概原创 2017-01-15 15:51:46 · 2998 阅读 · 1 评论 -
最小二乘法和梯度下降法的相同点和异同点
相同 1.本质相同:两种方法都是在给定已知数据(independent & dependent variables)的前提下对dependent variables算出出一个一般性的估值函数。然后对给定新数据的dependent variables进行估算。 2.目标相同:都是在已知数据的框架内,使得估算值与实际值的总平方差尽量更小(事实上未必一定要使用平方),估算值与实际值的总平方差的公式为原创 2017-01-15 15:03:09 · 556 阅读 · 0 评论 -
最小二乘法
一、 先看下百度百科的介绍:最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。最小二乘法还可用于曲线拟合。其他一些优化问题也可通过最小化能量或最大化熵用最小二乘法来表达。 二. 最小二乘法 我们以最简单的一元线性模型来解释最小二乘法。什么是一元线性模型呢?原创 2017-01-15 15:03:03 · 295 阅读 · 0 评论 -
全概率公式、贝叶斯公式推导过程
(1)条件概率公式 设A,B是两个事件,且P(B)>0,则在事件B发生的条件下,事件A发生的条件概率(conditional probability)为: P(A|B)=P(AB)/P(B) (2)乘法公式 1.由条件概率公式得: P(AB)=P(A|B)P(B)=P(B|A)P(A)原创 2017-01-15 15:00:10 · 1273 阅读 · 0 评论 -
梯度下降法
百度百科的定义:梯度下降法是一个最优化算法,通常也称为最速下降法。最速下降法是求解无约束优化问题最简单和最古老的方法之一,虽然现在已经不具有实用性,但是许多有效算法都是以它为基础进行改进和修正而得到的。最速下降法是用负梯度方向为搜索方向的,最速下降法越接近目标值,步长越小,前进越慢。可以用于求解非线性方程组 对于ax+b这种情形,线性回归函数,例如最小二乘法是可以解决这些问题的,但是对于多维变量原创 2017-01-15 15:03:06 · 365 阅读 · 0 评论 -
用反射Gray码的顺序生成0,1的n元组的算法
算法步骤如下:从n元组a[n-1]a[n-2]...a[0]=00...0开始;注意一下顺序,正常情况下,我们是从左,这个算法里我们是从右作为开始的额。。当a[n-1]a[n-2]...a[0]!=00...0时,执行下面操作:①计算sum=a[n-1]+a[n-2]+...+a[0];②如果sum是偶数,则改变a[0](从0变到1或是从1变到0);③否则,确定这样的j,使...原创 2017-01-15 14:59:05 · 633 阅读 · 0 评论