Algorithms
文章平均质量分 57
lalalalala
这个作者很懒,什么都没留下…
展开
-
基于词表的切词——最短路径方法
最短路径方法的目的是使得分词后得到的词最少,实现的方法是从句子中匹配出所有在词表中的词,以词为边(边的权重为1)、词与词的间隔(切分点)为节点构造出一个有向无环图(DAG),有唯一的起点(句子的开始)和唯一的终点(句子的结束),找到一条最短路径,即切分最少。 和正向最大匹配一样最短路径方法只需要一个词表即可进行切词,但得到的结果要更好,主要原因是考虑到了上下文的衔接性,把切分过程从一维原创 2006-05-12 12:48:00 · 2090 阅读 · 0 评论 -
基于词表的分词——最大匹配(MM)
这是一种有着广泛应用的机械分词方法,该方法依据一个分词词表和一个基本的切分评估原则,即“长词优先”原则,来进行分词。这种评估原则虽然在大多数情况下是合理的,但也会引发一些切分错误。这种切分方法,需要最少的语言资源(仅需一个词表,不需要任何词法、句法、语义知识),程序实现简单,开发周期短,是一个简单实用的方法。 下面是一个简单的MM算法Python实现: 1 #{entry1:原创 2006-05-12 12:46:00 · 1415 阅读 · 0 评论 -
K条最短路径问题
最短路径的并行算法综述 中国科技大学 陈艾通常情况下,最短路径问题分为:单源最短路径和所有顶点对间的最短路径。这两类问题从不同的角度描述问题,但有一个共同的缺陷:这里的最短路径指两点之间最短的那一条路径,不包括次短、再次短等等路径。这样的最短路径问题比较狭义。实际情况中,例如,用户在使用咨询系统或决策支持系统时,希望得到最优的决策参考外,还希望得到次优、再次优等决策参考,这同样反映在最短路径问转载 2006-05-12 13:26:00 · 3460 阅读 · 1 评论 -
也谈漂亮代码
看到负暄琐话里面的漂亮代码,颇有同感。前一段就在TopCoder SRM345 Div1 250 Pathfinding上看到漂亮代码的威力。先看看Spieler的代码:class Pathfinding { public: int getDirections(int x, int y) { if ( x == 0 ) { if ( y 0 )原创 2007-05-17 13:19:00 · 846 阅读 · 0 评论 -
An Algorithm Summary of Programming Collective Intelligence (1)
就按照最后一章的顺序来说吧。很多名字都不知道中文该怎么说,就直接用英文名称了。Naive Bayesian Classifier 朴素贝叶斯分类器nb算法是通过学习样本中已经分类的条目,计算生成条目中的特性相对于类别的概率矩阵,然后根据待分类条目中特性在这个矩阵中的值来反向计算条目的类别概率。P(Category|Item)=P(Item|Category)*P(Category)/P(I原创 2008-02-26 22:14:00 · 518 阅读 · 0 评论 -
An Algorithm Summary of Programming Collective Intelligence (2)
继续。Neural Networks 神经网络(是这么说吧)nn可以用来做分类和数值型预测。nn有很多类型,PCI里面介绍的是一种多层认知网络,有一层输入神经元和若干层(这里是一层)隐藏神经元。每个神经元有自己的输出值,连接神经元的突触有各自的权重。使用nn计算的方法叫feed forward,是通过对所有连接到这个节点上一层神经元的输出值与相应的突触权重的乘积求和再用tanh(PCI原创 2008-02-28 03:07:00 · 422 阅读 · 0 评论 -
An Algorithm Summary of Programming Collective Intelligence (3)
继续。 k-Nearest Neighbors kNN(不要问我叫什么)PCI里面用kNN做了一个价格预测模型,还有一个简单的电影喜好预测。简单来说就是要对一个东西做数值预测,就要先有一堆已经有数值的东西,从里面找出和要预测的东西相似的,再通过计算这些相似东西的均值来作出预测。 kNN里面首先遇到的问题是如何定义“相似”。 把物品的各种属性量化,这样就构成了一个若干维度的向量空间。于是原创 2008-03-11 13:09:00 · 427 阅读 · 0 评论 -
An Algorithm Summary of Programming Collective Intelligence (4)
继续 Multidimensional Scaling 多维标度 ms是用来降低向量空间维度的,一般是降低到二维,降低的过程中要尽量保证各个向量之间的距离在许可范围之内保持相对不变。 可以很形象的把ms的方法用特殊的作用力方式来说明。 首先还是要计算出n维向量空间里面各个向量的距离作为标准距离。 然后把向量看作在二维平面里的一个个粒子,开始的时候粒子的分布是随机的。 粒子之原创 2008-03-11 13:12:00 · 445 阅读 · 0 评论 -
An Algorithm Summary of Programming Collective Intelligence (5)
继续 Optimization 优化 PCI里面介绍了两个算法:simulated annealing,模拟退火和genetic algorithms,遗传算法。 无论哪种优化算法,这里都需要一个代价计算函数来判定计算过程中产生的结果的好坏。 sa要设置一个较高的初始温度,按照由快变慢的速度在迭代过程中降温。 算法是同一个随机结果开始,在解向量空间的某一维度上做一个小的随机变化原创 2008-03-11 13:15:00 · 398 阅读 · 0 评论