算法学习
帛逸TB
这个作者很懒,什么都没留下…
展开
-
各种排序算法对比
选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法,冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法。冒泡法: 这是最原始,也是众所周知的最慢的算法了。他的名字的由来因为它的工作看来象是冒泡: 复杂度为O(n*n)。当数据为正序,将不会有交换。复杂度为O(0)。直接插入排序:O(n*n)选择排序:O(n*n)快速排序:平均时间复杂度log2(n)*n,转载 2010-07-31 21:25:00 · 1344 阅读 · 0 评论 -
RankNet学习思路
整理了一下学习ranknet需要知道的几点:1、ranknet是从概率角度,利用pairwise解决排序问题;2、最终我们学习的是一个为搜索结果打分的函数(Scoring Function),这个函数的作用是用来给搜索结果排序的,函数中带有未知参数,RankNet会帮你把参数训练出来,这个Scoring Function在这里并不是RankNet中特定的,因此只要提供的Scoring原创 2015-05-19 21:21:33 · 13245 阅读 · 3 评论 -
OWLQN理解
OWLQN简单理解体会原创 2015-04-21 19:07:17 · 5448 阅读 · 1 评论 -
谈谈分类算法的选择
在我们运用机器学习解决实际问题时,我们可能用得最多的套路就是找特征,选模型,扔进去训练。比如当我们面对{0,1}分类问题时,我们可能很自然的就想到了逻辑回归来解决,这个看似自然的做法背后又有什么秘密呢?为什么我们要选择逻辑回归呢?很多文章中都用到的关于房屋价格的回归问题时,我们可能也会很快就想到最小二乘法,同样,这又是怎么得来的呢?其实对为类问题,只要随便在网上一搜,都可以找到很多答案,比如类似的原创 2012-11-24 13:06:53 · 5680 阅读 · 1 评论 -
hadoop java hadoop-streaming
通过java编写的hadoop程序与通过hadoop-streaming(c++)在reduce阶段的区别:对于前者,由map阶段输出的会将相同的k哈希到结构,并用一个reduce处理。因此在reduce中,得理完这个就可以输出。对于后者,map输出也是结构,同样也会将相同的k哈希到一起,但是,不是结构,而仍然是结构,相同的k会在一起,因此,reduce阶段读入的一条记录仍然是,在处理完成原创 2011-10-28 17:25:16 · 1526 阅读 · 0 评论 -
Gradient Boost 算法流程分析
我们在很多Gradient Boost相关的论文及分析文章中都可以看到下面的公式:但是,对这个公式的理解,我一直也是一知半解,最近,终于下决心对其进行了深入理解。步骤1:可以看作优化目标的损失函数;步骤2:代表需要学习1~M个模型;步骤3:将前m-1个模型的组合F(X)代入损失函数L(y_i, F(X)),并对F(X)求导,求得梯度向量表达式;举例说明,如果损失原创 2012-10-31 19:57:39 · 7344 阅读 · 0 评论 -
机器学习相关资料
参考资料斯坦福大学视频:http://v.163.com/special/opencourse/machinelearning.html字幕:http://see.stanford.edu/see/lecturelist.aspx?coll=348ca原创 2011-09-07 17:54:26 · 1285 阅读 · 1 评论 -
larbin学习网址收集
吴昆的博客 个人感觉比较好 对学习larbin很有帮助http://hi.baidu.com/hustwk/blog/category/larbin%D3%EB%C5%C0%B3%E6 青青子衿的博客 有文件的分析,可能版本不同,看看还是有价值的 http://blog.csdn.net/anzijin/archive/2009/01/07/3726520.aspxLarbin 搜转载 2010-11-29 20:22:00 · 956 阅读 · 0 评论 -
(EM算法)The EM Algorithm
EM是我一直想深入学习的算法之一,第一次听说是在NLP课中的HMM那一节,为了解决HMM的参数估计问题,使用了EM算法。在之后的MT中的词对齐中也用到了。在Mitchell的书中也提到EM可以用于贝叶斯网络中。下面主要介绍EM的整个推导过程。1. Jensen不等式 回顾优化理论中的一些概念。设f是定义域为实数的函数,如果对于所有的实数x,,那么f是凸函数。当x是转载 2013-01-29 22:09:05 · 2616 阅读 · 1 评论 -
海量数据处理常用思路和方法
最近有点忙,稍微空闲下来,发篇总结贴。大数据量的问题是很多面试笔试中经常出现的问题,比如baidu google 腾讯 这样的一些涉及到海量数据的公司经常会问到。 下面的方法是我对海量数据的处理方法进行了一个一般性的总结,当然这些方法可能并不能完全覆盖所有的问题,但是这样的一些方法也基本可以处理绝大多数遇到的问题。下面的一些问题基本直接来源于公司的面试笔试题目,方法不一定最优,转载 2010-08-02 15:16:00 · 1479 阅读 · 0 评论 -
Wavelet Multiresolution Analysis
原创 2010-12-23 15:41:00 · 1151 阅读 · 0 评论 -
GBDT源码剖析
如今,GBDT被广泛运用于互联网行业,他的原理与优点这里就不细说了,网上google一大把。但是,我自认为自己不是一个理论牛人,对GBDT的理论理解之后也做不到从理论举一反三得到更深入的结果。但是学习一个算法,务必要深入细致才能领会到这个算法的精髓。因此,在了解了足够的GBDT理论之后,就需要通过去阅读其源码来深入学习GBDT了。但是,网上有关这类资料甚少,因此,我不得不自己亲自抄刀,索性自己从头原创 2012-12-04 22:22:48 · 22440 阅读 · 4 评论 -
pid match算法思想
在电子商务搜索领域,商品搜索中,pid match 算法是扩展产品库的有效方法。主要作用是根据商品title,将该商品归到一条spuid记录下。原理:1.将产品库中关键属性(如:nokia N97(代表品牌 和 型号))提取出来,分词,并丢关键属性中的一些弃垃圾词(丢弃算法:根据该条spuid下挂商品title分词之后,统计词频最低的词丢弃);2.得到所有分词之后的关键属性词之后,建立原创 2012-05-04 16:29:20 · 1731 阅读 · 0 评论 -
GBDT(MART) 迭代决策树入门教程 | 简介
在网上看到一篇对从代码层面理解gbdt比较好的文章,转载记录一下: GBDT(Gradient Boosting Decision Tree) 又叫 MART(Multiple Additive Regression Tree),是一种迭代的决策树算法,该算法由多棵决策树组成,所有树的结论累加起来做最终答案。它在被提出之初就和SVM一起被认为是泛化能力(g转载 2012-11-29 19:12:19 · 184570 阅读 · 22 评论 -
各种基本算法实现小结
(此贴转自 阳光岛主 ,仅做收藏之用,在此谢谢啦!) 单链表(测试通过) 测试环境: Win-TCview plaincopy to clipboardprint?·········10········20········30········40········50········60········70········80········90·······转载 2010-07-28 14:25:00 · 1998 阅读 · 0 评论 -
GBDT理解二三事
一、要理解GBDT当然要从GB(Gradient Boosting)和DT(Decision Tree)两个角度来理解了;二、GB其实是一种理念,他并不是这一个具体的算法,意思是说沿着梯度方向,构造一系列的弱分类器函数,并以一定权重组合起来,形成最终决策的强分类器;注意,这里的梯度下降法是在函数空间中通过梯度下降法寻找使得LOSS最小的一个函数,区别于传统的梯度下降法选择一个方向;那么问题就来原创 2015-02-10 16:59:44 · 27873 阅读 · 7 评论