- 博客(107)
- 资源 (8)
- 收藏
- 关注
原创 推荐系统的必要性
推荐系统的必要性引言回顾你需要推荐系统吗?怎么做?引言回顾在专栏文章的引言中,我们讨论了推荐和推荐系统,以及推荐系统的应用。这里我感觉有必要再通俗地介绍下推荐系统。我们所存在的世界是不断发展的,发展是靠着越来越多的连接来进行的。从最原始的物物交换,到今天世界各国建立贸易关系,都是为了自身的发展。同样的,推荐系统的目的就是要建立物品和人之间的关系,把物品推荐给人。比较恰当的例子就是微博营销,他通...
2018-10-11 20:02:46 7409
原创 引言
推荐系统从0到1_引言什么是推荐?什么是推荐系统?推荐系统的应用什么是推荐?说起推荐,就不得不说搜索。搜索这里指信息检索,在大量的信息中,我们需要找到自己需要的信息,就用到了搜索引擎,它帮助我们更快地找到有价值的信息。如google,baidu等等,还有其他专业的信息检索网站,如我常用的DBLP https://dblp.uni-trier.de/ 等等。搜索是人们主动去搜索自己需要的信息,...
2018-10-09 19:43:15 513
原创 推荐系统从0到1_1
推荐系统从0到1_1目录结构引言推荐系统的必要性搭建推荐系统所需要的材料推荐系统整体框架概览推荐系统核心技术框架数据预处理EE问题和相关算法TopN推荐CF算法原理介绍和实现基于用户行为的个性化推荐Word2Vec介绍和应用用户行为与item的向量化用户行为与物品之间的相似CTR预估离线排序模型FFMWide and Deep 算法根据用户实时行为进行推荐ABTest框架和实现Item的实时曝光控...
2018-10-09 06:52:11 599
转载 文因互联 CEO 鲍捷:确保搞砸人工智能项目的十种方法
文因互联 CEO 鲍捷:确保搞砸人工智能项目的十种方法 原创: 鲍捷 文因互联 前天 做成一件事儿不容易,而坑恒在。鲍捷博士于5月10日在将门创投的线上 talk 中盘点了人工智能项目的大坑小坑,选出了看上去非常反常识的十个经典坑。这是一篇大实话合集,但别绝望,最后将会放出从二十年踩坑经验中总结出的彩蛋,共勉。作者介绍鲍捷博士,文因互联 CEO。拥有20年学术界和工业界的相...
2018-08-03 16:35:50 634
原创 TODO L
要写的目录最近一段时间,由于太忙(根本就是懒)停止了博客的更新,时间也快有一年了。停博的这段时间,在我身上是发生了太多太多事。关于技术博客,我将想写的主题暂列如下,后边慢慢补充。1 simhash 重复文章识别 2 reclib slim top 推荐实现 3 人脸识别facenet算法 4 facenet 核心详解 5 人脸识别考勤架构 6 通用推荐系统架构与实现(系列)...
2018-07-11 09:58:52 370
转载 那些你无比崇拜的厉害人,是如何建构知识体系的
那些你无比崇拜的厉害人,是如何建构知识体系的?2018-04-04 六合同风 文 | Lachel 高效思维达人,知识管理专家,深度思考践行者,领英、36氪特约作家来源 | L先生说(ID:lxianshengmiao)这是我总结的“知识体系矩阵”。它有 9 个元素,分别代表了建立知识体系过程中,至关重要的 9 个要素。下面,我们一个个来探讨。我们学什么:三种知识...
2018-04-04 15:07:28 915
原创 (论文阅读笔记1)Collaborative Metric Learning(二)(WWW2017)
三、协同度量学习 这一部分,我们讨论CML作为一种更自然的方法获得关联关系。CML的思路是这样的:我们在已知正例关系的user-item集合S\mathcal{S}上建立一个隐性反馈模型,并且学习user-item的距离作为他们的关系。学习到的距离使得S\mathcal{S}中的对更加紧密,而S\mathcal{S}之外的user-item对相对的远离。这个处理过程,源于三角不等性。也可以聚类
2017-08-20 17:33:02 1750 1
原创 (论文阅读笔记1)Collaborative Metric Learning(一)(WWW2017)
一、摘要 度量学习算法产生的距离度量捕获数据之间的重要关系。这里,我们将度量学习和协同过滤联系起来,提出了协同度量学习(CML),它可以学习出一个共同的度量空间来编码用户偏好和user-user 和 item-item的相似度。二、背景2.1 Metric Learning 令χ={x1,x2,…,xn}\chi = \{x_1, x_2,\dots, x_n\}是空间Rm\mathb
2017-07-31 22:38:50 2866 3
原创 深入理解simhash原理
一、LSH 介绍 LSH(Locality sensitive hashing)是局部敏感性hashing,它与传统的hash是不同的。传统hash的目的是希望得到O(1)的查找性能,将原始数据映射到相应的桶内。 LSH的基本思想是将空间中原始数据相邻的2个数据点通过映射或者投影变换后,这两个数据点在新的空间中的相邻概率很大,不相邻的点映射到同一个桶的概率小。我们可以看到将一个在超大
2017-07-30 11:04:48 2276
原创 实时重复文章识别——SimHash
一、背景介绍 在前边的文章中,我们采用的是用google的Doc2Vec模型来识别重复文章的,从线上运行的效果来看,它的准确率是比较高的。当然,这是建立在把所有的文章都当做训练数据来训练Doc2Vec模型的基础上的,它推断出一篇文章的向量之后再去做相似计算的效果是不太好的。况且,训练模型的耗时是比较长的,因此,这种模型的适用性只适合于离线计算文章之间的相似,并不适合实时识别重复文章,由于我们现
2017-06-24 11:07:40 2397
原创 Doc2Vec训练相似文章识别模型
一、需求描述 由于在平台上发布的文章是来源于不同渠道和作者的,发布的文章也存在一定程度上的抄袭或者太相似。为了避免对用户体验造成影响,避免不必要的文章费用支出,需要识别出哪些文章是相似的。数据源是若干文章(中文),初步选择方法为利用doc2vec模型,它类似于word2vec,下面就让我们看看是怎么达到我们的目的。二、数据预处理从mysql源表导入到hive由于某些文章的内容是图片,这种
2017-05-14 10:47:44 4424 2
原创 最优化学习笔记(二十)——全局搜索算法
一、引言 前边的博文我们讨论过一些迭代算法,包括梯度方法、牛顿法、共轭梯度法和拟牛顿法,能够从初始点出发,产生一个迭代序列,但是往往这些迭代序列只能收敛到局部极小点,而且这些迭代方法需要计算目标函数的一阶导数(牛顿法还需计算二阶导数)。从本节开始,讨论一些全局搜索算法,这些方法只需要计算目标函数值,而不需要对目标函数求导。二、Nelder-Mead 单纯形法(一) Nelder-Mea
2017-04-15 10:21:14 10989
原创 Spark下的word2vec模型训练
一、引言 前边一节介绍了Word2Vec模型训练同义词,那么在大数据量的情况下,我们自然想到了用spark来进行训练。下面就介绍我们是如何实现spark上的模型训练。二、分词 模型训练的输入是分好词的语料,那么就得实现spark上的分词。def split(jieba_list, iterator): sentences = [] for i in iterator:
2017-03-20 20:24:35 6561
原创 Word2Vec训练同义词模型
一、需求描述 业务需求的目标是识别出目标词汇的同义词和相关词汇,如下为部分目标词汇(主要用于医疗问诊): 尿 痘痘 发冷 呼吸困难 恶心数据源是若干im数据,那么这里我们选择google 的word2vec模型来训练同义词和相关词。二、数据处理 数据处理考虑以下几个方面: 1. 从hive中导出不同数据量的数据 2. 过滤无用的训练样本(例如字数少于
2017-03-05 11:27:45 13411 19
原创 Java陷阱(一)——ArrayList.asList
一、问题代码 话不多说,直接上问题代码:package com.pajk.recsys.dk.test;import java.util.ArrayList;import java.util.Arrays;import java.util.List;import com.pajk.recsys.utils.CommonUtils;public class CommonTest {
2017-02-17 17:26:56 3541
原创 最优化学习笔记(十九)——拟牛顿法(5)BFGS算法
一、BFGS算法的更新公式 为了推导BFGS算法,需要用到对偶或者互补的概念,前边已经讨论过hessian矩阵逆矩阵的近似矩阵需要满足以下条件: Hk+1Δg(i)=Δx(i)0≤i≤k\boldsymbol{H}_{k+1} \Delta\boldsymbol{g}^{(i)} = \Delta\boldsymbol{x}^{(i)} \quad 0 \le i\le k 这是根据Δ
2017-02-12 10:34:08 7913
转载 Optimization inequalities cheatsheet
This article is from http://fa.bianp.net/blog/2017/optimization-inequalities-cheatsheet/, just record it.Most proofs in optimization consist in using inequalities for a particular function class in som
2017-01-17 12:55:03 499
原创 最优化学习笔记(十八)——拟牛顿法(4)DFP算法
秩2算法可以保证在任意第kk步迭代下, 只要一维搜索是精确的,近似矩阵Hk\boldsymbol{H}_k就是正定的。DFP算法令k=0k=0,选择初始点x(0)\boldsymbol{x}^{(0)},任意选择一个堆成正定实矩阵H0\boldsymbol{H}_0。如果g(k)=0\boldsymbol{g}^{(k)} = \boldsymbol{0}, 停止迭代; 否则,令d(k)=−Hk
2017-01-15 11:21:27 6150
原创 最优化学习笔记(十七)——拟牛顿法(3)
秩1修正公式 在秩1修正公式中,修正项为αkz(k)z(k)T,αk∈R,z(k)∈Rn\alpha_k\boldsymbol{z}^{(k)}\boldsymbol{z}^{(k)T}, \alpha_k \in \mathbb{R}, \boldsymbol{z}^{(k)} \in \mathbb{R}^n,是一个对称矩阵,近似矩阵的更新方程为: Hk+1=Hk+αkz(k)z(k)T
2017-01-08 14:43:52 2704
原创 最优化学习笔记(十六)——拟牛顿法(2)
Hessian矩阵逆矩阵的近似一、拟牛顿法的基本思路 令H0,H1,H2,…\boldsymbol{H_0,H_1, H_2}, \dots表示Hessian矩阵逆矩阵F(x(k))−1\boldsymbol{F}(\boldsymbol{x}^{(k)})^{-1}的一系列近似矩阵。我们要讨论的是这些近似矩阵应该满足的条件,这是拟牛顿法的基础。首先,假定目标函数ff的Hessian矩阵F(x
2017-01-01 11:36:45 1501
原创 最优化学习笔记(十五)——拟牛顿法(1)
拟牛顿法分为五部分来讲,本文这部分作为引言,第二部分讲Hessian矩阵逆矩阵的近似,第三部分秩1修正公式,第四部分为DFP算法,最后BFGS算法。 牛顿法是一种具有较高实用性的优化问题的求解方法。牛顿法如果收敛,收敛阶数至少是2。但是,当目标函数为一般性的非线性函数时,牛顿法就不能保证从任意起始点x(0)\boldsymbol{x}^{(0)}收敛到函数的极小点。也就是说,如果初始点x(
2016-12-25 13:04:12 2504
原创 最优化学习笔记(十四)——共轭梯度法
共轭梯度法不需要预先给定Q\boldsymbol{Q}共轭方向,而是随着迭代的进行不断产生Q\boldsymbol{Q}共轭方向。在每次的迭代中,利用上一个搜索方向和目标函数在当前迭代点的梯度向量 之间的线性组合构造一个新的方向,使其与前边已经产生的搜索方向组成Q\boldsymbol{Q}共轭方向。对于一个nn维二次型函数,沿着Q\boldsymbol{Q}共轭方向进行搜索,经过nn次迭代,即可得
2016-12-18 21:32:04 20276
原创 机器学习笔记(二十)——求解最大熵模型
一、问题的引出 最大熵模型的学习过程就是求解最大熵模型的过程。最大熵模型的学习可以形式化为约束最优化问题。 对于给定的训练数据集T={(x1,y1),(x2,y2),…,(xn,yn)}T=\{(x_1,y_1),(x_2,y_2),\dots,(x_n,y_n)\}及特征函数fi(x,y),i=1,2,…,nf_i(x,y), i=1, 2, \dots, n,最大熵模型的学习等价
2016-12-11 18:44:32 1914
原创 机器学习笔记(十九)——最大熵原理和模型定义
一、最大熵原理 最大熵原理是概率模型学习的一个准则。最大熵原理认为,在学习概率模型时,在所有可能的概率分布中,熵最大的模型是最好的模型。通常用约束条件来确定概率模型的集合,所以,最大熵模型也可以表述为在满足约束条件的模型集合中选取熵最大的模型。 假设离散型随机变量XX的概率分布式P(X)P(X),则其熵是: H(P)=−∑xP(x)logP(x)H(P)=-\sum_x P(x)
2016-11-27 18:57:13 11407
原创 最优化学习笔记(十三)——基本共轭方向算法(扩张子空间定理)
由上节我们得出的一个引理: 引理 在共轭方向算法中, 对于所有的k,0≤k≤n−1,0≤i≤kk,0≤k≤n−1,0≤i≤k 都有 : g(k+1)Td(i)=0\boldsymbol{g}^{(k+1)T}\boldsymbol{d}^{(i)}=0 由上可知:g(k+1)\boldsymbol{g}^{(k+1)}正交于由向量d(0),d(1),…,d(k)\boldsymbol{d
2016-11-19 11:37:29 2709 1
原创 最优化学习笔记(十二)——基本共轭方向算法(续)
目标函数为nn维二次型函数时,共轭方向法能够在nn步迭代之后得到极小点。接下来会发现,共轭方向法的中间迭代步骤具有一种很有意义的性质。选定x(0)\boldsymbol{x}^{(0)}作为迭代初始点, d(0)\boldsymbol{d}^{(0)}为初始搜索方向, 有: x(1)=x(0)−(g(0)Td(0)d(0)TQd(0))d(0)\boldsymbol{x}^{(1)} = \bo
2016-11-12 09:26:16 1510 1
原创 机器学习笔记(十八)——HMM的参数估计
一、HMM中的第三个基本问题 参数估计问题:给定一个观察序列O=O1O2…OTO=O_1O_2\dots O_T,如何调节模型μ=(A,B,π)\mu = (A, B, \pi)的参数,使得P(O|μ)P(O|\mu)最大化: argmaxμP(Otraining|μ)arg \max_{\mu} P(O_{training}|\mu) 模型的参数是指构成μ\mu的πi,aij,bj(
2016-10-29 12:03:21 9588
原创 机器学习笔记(十七)——EM算法的推导
一、Jensen 不等式 在EM算法的推导过程中,用到了数学上的Jensen不等式,这里先来介绍一下。 若Ω是有限集合{x1,x2,…,xn}" role="presentation" style="position: relative;">{x1,x2,…,xn}{x1,x2,…,xn}\{x_1,x_2,\ldots,x_n\},而μ是Ω上的正规计数测度,则不等式的一
2016-10-22 12:45:00 3456
原创 机器学习笔记(十六)——EM算法概述
一、引言 按照计划,这周应该学习HMM中的第三个基本问题:参数估计问题,但是其中的内容涉及到了EM算法,所以打算先把EM算法搞定之后再去继续HMM的问题。EM算法的推导过程比较复杂,这节我只给出简述和计算公式,待推导完成后再贴上推导过程。二、一个实例例1 (三硬币模型) 假设有3枚硬币,分别记为A,B,CA,B,C。这些硬币正面出现的概率分别是π,p,q\pi, p,q。进行如下掷硬币试验:先
2016-10-16 12:28:25 1813
原创 机器学习笔记(十五)——HMM序列问题和维特比算法
一、引言 这篇blog主要讲序列问题和其解法——维特比算法。二、HMM中的第二个基本问题序列问题:给定一个观察序列O=O1O2…OTO=O_1O_2\dots O_T和模型u=(A,B,π)u=(\boldsymbol{A,B,\pi}),如何快速有效地选择在一定意义下”最优”的状态序列Q=q1q2…qTQ=q_1q_2\dots q_T,使得该状态序列“最好地解释”观察序列?三、定义最优状态
2016-10-03 11:12:12 2400
原创 机器学习笔记(十四)——HMM估计问题和前向后向算法
一、隐马尔科夫链的第一个基本问题 估计问题:给定一个观察序列O=O1O2…OTO=O_1O_2\dots O_T和模型u=(A,B,π)u = (\boldsymbol{A,B,\pi}),如何快速地计算出给定模型uu情况下,观察序列OO的概率, 即P(O|u)P(O|u)?二、求解观察序列的概率 其实,求解这个问题就是一个解码问题。 对于任意的状态序列Q=q1q2…qTQ=q_
2016-09-25 11:49:00 2817 2
原创 最优化学习笔记(十一)——对偶问题的例子
某线性规划问题为: mincTxst.Ax≤b\min \boldsymbol{c}^T\boldsymbol{x} \\st. \boldsymbol{Ax} \le \boldsymbol{b} 这个例子和上节中的表2非对称形式的对偶关系比较接近,将上式改写为: maxxT(−c)st.xTAT≤bT\max \boldsymbol{x^T(-c)}\\st. \boldsymb
2016-09-16 11:23:14 17106
原创 机器学习笔记(十三)——隐马尔科夫模型
一、隐马尔科夫模型 在马尔科夫模型中,每一个状态代表了一个可以观察的事件,所以,马尔科夫模型有时称为可视马尔科夫模型(visible Markov model,VMM),这在某种程度上限制了模型的适应性。在隐马尔科夫模型(HMM)中,我们不知道模型所经过的状态序列,而只知道状态的概率函数,也就是说观察到的事件是状态的随机函数,此模型是一个双重的随机过程。其中,模型的状态转换过程是隐蔽的,可观察
2016-09-15 12:07:13 1654
原创 最优化学习笔记(十)——对偶线性规划
一、对偶问题 每个线性规划问题都有一个与之对应的对偶问题。对偶问题是以原问题的约束条件和目标函数为基础构造而来的。对偶问题也是一个线性规划问题,因此可以采用单纯形法(有关单纯形法会在以后的笔记中补充)求解。对偶问题的最优解也可以通过原问题的最优解得到,反之亦然。而且,在某些情况下,利用对偶理论求解线性规划问题更为简单,而且有助于深入了解待求问题的本质。二、对偶问题的定义与表述 考虑如下形
2016-09-03 16:45:23 23161 3
原创 机器学习笔记(十二)——马尔科夫模型
马尔科夫模型是一种概率图模型,它描述了一类重要的随机过程(随机过程又称为随机函数,是随时间而随机变化的过程)。我们常常需要考察一个随机变量序列,这些随机变量序列并不是相互独立的,每个随机变量的值都依赖于这个序列前边的状态。 如果一个系统有NN个有限状态S={s1,s2,…,sN}S=\{s_1,s_2,\dots,s_N\},那么随着时间的推移,该系统将从一个状态转换到另一个状态。Q=(q1,
2016-09-03 11:47:29 2987
原创 最优化学习笔记(九)——基本的共轭方向算法
一、基本共轭方向算法 对于nn维二次型函数的最小化问题: f(x)=12xTQx−xTbf(x)=\frac{1}{2}\boldsymbol{x^TQx-x^Tb} 其中,Q=QT>0,x∈Rn\boldsymbol{Q}=\boldsymbol{Q^T}>0, \boldsymbol{x} \in \mathbb{R^n}。因为Q>0\boldsymbol{Q}>0,所以函数ff
2016-08-28 11:21:35 4771 1
原创 最优化学习笔记(八)——共轭方向法
从这节开始,将学习共轭方向法的相关内容,本篇先做一个简短的开篇。共轭方向法的计算效率不如之前的牛顿法,但是也优于最速下降法。它有以下优势: 对于nn维二次型问题,能够在nn步之内得到结果; 作为共轭方向的典型代表,共轭梯度法不需要计算hessian矩阵; 不需要存储n×nn \times n矩阵,也不需要对其进行求逆运算。 如果Rn\mathbb{R}^n中的两个方
2016-08-07 11:49:39 9458
原创 最优化学习笔记(七)——Levenberg-Marquardt修正(牛顿法修正)
上节末尾谈到牛顿法中隐含的另外一个问题在于hessian矩阵可能不是正定的。因此,d(k)=−F(x(k))−1g(x(k)) \boldsymbol{d}^{(k)} = -\boldsymbol{F}(\boldsymbol{x}^{(k)})^{-1}\boldsymbol{g(x^{(k)})} 可能不会是下降方向。Levenberg-Marquardt修正可以解决这个问题,保证每
2016-07-31 23:31:34 6099
原创 最优化学习笔记(六)——牛顿法性质分析
一、牛顿法存在的问题 在单变量的情况下,如果函数的二阶导数f′′<0f''<0,牛顿法就无法收敛到极小点。类似的,在多变量的情况下,目标函数的hessian矩阵F(x(k))\boldsymbol{F}(\boldsymbol{x}^{(k)})非正定,牛顿法的搜索方向并不一定是目标函数值的下降方向。甚至在某些情况下F(x(k))>0\boldsymbol{F}(\boldsymbol{x}^
2016-07-24 11:38:53 2588
原创 最优化学习笔记(六)——牛顿法性质分析
一、牛顿法存在的问题 在单变量的情况下,如果函数的二阶导数f′′<0f''<0,牛顿法就无法收敛到极小点。类似的,在多变量的情况下,目标函数的hessian矩阵F(x(k))\boldsymbol{F}(\boldsymbol{x}^{(k)})非正定,牛顿法的搜索方向并不一定是目标函数值的下降方向。甚至在某些情况下F(x(k))>0\boldsymbol{F}(\boldsymbol{x}^
2016-07-24 11:38:35 1353
ActionScript.chm
2011-10-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人