- 博客(15)
- 资源 (18)
- 收藏
- 关注
原创 【从零学习经典算法系列】分治策略实例——快速排序(QuickSort)
快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序n个项目要O(nlogn)次比较。在最坏状况下则需要O(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他O(nlogn)算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来。此种排序的思路是:如果在分开的时候,不是从中间位置上分界,二是按照元素的大小分开为两个一大一小的子序列(一个子序列的所有元素大于另一个子序列里的所有元素),这样的话,因为两个子序列之间的相对次序已经正确,所有在合并的时候
2014-07-31 16:40:00 4994
原创 【E2LSH源码分析】p稳定分布LSH算法初探
对应海明距离的LSH称为位采样算法(bit sampling),该算法是比较得到的哈希值的海明距离,但是一般距离都是用欧式距离进行度量的,将欧式距离映射到海明空间再比较其的海明距离比较麻烦。于是,研究者提出了基于p-稳定分布的位置敏感哈希算法,可以直接处理欧式距离,并解决(R,c)-近邻问题。
2014-07-29 22:01:19 13761 10
原创 【E2LSH源码分析】LSH算法框架分析
最近邻问题(nearest neighbor problem)可以定义如下:给定n个对象的集合并建立一个数据结构,当给定任意的要查询对象时,该数据结构返回针对查询对象的最相似的数据集对象。LSH的基本思想是利用多个哈希函数把高维空间中的向量映射到低维空间,利用低维空间的编码来表示高维向量。通过对向量对象进行多次哈希映射,高维向量按照其分布以及自身的特性落入不同哈希表的不同桶中。在理想情况下可以认为在高维空间中位置比较接近的向量对象有很大的概率最终落入同一个桶中,而距离比较远的对象则以很大的概率落入不同的桶中
2014-07-28 22:09:06 7950 2
原创 【从零学习经典算法系列】分治策略实例——二分查找
二分查找算法是一种在有序数组中查找某一特定元素的搜索算法。搜素过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束;如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较。如果在某一步骤数组 为空,则代表找不到。这种搜索算法每一次比较都使搜索范围缩小一半。折半搜索每次把搜索区域减少一半,时间复杂度为Ο(logn)。
2014-07-27 20:52:49 4588
原创 【C++漫谈】const杂谈
const指定一个语义约束,它允许你告诉编译器和其他程序员某值应该保持不变,这样可以获得编译器的帮助,确保该约束不被违反。然而由于关键字const使用看上去比较灵活,接下来就一些常见的使用总结如下
2014-07-25 14:57:36 1293
转载 百度离职总结:如何做个好员工?
2014年7月4日,我从百度离职了。这是第一次,我不是因为和老板闹翻而离职;这是第一次,我带着晋升的喜悦而离职;这是第一次,我带着满满的收获而离职。我曾经认为,我永远不会成为一个好员工,因为我太独、太挑剔、不喜欢听话的好孩子、而且讨厌一切想要改变我的人。但是三年过去,我改变了不少,我必须承认,所谓“进步”的过程,就是被认可的过程,也是被“驯化”的过程。所谓“
2014-07-23 08:44:15 1917 2
原创 【从零学习经典算法系列】分治策略实例——归并排序(Mergesort)
归并排序是递归算法的一个很好的实例,该算法的基本操作是合并两个已排序的表,因为这两个表是已排序的,所以若将输出放到第三个表中时,该算法可以通过对输入数据一趟排序来完成。算法流程:基本的合并算法是取两个输入数组A和B,一个输出数组C,以及三个计数器Aptr,Bptr,Cptr,它们初始置于对应数组的起始端。A[Aptr]和B[Bptr]中较小者被拷贝到C中的下一个位置,相关的计数器向下个元素推进一步。当两个输入表有一个用完之后,则将另一个表剩余部分拷贝到C中。
2014-07-13 17:20:37 2632
原创 【从零学习经典算法系列】分治与递归2——主方法
主方法给出求解形如T(n) = aT(n/b) + f(n)的递归表达式的定理性方法,这里常数a>=1,b>1,f(n)是一个渐进趋正的函数(存在n0,当n>n0,有f(n)>0)。递归式T(n) = aT(n/b) + f(n)描述了将规模为n的问题划分为a个子问题的算法的运行时间,每个子问题规模为n/b,a和b是正整数。a个子问题被分别递归地求解,时间各为T(n/b)。划分原问题和合并答案的代价由函数f(n)描述。
2014-07-12 14:23:54 5806
原创 【从零学习经典算法系列】分治与递归1——递归表达式与解法初步
比如足球世界杯,我们要通过世界杯决出世界上最好的一支球队,于是通过各大洲的分区比赛选出几支球队,再在这世界杯的32强决一雌雄。把一个大问题(全球各国家足球队选择水平能力最强的一支)分解成多个类型,相同规模,相对更小的小问题(各个赛区的强队),再分别解决更小的问题(小组赛、淘汰赛的角逐),最终使得一个大问题迎刃而解,这就是分治策略。
2014-07-11 09:13:32 3643 1
原创 【人脸检测】Haar分类器原理2——AdaBoost级联分类器
Haar分类器使用AdaBoost算法,但是把它组织为筛选式的级联分类器,每个节点是多个树构成的分类器,且每个节点的正确识别率很高。在任一级计算中,一旦获得“不在类别中”的结论,则计算终止。只有通过分类器中所有级别,才会认为物体被检测到。这样的优点是当目标出现频率较低的时候(即人脸在图像中所占比例小时),筛选式的级联分类器可以显著地降低计算量,因为大部分被检测的区域可以很早被筛选掉,迅速判断该区域没有要求被检测的物体。
2014-07-09 11:21:01 24040 1
原创 搜索引擎初探
搜索引擎的技术发展可以概括为“更全、更快、更准”,其在信息的相关性、可信赖度以及用户的真正需求这几个因素上不断发展壮大。从最早的人工分类目录,主要关注信息的可信赖度,但缺乏丰富的信息和关联;到文本检索,重点关注查询关键词和网页内容的相关性,但难以鉴别信息的可信度;到PageRank链接分析技术,有效度量网页可信度标准,但缺乏对用户个性化要求的考虑;再到以用户为中心,试图通过用户的相关信息去了解用户的真正需求。
2014-07-05 16:21:57 1526
原创 【人脸检测】Haar分类器原理1——矩形特征与积分图
Haar-like矩形特征是用于物体检测的数字图像特征。这类矩形特征模板由两个或多个全等的黑白矩形相邻组合而成,而矩形特征值是白色矩形的灰度值的和减去黑色矩形的灰度值的和,矩形特征对一些简单的图形结构,如线段、边缘比较敏感。如果把这样的矩形放在一个非人脸区域,那么计算出的特征值应该和人脸特征值不一样,所以这些矩形就是为了把人脸特征量化,以区分人脸和非人脸。
2014-07-04 16:09:34 13594
原创 【Kernel Method系列】Kernel Method入门
核方法是20世纪90年代模式识别与机器学习领域兴起的一场技术性革命。其优势在于允许研究者在原始数据对应的高维空间使用线性方法来分析和解决问题,且能有效地规避“ 维数灾难”。在模式识别的特征抽取领域,核方法最具特色之处在于其虽等价于先将原数据通过非线性映射变换到一高维空间后的线性特征抽取手段,但其不需要执行相应的非线性变换,也不需要知道究竟选择何种非线性映射关系。目前,核方法已大量应用到机器学习、模式识别、生物特征识别、生物信息学、数据挖掘、机器学习、图像去噪等领域。
2014-07-03 16:52:51 4685
Reactive Programming with Scala and Akka(Pdf格式)
2016-05-15
Learning scikit-learn Machine Learning in Python
2015-01-28
Building Probabilistic Graphical Models with Python
2015-01-28
Building.Machine.Learning.Systems.with.Python
2015-01-28
Visual Assist X 10.8.2043.0 完美破解版
2014-08-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人