• 为了保证你在浏览本网站时有着更好的体验,建议使用类似Chrome、Firefox之类的浏览器~~
    • 如果你喜欢本站的内容何不Ctrl+D收藏一下呢,与大家一起分享各种编程知识~
    • 本网站研究机器学习、计算机视觉、模式识别~当然不局限于此,生命在于折腾,何不年轻时多折腾一下

标签:算法

威尔逊置信区间排序

威尔逊置信区间排序

对于召回的一些数据如何给这些数据来排名,然后根据这个排名来显示数据,这就需要使用“威尔逊区间”了。 首先我们讨论的情况是每个项目只有两种选择,且项目之间是相互独立的,就是项目符合“二项分布”的。 如[1]中所举的例子中可以看出,无论得分情况为得分 = 赞成票 – 反对票还是得分 = 赞成票 / 全部票都会出现错误的情况。 有一种计算得……

LightGbm之直方图优化理解

LightGbm之直方图优化理解

简单介绍一下吧,lightgbm 是微软推出的 gbdt 相关的机器学习库,一开源就受到很多开发者的喜爱吧,主要是运行速度快并且节省内存,同时训练的精度也很高,感觉集中了所有的优势。在此之前用陈天奇的 xgboost 居多,也是神器。xgboost 采用了预排序的方法来处理节点分裂,在计算机领域要么就是空间换时间,或者时间换空间(这个也不是绝对,你可以通过某……

beta分布原理

beta分布原理

说道这个分布,之前有段时间再看 LDA 的原理了解过,最近组内用人用贝叶斯和威尔逊区间等用于 CTR 平滑做推荐排序,目前 ABTEST 效果不是太好,提升也不是太大。然后分析了下不好的原因,顺带了解了下其中涉及到的这个 BETA 分布内容。相信大家学过统计学的都对 正态分布 二项分布 均匀分布 等等很熟悉了,但是却鲜少有人去介绍beta 分布的。用一……

cpt序列预测

cpt序列预测

序列预测是当前深度学习最火热的应用之一。从搭建推荐系统到语音识别再到自然语言处理,序列预测有着广泛的应用前景。实现序列预测有很多不同的方法,比如利用机器学习中的马尔科夫模型/有向图,深度学习领域中的 RNN/LSTM 等等。在本文我们会用一种叫做紧凑预测树(Compact Prediction Tree,即 CPT)的算法。虽然知道这种算法的人并不多,但它……

loglikelihood ratio 相似度理解

摘要:在机器学习中常用到各种距离或者相似度,今天在看美团推荐系统重排序的文章时看到了 loglikelihood ratio 相似度,特总结起来。以后有时间再把常用的相似度或者距离梳理到一篇文章。背景:记录 loglikelihood ratio 相似度概念总结:下表表示了 Event A 和 Event B 之间的相互关系,其中:k11 :……

推荐系统中融合特征排序两三事

推荐系统中融合特征排序两三事

一般情况下对于推荐输出的召回的候选集进行排序,ltr 排序这个也是大家经常使用的。lr+gbdt这个组合在 ctr 预估中已经被广泛使用了,当然在推荐结果的重排序中也发挥着重要的作用。如果直接将构造的特征向量输入到 lr 模型当中,每个特征都是单独的特征,各自之间没有什么联系。其实很多时候特征之间的组合的意义大于特征自身,因此 facebook 使用……

EM角度理解kmeans

EM角度理解kmeans

最近需要做一个国家区域的聚类分析,使用的是 kmeans 聚类方法,构造接近 900 维特征来进行聚类。使用 sklean 基本上就可以使用较少的代码来实现。中间使用过 TSNE 观察降维之后的特征在二维平面上的分布情况。kmeans 应该算是聚类算法中最简单的聚类算法了,在 spark 中也有其对应的实现。至于本篇文章的由来那就是归功于 LDA 的……

AUC推荐评价指标

AUC推荐评价指标

最近在极客时间上买了一个推荐三十六式的课程,作为一个推荐系统方面的新手,在这个课程上还是可以学习不少推荐方面的知识,今天在看到 BPR 的时候给出了 AUC 在衡量推荐结果指标这块的分析。乍一看 AUC 还可以干这事,至少之前是没想过的,以前都是使用 ROC 或者 AUC 来衡量监督学习的好坏,现在还可以用来衡量推荐算法的好坏。要分析这个就要从 AUC……

PersonalRank算法以及实现

PersonalRank算法以及实现

先举个例子上面的二部图表示 user A 对 item a 和 c 感兴趣,B 对 a b c d 都感兴趣,C 对 c 和 d 感兴趣。本文假设每条边代表的感兴趣程度是一样的。现在我们要为 user A 推荐 item,实际上就是计算 A 对所有 item 的感兴趣程度。在 personal rank 算法中不区分 user 节点和 item ……

ACM recsys十年回顾(转载)

ACM recsys十年回顾(转载)

ACM(国际计算机学会)主办的推荐系统专场(Recsys)是推荐系统圈子的顶级会议,从 2007 年开始,至今已经十年,这十年中每年都有 Tutorial 公布,本文整理出来,可以一探推荐系统的业界和学界兴趣点的迁移。十年回顾2007本年度并没有公开的 Tutorial,但从会议收录的文章主题,可以看到本届会议重点讨论的话题是:隐私和信任,协同过滤……

cart树ccp剪枝详细介绍

cart树ccp剪枝详细介绍

代价复杂度剪枝 Cost-Complexity Pruning(CCP)设初始\(k=0\),\(T=T_{0}\),\(\alpha\)为正无穷自上而下的计算\begin{align}g(t)&=\frac{R(t)-R(T_{t})}{|N_{T_{t}}|-1}\\\alpha&=min(\alpha,g(t))\end{a……

机器学习gridsearchcv(网格搜索)和kfold validation(k折验证)

机器学习gridsearchcv(网格搜索)和kfold validation(k折验证)

网格搜索算法和K 折交叉验证法是机器学习入门的时候遇到的重要的概念。网格搜索算法是一种通过遍历给定的参数组合来优化模型表现的方法。以决策树为例,当我们确定了要使用决策树算法的时候,为了能够更好地拟合和预测,我们需要调整它的参数。在决策树算法中,我们通常选择的参数是决策树的最大深度。于是我们会给出一系列的最大深度的值,比如 {‘max_dep……

libsvm文件格式

libsvm文件格式

libsvm 数据格式libsvm 使用的训练数据和检验数据文件格式如下: [label] [index1]:[value1] [index2]:[value2] … [label] [index1]:[value1] [index2]:[value2] …label 目标值,就是说 class(属于哪一类),就是你要分类的种类,通常是一些整数。……

特征选择(1)-方差选择法

方差选择法当然是使用方差来衡量特征,处理的维度是特征维度,计算当前的特征的方差大小,根据设定的方差阈值选取出大于阈值的特征。为什么方差可以用来选择特征?理论上是认为在样本集上如果当前特征基本上都差异不大,因此可以认为这个特征对我们区分样本贡献不大,因此可以在构造特征过程中可以将其去掉。sklearn 函数剖析 from sklearn.f……

特征选择

特征选择在机器学习中占据了重要的地位,通常在构造完特征之后会发现很多特征,少则十几个多则几十个,其实这些特征并不完全对我们构造的模型有益,也许其中只有部分特征会对我们的模型是最佳组合,因此我们需要筛选出相应的特征组合作为训练的特征。特征较多带来的问题:特征维数较高,训练模型会比较麻烦维数灾难,训练的模型效果不一定好且泛化能力较差因此需要特征选择的……

hash table理解 转载

hash table理解 转载

在前面的系列文章中,依次介绍了基于无序列表的顺序查找,基于有序数组的二分查找,平衡查找树,以及红黑树,下图是他们在平均以及最差情况下的时间复杂度:可以看到在时间复杂度上,红黑树在平均情况下插入,查找以及删除上都达到了 lgN 的时间复杂度。那么有没有查找效率更高的数据结构呢,答案就是本文接下来要介绍了散列表,也叫哈希表(Hash Table)什么是……

map_reduce原理

进入大数据领域经常接触到的词汇就是 map /reduce,其实在这个在 python 中经常用到,比如处理一个 list 时,如果你要对每个元素进行相应的函数操作,就可以通过 map 的方式,当然你也可以通过生成烈表式来做,在大数据中区别还是在于分布式操作。转载一篇白话原理 http://blog.csdn.net/lifuxiangcaohui/art……

布隆过滤器-转载

布隆过滤器-转载

哈希 hash原理Hash (哈希,或者散列)函数在计算机领域,尤其是数据快速查找领域,加密领域用的极广。其作用是将一个大的数据集映射到一个小的数据集上面(这些小的数据集叫做哈希值,或者散列值)。一个应用是 Hash table(散列表,也叫哈希表),是根据哈希值 (Key value) 而直接进行访问的数据结构。也就是说,它通过把哈希值映射到表中一……