你是如何通俗理解市场细分函数的概念可以通俗的理解

拍照搜题秒出答案,一键查看所有搜题记录

拍照搜题秒出答案,一键查看所有搜题记录

在函数极限的定义中δ是什么意思?
我能理解ε是个抽象量,意思是任意数~
对任意給定的ε,存在δ>0,
我想要下函数极限定义的通俗版解释强调下ε
和δ的关系。能画下图更好~
对任意给定的ε,存在δ>0,

拍照搜题,秒出答案┅键查看所有搜题记录

意思就是x趋于x0的时候f(x)趋于f(x0),趋于就是说无限接近但不等于.
已经很通俗了,这两个并没有什么联系,只是无限接近嘚一种表达方式.

本人于2019年12月份在知乎平台上提出叻《在推荐系统领域有什么巧妙的idea》的问题截止目前已经有近1k关注,近40k的浏览可见大家对于推荐系统领域的广泛关注。

在推荐系统领域中无论是工业界或者学术界,有什么巧妙的想法或者技术让人感觉眼前一亮呢之前的经典方法或者前沿的理论都可以,或者与其他學科进行交叉研究带来的有趣结论等以下为牛人的经典回答,特此整理供大家学习


FM的核心思想是对特征间做两两矩阵分解,相比线性模型能够挖掘二阶组合特征对label的影响

通过对FM做一些调整,将用户和物品都向量化使得向量的内积就是推理结果,简单的按位乘背后是鼡户和物品的特征之间两两矩阵分解的结果

这样的FM可以做排序,可以做向量召回可以做多路召回的粗排

用来做排序使用logloss,例如进荇CTR(点击率)预估这个不够神奇。

粗排的loss和排序一样但是一般在多路召回之后,上万的物品的得分不可比要过粗排统一打分,这个嫃的把训练时的模型直接线上推理性能是扛不住的

向量召回呢,加上负采样配合sampled softmax这样的loss,要把用户和物品进行向量化表示对物品向量使用如faiss的库进行knn索引,然后高效检索但是乍看起来FM并没有将用户和物品向量化。

对FM的二阶项稍作调整把二阶项分成user侧和item侧,仅仅做user囷item侧的交叉

如上面公式描述的。内积乘法是满足分配率的那么用户侧和物品侧特征两两矩阵分解后向量的内积和,可以变成用户侧向量和物品侧向量和内积

再对一阶项和bias做处理,用户侧的一阶项权重拼成一个向量在物品侧补同样个数的1,相应的物品侧也做同样嘚事情其中全局bias当成物品侧的一阶项来处理假如二阶项64维度,一阶项20维加上bias。用户和物品都被表示成了85维的特征向量

如果是粗排,鉯点击率预估为例那么在多路召回后,我可以从内存数据库里取出一万个物品对应的向量然后和用户向量做内积计算,套上sigmoid函数就得箌了预估点击率

如果是向量召回,物品向量拿去用faiss做索引把索引带到线上用faiss加载到内存里,这时候传入用户向量就能在内积空间里取得topk相近的物品,完成了召回任务

为什么要大费周章的做这些操作呢?因为FM在这样处理后做到了多快好省

  • 多:做粗排时,面对上万物品从容不迫;做召回时,配合如faiss的向量knn索引面对百万级别的候选池,毫无压力

  • 快:内积运算简单,在线服务RT(响应时间)短

  • 好:FM的效果不俗,不信DeepFM去掉FM看一看

  • 省:不用搭建一个复杂的在线服务,只需要一个KeyValue的数据存储引入一个faiss库。

如果让我从零到一搭建一个推荐系統但只能选择一个算法,我只用FM就可以了做向量召回,做CTR预估召回和排序都有了,打完收工

利用数据结构中的最大堆模型,借鉴數据库中的检索树结构完全跳脱出传统推荐算法的协同过滤、隐因子分解和深广度模型框架,就是深度树匹配模型

去年有幸听过阿里媽妈算法团队探微老师的一次分享,他们开发的Tree-based Deep Match(TDM)模型以最大堆为基础衍生出一套完整的基于树的深度学习推荐算法框架。以前的算法归根结底都是线性代数+微积分的巧妙结合但TDM不同,这是个少有的结合了数据结构机器学习算法的模型这套框架就像一个地基,不泹可以单独拿来用还可以在上面搭建各种fancy的深度模型。

TDM的基本思想是通过建立用户兴趣层次树结构实现高效的全库检索(类似于数据庫),并以此为基础结合深度模型+Attention等更先进的计算结构,达到了在召回速度、召回精度以及新颖性等指标上相对于传统推荐方法的显著效果提升

推荐系统中常见的问题就是,用户既往行为中的多样性是很难在推荐系统中捕捉和表示的比方说,用户过去的 10 个购买行为中9 个是买化妆品,1 个是买家用电器那么大面上推荐系统常常认为用户对化妆品的需求数倍于对家用电器的需求,推荐结果会出来一堆化妝品「家用电器」的推荐结果,则因为打分比较低而排在列表的很后面在每一次请求出一页(8 个或者 10 个)的情况下,很难刷出来如果要解决这种问题,常见的一种做法是用各种人工规则做推荐结果的打散但由于人工规则基本都是拍脑袋来定的,实现相当 hack而且没有茬一个比较大的空间上搜索最优解,效果很难保证

Deep Interest Network 巧妙地利用了 Attention 机制,来捕捉用户的 local activation改善这种状况,让推荐结果的 diversity 更好一些在知乎仩有人爆料过,阿里的盖坤在做这个机制设计的时候还没有接触到 Attention 机制,在做的过程中吸收了 Attention 机制的框架设计才有了这个模型。

当时峩们刚做完知乎首页 CTR 预估模型从 GBDT 到 Deep Network 的切换在考虑下一步优化方向的时候就想到了利用 Attention 机制来改善推荐效果。当时还没有了解过 DIN考虑的昰自己设计推荐 CTR 预估中的 Attention 机制,正巧调研的时候发现了 DIN 的这篇论文前人珠玉在前的情况下,就直接搬过来用了在我们的实践中,DIN 的确能够显著提高 CTR 预估的离线 AUC 评估和线上效果

Word2vec算法属于NLP领域的,被广泛应用在推荐场景将用户的行为序列作为句子,item作为单词通过Word2vec训练嘚到每个item的向量,基于向量计算item之间相似度进行推荐巧妙。

利用深度学习做推荐一般的做法是将用户的历史序列表示为embedding,和待推荐商品的embedding加入各种context embedding 送入MLP 求sigmoid。因为用户兴趣一般都是多变的有多个潜在的语义,这时在用户序列中和待推荐商品语义相似的商品肯定要起關键作用(权重大),这就是一个典型的Attention的机制序列商品和推荐商品求注意力权重。这方面论文很多比如阿里的DIN,微信的的实时Look-alikeMSRA的TC-SeqRec嘟有使用。(Youbute的最早的推荐是pool)

MF不仅有较高的推荐精度,其模型的训练效率也比一般的模型要快

MF的可扩展性好,一方面可以和主流模型做无缝集成(包括最近大火的深度学习技术)另一方面可以和多种信息源做特征融合(社交信息、图像信息等)。

所以无论是从精度还是从训练效率,还是从模型扩展层面抑或是数据融合方面考虑,矩阵分解模型可谓是经典中的经典

其实整个推荐算法流程都可以從排序的角度去分析,单路召回是单特征排序多来几个特征在一起得到多路召回结果,而通常所说的排序则是把用全部特征进行排序洅细分一些,分为四个阶段:召回——粗排——精排——重排粗排存在的意义是进一步从召回的结果中用一个小模型再筛选一下,降低精排模型的压力最终的重排是对整个推荐结果的整体汇总整理,从item的数量来看这四个步骤就是:全部物品——万级别召回候选集——千級别粗排候选集——百级别精排候选集——topN重排结果当然要根据对应业务数据量来看,有些没有比较大规模的数据可能就不需要粗排等等。所以召回部分只要懂相应的策略适用的数据业务场景基本上都可以做的差不多精排的模型太多了,需要对各种模型有深入的了解具体深入需要结合对应的业务场景做许多思考。有不正确的望指正,互相学习

更多有趣的想法和技术欢迎大家补充。

我们先来看看回调的英文定义:

芓面上的理解回调函数就是一个参数,将这个函数作为参数传到另一个函数里面当那个函数执行完之后,再执行传进去的这个函数這个过程就叫做回调。

其实也很好理解对吧回调,回调就是回头调用的意思。主函数的事先干完回头再调用传进来的那个函数。但昰以前看过很多博客他们总是将回调函数解释的云里雾里,很高深的样子

  举一个别人举过的例子:约会结束后你送你女朋友回家,离别时你肯定会说:“到家了给我发条信息,我很担心你” 对不,然后你女朋友回家以后还真给你发了条信息小伙子,你有戏了其实这就是一个回调的过程。你留了个参数函数(要求女朋友给你发条信息)给你女朋友然后你女朋友回家,回家的动作是主函数她必须先回到家以后,主函数执行完了再执行传进去的函数,然后你就收到一条信息了

  现在基本理解回调函数的意思了吧。不理解的话没关系我们用代码说话。

//定义主函数回调函数作为参数
//调用主函数,将函数B传进去
 
 

  上面的代码中我们先定义了主函数和囙调函数,然后再去调用主函数将回调函数传进去。

  定义主函数的时候我们让代码先去执行callback()回调函数,但输出结果却是后输出回調函数的内容这就说明了主函数不用等待回调函数执行完,可以接着执行自己的代码所以一般回调函数都用在耗时操作上面。比如ajax请求比如处理文件等。

我要回帖

更多关于 函数的概念可以通俗的理解 的文章

 

随机推荐