七月在线公开课笔记-二十-
七月在线公开课笔记(二十)
人工智能—推荐系统公开课(七月在线出品) - P10:【公开课】CTR预估模型演变 - 七月在线-julyedu - BV1Ry4y127CV
🎼。
好的啊,今天呢我们这个主题呢嗯是以CTR预估的模型演变为主。那主要带大家去介绍一下,就是说关于CTR预估,对吧?它的模型的一个发展,从最开始的LR这种的线性模型到现在对吧?
像结合bttranser中比较复杂的模型。那这节课呢都会基本上都会涉及到的对啊。
。主要分三个部分啊,第一阶段是它的发展初期啊,也就是大概就在17年时候,其实啊那时候那更多的是人工特征,然后加上LR的线性模型。呃,初期的时候进忙的时候其来说深度学习发展的还是比较缓慢的啊。
第二阶段呢是加速发展期。你考虑到像一些人工特征的话,那本身来说。整体我们需要做的事情对吧?还是非常多的,需要我们构造大量的一些特征。但是有时候我们可能考虑不到啊,那这时候呢我们看能否去借助模型,对吧?
比如说像自动自动交叉呢,像常见的那种数模型,像叉GbolikeGBMkbo啊,这种话它就是说在进行数分类的时候,对吧?那每一次分类呢,它其实就会选择一个比如说信息增益啊,最高的一个。
一个一个节点进行分裂。那下一次在分裂的时候呢,就相当于一个特征交叉的一过程了。对。那,还有一种话是FM那种模型,那它可以有效来去捕获那种二阶的交叉特征。因为像原本的线性LR模型,对吧?
它其实来说不能够去学习到特征的一个交叉的属性的。造化阶段的话就是深度学习模型,它的一个发展阶段了啊,就像最开始比如说DN那是比较传统的对吧?也是用的也比较多的啊。
那DN再去结合LR就是w and deep呃,那DN再去结合FM啊。呃,还有的话就是说我们将DN的吧再去结合呃attention那FM也可以去结合attention啊,就这种各式各样的一些组合。
那它都是在深度发展期的时候,对吧?慢慢的演变出来的。其实我们去学习到或者说去掌握一些固定的或者经典的一些结构,你会发现其实很多的一些呃比表现的一些路呢。
它其实都是在基础上去进行组合或者变换出来的一些模型啊,其实都大同小异,只是说它变容。原本的话比如说像那种deepFM对吧?和NFM那dPFM的话,它可能是一种那种并性的结构,对吧?
一部分是FM一部分是地部层啊,那像NFM的话,那它可能就是说前面部分是先进行FFM然后再去结合DN啊。
Okay。嗯,那在讲模型之前呢,其实还要大家去。其实我们可以看到模型它的一个本质还是为了想去获得在原始数据里面,对吧?获得更多的一个信息学习到掌握更多的一信息啊,如果只是1个LR的话。
它其实是学不到那种二阶的一个信息的。所以说二阶信息的话,其实我们可以把它看作为一个特征。如果说我们进行了二阶交叉特征之后呢,再加上未入模型当中,那已经将这种信息已经可以辅助模型学习到了。
那如果说我们可以把它转换成一种比如说像这种FM这种结构。那其实它也是去去做这种特征的一个交叉的对,就以在原本的数据基础上,对吧?那我们能够去。获得越多越多的一些信息,或者说不管是它是一个显性的。
或者说是一个隐性的,都是对于我们最后结果提升非常关键的一个点的啊。
그。Okay。那我们还要去考虑,就是说应用场景啊,其实来说不同场景对吧?其实我们可能考虑的一些模型或者说我们想要的一些结构啊,也是不一样的,包括用户的一些行为啊,比如说我们在大规模那种稀疏的一个场景下。
那我们选用什么一样的模型,那另外如果说缺失值信息非常多的而且数据量非常小的一个情况下,那我们又该选用什么样的个模型,其实会以看到很多像那种比如说金融风控对吧?这种领域下,呃又或者说像那种推荐领域下。
那他们其实来说所适用的模型也是不一样的可能像那种金融风控这种领域,对吧?它其实模型来说的话,那可能不会考虑是特别复杂。更多是考虑是可解释性啊,然后再去结合一些呃策略规则,那像推荐领域,对吧?
那我们想要的是进。种精准的一些信息的挖掘,提取出用户的一些兴趣。所以说这个领域的话,我们考虑更多是那种深层次的一些交叉啊,或者说结合一些,比如说我们将序列位到模型里面。
让模型能够学习到用户的一个他的个序列表示,或者他的一个兴趣。对,这就是比如说像LSTM种,或者说是attention,或者说是transformer这样的一些结构。那这个就是说结合不同领域啊。
那我们考虑不一样的一些模型结构。呃,什么意思啊?发个问号是听不到吗?嗯,622541。谁应该可以闹吧。包括画面啊,有问题的话,大家可以就是。都可以发出来的啊,咱们可以讨论。Okay。
有问题我可以发出来啊,我们可以讨论的啊。给我们继续啊。Okay。CTR呢它是常用在呃推荐领域,或者说是其推荐里面,它也会分就搜索推荐、广告推荐、视频推荐,然后还有那些短视频啊,短视频,还有信息流推荐。
啊,还有一些音乐推荐啊,其中其实它所用的场景非常多的,但。都会有两个点的。其实是第一个话是召回这块啊,只是说可能不同场景对吧?我们的召回可能复杂的复杂性复杂度可能不一样啊。
比如像那种比如说像那种呃电影的对吧?或者说那种小说这种推荐,对吧?它其实本身来说的话,它的物料对吧?可能说你说电影对吧?其实也没有多少也没有多少部,对吧?你卡了一些条件之后。
那其实剩下的一些电影或者说候选集就没有多少了。可能这时候我们召回可能不会用特别复杂的一些算法。啊,那如果说对于那种电商场景,对吧?那这里面的它物料非常多了,可能就是千万百万这样的一些商品。
那如果说直接拿这些当成候选集的话,那其实我们训练模型。我们去训练的话,肯定是整个时间那花费要非常大。对啊,所以这时候我们才会去结合比较精细点的一个召回方式啊,去将我们的一个候选集进行的一个压缩。
那原本的话,它可能就是说对应的是几百万对吧?或者几万个,那我们压缩成上千个或压缩成几百个。对,然后这时候呢我们再去将这些。教回到结果端作为我们这个候选级。那。这候选级什么意思?就是说一个用户对吧?
他去产生一次请求,就比如说他刚一次,然开始去登录到淘宝或登到京东,对吧?那这就是一次请求。这个请求的时候,那我们就会从召回过来,对吧?从召回册来会去得到一些候选集,就是说可能会有有一有对应100个商品。
那然后这时候再去经过我们的排序模型,再对这10个商品,我们做一个预测,有它的一个点击的概率啊,来去进行排序,这样子有可能的top多少个段,然后展示给用户啊。所以说这就是个从后选集到最后展示的一个过程了。
那在排序阶段的话,其实我们要做的可能比嗯召回的话,其实模型这块其实来说的话,我觉得因为召回我们可能可能要需要去进行那种多路召回啊,可能十几二十个召回都是有的啊,像那种大厂对吧。
他们都是我觉得至少都有10个召回的呃链路的对啊,可能是十几路的召回。那排序的话,那就只有一个模型了。对,不断的去优化啊。但排级的话,我们还要去勾造各种的一些特征组合,去挖掘不一样的。
或者来自于不管是你的上游下游,或者说它的搜索信息,或者说用户测或item测这样的一些特征啊。都是为了让我们预测的结果更加准确一些。然后最后再去输出,我们最后要需要去展示的。当然这只是大体介绍。
其实来说我们排序完之后呢,还会有一个rera的一个过程啊,因为我们如果说我们在进行给他推进时候,对吧?如果说我们top10的吧,全都是一种品类下的一个商品的话,那其实很影响用户的一个体验的。
所以这个时候我们在rera的时候可能会进行一个打散啊,然后再去考虑它的一个多样性的一个情况。那下面呢就是我们今天的一个核心内容了,CTR预估模型的一个演变发展啊。在初期的时候对吧?那那个时候呢。
主要就是以人工特征加LR这种模型为主了。对啊,那个时候其实模型是非常简单的对啊,我们不需要说它其简单的一个线性的一个就可以了,线性模型啊,LR对。啊,所以它是相对于数模型,相对于N恩来说,对吧?
它的复杂度是非常低的啊。所以这时候他本身模型学习能力就没有那么强。所以这时候我们要把各种可能性,对吧?去构造成一些特征。对啊,所以说我们在输入的特征量级呢,可能就是有成百上千或上万个这样的一些特征啊。
就各种交叉。因为模型本身不能交叉。所以说我们要人工的各种各样的一个交叉。不管是一阶呀或者二阶呀,其实就是说我们可能一列对吧?这一列是对应user测的。他的各种各样特征,对吧?可能他的年龄、年龄、性别。
对吧?找特征另外一次的话是对应iteom测特征。item它是泛指,比如说商品呀啊泛指于视频呀,看我们是推荐什么了。对,然后进行这样的迪卡耳机啊。然后这样两两之间进行交叉。交叉完之后呢。
我们再去构造一些统计特征。比如说我们将年龄对吧?和对应ite,然后进行一个组合,然后统计这个年龄段对于这个ite,对吧?它的整体的点击次数或者它的一个CTR的一个值啊,就是鲜应的一个CTR的值啊。
或者说它的一个呃曝光次数点击次数,这样都可以去统计的啊,比较多另外一个问题呢,其实我们还要对这些特征做一个处理啊。对,比如说像那种连续性的特征,对吧?那我们肯定要去进行归一化。
你可以把它归一划成这种0到一之间这样的一个值,另外你也可以进行分头,把它变换成一个离散性的一个特征类别性特征。对啊。因为像LR的话,我们最后全部都要把它进行,要不然就进行规一化。
要不然就把它全部类别特征全部转为one后的这种形式的。哦,比如说像在。呃,电商这种场景对吧?一个item对吧?它整个我们的物料对吧,可能item有千万量级的对,所以说你展现的出来维维度也是非常高的。啊。
也就是千万尾这样的一个量级的啊。那用户也是一样的。很容易就到上亿或者说1亿这样的一些这样的一个维度啊。另外的话就是一个交叉特征了,一种是交叉,一种是组合。组合的话,比如说就是A andB这样的一个组合。
Oh。另外一种的话就是A andB,然后再去结合一个统计特征,对吧啊。看你去统计什么了,这样。Yeah。然后最后处理完之后呢,再去经过LR。对,然后最后sigmed得到最后的一个分数啊。
这是初期的时候啊,那其实更多的话需要我们来去做很多特征。那个时候其实你看。嗯,如果说你是在比较早的时候入职做推荐的时候,那时候更多的是我们去挖特征,去考虑一些策略啊,来去做些事情的。
。那下个阶段呢就是一个加速发展期了。对自动交叉哈特征,然后再结合线性模型的一个阶段啊,比如说经典的像GPT加LR,这是facebook对吧?他们推出来的GPT的它就是来去获取。那些类别特征。
其实就是说啊可能我们输的话里面对吧?有连续特征,有类别特征,那最后把它它就转换成成零一这样的一个值了啊,然后再去结合LR。那像FM的话啊,它本身来说就是来去获取二阶的一个特征交叉。对。Okay。
FFM的话,它是在FM基础上做了一个升级的啊,像FM的话,它本身有一个。玉。这样一个概念。对啊,就说我们将特征对吧?分成,比如说我们有年龄性别,对吧?它可能是一个域的啊。
然后另外一个域可能是对应的iteom测的一些,对吧?然后呢,它会对于这种域域之间,对吧?然后进行这样的一个特征交叉,就变成了一个二阶的了。对啊。那FM特点就是说。他不管是怎么来交他对吧。
不管是跟哪个域的来交叉,它本身会有1个VI的这个VI就它的一个呃权重。对啊。不管对哪个,它权重都是一样的对,所以这样的话全都是一视同仁的这样一种交叉。但是在实际当中,我们不管是呃一个用户也好。
或者说一个特征也好,对吧?它跟不同特征交叉应该是重要性是不一样的,或者说那种前前面啊,或者说权重应该是有所差异的啊。所以这时候才会去引入了就是说FM这种FFM这种这种这种形式。对。嗯。
比如说我们有K给于对吧?原本来说的话,那我们它的复杂度又会成一个K了。对,因为原本这个权重对吧?权重这个系数,那它的话是。唯一的是固定的对,那这个时候呢,它会变成一个K个K个啊。
就是说它对于不同的域的一个结合,对吧?它权重也是不一样的,就变成了VIJ这种这种形式了。对啊。Yes。这样的话他就是说我们再去进行结合时候,对吧?它本身权重会发生。呃,会发生一些变化,对。
会有一些差异啊。这就考虑到一些不同特征的一个组合,对吧?它的一个影响差异啊,是存在不一样的。其实就跟那个权重是一样的啊,我们遇到不一样的一些交叉的时候,那我们应该适应性的去对我们的特征,对吧?
或者说我们权重会发生一些改变啊。Okay。这种话其实也是结合比较多的。像。D配FM这种形式的,或者说AFM这种形式啊。嗯。那我们看这个图吧,输入特征对吧?然后再去呃,可能前期的话就是说到LR这种。
但是的话我们再去结合这种二阶这种形式。像FM的话,它其实就是一阶和二阶的一个组合的。我们后面可以看它对应的一个结构啊,下面就是高阶了GBT融化。它其实就是这种高阶,你可以怎么去理解呢?
比如说它的分裂的一个或者它的一个深度数的一个深度啊。也代表它的一个接数啊,越深的话,其实你这种交叉的一个次数会变得越来越多啊。第一次你可能选择性别某个性别,我们做一个分裂。那第二次你到了一个年龄。
第三次的话,你可能到对应的一个品牌啊,这些就是说年龄、性别、品牌这样的一个交叉。下面的话就是具体来讲FM和FFM。那第一个公式的话,它就是对应的是FM。前这个部分其实很好理解。前面部分的话。
第一个部分就是LR了。あ。第二部分。就是FM新加的啊,就是一个二阶交叉了。可以看到量特征之间对吧?它进行交叉的时候,嗯,前面的话就对应它两个特征的一个权重了。对啊。这时候你发现就是说I的话。
它是固定不变的对你看它是跟着它前面XI来去走的,所以说没有差异性。但是你看FFM。他这块变得更加细致一些了啊。就是说那除了就是说前面I跟着XI走的话,同时呢它对于不同域,对吧?那它还有对应的一个嗯。
不一样的一个权重啊。就先找到对应呃,比如说我们XI对吧?那可能我们有很多的一个权重啊。那比如对域的话,F2的域的话,它有对应的1个VIF2。那这是VIFEVI呃FN对,是这样的一个形式。呃。
其实并不是说我们再去加入FII用FM这种模型之后,我们就可以不去构建特征了。你可以这样去考虑,就是说你看原本的话,我们输入特征全都是一阶,对吧?它可以自动来进行二阶特征交叉的一个学习。
如果说我们输入的是二阶的话。那我们再去输入到我们FM里面的话,那会变成三阶啊。更甚至是变成四阶这样的一个组合啊。所以有时候我们也是很有必要的来去构建一些特征的啊,让他学习的力度深度更加深一些。呃。
刚才说的FM的缺点就是说它对于不同的玉,对吧?它的特征权重都是一样的,就这种一视同仁的对,就是VI不发生变化啊。呃,FM的话,它的复杂度。也是比较比较低的对它复杂度。
你看它是这种NNNN次的这样的一个交叉,就是N方N乘以N的这样的一个时间复杂度。Okay。但是FFM的话,它的一个复杂度,那又是不一样了。对,因为我们又考虑到的对应的个域的一个权重。对。
所以说它的复杂度。前面要乘一个K的对于我们有K的域嘛,然后再去。播放。所以说FM本身它的一个效率上面。呃,或者说我们可以理理害它的参数量啊,又会变得非常大了。对啊,但是FM的话。
它可能就是说虽然说它没有考虑到对应不同域,对吧?我们应该是B样的权重,但是呢它的效率是非常快的啊。这是他们两者最明显的一个差异。对,或者说是优缺点。但是在实际场景下,对吧?啊。
我们更多的是去考虑用FM来去使用的。其实像很多大厂对吧?那他们都会去用depFM。啊,当然其实我们也会看到,就是说有deep FM对吧?dep FFM。对,但这个复杂度是非常高的啊。嗯。
这个是FM和FFM啊。下面呢就是GBT加LR的一个。呃,这种形式啊这种形式的话,那GPTT它的哪个部分结果,对吧?是输入到LR里面的。我们知道其实来说GPT的话,它是一个树不断再去生长,对吧?
我们会构建N个树。那第一棵树我们学习完之后呢,第二棵树来取你和上一棵树的一个残差。对啊,像我们这个例子,对吧?它就是构建了两棵树啊,构建了两棵树。那第一棵树的话,它最后叶子节点是有三个叶子节点的。
第二个树叶节点是有两个叶的节点。那你不管是哪个样本,对吧?你比如说经过第一棵树的时候,它肯定会落到某一个叶的节点上面。如果它落在第一棵叶的节点上面,它有一。后面全是零。那对于第二棵树。啊。
看这个样本落在哪棵树上,哪棵叶界点上,第一个零,第二个是一。那这样的话,我们就得到了一个这种离散型,这种读热编码弯后这种形式的一个特征。它最后特征就是10001。将这部分对吧?
我们直接去输入到我们的RR模型里面就可以了。对他是这样来去进行组合的。因为本身LR的话,它是不能获取。或者说能够去提取这样的一些特征组合交叉的这样的一个信息的。这时候我们借助GBT对吧?
它有这样的一个能力,那我们可以去将这个能力,对吧?来去得到一个特征再去赋予给LR。嗯。那这就是GBT加和加RR它的一个特点了。对。嗯,这个的话是在15年还是在14年的时候。
facebook然后提出来的对,但其实我在之前参加一些比赛的时候,对吧?嗯,也尝试用用也尝试用这种形式啊。当时我是怎么用呢?我是其实没有用加R,我是GPT对吧?加上DN这样来去结合的对。
但其实效果并没有那么明显,对或者提升并没有那么多啊,所以说一直也在考虑这个东西,它是不是有非常好的一个效果。其实我们如果说了解到一些公司他们去做的一些算法,对吧?基本上没有用这种形式,你要不然就用R。
对吧?你要不然就用GBT啊,但这种形式是非常非常少的啊。下面呢就是一个重头戏了,就是深度学习这些模型了。对。我觉得是一个百花齐放的一个阶段啊。其实来说也很好理解这个部分,对吧?它其实就分成几个方向了啊。
不同方向啊,有的话我们考虑的是从这种特征交叉的一个方向来去考虑啊。另外的话是考虑就是说从。嗯,用户的一些兴趣,或者说一些呃一些表达这块来去考虑。比如说像那种DIN对吧?这种形式啊。啊。
又或者说像那种DIE,或者说BST啊这种模型啊。这种更多的话是去结合一些。那种L。呃,attention或者结合那种GRU啊这样的一些结构来去补来去。捕获用户的一些兴趣啊。这个阶段的话。
它其实就是说我们将第一个话是离散特征,对吧?处理像inbeddding空间的一个发展。对它都会去经过一个look up embedding层。对,将我们那种从稀疏型特征,对吧?
全部转换成一个embedding啊。就用这种稠密的一些向量,对吧?来去表达我们原本的这样的离散特征。可能我们原本的维度是非常高的对。百维啊、千维或者说上亿维这样当对。
但是我们经过这种inbedding之后呢,我们其实是进行一个压缩过程。用一个向量来去表达它原本特征的一个含义。同时呢他也会去经过不断的去迭代学习。对啊来去调整这个inbodyiding。
第二个是在各阶段对吧,通过降维来去减少参数空间的一个量级啊。哦,其实像我们公司对吧?现在我们的模型对吧?可能可能就是百亿参数啊,百亿几百亿两个参数的。去想想光user和对应的ite对吧?
它本身参数量就非常大了,已经啊可能就已经几十亿了。再去结合你其他的一些呃,你几层MIP下来啊,再去结合。呃,对应的传梭嘛,那参数量其实是非常大的对啊。挖掘上下文与目标的关系,比如设计什么序列特征。
对吧啊。这种shift特征的话,其实就是说我们将前后的一些关系,对吧?来去。引到我们模型里面了。对。你想想原本的那种数模型,对吧?它会考虑到这种上下文的关系吗?这种因素。除非你去构造一些特征啊。
你可以把这个信息引入到模型里面。对你如果不去构造的话,你是很难去获取到这样这些序列的一些信息的。比如说像20我看看呃,2020年腾讯广告扫码大赛。啊。这个比赛呢它是给到了用户对吧?
点击广告的一个序列或点击广告的日志,对吧?来去预测用户的年龄和性别的。那大多数选手对吧?刚开始可能去用那种letGBM或者GBT这种模型。啊,还有的话可能会去用LSDM中序列模型。
序练模型直接能够比GPT多上个1到2个点。Oh。提升是非常大的。那非常关键的原因就是说LILSTM的话,它能够去学习到那这个序列的一个向量的一个表示。对。
因为就是说我们要去从这个序列里面来去了解到用户的一个特性。比如说她是一个女性的话,那她的序列应该是什么样子的对啊,但是呢这个T他就缺少这种特性了,他就很难去铺获这样的信息了。除非你去对它去列对吧?
里面不是有对应的一个item,对吧?或者说广告ID对吧?你再去经过ctor或者说deepwork来去得到每个对应的向量,然后这时候我们再去进行一个聚合,对吧?这种类似于mepopo这样的一个操作啊。
这其实也是能够获得到获得用户序列的一个表达的对。但这种表达话其实来说,有时候他是比较粗糙的啊。一个说你是很难去捕获他的一个趋势性的。对。你说你里面去进行mepo令吧,他每个权重你怎么来去调节啊?
所以这时候的话有时候还会去考虑去结合attention,或者结合就是transformal都是比GBT的效果好很多的对。所以说目前而言,对吧?我们再去做推荐。相关的场景的时候。
那他可能会涉及到这些序列这样一个问题。所以说我们去用到那些。能够去捕获序列这样一个信息的结构啊是非常有效的,而且提升非常大的对。再也不是说像两三年前对吧,才还在去用DPF那样模型。
那这时候我们肯定会将transformer结构加入到我们DPFM里面。我们可以把DPFM作为我们的一个框架,作为我们这个base模型。对我们可以再去引入transformer这样一的模块。
和它进行一个组合。
嗯,像我们的话,现在更多的是跟业界去对齐。对啊,比如说我们可能刚开始的时候,我们只用DCN这样一个模型是非常简单的啊。可论我们之前对吧?用的是DCN模型。那低森特点就是说它能够我们后面有低森啊。
低三特点化,它能够捕获到对吧?特征的一个交叉。这种交叉和FM交叉是不一样的对它的结构它能捕获到一些高阶的一个交叉。你可以去设置它的一个接数,三阶也好,四阶也好啊。那DCN呢也许来说。
我们这个基本被散出来了。这时候我们可以考虑到,就是说我们业务来去考虑我们的业务可能就是说会有多个目标。那多个目标的话,你就考虑有多任务建模了。那这时候我们会去考虑去用MMOE。大家可以去查一下MMOE。
或者说PLE。这样个模型。对。这种模型的话,大家也可以有兴趣再去了解一下,像这种MMOE或者PLE这种模型,对吧?它的一个这种多任务模型它有什么样的一个特点啊?那我们可以我该给大家讲一下。
其实这种多任务共享,对吧?它其实分成两种,一种是硬共享,一种是软共享啊。Yeah。分成两种形式啊,再往下呢,我们考虑到有我们没有去考虑到用户长期兴趣或他的一个行为序列。那大家也许有听过。
就是说长期用户兴趣建模。对啊,那这时候呢我们会去引入transformer模块。그。那这个里面的话transformer里面的话,我们会考虑什么呢?比如用户点击序列。他点击序列。
或者用户他的一个下单序列。对。通过这样一个训练来够捕获到用户的一个兴趣的个变化。那这时候感觉好像已经到头了,我们还能考虑什么呢?实时性的一个变化。你可能原来你的模型段是DT加一。做更新的。
那下一步呢你进行增量更新。这两可以,也许就是说你4小时更新一次。你再不的话,你变成online learning。1小时更新一次。对。因为用户兴趣他短时那个兴趣。你如果说你模型学不到的话。
一其实会损失很多信息的对,所以说我们能够去尽快的去更新我们的模型。比如说近期出现一些新的一些。呃,商品对吧?啊,对,但是之前你没有这样个信息,你可能会延迟半天。对。那你对他学习肯定是非常弱的。
如果说我们这个时间也能跟得上了,然后模型到上面那个部分了,再往下,你可以怎么再去更新呢?transform mode它下一步更新是到什么呢?是到bt了。大家了解的话有bt。Oh, for。Reca。
得用bo来去做推荐。对。再往后的话。我们如何去解决一些能启动的问题?那这时候我们是不是可以考虑就是说结合知识图谱的问题来去知识图谱这样的一些技术来去帮我们解决能启动这样个问题的对啊。
就是我们再去引入更多的图相关的个信息。啊,这也是目前很多大厂来去。构建的基础的一个能力就是graphuff。K G Guuff。会共享的。Okay。这就是一个就是说我们可以考虑的它的一个方向了。
如果说我们制度部搞完之后呢,你还要想什么方向的话,那我可以其实很明确的说,其实。你基本上大部分你再往后的话,你可能经过一个月,你也没有多少提升的对。这时候的话其实就变得非常卷了。其实越到后面越卷的哈。
其实啊。啊,遇到后面,其实你把那个哈陈窗告做完之后,遇到后面你就非常卷的,它不一定会有效果的。有时候你看论文对吧,感觉是有效果,但其实不一定不一定能对。这时候如果说没有新的业务,你还再去做原来的业务。
不断的去优化的话,可能有七八个人一块去优化。那其实再往后的话,你想再去有一个好的一个成绩的话,对吧?你就变得非常难了。对,这多话,你可能除非你去发些论文啊。
但是我觉得发论文对大多数人来说的话还是比较难的。啊,包括我其实我个人也不是去发论这个方向的,更多是偏实战这种方向的啊。Yeah。那我更多可能会去看论文。对看论文。
然后分析这个东西能否去适用到我们这个业务场景上面。啊,其实能做到这一点,我觉得已经很不错了。因为推荐这种场景,对吧?其实我们要不断来去跟进现在最新的一个前沿的。而不是一直在停留。
因为我们不管再去面试也好,对吧?他们也会去关注到你是否去关注比较新的一些内容呢。OK我们回到模型。再往下部分的话是FN和PAN对,这两种的话也是用的比较少的一个部分。对啊,我们简单的去过一下FN的话。
它是将FM引像亮度啊作为引白点。啊,就下面这部分吧。作为初始值后面再去经过我们DN那PN的话,它其实进行了一个product这样的一个。交叉的对啊,就内衣这样的一个过程。
就两样两两样特征经过这样的一个内机之后,那作为我们的一个初始的一个,就是说我们在inbe层和MIP层之间啊加了两样之间的一个内机,这种内机对吧?它和。第一N这MIP的一个交叉是不一样的。就内机的话。
它是两个向量之间,对吧?两个向量之间。😊,哎,两个向量之间我们进行了一个内接。但是在MRP里面的话,它是弄种每个元素点,对吧?啊,我们这样进行一个组合交叉呀,对吧?好。Yeah。对,两个是不一样的。
这种交叉的话,它是一种隐视的对啊,是到具体的一个神经元这样的一个。但下面的话,它是对于善量之间。这样的一个交叉的两者差异还两者还要有明显差异的嗯。开论当然是有用的了,起码你能了解现在最新的一个方向啥的。
对啊。我们部门每周都会进行那啥呢?呃,内部的一个分享的对啊,大家分享的也都是去介绍一些最新的一个论文的,或者他看到论文。Yeah。嗯。呃,我觉得一个业务点对吧?你们一直去优化,一直去优化。
肯定会到瓶颈的。对,所以更多的是其实像很多团队对吧?他们都开始去找一些新的业务来去做了。对。嗯,像我了像我了解到的一些,比如快手呀,台文团队对吧?可能。七八个人对吧?同时来去做这一个点。啊。Yeah。
同时做这一点,不是每个人都可以有提升的。对。不一定每一个部分都会有每个人都做东西都有成效啊。而且这种这种这种这种内种的话,其实来说非常的压抑。其实工作的时候。啊,如果说能有比较多的一个业务,对吧?
其实也不会产生这样的一个问题的。像字杰队吧,他有一些团队对吧?开始去往外卷了。对,找其他部门的,找其他公司来去做一些PK。对他们去接其他公司的一些项目来做PK对啊。
这就是其实内部已经没有什么项目或者业务让他们去去做了。对?如果说还是一直在这个业务下面,对吧?那大部分人来说的话,都在去优化这一个部分。啊,一个人来说,其实来说整体的提升是比较慢的。
另外来说的话确实是非常卷。所以这时候看能不能去找些新的业务啊。我觉得一般公司来而言,对吧?一般公司而言的话还。到达不了,就是说非常卷的一个呃状态吧。对啊。首先要跟业界对齐吧。对啊。
看有没有到现在就是说最新的这个这个模型的一个阶段吧。那如果还没到的话,那其实我觉得还有很多提升方向的啊。
。再往下的话是wed and deep。哦。和李培回吗?啊,这两种话其实就非常像的对啊。都是说将嗯。两个部分我们并行结合起来。对啊,Y deep的话,那一部分就是LR。另外部分是DN对吧?啊。
然后我们两者拼接起来,然后再去经过ss mode。啊,基偶函数。那D排FM的话,它其实也是分成两个部分的啊对。那一个是FM部分FM错。Yes。第二个是隐藏层,就是我们FCMMP层。
然后两者我们再去进行抗开的一块儿。然后再取到我们的一个signma计函数。这者结构我觉得也是非常明显的,也就非常显而易见能够看出他们这个差异。好,他们这一个特点。再往下就是深度交叉网络啊。
dip cross network这个它的话就是将两个部分结合的。第一个部分的话是我们叫叉网络部分。Yes。Yeah。第二部分的话就是我们那个DN那个部分了。
它的重点呢是在于我们交叉网络它是怎么来去做的。这里的话我们可以把它理解成一个残插网络的一个结构啊,残差网络结构。那比如说我们第一层对吧?是X0乘以X撇。嗯,然后词嗯然后乘以权重。
然后加上我们的一个biS,再加上我们的X。比如说我们第零层对吧?那就是X0再去乘以个X0,然后再去加上我们权重,再去乘以权重,加上我们的bi,再去加上X0。这是第一层。那第二层呢是X0。
再去乘以个我们的X1乘以W,再去加上我们的B再去。加上我们的。X一。第三层呢就X0再去乘以个我们的X到二了,对吧?到二了,W加上by再加上X2。嗯。首先,X0它始终都会存在的对啊。
另外的话就是说不断的来去和最新的一个交叉对吧,来去做这样的一个组合。而且我们可以去决定它的一个深度啊,多深啊,像我们其实我们的base就是用DC的,我们设的是一个三层的。就含三层啊。
这种交叉也是非常直接的。对,当时我们去我们去对比过D排FM和DCN那个效果的啊,DCN的话是稍微高一点。对。嗯,305这个同学说需要补补高数和概率论和心代数吗?呃,没有呃,其实还好其实还好。
像但是我觉得你要去了解一些。呃,基本的一些比如说求导啊,对吧?还有一些那种新代数里面举证的一些乘法呀,或者说呃因为它里面会涉及到各种的一些,比如说么因式分解呀,这种的该论呃,该论里面就比较少了。对。
比较少一些的。高等数学里面的话就是涉及到一些。各种求导。哦。就种比较基础的比较基础的啊,再往深的话,其实平时也用不到。反正我在工作当中的话,其实这东西都用不了多少人啊。你不在面试的时候对吧?
你可能要去复习一下。对,比如说你要去推导的一些。比如说你怎么去推到它的一个损失函数啊,怎么来去推导X机bos是吧啊,它的一个表达式怎么来去推导的啊。然后另外的话。我们再去进行一些求导的一个过程啊。
怎么来去写的?对。不需要太深的,基本上你去我看看网上嘛搜一下学机忆学习深度学习需要掌握的数学,基本就就已经可以了。对。像那个啥比较经典的花书对吧?深度学习那本书里面,它不是前面部分会有几张,对吧?
专门介介绍数学的那这些内容其实也不多的啊,可以去看那个部分就可以了。再往下的话就是一个获取到用户兴趣了。那兴趣网络。嗯,这里的话给大家介绍就是主要介绍是DNN这个部分。B影他考虑什么呢?BN。
它是是加入了attention,但是attention的话,它不会考虑到一个先后顺序的对,所以说但是的话先后顺序对吧?因为用户兴趣也会随着时间发生变化的,所以说DIN它里面是考虑的是深度兴趣进化网络。
对兴趣的一个进化,它的发展。它里面去引入了一个双向的1个GRU啊。但是它这个复杂度,因为LFTM这种这种序练模型,它这复杂度非常高的啊,所以说它这个应用还是不是很广泛。对,但DN的话是应用非常广泛的啊。
嗯。如果说我们不考虑attention情况下,对吧?attention它是来源于。嗯,NP里面的对,就是说我们看到一个事段吧,或者说我们看到一个句子时对吧?句里面每一个词它重要性是不一样的。
肯定有词特别重要。啊,如果说我们看到一个画面数,对吧?有的是有的部分他肯定会。一眼让我们看到。对。会非常显眼,非常吸引呃吸引我们的注意力。但有的话,那我们其实可能一眼看不到他,或者说注意不到它。
那这就是一个attention,它的一个大概的一个含义吧。对,或者说一个直观的一个介绍。啊,就是说不同部分的话,它的权重应该是不一样的对它的重要性应该也是存在一个差异的。就跟我们看到一个图片一样。
有的地方可能权重高一些,我们明显看到它它权重高。有的地方我们可能第一眼看不到它,对吧?或者它重要性并并不是那么高。对,那它的重要性的话,它的权重甚在就会变得低一些啊,这块衡量权重的话,呃。
像DN里面它衡量权重的话,它是用到了一个激活单元对。机构单元的话,它就是说我们先将用户历史的一些序列,对吧?如果说我们不用机构单元,不用这种attention的话,那我们肯定会将用户序列对吧?
进行一个聚合的。比如说ererage或者说mepo或者somepo。啊,这种一个平均尺化层这样一个操作将聚合起来。聚合起来的话就是来去描述对用户的一个描述了啊。那如果说到边N的话。
他就是考虑就是说我们来去学习到呃一个权重。对,因为权重的话,原本我们可能就是说看这个公式,对吧?VU的话就是VO的一个向量表示了。原本来说我们。把嗯WI对吧?我们把它看作每一个权重都是一样的对。
全相等的那就是一个。加权的一个平均就是求平均了。但是在DN里面的话,我们我们需要去计算这个W。就说每一个item对吧?它对应的。他给予这个用户的一个权重,重要性是不一样的。那我们就需要用到G这个函数。
就是我们激活单元这个部分,对吧?来去学习。这个W。这里面的话他就是。嗯,结合什么呢?结合了一个我们输的几个书的一个向量,输向量分成两个部分。第一个的话是它序列里面对应这个item的一个向量。
另外是我们候选级的ite向量的对,然后再去加上他们的差值合并起来。然后再去维入到全链接层,然后最后得它对应的一个权重啊。这他的一个过程。大家大概去了解还可以了,可能很多人还没有接触过这个部分。
突然讲到GDN算是我觉得就是说比较一个进阶的,或者说比较。深的一个知识点呢。对,因为它牵扯到的多话,不只是。我们前面说的DN对吧?不不是前面说的DN这样的一些结构。
也会牵扯到一些嗯那种NP的一些知识的啊。后面部分也是一样的,就是BST。X为序列 transformable model。这个部分的话呃,它其实更加复杂一些了。对,原本来说对吧?
我们是将比如说看这是我们的一个目标候选的iteID对吧?啊,我们如果变成DN的话,DN他是怎么去做呢?是每一个ite和它去计算的权重。权重得出来之后呢,我们将这些部分全部聚合起来。OK就可以了。
这是DN的做法,那transformer它是怎么做呢?我们先去得到每一个item,对吧?你看这是用户序列的一个里面,它有N个ite,就它历史点击过N个商品。啊,那对应每个商品都有它一个限量的一个表示。
那这个时候呢,我们去将其输入到transformer里面。然后进行transformer里面,它就分成两个部分的。第一个是mty head server for attention。这说明什么意思呢?
多头多头意思就是说我们原本它经过inbank图之后呢,它变成了1个32位的一个向量,对吧?我们把它分成4份儿。每一份的话是8位的一个商量。Yeah。这就是多头。
每一个头的话再去经过CF attention。就是自注意力机制。对,然后呢这个爱这个部分,还有nor么这个部分的话,一个是爱的话就是表示了一个残差的一个结构。n么的话是对应的是就BN大家了解吗?
ba normalization。但这里的话它用的是lay normalization。暗层的这种。标准化。对。那拜尺的话,它是按整个列对样本来进行的。两者还有差异的,我们可以去呃一个是BN。
一个是LN,这也是面试当中经常会去碰到的。就是我们在如果说去用到过transformal,那可能大概率会去问为什么它用的是LNlear normalization。
而不是用的是specch normalization。对,这样的一个差异。这个完之后呢,它又经过了一个前馈神经网络FFN。会得到之后得到对应的向量。那这时候对应是量的话,它在其。
拼接起来又变成了1个32维向量了。对,就到这个部分了。Yeah。然后这几个我们进行一个聚合,再和这个拼接起来。然后再去经过三层的FCA全A层,再去到sigode。这是我们BST它的一个结构了。
BST的话,我记得是在2020年还2019年的一个论文了。对我觉得是比较新的一个论文了。再往下的话,给到了一个关于这种CTR模型,它的一个演变的一个结构图。
这个图的话也是非常经典的对我觉得也是流传在各大网站里面。啊,各大社区里面的对啊,它也是涵盖了一直到像DIEN这种2020年这样一个论文是比较新的了。对。但其实再往深的话,还能考虑更深的一些发展。啊。
比如DN的话继续发展。这时加入到了他的一个transformer模型,不是加入了LSTM。那我们这时候会变成这是BST。这样结构自一发展就bt这种这种结构,对吧?再切个推荐。对。这些这里面的结构的话。
它其实是其实是有。那种我觉得挺好理解的对啊。嗯,他其实有一种套路在里面的。其实啊。大家可以下面再去详细的去看他们是怎么去结合的。啊,不管你是并行串行,你是加attention。
还是说加SNM或加那种序列化的LOSSTM这种模型,那都是按照套路来的。
嗯,这个要看你们的一个其实。嗯,transformment里面它分两个结构,一个是呃incor,一个是decor。对,那我们这块用的是in color,而且只用了一层。只用到了一层。对。
所以说我们为什么不用多层呢?还是考虑到它的一个复杂性的一个问题的。哦,我们要控制在一个请求,对吧?我们要在4毫秒。左右就要完成。对。这是像淘宝啊、京东对吧?或者拼多多对吧?他们的一个要求。其实啊。
当然我们这节课其实讲到了模型,只是所有推荐里面,对吧?非常少的一部分很少的一部分。对。很小的一部分。那其实这些模型演变它有更细致的一些结构。他这个更具体的优缺一点。
对他的一个怎么该怎么去实现的那实现当中会发现什么一个问题呢?其实我们这节合多没有讲到的对,我们只是让大家去快速去了解一下像CTR模型,对吧?它这个演变它未来的一个发展方向具体是什么样子的。
那更加细致的话,或者说更加多的一些知识点。那我们会在嗯。推荐系统高级小班当中第1期当中。给大家介绍到对,那我们这个高一小班呢,它有它的一个特点。那最主要就是说我们会有多个老师。会讲不同的一个模块。
那每个老师可能擅长方向是不一样的啊,那我可能更加擅长的一些就是说算法的一些优化。对,或者擅长一些特征工程。对,或擅长一些比如算法竞赛这样的一些问题的那有有的老师他可能更擅长一些工程化这样的一个实现。对。
所以说我们也是去将多个老师他们的一些。最厉害的之处对吧?来去做一个整合,来去让我们这个课程变得更加的。呃,更加全面或者更加的讲的更加细致一些。对人家就是说能够理解起来,变得非常容易,能够就是说。
可以说那种深入浅出吧。对,也许看起来内容是非常多的。但是我们把它作为一个细致的划分之后,或者细致的一个归纳之后,那其实理解起来就变得非常快了。更重要一点的就是说我们会去结合真正的工业场景当中,对吧?
会结合一些业务场景去考虑一些问题。其实推荐里面对吧?它除了我们所了解到召回排序,那还有很多点呢像。召回里面的吧,它又分成那个啥啊。然后还有粗排,对粗排里面呃排里面有粗排呀、金牌,还有重排。那重排的话。
他有很多策略在里面的对,还有一些的话就是说我们可能会面临到一些。嗯,比如说那种bios的一些问题,对吧?啊,比如说流行度偏差,选择边界偏差啊,这样一些位呃还有一些位置偏差这些问题。那推荐小班的话。
他就是我们从最基本的一些理论开始出发,然后去实践我们很多经典的一些模型。然后呢再去结合真实的业务场景。然后最后我们再去进行多个项目。那项目的话也会去包含像比较经典的像那种电商推荐。啊。
还有我们也会是讲到一些多任务这样的一些问题的对,那都是能够去对齐前沿的。包括像知识图谱,那也是推荐高级小班里面所包含的一些内容。那大家有兴趣的话呃。
这个算法是用于广告点击率。不仅是广告点击率啊,那很多的问题都可以去用的。并不局限的并不局限的啊。呃,其实我们来说的话,我们实时特征的话,你学习实质特征的话,其实它和离듬特征也是一样的对啊。指数实特征。
它其实变得,比如说我们最近15分钟,最近半小时。那这些特征我们其实已经去把它保存好了。对,而不是去现场的来去。再去嗯我这都是去构建历史特征,只是说它和离线特征的一个工程架构是不一样的对啊。你在提取时候。
不仅要提取实特征呀,你还来去提取它对应的离呃离线特征的对啊。4毫秒意思就是说我们有这个请求,对吧?用户发生请求,我们能在4毫秒之内。给他返回这个返馈这个结果。就比如说你去到比如说淘宝京东里面,对吧?
你去刷新一下,对它的时间就在这个范围之内,几毫秒范围之内啊,只说不同的应用,对吧?他可能对这个东西的一个限制也是不一样的。Yes。我们到时候也会去讲到实时通知这块该怎么来去进行构建的对。都会有的。嗯。
是TP999后面那个。
大有兴趣的话可以去咨询助教,或者说进入到我们这个网站里面来去看具体的我们的一个整体大纲,还有我们的一些。呃,项目对啊。ok。😊。
Okay。如果一个模型效果不好,一般你们怎么分析啊?嗯,其实如果说原本的问题对吧?你都比如bug这种问题对吧?这种错误我们先去排除掉,我们先保证他没有这样的问题。那我们会去分析怎么分析呢?就是说。呃。
想想。嗯。我们可能会去考虑,就是说将用户对吧?或者将商品我们进行一个分层。对。你有时候可能说你现场没有提升,对吧?或者说持平这样的。这时候可能会存在一个问题,就是说有一部分用户的话,他可能提升比较大。
但有一部分用户可能没有提升。对,那这个时候呢。我们会去就是说将这部分用户先区分开来,就是说对用户或对于商品我们简单的一个分层。对哪一部分或者哪一个品类下面我们预测比较差一些啊。
然后先去定位到哪一部分效果好,哪一部分效果差。对。然后再去看看这部分为什么效果好呢?或这部分为什么效果差呢?是不是因为我们特征这块提取的话,可能对这部分可能覆盖率比较低一些啊。
或者对这部分就是说可能确实没有什么区分性啊,离线AOC提升线上CTR没有提升这个排查思路一般是什么啊。呃,一般来说离线的话,我们就是看的是他的1个JAOC来去看的JAOC对。
就按用户嘛来去计算他的AOC的对,因为我们线上的时候也会存在一些问题的对,因为线上的话,其实它的一个整体的场景,对吧?和我们去离线来去构建场景是不一样的。
线上可能会存在很多的一些比如说选择性偏差位置偏差这样的一些影响。另外呢,其实我们会像我是做广广告推荐的,会受到什么样的一个影响呢?是一些出价的一些影响。对,一些广告调他可能是你可能本身来说。
你预测的区分度还挺好的对,但是呢。广告主的他的一个出价。提的非常高。对这个量级完全已经打破原本CTR它这个分布量级了。就是你原本可能C调你非常低,或者你AOC可能原本非常低的,但是我出价高呀啊。
我就可以去拿到这个曝光,拿到这个流量啊,这就会有这就会可能导致这样一个问题的对啊。呃,我们像去写那种数据流,对吧?这样东东西的时候,那我们会去用sla。
然后也会去结合C加加C加的话是去比如说来去写一些逻辑这样的一个结构了。逻辑这块就是特征的一些逻辑这样的对啊。然后模型这块的话,那我们更多的话。也是用对tens blue来去写的对。顺厕走了。呃。
我觉得这块的话,我觉得大家不要太去不要太纠结。对啊。去掌握就是说sparkpyythontenflow啊,t框架,那其实就可以了啊,很多公司它这个技术站可能会有一些差异。对,但这个其实都不是问题的。
我们不用啊,派特宠不用了。我了解到了解到公司都不用这东西的。这个用太少了,这个学术借口用比较多吧。公司里面还是主要以陈师傅的为主。OK大家如果有更多问题的话,我们可以在群里面讨论啊。
也可以对群里面可以去艾特我啊。我也可以去找助教,跟助教聊。对,然后他把拉群里,咱们再去聊聊也可以啊啊,行,那我们今天课分享到此结束。混着来的。😊,科s也会用的啊,这个布局限。好的。那我们这次结束啦。
拜拜。
人工智能—推荐系统公开课(七月在线出品) - P11:【公开课】手把手带你挖掘电商用户行为 - 七月在线-julyedu - BV1Ry4y127CV
。
hello,各位小伙伴。😊,大家晚上好。😊,OK啊,那么呃今天晚上呢呃主要是呃我们企月在线跟CSDN啊联合来做这样的一个公开课,那么公开课的一个主题呢。😊,手把手带大家去完成一个什么呢?电商用户行为呃。
分析也好啊,数据挖掘也好啊,OK啊,都是差不多的一个概念啊,主要就是带大家来熟悉一下呢,我们整个这个数据挖掘它的一个基本的一个流程啊,流程OK啊,那么接下来呢给各位小主汇报一下。
我们今晚要做哪一些这样的一个内容啊,我们今晚的课程安排呢,一共分为三个环节。那么第一个呢。项目的讲解啊,第二个呢啊抽奖对吧?第三个呢答疑啊,那么抽奖呢我会穿插在这个项目讲解的过程当中啊,那么这个答疑呢。
我们放到最后啊,最后来集中的给大家来进行。答疑啊,那么今天的奖品有哪一些是吧?啊,这下面我简单罗列了一下啊,呃,有几个课是吧?数据分析实战的5个,然后呢首推MAL的5个OK啊。
这些课程呢大家可以直接到7约在线啊,这个呃网站上官网上啊,直接点开啊,可以去搂一眼啊,搂一眼。然后还有什么呢?书对吧?啊,这里面我就截了几张图片哈,一共有这么几本书,对吧?包括这个人工智能的啊。
机器学习、理论、导演啊,包括算法导论啊三个啊3个。😊。
OK然后还有一个什么呢?VIP月卡,这个相当于在这里面应该是啊价值最贵的对吧?啊,最贵的对吧?5个名额,那么这个VIP里面哈,一共有有好几百个啊,好几百个课OK啊,大家可以在一个月的时间内啊,多听一听。
那么如果大家对这个机器学习这一块啊,有比较强烈的一个兴趣啊,或者说想了解一些这方面的一个内容。OK啊,可以加这个右上角杨老师的一个微信啊。😊。
他会给你做一些比如说职业规划呀,对吧?啊,课程那些引导。那么课程这一块呢,大家可以直接到企业在线官网呃,来进行一些,比如说机器学习机运营方面的一些课程的浏览。OK啊。
那么后面呢我会给大家简单的去讲一下啊,讲一下OK那么回归到我们本次课程的一个主题,对吧?啊,来完成一个电商用户行为的一个。挖掘。OK啊,那么呃。😊,这个课程呢其实跟机器学习呢啊是有非常强的一个关联性啊。
那么因为我们整个的数据挖掘跟这个机器学习啊,它是密不可分的。那么我们整个项目这一块呢啊是通过一个啊电商数据。那么这个数据呢是一个比赛的一个数据,对吧?我们拿到这个数据了以后,怎么对这个。
里面的数据来进行一些分析,对吧?然后呢达到我们的一些目标啊这样子的一个动作。OK啊,那么通过这样的一个案例呢,来梳理一下。比如说我们对于这个呃数据挖掘啊啊机器学习它的一些流程。
OK那么比如说从我们的数据分析呀、特征选择模型预测啊,最后呢得到一个决策性的这样的一个结果。OK啊,这样一整套流程下来。那么啊虽然说我们今晚只有一节课,对吧?时间也不是特别的长啊。
那么呃还是希望呢通过呃。这样一个多小时的一个时间,对吧?来呃通过这样的一个项目给大家带来一点小小的一个收获。OK啊,那么啊废话就不多说了,我们就来开始今晚的一个课程。OK啊,那么。😊。
往下来走啊那么其实首先第一部分啊,我们呃给大家先梳理一下我们数据挖掘的一个基本的一个流程啊。那么我们把这个流程OK了以后,然后呢,我们比如说拿到数据了以后,我们知道该怎么去做这样的一个事情。
OK那么我们先回顾一下啊,或者说啊什么叫做数据挖掘。啊,什么叫做数据挖掘?其实这个呃概念啊啊有很多了,对吧?啊,看你怎么去理解。那么呃我理解的数据挖掘是什么呢?啊?其实就是一种泛化规律,对吧?
比如说我们从过去大量的数据当中去进行一些总结,那么总结出来某一些泛化的规律,那么这个规律呢可能有不同的这样的一个形态。比如说有呃类似于比如说什么假设函数,对吧?啊,可能是我们计算型的这样的一些模型。
比如说还可以什么从这个X啊到Y的一个映射啊,也可以是比如说是啊规则模型啊,我们比如说在这个机器学习集训营里面啊,会讲到这个什么数模型,对吧?啊,角色数啊等等。
那么我们为什么要来学习这样的一个数据挖掘这样的一门课程啊,其实呃大家应该也会发现啊,就是说现在对于数据这一块啊,企业的一个重视程度,啊,都会很高很高啊。
那么数据挖掘呢主要是呃比如说我们可以帮助企业去提取数据中嗯,它的一些呃商业价值,对吧?主要提高企业的一个竞争力。那么我们用这个数据挖掘能够完成什么样的一些呃事情啊,或者说它的一个任务有哪一些。
比如说我们可以完成一些什么分类呀啊预测呀,还有一些比如说像什么聚类分析呀啊关联规则呀,还有一些什么呃类似于什么偏差检测啊,智能推进啊推送啊等等啊这样的一些方法。啊,其实啊数据挖掘它本身是一种什么呢?
数据驱动的一个啊,你可以理解为是一个解决方案。那么所以在这个过程当中呢,我们要关注的点就相对来说就比较多了。那么像下面啊可能列出来123456啊,6个这样的一个呃大的一个框架。Okay。
那么呃除了说关注我们数据本身以外啊,那么呃其实我们还需要去关注,比如说数据的一些规律啊,数据的一些规律,还有它的一些模式啊,包括我们后面会呃这个关注这个模型这一块算法这一块啊。
包括模型的选择呀啊模型的调优啊啊等等。拿到我们解决方案后,哎,怎么去完成后续的这样的一个部署,还有什么呢?还有这个呃比如说监控啊,部署的一个监控,还有一个系统的维护等等。OK啊。
那么下面呢啊这我给大家列了一个大致的啊我们整个数据挖掘这一块的一个标准的一个基本的流程。OK啊,包括这个目标的定义,然后是数据的采集,数据的整理,包括啊模型的构建,对吧?然后呢这个模型的评价啊。
最后模型的发布。OK那么这里面又涉及到很多小的一些呃小的一些点啊,小的一些点。OK啊,这里面我们可以稍微的来扩展一下啊。比如说首先第一个哈我们目标的定义这一块,对吧?哎,我们定义我们挖掘的一个目标。
对吧?那么我们针对具体的数据挖掘这样的一个应用的一个需求。那么首先呢其实我们就需要去明确这个我们目标是什么,对吧?或者说我们明确本次的一个挖掘目标是什么,然后系统完成了以后呢。
哎能够达到什么样的一个效果。啊,这是我们需要去思考的对吧?那么因此呢我们必须去分析。比如说我们当前的一些应用的领域,对吧?比如说哎我应用中的各种的,比如说什么知识呀啊,还有一些应用的目标呀。
包括了解相关领域的一些情况,对吧?熟悉我们的一些啊比如说背景知识啊,对吧?或者说啊调研一些用户的需求,对吧?那么要想要充分的去发挥我们这个数据挖掘的一个价值呢,啊。
必须对我们的目标要有一个非常清晰明确的定义,也就是什么?你想要干什么。啊,你一定要把这个先搞出来,到底想干什么,要不然你拿到一堆数据以后,可能你就呃无厘头啊,可能就不知道从哪下手啊。
那么首先啊你一定要先要有一个清晰明确的定义,然后呢。才知道下一步往哪儿走。那么呃举个例子哈,比如说以我们今晚的例子为例,对吧?我们今晚是讲一个电商企业的一个用户行为数据的一个挖掘。
OK啊那么其实我们就可以呃定义几个目标对吧?啊几个目标。比如说电商里面大家拿到这个数据以后啊,一般比如说我们要实现商品的什么智能推荐啊,智能推荐来帮助我们比如说呃这个这个几方共赢吧。
比如说哎客户能够快速的找到自己感性的兴趣,感兴趣的这样的一个商品,然后同时呢呃比如说这个这个这个也确保我们推荐给用户的这个商品,也是比如说企业所期望呃,比如说给到用户的。
那么实现比如说这个企业和用户之间的一个呃类似于双赢的这样的一个效果。OK那么还有什么呢?比如说我们还可以对用户来进行细分,对吧?我们了解不同的用户他们的一些比如说特征,对吧?
比如他们的消费特征啊购买特征啊,O然后呢分析这些客户,他的一个价值优先级,对吧?然后哪一些是需要重点关注的,那么对于不同的用户,我们可以采取不同的营销策略。对吧比如说他看了看了一个商品,然后比来比去。
对吧?哎,可能是因为价格问题,对吧?那我们就咔给他一张优惠券啊,那么呃这个方法有很多了啊有很多。那么我们可以呢将优先的这些资源集中到价值更大的这些用户上面,然后实现什么呢?比如说精准营销,对吧?
那么基于我们的还有什么呢?比如说历史数据啦啊,历史的一些销售情况啊,然后对商品来进行一些预测,对吧?那么这里面可能需要去注意的一些点,可能就是一些特殊的一些什么节假日啊啊等等啊,这些基本的一些内容。O。
然后还有什么?第二部分,比如说我们的数据采样这一块。那么数据采样哈基本上呃在我们明确了明确了我们需要进行数据挖掘的目标以后。那么接下来呢,我们就要从这个业务系统中哎抽出来啊。
或者说抽取一个跟我们目标挖掘相关的样本数据的呃字集。OK来做这样的一个呃数据采样啊,那么在这里面哈问大家一个问题啊啊,问大家一个问题。比如说我们要抽取数据,那么抽取数据的标准是什么?OK啊。
这里面有没有同学啊知道啊,比如说我们呃要从业务系统中去抽取一个啊跟我们目标挖掘相关的这个样本数据的一个子集,对吧?那么。我们抽取这个数据的标准。是什么呢?对吧?啊,它肯定是有一些标准,你不能说呃随便抽。
对吧?啊,随机的啊,那你得到的结果啊可能会相差会比较大啊,相差会比较大。OK啊,有同学知道的啊,可以呃在我们这个右侧的评论区啊来进行这个文字型的呃这个这个这个呃交流啊交流。OK啊,我重复一下对吧?啊。
问题是什么呢?对吧?我们把目标啊定义好了,对吧?要完成什么呢?啊,比如说要拿数据了,那么拿数据肯定是从我们当前的这个业务系统中面去抽,对吧?那么抽什么样的数据,他有没有一个标准。OK啊。
如果有知道的同学呢,可以在右侧的聊天对话框来进行交流啊?啊,其实这个标准呢我们在呃企业里面啊,它是有几点啊,我们需要去遵守的啊。那么这里面我给大家去讲一下哈。
那么首先第一个哈就是相关性啊相关性你出去的数据要跟你的目标啊要有一定的相关性。第二个呢。可靠性啊可靠性。第三个是有效性,而不是说我们拿一些全部的数据全部都拿过来,对吧?那么我们通过对这个样本数据的一个。
比如说精选啊,我们不仅能够减少数据的一个处理量啊,然后呢还可以帮助我们去节省我们的一个呃系统资源啊,系统资源。OK啊,这是我们在这个抽取数据的时候啊,需要去注意的一个地方啊,那么还有一个什么呢?
可靠性啊,可靠性就是说我们需要去嗯找规律性,更加呃,比如说凸显。这样的一些数据来进行采样,而且呢一定要严把这个质量关OK啊,不能忽视数据的一个质量OK这是这个这个这个。抽取数据的一些标准啊标准。
OK那么再问大家一个问题哈,比如说我们对于数据的抽取这一块哈啊除了说我们的一个标准以外,那么还有什么呢?还有方式,对吧?哎,那么我们有什么样的一些抽取的方式呢?啊,有没有同学知道了啊。
知道了可以在右侧的聊天对话框啊来进行提问。😊,啊,或者说交流啊,也不能说提问了。啊,抽样的一个方式哈啊,其实这个也有很多种啊很多种。啊,可以说出一种、两种、三种、4种、5种。OK啊。
那么啊还是我来说吧啊,那么比如说哈我们常见的有哪一些,对吧?比如说随机的啊随机抽样,那么呃在我们呃采用随机抽样的方式这种情况的时候啊,那么数据集中的每一组观察值。那么啊都有可能被抽到啊。
都有可能被抽到啊,这是随机的。那么还有什么呢?比如说我们还可以用这个等距的抽样啊,比如说我们按照多少的比例来在嗯。😊,多少条数据里面啊,或者说在多少组这个数据里面来进行等距的一个抽样。那么还有可能?
比如说分层还有这个分类啊,还有一些,比如说什么按顺序来进行抽样啊,都行啊,都行啊,分层抽样。对啊,这个呃python啊tyle这个同学对吧?应该是对这方面是有一定的了解。OK啊,那么呃这是第二部分啊。
数据采集这一块对吧?那么还有什么呢?数据的一个嗯。其实这里面哈啊数据的一个整理这一块啊,应该是我们在数据挖掘里面啊比较核心的一块这样的一个内容啊。因为你数据处理的好坏,会直接影响到你后续的一个结果啊。
因为其实模型这一块呢呃差异化呢并不是特别大啊,模型化差异并不是特别大。那么像一般啊不管你是来打比赛呀,或者是在我们实际的一些呃落地的一些工业界啊场景里面,对吧?啊,那么呃。
其实更多的我们的工作啊是在做这样的一个数据整理这一块。那么数据整理这一块呢啊比如说我们有探索性的数据分析,对吧?数据的清洗,对吧?还有一些比如说数据的一些预处理啊等等这样的一些工作。
那么比如说哈数据的探索。那么我们为什么要来做这样的一个动作?对吧这里面其实就要反过头来去往前再推啊,那么我们前面所讲的哎数据取样对吧?那么多少呢多多少少啊,就是说你在取样的时候,不管是采用哪一种方式哈。
都会带着比如说哎我们如何去实现数据挖掘目标的鲜艳的认识来进行这样的一种探索。那么当我们去拿到了一个这样的一个样本集以后。它是否达到,比如说我们原来设想的一个要求,就样本中哈。
它并没有什么明显的这样的一些规律跟趋势啊。OK啊,没有这样的一些啊明显的规律跟缺失。啊,比如说哎这里面有没有出现过从没有你想到过的一种数据状态啊,属据之间哎,到底有没有一些相关性,对吧?啊。
他们可以区分成什么样的一种。比如说类别啊,这些呢其实都是我们在进行这个数据探索的时候要做的一些事情。那么对于抽样的一个样本数据呢来进行。比如说探索呀啊审核呀啊必要的一些加工处理。OK啊。
这是都是我们最终来保证数据挖掘模型质量这一块非常非常重要的一个环节。啊,非常非常重要的一个环节。OK啊,然后后面比如说还有一些数据的预处理,对吧?那么数据的预处理这一块呢。主要比如说呃降维啊,对吧?
当我们采样数据维度过大的时候,哎,我们如何进行一些降维处理啊,包括哎我们采样的时候会发现有一些缺失值,对吧?那么缺失值处理的时候,对吧?怎么去办啊,你是填充还是直接把它给干掉,对吧?啊。
那么由于我们采样中啊啊,有很多很多的这样的一个噪声啊,会导致我们这个数据集可能不完整啊,甚至不一致的这样的一些呃情况,那么对我们数据挖掘所涉及到的数据对象okK啊,我们一定要对它进行什么呢?
预处理这样的一个动作。那么怎么去呃或者说如何对我们的数据来进行预处理啊,或者说改善我们数据的一个质量来达到。比如说哎我们最终想要的呃某一个结果。OK这个是需要大家在进行这个数据预处理的时候。
我们需要去思考的一个问题。啊,思考。那么呃这里面啊再跟大家去进行一些啊,比如说再问你们一个问题啊,那么比如说我们数据预处理吧啊,数据预处理包含哪一些这样的一个动作啊,有哪一些动作,对吧?这里面啊。
大家可以在这个右侧聊聊天框啊来进行交流。就是说我们数据预处理这一块,对吧?唉,你常见了有哪一些啊常见有哪一些?嗯。比如说啊以我啊我日常中会用到什么呢?比如说啊首先从第一步开始啊,数据的一个筛选,对吧?
完事以后,数据的比如说转换啊,这里面可能涉及到一些数据类型的一些转换啊,变量的一些转换。然后呢,哎我们看一些缺失值对吧?来对缺失值来做一定的处理。然后对于比如说坏数据的一些处理。然后呢。
哎最后比如说把这个数据标准化啊等等。OK啊,就是对于数据这一块。那么呃大家如果呢想要对这一部分就是说呃数据怎么去呃探索性的进行一些呃分析啊,怎么进行一些处理啊清洗啊等等啊,这样的一些动作。
大家可以比如说啊看我们企业在线积极学习及训营。那么这里面呢会从零带大家去完成这个内容啊,包括像n呀pandas啊这样的一个呃基础的一个内容,包括可视化那么ms啊啊等等啊。
来完成什么的数据分析这一块的呃内容OK啊那么。数据的整理OK了以后,那么往下来走啊,就建模了,对吧?啊,建模啊,那么可能很多人都觉得建模这块很重要啊,确实很重要啊,但是。
那如果说你是从事这样的一些数据挖掘呀啊,或者说呃。比如说这个这个偏工业界的一些东西,其实更多的是你的业务。更重要啊,比这个我觉得比这个呃模型本身哈啊要重要很多。
因为更多的你是需要去根据你的业务场景去解决问题的啊,因为模型哈,毕竟比如说啊不管是我们这个传统的这个啊监督无监督啊,还是一些新的一些东西啊,包括像现在的什么深度学习啊啊等等等等啊。
有很多很多层出不穷的算法出来啊,但是啊最终他们要做的事情啊,还是去解决这个问题OK啊,那么我们一定要去从问题本身去出发。那么这样可能会好很多。OK啊,那么我们回过来来讲这个呢构建。啊。
模型的一个数据建模这块啊,构建我们的一个模型,对吧?那么啊其实这个就比较简单了哈,就是说你需要去思考什么呢?哎,我数据挖掘应用中的一个问题,对吧?你到底要干啥啊,你是分类呀,还是聚类呀。
还是关联规则呀啊等等啊,选哪一个算法来进行模型的构建啊,这是也是属于我们数据挖掘里面比较核心的一个动作,对吧?你首先要把问题给搞清楚。然后呢,选哪一个模型算法,OK啊,这就是呢经验了啊。
这里面会涉及到一些经验。然后模型的一个评价。那么模型的评价呢,那么就相当于什么呀?哎,我选了某一个模型,或者说我在进行目标定义的时候,对吧?我就需要去定义标准,达到什么样的一个标准啊。
才符合这个这个这个呃才能OK对吧?那么这个时候你需要去设定什么呢?评价的标准啊,然后做一些比如说优化,对吧?你可以换模型啊,多模型的对比啊,也可以在模型本身来进行一些优化啊等等。OK啊。
最后就是什么呃模型的一个呃发布啊啊上线呢,然后呢它的一些呃重构啊,也就是说它的一些维护。那么其实整个数据挖掘这一块呢啊呃更多的更多的是在一个反复探索的一个过程啊,因为我们在实际工业的一些场景啊。
不可能说哎你咔从头到尾搞一遍就完事了啊,可能我们会回过头来再到第二步或者再到第三步啊,再来反过头来来不断的来进行验证啊,反复的去探索这样的一个过程,对吧?哎。
我们怎么去帮助我们所在的这个企业从数据中去啊,比如说啊洞察商机啊,怎么去提取价值啊,这是目前所有企业都关心的啊,比如说像很多这个推荐方向的啊,这个工程师推荐方向的行业专家,对吧?为什么那么值钱呢,对吧?
因为它带来了呃很大的价值啊,很大的价值OK那么同样啊我们数据挖掘这一块啊,一样能够为企业带来很大的一个价值。OK啊。😊,呃,那么基本哈它的一个流程这一块呢,我们就过完了,对吧?啊,过完了OK。😊。
OK啊,那么呃其实流程掌握清楚了以后啊,其实大家主要就是呢比如说我们先把这个流程给梳理好了。其实后面的啊这些代码啊很多很多啊很多很多啊,但是呢从我个人来说,其实它并不是重点啊,那么呃代码这个东西呢。
其实呃可以说是固定的啊固定的啊,因为都是一些什么API的一些调用,对吧?那么更多的呢是我们要去掌握这里面的一个逻辑,对吧?哎,我知道怎么样的一个顺序来完成这样的一个内容,对吧?
然后每一个里面可能涉及到哪一些环节。然后呢啊碰到了这些问题以后,我该怎么去处理?OK啊,这是我们需要去思考的这样的一个问题。okK啊,这个这轮okK了,对吧?啊,okK了,那么我们往下来走啊,往下来走。
😊,也就是我们这个项目的一个背景啊,项目的背景。OK然后我们来进入到这样的一个呃项目这一块啊,项目这一块啊,那么项目这一块呢,其实呃它也是根据我们刚才啊我们刚才在过这个呃整个数据挖掘它的一个。
流程的时候啊,基本上呢把我们整个项目这一块的一个整个的流程也就过完了。那么接下来呢无非就是按照上面的流程来做一些细节性的一些呃内容啊,来做细节性的一些内容。OK啊。
那么前面对吧我们的餐前甜点已经做完了啊。那么接下来啊我们进入到我们的一个。主菜的环节。OK啊,那么通过我们实际的电商数据来做数据的分析和挖掘。那么首先哈第一个哈我们先要去了解一下我们当前的一些背景啊。
其实电商这个我们都很熟了哈啊,我们网上购物现在是越来越流行,对吧?那么人们对于这个购物的这种需求呢啊,同样哈也是变得越来越高啊,而且会遇到什么问题啊,有很多这个比如说哎网上上的商品千千万万,对吧?
那么对于我们用户来讲。😊,哎,很好的东西就是推荐算法。给我们带来很好的用户体验,对不对?哎,我们可以使用推荐算法来做一些什么精准营销啊,比如说让这个什么呃呃这个这个头条啊。
还有什么京东啊啊淘宝啊啊等等啊,这样的一些平台得到了呃更大的这样的一些啊发展的一些机遇,对吧?啊,但是呢呃同样哈竞争也很激烈。那么在这种啊,比如说电商平台激烈竞争的一个大背景下面,哎。
我们怎么去呃比如说呃除了说提高商品的质量以外啊,或者说降低商品的价格以外啊,或者说我们平台本身以外啊,那么我们需要去掌握用户的行为来实现什么呢?精准营销啊,实现精准营销,提高效率。那么对于电商企业而言。
对吧?那么我们数据挖掘的一个基本的任务呢?其实哎就从这个电商企业里面,比如说哎我们采集各种商品的一个销量,对吧?啊,比如说呃啊。这些销量信息呀,还有什么成本单价呀啊还有一些比如说呃。
其他同行的一些数据啊等等等等。然后呢,利用我们数据分析的这样的一个手段来实现什么呢?商品的一个呃精准推荐啊,然后呢达到比如说啊促销啊啊,或者说呃这个这个这个呃精准营销,对吧?啊,增加我们的营运能力啊。
为我们的电商企业来降低整个的一个运营成本啊,提供这样的一些啊智能的一些服务支持。O啊,这是我们项目的一个背景啊,那么这个项目呢其实主要就是围绕着我们的用户的一个行为,对吧?那么就用户来说啊。
我们就把自己当成一个用户。你在电商这个平台上你会干嘛呢啊,你会干嘛呢?啊,无非就是点开APP吧?点点击对吧?然后看中自己比较喜欢的干嘛呢啊,要么就咔直接支付了对吧?
要么有的人有的人想想哎尽管是双十一对吧?我等一等啊,我先把它给什么收藏了啊,等到双十一的时候再买啊,然后呢,还有呢比如说先加入到购物车啊,然后呢呃找我的另一半啊,帮我清一清购物车,对不对啊。
就这些行为啊,那么除了这些呢啊,还有其他的啊,但是我们主要就围绕着啊这几种,比如说点击啊收藏啊加购物车支付啊啊。😊,这是4种行为。OK啊,那么我们往下来走。
那么这里面啊我们首先啊要来确定我们挖掘的目标啊,挖掘的目标。那么我们就先来对这个目标来进行分析一下,对吧?那么这个数据呢啊到时候也会给到大家啊,代码也会给到大家。
对吧我们先拿到我们user点CSV啊这样的一个文件,对吧?哎,读了一下啊,通过什么呢?paas ok啊paas。纳斯来读取一下数据,然后我们看一下这个数据的一些基本的一些概况啊。
你可以通过head呀啊infer啊啊,还有什么啊discriptO啊,都可以去查看一些我们这个数据的一些基本的情况。OK那么我们查看完这个数据了以后,对吧?那么在这里面我们可以啊大致的给他去做一些总结。
对吧?我们整个数据一共有多少条呢?啊,可以看一下,对吧?一共有呃2000多万啊,2000多万条数据还可以对吧?啊,还可以中等数据量啊,中等数据,如如果说再加个零,对吧?那么跟我们实际在呃头部电商企业。
它的数据量基本上都一样了啊,差不多了,对吧?那么这个呃。在我们学习过程当中,这个数据量啊算很大了。算不错了啊O那么还有什么哪一些数据呢?对吧?我们看一下它的一个。呃,这个这个呃有什么user ID对吧?
有iteom ID啊,有什么用户的ID对吧?还有什么呢?商品的ID啊,那么其实每个数量啊,这里面都可以去做一些统计啊,就是说哎有多少个用户,对吧?有多少个商品啊,包括这个什么呢?哎用户的一个行为啊。
但是用户行为这一块,你一看一啊。应该是什么呢?脱敏以后的结果。对吧啊,我们刚才说是吧,有点击啊,有这个这个这个呃收藏啊啊购买啊OK他应该是把这些行为啊换成我们的一个数字啊来进行一个通明,对吧?
那么还有什么呢?比如说。这个地理位置啊,这里面就很多啊发现什么呢?NAN是空数据了啊,有空数据,对吧?啊,一会我们怎么去办,然后还有什么呢?我们这个啊商品的类目,对吧?哎,它属于哪一个商品,对吧?
手机呀啊,还有什么其他的呀等等,那么还有他的一个什么时间啊时间OK完事了以后,对吧?我们对这样的一个数据呢?有了一个基本的认识了以后,那么我们就要哎哎想对吧?哎我们今晚到底要干什么呢?啊。
根据我们现在已有的数据,啊,我们要来定一个目标,目标就是什么呢?我要预测下一个时间日期,我们用户对这个商品子集的一个什么比如说购买情况啊,或者说购买的数据啊来做这样的一个预测啊来做这样的一个预测。啊。
这是我们的一个任务,对吧?那么哎我怎么判断你这个任务到底完成的好或者是不好呢?对吧?啊,这里面就有评价评估的一个标准啊,那么像上面啊,我们在做任务的时候啊,其实呃需要去做什么呢?啊,划定问题啊。
划定问题。那么需要去知道我们最终的目标是什么,也就是说哎我知道是什么样的一个问题,怎么去解决,哎,达到什么样的一个效果。OK啊,这是你在公司里面存在的一个价值啊存在价值召你进去就是让你去解决问题的对吧?
那所以我们一定要知道哎最终的目标是什么啊,预测下一个时间日期,用户对商品子己的购买情况,对吧?那么我们就可以把这个预测,比如说哎,你可以抛开来看预测问题,我是不是可以看成一个是二分类的问题,对吧?啊。
要么就是买要么就是买不买。就完事了,对吧?搞定,然后我们确定一下样本力度,对吧?比如说我们的user ID啊,艾特 ID啊,然后呢我们呃再来选择模型的时候,对吧?啊,比如说我们可以选一些常规的对吧?
逻辑回归啊,GDBT啊,我们今天晚上里面啊用的就是比较常规的。那么后面你可以在这个基础上来进行扩展。那我们可以抽一个模型,对吧?啊,但是呢也别让这个训练的过程太慢了,对吧?
那么如果太慢了呢啊会影响到你的一个工作效率。OK啊。然后标准这一块呢哈,我们就选择F1啊F1啊F1呢,其实就是我们综合考虑。比如说哎通过什么呢精确率和召回率的一个什么标准啊,标准。
这上面是什么呀计算公式啊,计算公式。那么所以说我们要想去获得一个比较好的F1。那么需要去平衡我们比如说推荐的条数还有我们准确率之间的一个什么呀关系。那么我们用户行为分析呢。
就是可以让哎比如说我们的产品更加的详细清楚的了解到我们用户的行为习惯,对吧?那么了解了以后,是不是我们就可以从哎比如说什么网站呀app呀啊,还有一些其他的一些什么推广渠道啊,等等等等啊,这个啊各种产品。
里面比如说呃存在的一些啊比如说问题啊等等啊,这样呢都可以嘛帮助我们的产品来发掘。比如说怎么去转化,对吧?啊,把我们的页面搞漂亮一点啦,对吧?啊,让这个产品的一些营销对吧?更加的精准有效啊。
提高我们的一个业务转化率。OK那这是我们要去做的。OK啊,往下来走。啊,其实呢呃对于这样的一个预测呢啊,其实准确来说啊,你可以往推荐方向去靠啊,往推荐方向去靠啊。但是对于推荐算法这个工程领域啊。
其实我个人的一个理解啊,它的业务程度啊。非常重要啊,超过什么模型算法本身。那么所以说除了我们这个算法本身以外啊,我们需要去关注其他的一些内容啊,比如说这里面我们就涉及到很多的一些业务方面的一些内容啊。
比如说啊像这个用户行为的一些啊分析模型啊啊,对吧?有哪一些啊啊,包括啊可能还会用到什么呢?比如说我们运营里面的,用的什么AR这样的一个模型啊,也有可能会用到。OK啊,那么往下来走啊。
那么数据的采集和整理,这个就比较简单了哈。那么采集这一块呢,我们刚才基本上已经啊因为是现成的数据集嘛,O那么这里面其实我们采集,就嗯不需要去采集了啊,我们直接拿来用就OK了啊。
那么如果说我们自己没有数据,那该怎么办呢?你可以使用一些方法啊,比如说我可以使用爬重啊,但然这个呢啊大家一定要在合理的范围啊,合法的范围啊来进行使用。那么还有一些比如说我去一些公共平台自己去拿对吧?啊。
或者说你可以花钱去一些呃平台去啊进行一些购买啊,等等O啊方法有很多。😊,OK那么我们数据有了以后,对吧?我需要对这个数据呢来进行一些处理啊啊来进行一些处理。那么啊其实呢也就是说啊观察我们这个数据。
就像我们刚才在做这个数据预处理呀啊,包括探索性的数据分析,这样的一个过程里面啊,其实就是放在这个里,对吧?那么在这里面啊我们看到这个数据了以后,对吧?我们通过什么呢?啊infer这样的一个函数,对吧?
来看一下我这里面数据的一些基本的情况,它的一些类型等等啊,那么可以看到啊,我们这里面有一个什么呢?啊,有一个我们的一个。地理位置这样的一个字段,对吧?它的类型是吧?object。
对吧那么其实这个呢啊我们呃用用处不是很大啊,像这个呢一般啊我们就呃不怎么去用它。因为大多数哈就是说在我们企业里面啊,他都是做了一些加密的处理。啊,而且大多数都是买空啊空的啊,你根本就无法用。
所以说哎像这个啊我们就可以把它什么呢,直接干掉啊,没用的东西干掉。那么干掉的时候呢,我们可以用的jo这样一个函数,对吧?啊,把它直接干掉,对吧?我们轴啊设置为啊我们的这个这个一对吧?
也就是什么纵向的啊纵向。OK完了事以后我们来验证一下是吧?哎,跟上面来进行一个什么呢?对比啊,是不是我们这列啊地理位置这列就已经被干掉了啊,干掉了。然后呢,我们再来看机看一下,哎,有没有么呀缺失值对吧?
有没有缺失值啊,一看哇塞,真的一个都没有,对吧?这个实际上是不存在的啊,就是说实际企业里面啊,我们多少啊,会有这种呃这个这个这个这个数据的一个怎么说呢?异常啊,异常啊,不可能说这么完美啊。
这个因为是某一个比赛的一个数据,对吧?啊,它是做过处理啊,所以说我们拿到以后是比较OK的。结果显示没有缺失值。OK那么在这里面啊问大家一个问题啊,问题又来了,对吧?那么当我们的数据有缺失值的时候,哎。
我们该怎么去处理这样的一个问题?其实我刚才在上面的时候有讲过啊有讲过怎么去处理呢?啊,可能呃常用的啊两种对吧?比如说我们要么把它给什么干掉啊,要么就什么填充啊填充啊,其实第二个问题也随之而来,对吧?哎。
你怎么干掉,对吧?你干掉的标准是什么啊,一般啊不能超过百分之啊,我们是10啊,超过10%的话,就需要去做一些呃填充的一些处理啊,但是一般哈我们正常哈都是需要去做填充的,你直接删除。
可能呃会对后面的有一些影响啊,但是啊这个也不是绝对的,像刚才对吧定理位置,这个里面大部分都是空的对吧?啊,或者说一些加密的一些数据,我们拿到其实也没用啊,所以说呢这个呢我们可以直接把它给干掉。
那么还有第二个啊填充对吧?那么填充的方式又有哪一些对吧?啊,这里面有很多了,比如说有什么均值啊方差呀啊,前后左右的一些什么参考值啊啊等等OK。嗯,OK啊那么当然哈啊这里面所涉及到的一些啊知识啊。
比如说啊这个n派的一些知识啊,pas的一些知识啊,OK啊,如果呃比如说怎么去分组,对吧?怎么去合并啊这样的一些基本的一些操作的时候,OK啊,大家可以关注企约在线机器学习集训。
OK那么这个课呢我们已经推到16期了啊,那么整个课程的体系呢呃非常完善。那么细节部分呢OK啊。跟我们的学员啊有深度的匹配啊,很到位。那么大家呢有兴趣哈可以到企月在线官网啊,搂一眼啊,搂一眼。
我们企月在线呢继续学习集训营课程。OK往下再来走,对吧?那么没有确失值,我们就啊不要处理它了啊,那么往下来走,对吧?啊,来呃,比如说做一些去重,对吧?那下面都是些统计了啊。
count这样一个函数来做统计来做分组,对吧?我们对于什么 ID对吧?我们用户的ID来统计一下,对吧?还有什么呢?比如说我们对于这个ite ID啊来做这样的一个。去重这样的一个操作,对吧?哎。
我们来做统计完了以后啊,那么我们基本上大概对这里面,比如说哎到底有多少个我们的用户是不是2万个用户对吧?然后呢,有多少个商品对吧?然后这里面你可以看到有4075万对吧?啊。
有很多很多OK那么往下来走是吧?也就是说我们刚才对于我们的一个用户行为这一块啊,它这里面其实是用1234啊来表示的对吧?那么我们可以把这1234呢赋予实际的一个值啊,实际值,比如说它到底是干什么的对吧?
啊,到底是干什么的啊,比如说有点击啊,比如说这个啊PB我们就把它当成点击了,对吧?然后这个是当成我们的一个比如说啊收藏购物车啊购买这样的一个动作。OK然后呢用这个什么logo进行一个什么值的一个替换啊。
替换完了以后是吧?我们在下面可以。通过head啊来看一下,其实我们这一列下面所对应的这样的一个值呢,就已经被什么替换掉啊,替换掉。OK啊,那么做了一些处理了以后啊,其实这里面啊大家在做替换的时候。
除了这个么local啊,还有什么Iloc啊,像最早的时候还有什么IX啊,但是这个呃已经被呃废弃了,对吧?我们现在用这个loal啊会更多一些啊更多一些。那么往下来走是吧?我们就再来分析什么呢?
我们的一个时间这一块,对吧?那么大家可以看到我们的时间这一块上面啊是一个什么time,对吧?那么这里面有年月日啊,有年月日,那么我们想要把这个呃给它分开啊,分开分成什么呢?时间日期和什么呢?星期对吧?
那该怎么办呢?啊,下面啊做了一些呃不这样的一个操作,我们先对它来进行切分,对吧?啊,先对我们time。这样的一个呃特征来做什么呀?切分。那么切切分完了以后啊,我们再来做什么呀?新的这样的一个列,对吧?
我么分成了三列啊,有d有time有 weekO完事了以后啊,你会看到下面会啊出现这三个,也就是把我们刚才的一个time啊切分成三个部分。那么为什么要来进行这样的一个切分呢?
那么主要哈啊是呃为了便于我们通过时间的维度来进行什么的,来进行分析,对吧?哎,比如说呃它是哪一天的对吧?啊,它是呃星期几的对吧啊,具体的时间啊,是几点对吧?这样呢分析起来会更加的准确。嗯。
OK那么往下来走,就是我们数据分析啊跟这样的一个展示的一个部分啊,其实这一块呢呃。嗯,怎么说呢?啊,我先问大家一个问题吧那么比如说就在我们电商这个领域里面。啊。
电商这个领域里面大家知道哈呃或者说其他领域也可以哈啊知道哪一些用户行为的分析。哎,比如说哎你拿到这些数据了以后,这些用户行为啊,你已经知道啊,比如说有点击对吧?有加购物车啊。
还有什么购买啊这样的一些行为,对吧?哎,你怎么来对这样的一些行为来进行分析呢?对吧啊这里面其实啊需要有一有一些业务背景啊,如果说你不是在电商行业里面可能稍微有一点不一样啊,稍微有一点不一样。
但是啊大体的逻辑还是一样,主要还是根据我们的业务啊根据业务来。OK啊,那么这里面。😊,嗯。OK有知道的同学可以在这里面啊。😊,交流一下哈,就是说我们嗯有哪一些?
比如说你在你的工作当中对于用户行为分析这一块,嗯,你有哪些分析的方法?🎼比如说啊我们啊今天讲的这个哎,就是买。嗯,比如说用户的行为分析对吧?那么还有什么呢?还有一些呃,比如说行为的事件分析,还有什么。
比如说什么用户的留存呢啊,还有比如说什么转化分析啊啊等等,对吧?那么后面呢其实我们在这里面都会有讲到啊都会有讲到。那么这里边我们也看到哈,我们一共有4块啊,分4块来讲啊。第一个是什么呢?
我们用户的流量分析。流量分析。然后第二个呢是我们用户的消费行为分析。第三个呢是我们商品销售情况分析。然后第四我们用户的价值分析。OK啊,通过这4个啊这四个啊,其实这里面每个里面又有细分的一些东西了啊。
又有细分的一些东西。比如说啊第一个我们电商的用户流量这一块,那么流量这一块,比如说哎我们是按照什么样的一个时间段,对吧?比如说我们按照月我们用户一个月的PV和UV对吧?啊,或者说我们按照天对吧?
一个月内每一天的PV和UV是是这个是我们需要去分析的。对吧啊,这里面就列了一些对吧?啊,比如说用户一个月的啊,还有什么用户每一天的啊每一天的这样的一个数据。啊,做一个呢统计。OK啊。
统计那么统计完了以后啊,这里面呃生成了一张图啊,那么这个图呢是拿这个mspl level啊画的。那么这里面哈除了说。呃,我们用这个 label啊,你也可以用什么?
比如啊都可以啊来完成这种可视化啊工具有很多O啊那么呃通过这张图完事了以后啊,会得到一个什么呢?啊得到一个结果啊,你会发现有一个峰值,对吧?其他的其实差异性并不它并不太大啊。
这有一个峰值那么可以看到它所对应的日期啊,日期啊,这里面呃我这是黑色的背景啊啊,可能看的不太清楚啊,而且这个数字有点重叠啊,到时候可以把它斜过来啊,把这个数字啊换一个角度啊写一下。
那么呃其实结果呢是什么呢?这一天啊这一天所对应结果是12月12号啊,12月12号啊,刚好这天有一个活动对吧?双12那么它所对应的PV和UV增加的幅度会比较大。😊。
OK然后呢哎过了几天以后又慢慢恢复正常啊,说明这次活动怎么样,非常成功,对不对啊?引流的效果很棒。嗯。那么呃还有什么呢?还有我们这个啊往下去翻啊往下去翻。比如说什么独立的一个访问量啊,独立的访问量。
OK啊,也就是说我们可以呃对他们进行PV跟UV来进行什么呢?独立的一些分析啊,独立的一些分析。那么往下来走啊往下来走。那么独立的分析这一块呢啊就啊。
针对于每一块吧啊每一块啊它的1个PV还有它的一个嘛UV啊来进行这样的一个内容啊,或者说我们可以针对什么总体啊总体,比如说哎我们整体的一个分析,我们统计什么呢?某一个时间内它的一个总访问量。
比如说一个月的对吧啊,一个月的OK啊,然后呢它的日均呢访问量啊是多少,或者说呢我们以这个呢日期为维度对吧?来进行统计啊,或者说我们还可以什么来进行比较,对吧?哎,我的一个日增长率是多少啊,给它算出来啊。
算出来,那么同样UV也是一样的啊,UV跟这个啊PV啊算法或者说它的流程上是一模一样的啊,一模一样,对吧?啊它的日增长率。然后最后呢啊可能会比如说我们可以画一些图是吧?让它更清晰的展示出来啊。
更清晰的展示出来。那么第二个呢就是这个用户的消费行为这一块啊,那么用户的消费行为啊,这里面我列了几个哈,比如说从这个时间维度来分析我们这个用户消费行为的习惯呀啊,用户行为的转化分析啊。
包括它的一个复购率啊,还有一些什么呀啊它的一个购买跟不购买的一个路径分析,对吧?OK啊,通过这几个方法。OK来完成什么呢?用户消费行为的一个分析。OK那么往下来走啊,其实都一样的啊,通过这几个维度啊。
通过这几个维度,也就是说我们四种行为嘛,对吧?啊,这个呃点击加入购物车对吧?收藏购买啊,就这么四种4种啊,它的PV它的UV啊,它的啊这个这个这个啊通过这个这个一个可视化对吧?来展示一下啊,展示一下。
其实通过这个结果呢,我们其实。大概的可以呢看得出来啊,他。它是什么样子的啊,它是什么样子的对吧?啊?比如说我们X轴对吧?是我们的一个这个这个这个时间,对吧?那么Y轴是我们的一个公因数。
那么我们用户在一天当中,比如说它的一个呃逛电商时间,哎,习惯是啥时候,对吧?啊,包括他自身的一个呃休息时间,你可以分析一下,基本上是重叠的啊,你看到这个波浪线,它的一个呃比如说它的走向啊。
基本上形状是一样的啊,那么其实这个就可以证明什么呢哎。每一个人对吧?一天当中逛街商的时间习惯跟他自身的休息啊,或者说呃。呃,这个这个休息时间啊是基本上是一致的。那么哪一个时间段可能会比较多呢?啊。
往上走呢?可能哎比如说上午对吧啊,这个这个呃往这走是么大九点的时候对吧?啊,十这个前面啊,这个一直比较高,一直到到到到这对吧啊,到这儿啊,可能这个是1617或者18啊,19对吧啊。
七八点钟这个人数是比较多的啊,非常活跃,那么对应的值可能是15000也就或者16000。啊,1万0左右,那么往下面再往前面来走啊,可能哎到了7点啊,7点以后啊,到这个比如说10点钟,这个人数是最多的。
是不是它的峰值是最高的对吧?那么证明这个时候呢,我们的用户是最活跃的对吧?那么这个时间段也是我们购物的什么黄金时间段,然后呢,往后走可能就慢慢的啊成下降的一个趋势。然后呢,再到第二天。
比如说哎5点钟慢慢的再往前啊,再逐步的一个上升,对吧?那么那么我们既然知道了一个用户的一个比如说哎时间的一个匹配程度,对吧?那么我们就可以利用用户的空闲时间来进行营销了。啊,来进行营销,对吧?哎。
提高这个用户的一个购买率。对吧?比如说哎我在呃中午饭的时间跟晚上,比如说7点到11点的时候啊,来做一些什么呃,比如说大范围的一些呃什么什么优惠啊啊,或者说做一些其他的一些策略啊等等。啊。
那么下面是对于什么UV的啊UV的一个。情况对吧?那么这个是按照什么星期了,对吧?这是按照什么星期weake啊,weake来进行这样的一个分析。那么可以分析一下,哎,什么时候最高呢?啊,可能是呃周几啊。
嗯,周末跟平时它的一个UV数其实变化没有那么大啊没有那么大啊,基本上差不多那么购买人数在呃周五啊,周四啊,周四啊时候可能会呃。比较比较多啊比较多OK啊,那么可能的原因啊,比如说我们可以猜测一下,对吧?
双十二当天做活动对吧?啊,增加了这个购买的人数,其他都是什样差不多啊差不多。那么往下来走,就我们用户的一些行为的一些呃转化分析。对吧?那么这个转化这一块呢呃无非就是什么这样几个对吧?
我们当我们用户浏览了这个商品的一些页面,对吧?那么你可以直接购买啊,你也可以加入购物车啊,你也可以收藏,然后再购买,对吧?那么我们用户收藏跟加入购物车以后,其实。这个呢它并没有必然的一个联系,对吧?
也就是它不存在什么上下级啊啊这样的一个关系。那么所以说OK那么这里呢我们不能说啊单一的做一些什么转化的一些漏斗,对吧?那么啊一般哈我们在这里面啊,对于这个呃漏斗图的一个画,我们一般都是么画PV啊。
到其他三种行为转化率的一个漏斗,对吧?那么这下面啊,比如说啊往下来走啊,是画了一个总体的一个漏斗图啊,总体的一个漏斗图OK啊也就是用PV到其他三种行为的一个什么漏斗图OK用户行为总体的漏斗图。
那么通过这个图。能够发现一个问题。啊,发现个问题。比如说哎我从用户的一个点击到购物车到收藏,还是到购买,它的转化率其实什么都是偏低的啊,偏低的啊其中我们点击转化成为比如说购买的转化率是最低的,对吧?
比如说哎这个什么1。06OK很低了啊很低。那么这里面啊有计算公式啊,计算公式在这里面啊。在这里面OK大家可以吗?呃大致的去呢算一下啊,大致的去算一下。也就是我们比如说啊下单的总数除上1个PV对吧?啊。
其实就得到这样的一个结果。O。嗯,那么还有一些什么呢?比如说我们呃。这个这个这个PV你怎么去算啊啊,这里面啊,如果说电商的大家应该都清楚一些啊,都清楚啊。比如说呃首页的点击对吧?然后呢。
首页商品页面的点击,然后通过这个搜索商品页面的点击啊,基本上呃等于他们几者的一个和啊,记者的一个核。那么往下来走啊,就是呢UV这一块了啊,基本上跟上面的。呃,步骤呢是一样的啊一样的啊。
那么啊你也可以通过一些啊比如说漏斗图啊来完成这样的一个动作,那么往下来走,对吧?OK啊,比如说通过一些啊换了一个啊脂肪图或者条件图啊来展示一下我们四种行为各自的一个什么呀UV啊UV的一个情况,对吧?
那么在这里面呃展示出来的一个结果啊,结果,也就是说嗯我们一个月这个月里面啊有访问记录的,比如说这种呃独立的啊独立的人群啊,可能有呃1万。9999对吧?那么呃你可以算一下它的一个什么啊购买的一个转化率。
那购买是多少呢?这个by是什么?1764除上一个什么呢?这个这个这个19199999啊等于多少?对吧?那么其实说明什么?大多数人其实都都是愿意付费的啊,对平台的一个什么忠诚度哎蛮高的。
有很大的一个成长空间。OK啊。😊,我现在走什么?比如说我们的什么复购率对吧?按月啊,一个月以内购买次数,比如说超过一次的,那么这样的一个用户,我就算上啊,就给他算上。还有什么呢?它的一些路径的一些分析。
那么路径的分析呢啊无非啊就这么几种啊,下面我写了几个啊,比如说这个呃点击到购买,点击,然后呢加购物车,然后到购买,然后点击收藏,然后到购买啊,最后啊点击加购物车收藏,然后到购买。OK啊。
其实这里面啊大家也可以呢画个图来进行什么呢?这个这个这个。这个。展示一下啊展示一下。那么最后呢就是我们商品的一些什么销售情况的一个分析啊,销售情况的分析。那么啊其实这里面哈,比如说我们销售的总数啊。
包括什么销售两次以上的商品的一些数量啊,包括什么前十的这些商品。啊,等等OK啊,那么呃分析完了以后啊,分析完了以后,其实我们可以总结出什么呢?哎,我们总共销售了多少个商品,对吧?哎。
有多少个商品销售的是什么呀?啊,比如说两次以上的,然后它的一个占比的一个情况,对吧?还有什么前十的一个商品啊,有哪一些对吧?然后呢,唉一看。结果啊是是啥?对吧?那么呃我们通过这个结果能够做一些。
比如说什么通过什么啊这些啊好卖的对吧?多备一点库存啊啊等等啊,来优化我们整体的一个运营的成本。然后最后什么我们这个用户的一个价值这一块啊,那么这里面啊我是做了一个弄图,对吧?啊。
帮大家去呃更清楚的啊来嗯看看到我们用户价值啊,这一块的一些基本的一些情况啊,基本的一些情况。
那么往下来走哈,就是就说什么呢?就是说在这里面哈,其实我们更多的应该去关注我们整个的一个什么呀业务层面啊,业务层面。然后从这个不管是用户行为间的一些转化分析哈,还是用户行为的习惯分析啊。
包括我们的内容偏好,还有什么用户价值这一块,对吧?啊,比如说我们现在讲到用户价值,用户价值,你就会你可以把它呢,我这里面是进行了什么分类,对吧?啊,来进行分类,那么分成哪几类呢啊,往下面来走啊。
那这几类。比如说我们是保留用户还是什么呀保持用户还是发展用户还是什么呀价值用户啊,给它划分这几个标签啊,这几个标签。那么这几个标签啊,你可以去按照你的实际需求来进行什么定义。比如说有价值的对吧?啊。
最近有购买,而且购买次数很多,那么这个时候我又可以给他设计什么呢?比如说VIP服务啊,专享服务绿色通道。那那么像这个。
发展用户呢对吧?最近有购买,但是呢比如说哎他买的次数比较少,说明有提升的空间,对吧?那么这个时候我就需要什么制定一些啊策略啊,比如说与他上一次购买,比如说相关的一些商品啊,对吧?
通过一些其他的策略来提升购买的一个品次啊等等,其他的啊一样的啊一样。OK啊,那么整个的分析过程呢啊基本上啊。大概就这么多啊大概就这么多。那么其实分析完了以后啊,我们在这里面其实一定要生成一个结论啊。
结论。那么也就是说你分析完了以后,对吧?你有了这些数据分析了以后哎。你对整个的这个数据这一块有了一定的了解啊,一定要给它落到纸面上来啊,落到纸面上来。比如说哎我们逛这个电商平台的时候,对吧?哎。
它跟我们的作息时间是保持一致的对吧?包括我们用户的一些购买路径,对吧?包括我们用户的啊,或者说呃活跃用户的一些占比啊,包括啊我们的一些什么啊复购啊,还有一些什么转化率啊等等。OK啊。
那么根据我们这样的一系列的这样的一些结果啊,我们尽可能去提高。比如说首页,比如说什么个性化推荐啊,它的一些什么准确度啊啊,降低我们的一些跳失率啊等等。那么来引导我们的用户啊。
比如说对商品的一个啊收藏啊架购啊啊,鼓励用户去收藏架购啊,然后呢最后达成满成交OK。过呢这部分内容啊讲的时间会有点长,对吧?OK啊我们啊这部分主要是对于数据的一些呃处理这块啊。
它的一些内容主要是我们通过什么呢一系列的一些操作来对我们已经拿到的这样的一个数据呢来做一些有针对性的一些了解。OK啊,其实嗯。😊,整个这个。嗯,数据分析这一块啊嗯是数据挖掘理念啊,应该说你以后从事工作。
可能这一部分所占用的时间是最多的。那么像后面啊,比如说模型的选择呀、构建哪啊特征这一块啊。嗯,也很多啊,特征这一块也会占用很多的时间啊,像这个模型的选择,包括模型的构建这一块,什么训练啊。
这块其实时间并不多啊并不多。OK那么呃这部分完事了以后啊,我们赶紧往下来走啊,还有什么呀模型的一个。构建啊,还有什么呢?这个模型的评价两个部分啊,其实这两个部分就比较简单一些了啊,可能嗯。
比如说啊第一个啊我们来完成什么呢?模型的构建分三个部分,对吧?啊,怎么去构建数据集,对吧?数据集有了以后怎么去选特征,对吧?然后呢,怎么去来选模型。😊,那么首先第一个啊,怎么去构建数据集?
那这里面啊问大家一个问题啊,这个问题就比较简单了哈。比如说啊我们对于一个数据集,对吧?我想要把它进行一些划分,对吧?啊,一般啊可以分成哪几种啊,这个是很简单的。OK啊。
有知道的同学可以在右侧对话框来进行这个这个这个啊交流啊。OK然后刚才刚才就是说发的那几轮奖品啊,如果有中到的同学啊啊可以加这个右上角啊,右上角啊,我们这个杨老师的微信。
然后呢找他去来进行这个奖品的领取啊,像这个呃实体书啊啊,或者说这个呃课程啊,可以直接找杨老师来领取啊。一会儿就像这个课件哈,都是一样的啊。OK啊,都可以找杨老师来进行领取。
OK那么这里面啊我我简单说一下哈,就是呃这个东西比较简单哈,就是数据集的划分这一块呢一般啊可以分成三个,对吧?我们的训练集测试集还有什么验证集啊,三个部啊,三个部OK那么呃数据集完事了以后啊。
也就是呢你怎么去进行它的一个划分,对吧?啊,按照什么样的一个比例啊,一般哈我们像这个这个这个这个训练集跟测试集,一般都是82比啊,82比来完成这样的个内容。OK然后呢完事以后,数据集你划分好了以后。
对吧?那么接下来就进行什么呢?比如说啊我们的一个呃特征的一个选择。😊,啊,特征那一个选择对吧?那么特征选择这一块呢啊,我给大家又列了一些,对吧?比如说我们可以通过很多种方式啊。
比如说我们呃基于什么统计类的特征,还可以什么呀?基于类比类的特征啊,比值类的这样的一个特征,还有什么呢?比如说哎下面还有什么?基于我们的用户品牌的特征。O这里面同样都要进行什么呀分析。
然后呢进行什么呀对比啊,来进行分析对比。OK啊,下面其实就是把这些我们的内容给大翻译一遍啊,用。代码的方式给他翻译一遍。那么呃这个呢啊代码到时候呢会发给大家啊,大家可以啊对照着这个上面啊所写的。
其实这个呢呃相当于给大家一个思路啊,思路,那么呃如果有兴趣的同学,我建议啊,就是根据啊这上面所写的这些文字,对吧?啊,大家自己去复现,然后复现如果有问题的话,可以参考一下啊,我的代码。啊。
参考一下我的代码对吧?然后特征OK了以后,接下来就是什么模型的一个选择。那么这里面哈我设计的模型。😊,啊,因为课程时间有限啊,我觉得选两个简单的啊,一个是LR的,还有一个什么呀GGBT啊。
2个比较简单的啊比较简单的。OK然后在这里面啊跑了一下啊,跑了一下,结果还可以啊。然后呢,最后呢就是模型的一个评价了。那么我们就是按照我们最早所定义的这个F1的目标,对吧?
这样的一个标准来完成啊这样的一个动作。啊,完成这样的动作。那么这里面哈呃给大家主要讲的就是一些思路啊,那么像这些细节部分啊,比如说模型怎么去调用啊SK learn怎么去用呢啊这样的一些内容啊。
大家可以什么样关注契约在线机器学习集训营的课程啊,里面非常详细啊,对于什么特征工程啊啊这样的一些呃机器学习的一些内容。我们是从什么呀原理,然后到实战啊,实战性非常强啊,主要都是通过一些呃。
比如说案例来带大家去呃走完整个过程啊,像今天这个内容啊会啊比如说啊我们正式课程里面会讲的非常非常的详细啊,每一步啊都会给大家去讲到为什么啊,为什么会用到这个内容。O。😊,那么最后啊模型的这样的一个评价。
其实我们根据我们所定义的这样的一个标准啊,其实就OK了,对吧?来算一下啊,来算一下啊,它的一个嗯F1它的一个cr啊就可以。啊,得到作。结果得到结果以后呢,其实我们最后呢做了一个么排序啊。
做了一个排序这样的一个动作。OK啊基本上哈我们整个一个课程这一块的内容呢啊我们基本上就OK了啊,O了。那么OK了以后呢嗯。课程啊完事了啊,最后呢对吧啊我是带着任务来的啊,要。嗯。
做一波硬广啊硬广硬广的内容是啥呢?我们啊完成。宣传一下机器学习继训营啊。第16期。那么呃我们7月在线呢啊大家呃如果是做算法,多少啊都会经过我们,对吧?我们在呃AR这一块啊。还是呃有点知名度对吧?
那么呃对于机器学习这一块,我们已经是做了16期啊16期我们整个的一个课程这一块呢嗯从大纲啊,包括讲师这一块啊。OK我点开,让大家看一下。哎,这个为啥点不动?我copy一下。
考比一下。OK啊OK然后呃这里面哈这里面。😊,嗯。呃,给大家简单去讲一下啊,就是说啊我们机器学习集训营这一块,它是从零开始啊,从零开始,也就是从什么python基础啊。
我们整个的这个机器学习它就都是基于python语言啊,python语言来完成啊,包括啊我们前面讲这个python的一个呃基础。然后呢到这个数据分析啊,里面比如说像n呀pandas呀net呀。
然后到后面比如说我们机器学习的一些原理啊,像这个LL啊GTBT呀SBM呀,还有一些什么gebo呀啊,包括呃其他的一些呃模型O入原理部分完事了以后,对吧?这里面应该有这个课程大纲哈,课程大纲啊。
我来看一下有没有啊课程大纲。
应该是呃在。啊,这里面只有一个课程简介,对吧?Yes。嗯。OK啊,大家有兴趣呢啊,可以直接到这个网站里面啊,来点开来看一下啊,这上面我好像没看到。这个这个这个细节的部分是吧?课程的简介。啊。
应该是呃是不是要注册一下是吧,注册一下,然后才能够看得到哈啊,这个大家可以去试一下。然后整个课程这一块呢,除了我刚才所讲的对吧?然后机器学习原理完了以后到实战实战完了以后呢,到这个深度学习的原理。
然后到深度学习的实战。然后最后呢是项目这一块。那么项目这一块哈呃企业在线所推出的这样的一个机器学习第16期项目呢很多哈,比如说像这个是比较新的对吧?自动驾驶啊,车道的一个检测,这应该属于CA方向啊。
CA方向的一个项目。然后包括什呀NIP这一块的智能问答。机器人还有什么呢?还有什么啊电商平台对吧?它的一个推荐系统。okK包括什么呀?这个大规模的行式识别。
其实这些项目都是目前工业界非常非常常见的这样的一些项目啊,落地性非常强OK啊,那么如果哈同学们想要去进入这个行业里面啊,或者说你是传统IT的啊,或者说你是做数据分析的,对吧?
你想要去往这个机器学习这一块来走。OK啊,那么这个机器学习集训这个课程,非常适合大家。啊,那么除了这些啊硬性的内容以外,对吧?我们原有的知识体系对吧?原有的这些项目,那么还有哪一些软服务,对吧?
也就是说奇月在线所推出的什么特色服务啊,那么这里面特色服务,对吧?有一个什么12位一体的教学模式。那么这里面大家可以搂一眼啊搂一眼。那,比如说我们的呃课程对吧?有直播对吧?啊,然后呢实时答疑。
有阶段考试,有作业,有毕业考核,哎,还有什么呢?唉GPU跟CPU这样的一个双平台啊,这个是比较贵的啊。如果你自己买很贵的。OK啊。然后还有什么呢?啊对应的一些联合认证啊,比如说跟阿里云啊啊。
包括呃其他的一些机构来做一些什么认证啊这样的一个动作。OK啊,然后这个项目这一块呢都是标准化的一个流程啊,标准化的一些流程。包括从这个呃项目的介绍环境的搭建啊,数据的准备啊,包括呃特征工程啊,对吧?
模型的构建迭代优化总结啊,评估上线啊等等啊,一条龙服务。然后还有什么呢?呃助教老师对吧?啊,有全职的助教老师给大家来做什么呢?这种呃。类似于呢班级啊这个独立的一个教学辅导啊,独立的教学辅导。
OK然后还有一个啊需要去隆重讲的就是什么呢?讲师团队啊讲师团队啊,那么讲师团队这一块呃非常强。从这个比如说啊陈博士对吧?啊,这个呃浪潮集团数据科学家,他是我们呃接业在线AI跟ARP方向的技术专家啊。
包括什么呢?serveven模式,刘老师、赵老师、丁老师啊等等。OK啊,我们呃整个的讲师团队啊非常强。所以说对于整个课程这一块,除了说我们这个整个的课程体系,然后包括里面的内容,包括这些细节。
包括唉我们这些项目啊可以落地的项目。OK包括我们的啊全职的助教。全职的服务。啊,包括我们还有什么呢?GPUCPU啊这样的一些双平台OK啊,硬付软服。相结合来给。大家提供什么样更好的服务。OK啊。
这是任务啊,任务已经OK了啊,并广结束。然后今天的这些课件哈,同样哈课件代码数据OK啊,我同样也会给到杨老师啊,需要的同学可以加杨老师的二维码来进行领取。😊,OK有问题啊。
可以在右侧的对话框来进行提问啊。🤧O好,我们等几分钟吧,我们等到9点半啊,我们来结束啊。
OK啊,我们呃其实我们在刚才的一个课程学习当中啊,大家呢注意什么呢?我们整个的一个呃思路,对吧?也就是说我们不管是做数据挖掘,对吧?还是做机器学习这一块啊,这个基本上你的一个流程啊,大致是不变的啊。
那么其实区别在于哪呢?可能啊比如说你进大厂或者是进中小型的企业,对吧?可能稍微有一些区别,那么如果你进大厂啊,可能更多的是一个萝卜一个坑,对吧?你可能只负责某一个很小的一块啊,比如人家推荐这一块。
你可能就负责金牌,对吧?你可能就负责召回,啊,其他你不用管啊,一个萝卜一个坑,但是如果说比如说你到中小型的企业里面,对吧?那么可能呃你需要负责的东西就很多了啊,比如说呃。
从这个啊可能从上到下你都需要去参与啊,包括这个顶层层的设计,对吧?啊等等等等啊这样的一些内容。那么同学们有什么问题哈,可以在右侧的聊天对话框来进行提问啊。那么我们今天所讲的内容呢,除了说这个数据分析呀。
机器学习里面所呃讲到的一些什么模型的一些构建呢啊,包括模型的选择呀,模型的一些评价啊等等这样的一些内容。OK那么嗯。今天哈主要给大家去讲了一些大概的一些思路啊等等啊,这些代码呢其实不重要啊不重要。
大家可以慢去参考。然后更多的一些细节的部分呢,大家可以关注什么呢?7月在线啊,然后他这个我看啊即时六即时六应该是他的开课日期应该很近啊,1012月27号啊,12月27号12月27号啊开课啊。
所以说呃有需要的同学啊,可以抓紧时间啊,联系什么呢?我们右侧这个右上角这个杨老师的二维码啊,然后找他去啊进行一些啊奖品兑换啊,课件的一些领取啊。
如果说啊你要报名这个啊机器学习16期应该是今天双十一应该是有活动的啊,有活动的,应该是有比较大的一个优惠。然后呢呃可以直接去咨询这个杨老师啊,他会给你专业详细的解答。
人工智能—推荐系统公开课(七月在线出品) - P12:【公开课】排序算法发展趋势 - 七月在线-julyedu - BV1Ry4y127CV
<该字幕由算法自动生成> 啊啊。
各位同学好啊,我们今天呢我们跟大家去分享cci预估的新趋势嗯,c家预估呢它是在推荐里面金牌的一个部分,就说我们已经给用户,那有了一部分召回的,这部分召回呢都是用户可能感兴趣的,然后呢我们经过排序的。
就是说ctrl预购这个模型来去将这些商品呃按一个概率进行排序,然后最后提取top n展示给用户,那这也是c t r与他的一个嗯在推荐里面它的一个主要的一个位置,那cpr的话他除了指代是点击的预估。
那其实它可指代场景还很多的,像转化率预估下载绿一锅呃,还有一些这些其实都是类似的啊,只是说可能本身的一个吸收程度啊,本身的一个抉择的一个呃抉择的一个位置是不一样的对,但是我们常用的一些模型。
还有常用的一些算法,那基本上都是差不多的,就是说可能会考虑一些其他的问题,比如像转化率估呢,我们可能会考虑一些转化延迟的问题啊,因为点击你是时时会去点击的,但是购买的话。
那你这个购买意图可能在你点击之后会停留一段时间,有的人可能会直接去发,直接去发生转化购买,但也有一些同学呢,他可能会去先加入购物车,再换上几天再去购买,就像最近双11 一样,你可能在10号的时候。
你把你的商品放到你的购物车里面,然后到11号的时候,那凌晨的时候你再进行转化,再进行购买,那其实就是这样一个道理了。
另外呢我们今天的打卡呢是有对应福利的,对一共是今日直播的,有两次打卡,有两次打卡,第一次呢是将现场的直播截图发到群里,第二次呢直播后期会有打卡页,将打卡页截图发到群里,那两次打卡完成的话。
私聊教的老师获得499的推荐系统实战课程,另外我们再去讲课的手段,有什么问题也可以在我们讨论群里面提出来,我也会时时的回答大家的问题啊,目前而言cci预估的一个发展趋势呢。
其实我觉得可以主要分成四个方向,这四个方向也是业界现在主要的一个去优化,去改进,去发论文的一个方向,那第一个呢是特征交互组合,就是说我们的模型里面啊,如何去获取到一些比较细致的更深层的思维一个信息啊。
这是特征交互组合会考虑的,比如说像最开始的在那个时代,那时候其实特征模型里面是没有这种特征交互的一个作用的,这样一个能力的,那到叉gb的时候,到fm的时候,那时候慢慢的那模型呢它有这种捕捉特征交叉信息。
的一个能力,再到现在,其实我们可以少获得一些更高阶,对这样的慢慢的也是开始流行开来了,第二个话是特征抽取,特征抽取的优化,就如何我如何去抽取特征呢,如何去呃用一些b样的方式对来去得到一些信息呢。
比如说像c n对它就可以来去抽取,就是一个特征的抽取器啊,比如说我们想要进行一些max poly啊,这操作这r n的话,那我们可以去用r n来去获取到一个序列,目前而言的话。
我们的一些输入很多可能是一些序列,这序列的话是反映用户它的一个行为的一个趋势,行为的一个轨迹,那这样的信息我们没有到rr里面的话,其实最后得到的白领其实对他这个序列的一个表达。
当然还有更深的一些特征抽取器对,也是慢慢的呃开始被提出来,或者说从不同的一些方向去用到推荐系统里面,再往下是多模态的融合,我们所看到的一些或者说一些比如电商场景对吧啊,像天猫啊,京东啊这些对吧。
我们所看到的不只是文字,那有的是它会展示一些音频展示视频展示一些图片给你,对这些信息他也会去影响到用户的抉择的,所以说我在去建模的时候,不仅是那些我们所构造的一些统计特征是i d特征。
或者说一些那种diss特征,那我们更多也会去考虑爱如何将他的一个诶图片的信息啊,或者文本信息啊,音频是信息也去,我有到我的我们的模型里面,或者说让模型能够从这种信息里面去捕捉到,提取到有用的信息。
第四个呢是长短期性取分离,或者说长短期兴趣建模用户的一个兴趣,那它可以划分成不一样的一个变化的一个节奏,或者说不一样的平台对吧,你的兴趣也会发生很大的一个变化的,比如说我们去听一些音乐的时候。
那我们一个人习惯的话,其实音乐的话可能变化并没那么大,对可能有人大家就喜欢听这种经典的怀旧的,那有人就喜欢听那种流行的乡村的,那如果是电商平台的话,那我们的兴趣是会发生很大的变化的,对我们不同的阶段啊。
我们的比如春夏秋冬啊,我们考虑的事情那就是不一样的,对那在双11再考虑事情也和平时也是不一样的,所以说嗯这种话可能是一个短期的一个信息,那还有的话就是说你的长期的信息,长期的兴趣。
那长期兴趣其实更稳定的,对你的一个人大概的一个兴趣,其实它不会发生太大变化的,另外一个就是短期的一个兴趣了啊,你短暂的一个时间,你可能你昨天和今天你去到电商平台,那你的兴趣就会发生一个变化的。
那我们会围绕这四个方向去介绍目前t2 它的一个趋势和变化,让大家去了解到目前最新的一些研究方向,特征交互组合,那这里我给到了两组模型,第一个是那种浅层的啊,呃浅层的一些特征交互对。
像fm f fm那可以发现这一部分它嗯统一都是没有,就是说像那种比较深层的对,有时候我们了解到像d c n呀,或者说叉d派m呢,或者dna这种话,他是能获得一些深层次的一个信息的。
对嗯像deep model的话,像d n c c p m y deep这些,那他都可以去捕捉那种深层的一个,不管是影视信息还是显示信息,那他们都是有这样的能力的,这是从beyond的,就是深浅程度。
那我们可以做一个区分,就比如说我给到这两个例子,一个是d c n,一个是dp fm,这两者呢他们有共同点,就是都有dna的部分,那dna的话他可以来去帮我们去获得隐藏的一个信息,是这两个部分呢。
这是两种模型它们共有的之处,那不同之处是在于他们另外一个部分对,然后第三的话它有一个cross network,这个部分就是个交叉网络,那我们可以去人为的去设定它所交叉的一个接触。
对这款模型呢它给到的是l一级,l一阶对,那我们可以通常来去设定,比如说三阶呀,四阶五阶,他这种交叉过程呢主要是围绕着下面这个公式来不断的来去进行,a交叉的,获取更深层次的交叉信息。
这种交叉是一种显示的交叉的,那fm的话它是能够获取到二阶的一个交叉信息,对那我们了解到ff m f fm的话就是说可能考虑到信息比fm会更细一些,因为fm它在去进行一些特征域交叉的时候。
那权重都是一样的对,但是f f m的话,f f m的话会考虑到不同特征域嗯,叫它的话权重应该是不一样的,就比如说天气对吧,天气和温度交叉,那天气和谐啊,这些东西交叉,那它重要性肯定是不一样的对啊。
这是一些关于最基本的一些特征的交叉的一些模型啊,当然这些模型的话也经常会作为嗯业界的一些base模型来去使用,对我们经常来说的话,会去将d盘fm或者说dc,所以我们的一个base模型。
然后呢再去考虑添加一些像transform,或者说像attention,或者是像其他的一些结构,嗯目前呢基于特征交互的模型可以大致分成三类,一类的话是聚合用户历史行为序列来获得ti预估的判别。
表示聚合用户的历史行为序列,那什么可以去聚合这种这样一个行为呢,对我们的序列表围绕模型里面这种聚合其实它就是一个特征,一个交叉过程的,我们将序列位到模型里面。
然后进行一个sampling max puling in puling,那这就是个聚合过程,当然我们也可以去加入什么呢,加入attention这种加权的聚合。
比如像经典的dna对他是考虑到呃用户的行为学里面对吧,和我们的候选集再去进行交互时,候那我们的行为序列里面的信息,那并不是一成不变,都是重要性是一致的。
这时候呢我们更多会考虑就说哪些信息与我们的候选集更有关联,这种关联信息它才是去帮助我们来去做预估的时候的一个关键信息的,第二个的话是基于graph的一个方式,我们将特征作为节点。
然后通过有效和无向图的方式,然后进行连接,这种话可能更加的高级一些,就特征,然后协同作用作为信息的呃,信息的一个沿边缘传播的一个边缘权重,就说我们先去构建好图,对这个话我们可以放在就是说线上的时候。
中端到端的形式截图之后呢,它其实这些边这边它其实都是一些这点,它其实都是一些特征,那这一点的话它可以有一种传播过程,或者说有一种聚合过程,好像我们了解到的像graph jc或者说graph s。
g cn,或者说下,这就是精英里面的一些经典的一些模型,对啊,那第三种的话是直接明显的特征组合特征的一些引领,那这种话就是我们可能见得更多一些了,就刚刚讲的那个d c d fm。
还有red and deep,如果说fm这些模型,下面呢是来自于阿里的ken,c a n的一个模型啊,这个模型呢它也是未来去获取这种特征,交叉的是一种新的一种特征,叫它一种方式对啊。
那这个里面的话它也是会去将我们用户行为的序列,那输入到我们的模型里面,然后我们可以看到它的输入部分,第一个话是用户优质,behave sequence,然后第二部分的话是他给艾特m d。
还有的话是user age,可以看到它的核心是proaction,就是一个collection的一个单元,这个单元的话是这个cn的一个核心指数,那我们看这个里面的话,每个单元里面它的收入是什么呢。
嗯我们可以看到第一个是cf,这个部分对吧,就是一个序列,一个是nose sequence,两个部分,第一个部分的话,它是将,每一个用户系列中,每一个em,每一个em和target塔特姆a进行了一个交互。
将这两部分信息,你看哎一个这是b一和我们target ok两个输入到我们的coaction out里面,那下一个也是一样的,都是按这种方式进行的,另外一种的话是将target和user部分。
这个就是说一个是用户历史行为,其实也是一种用户兴趣的表达,用户年龄的话其实也是表达这个用户实体的一个信息,所以他们都是有意义,都是有价值和我们target md进行交互的交叉的。
所以他们构造了一个no servants,no sergm这个部分,这个部分的话和eu这侧的一个位置,当然不只是指,那我们也可以数其他信息啊,地理位置这些信息也可以加入到里面啊。
作为我们的can action at这个部分的一个数了,那接下来我们看一下它的一个内部结构是什么样子的,核心是用户和商品的特征,对啊嗯这里分成两个两种方式。
一个是用户特征x user和商品特征x t m被编码成重启向量,然后使用也就是对应的embedding对进行contact,然后第二个使用x u和xm部分对吧,分别去映射,映射到参数pu的pm。
那就是这个部分了,验证完之后呢,然后再去a再去将其呃,说到最后对应的coaction这个单元被定义为hp usp,因为它里面有很多collection的一个单元的对。
所以说它每个单独部分的话会尽量定义的user就指的是user的一个sequence,user的一个序列,对啊并不只是单一的对你的序列其实有很多的啊,那我再看一下coaction and这里面它怎么做。
怎么进行操作,它其实里面就是一个简单的一个三层的mp层啊,然后呢他将先将psa对吧,然后分成了三个部分的相加,同时将pm也是分成了三个部分,然后receive转化它的一个转化它一个形状呃。
第一层输入部分呢,输入部分呢我们将三个部分输入起来,就是,这三个部分对吧,就pu的主要是三个部分,ok然后第一层的时候,他就和我们的p i t做了一个p i t做了一个交互。
那下一层的话是基于上一层隐藏的一个输入结果,作为我们的输入,以及以及我们另外就是pm它的这个它是分成三个部分模对啊,第二部分结构进行交互,我可以一直到最后一层,黄色部分的话,它是把它作为一个权重。
或者说一个b这是collection它里面那个部分,最后得到它最后那个输出结果,k呃,correction,网络,最终的结构就是一个可以看到它里面的一个主要是包含里面的一个呃,输入的一个是完整。
是个d n嘛,然后对应的话是ex m a user,还有对应的就是说诶转化成对应的呃,我们可以看到上面的部分就是嗯经过之前的,a collection单元定义为h这个部分以及我们的cn。
然后再去接上对应的一个dna啊,这是我们dna里面他所说的一个参数,那需要注意的话是cn的部分的话是绿化的一个参数集,dna的话是dna的一个参数集对,因为我们里面的话肯定要去有很多个参数的。
这些参数集的话都是我们再去经过摩托车反复迭代训练的时候,他会去进行更新的,最终的话我们通过最小化交叉商啊来去不断的来去嗯,训练我们的模型,ok这是对于cn这个模型我们大概的一个介绍。
那也是就是去大概去描述一下我们关于特征交互这个部分,那一个目前的一个进展,当然到后期的时候啊,其实这个部分可以发现,其实这个部分其实的一个进展可能会比较慢一些对啊。
因为可能更多的话会考虑一些那种序列化建模,我们在之前一节课会有讲到那块发展是比较快的,再往下是特征抽取的一个优化,我们讲到就是说你不同的一个输入对吧,你接不一样的一些结构,一不一样的抽取器。
那我们获得的信息也是不一样的,对像cn而rnn transformer,像transformer的话,他其实内部的核心就是进行了一个moi had several。
several attention的部分,这个部分的话它就是进行一个比如说我们有,我们有四个艾特姆,那它在进行moody had several tension的时候,那mod太的话。
他其实就是将我们的书上对吧,我们切分成了多头,然后每一头都进行了一个cf attention,都进行self attention,再去街上对应的ff n的前向反馈的网络。
嗯嗯在saftention里面的话,它会将每一个就是每一个向量对吧,都会和其他部分诶进行一个attention的一个操作,这种操作,然后进行聚合,就聚合是不是就类似于我们聊聊的。
就是嗯类似一种特征交互的一个作用嘛,对啊他其实也起到一个特征交叉的作用嘛,交互交叉的作用啊,就是说我们经过纯草木这种抽取器之后,我们可以获得这样一个信息,那经过r n之后呢,r r n之后。
那我们把它转过系列每个部分输入下一个部分的一个输出啊,输入输入输出这样的一个序列,最后得到最后的一个得到最终的一个embedding,就是说最终引领他其实对这个序列的一个描述,那cn的话。
cn它其实不只是我们可以在那种图的相图的信息上面来去提取,对嗯,其实我们对那种就是说一维的一维的,就是一维的卷积,其实也是可以的,就一维的那种那种那种那种那种对应的像序列呀。
那我们也是可以来去提取这个信息的,这是经典的,就是说cnn transform,那具体的那有哪些对应的一些模型呢,第一个比较经典的是behave sequence。
transform model是简称是bs,它的核心就是加入了一个transformer air这个部分,这是用了一个传送这样一个特征提取器,那这个部分的输入呢是分成两个部分。
第一个是user behasequence,就是用户行为序列,第二个是target im,将这部分输入到我们transform their时候,这flair是地方对吧,它都会进行。
ok我们看右边这个部分,这个图都会进行,就是说moon has tention,然后进行ff n这样的一些操作,这里面交互不仅是特征之间交互,它还能得到,就是说你这些特征对吧。
它和我们的候选里都target的目标,这个交互信息,这种交互信息是更直接的,因为我们最后要去评估用户,他对于这个目标的一个兴趣程度,或者说意向程度对,所以说与它进行交互是最直接的。
再往下就是美团那个路啊,是将bot bot的话,他也是在nlp里面的,都是属于特征抽取器对,然后再去用到推荐里面,可以看到word哈,其实就是由transformer来去来去构成的嗯。
他是这块分成四个图,第一个是transformer layer,也是帮助我们去了解,就是说bot它内部的一个结构,第二个的话是bt for because,就是用bt做推荐这个模型的一个框架,嗯。
c地方的话是呃用简单的一个全form对吧,这是全方面,但全貌他是那种单向的单向的,可以看到它的箭头都都是单上的,没有说就是说我们可以前后来进行这种交互,像bt for recogical这个部分。
对他不仅可以去哎进行网之后来去进行的调查,他也可以去往前啊,第一部分的话是一个r n那个结构,r n的结构对这种交互的话,你完全只能就是说一步一步的就是说串行的来去进行的,对它是可以进行。
它只能进行串行的,那我们其他结构的话,它就可以进行变身的,这也是他们结构所去塑造出来的一些嗯,我们再去优化的时候,或者说它本身的一个特性嗯,另外的话他们再去补录信息的时候,那bt本身来说的话。
他的能力可能是更强的,对的可以看到其实r p现在主要的解决问题对吧,那更多的话都是会用各种bt对,然后嗯出一系列一些方案,然后再做简单的一些融合就可以了,嗯但是常规情况下。
其实现在其实要将波尔特其实用在线上的话,其实还是比较比较困难的对啊,在遇到线上的话,其实更多的话我们可能会去考虑到一个嗯深度问题,成功的深度问题肯定不会太多对,就像我们来去做用trans猫二手对吧。
我们放在线上,其实我们是用的transform,但是我们从summer里面的话,你有樱桃的,樱桃的话,你也可以是多层的,但是我们只用了一层,这就是考虑到一个加上一个超时的问题对,因为超时时间一严重的话。
会影响到就是说整体的效果,因为超市一超时的话,这时候你的模型就不会起到什么效果了,而是选用一个基本的一个极限的一个方案,base方案对,然后也会影响到用户的体验,ok我们继续往下。
那再来一个文化是多模态的一个融合对嗯,比较常规的话,如果说我们想要将多模态信息对吧,融入到我们的模型里面,那像基本的像人工特征对动态信息它可能包含什么,像人工特征。
一般我们在构建c t r模型初期时候会花很多精力作用特征,比如说本身的id,这id的话可以试用户年龄性别地址嗯,职业,然后偏好各种一些信息,或者说关于商品的一些信息。
还有的话就是我们构造出来的一些统计类特征啊,这是一类,第二类的话是文本类特征,比如说我们再去做一个搜索推荐的时候对吧,我们可能会输入query,那query的话。
那其实只是我们可能会对query做一些分词,然后提取一些一些keyword啊,又或者说你在叙说到cy之后呢,可能会有一些候选的一些唉title这些title的话,那我们也会做相应的一些处理。
又或者是我们看到了一篇新呃,看到了啊,一个商品它有一些它的一个文本的一个描述,或者说一些评论信息啊,这就是文本特征,第三个的话是用户侧的一个特征啊,比如说用户的一些序列啊,或者说一些关系图。
这种就可以理解成一个序列特征或者国服这样的一个特征了,再往下是图像特征,对图像的话可能我们也会就是说不同针对吧来去提取这样的一个信息,然后也可能一般来说我们提取图形特征化,可能会一个是不同帧,然后展开。
然后输入到一个序列的一个模型里面,比如说说到cm对啊,又或者说我们将短暂针做一些聚合,当然还会有一些其他的音频类的呀,这些它也是属于多模态里面的一个信息,下面这个的话是一个是京东发的一个论文。
对c s c n n,就是说电商平台里面对吧,我们所第一眼看到的其实是一个图片,而图片信息是非常大的,所以说它很大某种程度上有很大的一个呃概率,会影响到用户是否会去点开哎这个信息。
因为你可能你所看到他比如说用模特穿个羽绒服,对,很大概率你不是看到这个文字上面写的羽绒服,而是看他穿的羽绒服,你点进去的对,所以说这个图像信息是非常能够去诶引导着用户产生点击啊,或者转化这样一个行为的。
那一般我们把这种信息加入到我们的模型里面,一个是我们进行一个离线的,来去得到诶这个图片的一个白点,但离线的话你的一个优化的一个目标对吧,其实和我们实际当中优化目标是不一样的,你在离线做的话。
你换目标可能是对应这个图片的一个分类,但是你在线上的时候,我们做cpr的时候,你的目标其实是是判断他是否去点击哎这个对应的一个类别啊,点击的是是否点击,而不是说它是哪个图像,对两个目标完全是不一样的。
所以说会有偏这样目标的一些偏差啊,所以说我们可以在我们的网络里面去加入像cnn或其他一些结构,来去将我们的图像的信息也作为一个输入哦,当然cc sn它在这个部分其实做的会更复杂一些。
那我们的核心呢就先了解到就是说动态怎么样加入到我们的模型里面,它与离线和线上有什么样的差别,这是关于图像的一个特征,下面一个的话是如何将图graph,这里的话是一个多模态知识图谱这样一个信息。
我们用于推荐知识图谱呢,大家有了解的话,知道它很里面有很多的一些实体和属性,对原本的很多一些实体对吧,它可能本身来说的话,如果说哎有实体对吧,它是一个新品,这个时候的话,我们的一个数据里面对吧。
其实关于这个属性,关于这个实体其实没有任何历史数据,这会造成一个就是一个冷气这样的问题的啊,那我怎么判断它是一个新品当中的一个热评呢,我们可能会借助一些属性这个属性,比如说像手机对吧。
那手机里面的话哎像小米手机还他刚一上市对吧,那它本身小米它就有一定热度的,只要反一上市,他必定是一个爆款的对啊,然后它是整一些配置,也是他的一些属性,那我们看可以将这些属性可以看到。
我们输入的话其实是一个graph的一个embedding啊,然后我们进行了一个实体的一个编码,然后对应的向量,这里的话他又经过了一个mk j的一个attention的二层部分attention,嗯。
大家知道attention它的关键点就是进行一个聚合,得到权重,然后进行聚合的,所以我们到达这个部分题来说,我们进行到达是很多的一个属性,间接属性,然后进行聚和区块之后,更新我们的embedding。
然后再去传入到我们推荐的哎这个结构里面了,这里面核心点就是说我们如何进行一个是进行我们motion model的,一个就是一个多模态,就是知识图谱的一个实体编码的一个过程,这是关键点。
第二个的话是我们如何进行attention layer这个部分的一个操作,这也是这个模型的一个关键,ok我们继续往下看,下一个部分呢是关于长短期兴趣的一个建模或者兴趣的分类。
对啊嗯我们最开始在去建模这种新技术对吧,或者这种超短期收,最开始的话我们可能会去用dn这种形式,可能最早之前的话很很就很常规来进行一些pulling操作对吧,这种简单句和操作就是一视同仁嘛,一视同仁对。
但实际情况下,我们这种序列其实里面信息的重要性是完全是不一样的,然,就说你里面有很多行为对吧,其实和我们的一个目标,那相关性其实并不高的,这种对于我的目标其实做推荐的时候,其实指导意义并不大对啊。
哪些意义比较大呢,与它相关性越高的,如果你用户历史,你的行为的信息对于我们这个ta的相关性比较高,那就说明我对这个target item对吧,我点击它的概率是非常大的。
所以他才要去考虑如何进行个真实的加和真实的一个加权啊,但是在进行dna的时候,他没有考虑到一个时序的一个作用,任何信息它都会存在这种时间衰减的一个因素的对啊,就是沿着时间。
你上个月的兴趣和这个月的兴趣你可能是不一样的,或者说会有一些微弱的变化,所以这个模型dna基础上它有一个升级版本,就是di e n对啊,就是考虑到就是说这种兴趣的一个进化的过程,兴趣一个变化的过程。
对这块它是加入了一个gu这样的一个操作,那还有呢就是说这些里面说的兴趣,其实序列其实可能只有几百比较短,对啊,再往下呢其实我们考虑更多的是一个长期的一个兴趣建模了。
比如像m i m n这个他首次是把建模行为对吧,建模行为首次是把建模行为的那个序列长度扩展到千级别嗯,对这个时候是首次换到全级别的对,但是呢,但是呢由于是将所有用户历史行为编码到一个固定大小的记忆中。
造成里面有很多的一些噪音,怎么说呢,我们将所有的哎,将所有所有就对应用户历史的编码到一个固定大小的记忆区域,当中你的长期兴趣里面并不是都是你的一个真实的,或者说是一个稳定的一个信息的。
它里面会有很多噪音的,你忽然间点了个东西,很误点呀,或者说错误点呢,对这样的信息其实也很多的,这里面的话我们需要考虑什么呢,需要考虑什么,他m i m n它将这些放到一个基因去这里面对。
所以说可能会受到这些噪音的影响,那我们可以考虑什么,可以考虑一些提取一些关键的一些点,过滤掉一些,我们可能就从上千上万里面对吧,学场论里面我们去提取那些重要的一些信息,把它从金组成一个序列啊。
这件事情也是已经有人去做过了,像s i m对啊,这个好像也是阿里的一个论文,对它会进行什么进行一个搜索过程,soft search就是软搜索这个过程,对。
这是我们从非常非常大的一个就是说这种这种这种序列里面,对我们进行一个就是说它是软硬结合的过程嘛,来去搜索搜索或者找到一些关键的一个信息啊,而不是全部都放到我们的一个固定的一个结局里面。
不做任何的一个丢弃,对这样肯定会造成一些信息上面的一些噪音,或者说影响到我们最终一个兴趣的一个表达的,ok具体的话我们在之后课程当中会去讲到啊。
下面呢应该聊一聊,就是说关于我们的推荐高级小班嗯,这次也是是网易和q在线去合作的一次啊,基于网易的数据实战,网易项目,那完全是来自于工业界的一个项目了。
对,那个亮点的话是分成四个部分的一个前沿技术,就像我们讲到的,就是说现在cpr它的一个发展趋势,那我们到时候再去讲的时候,可能会去更多的呃,这是一个合作的对,合作的对里面会有呃。
网易真实的一个实际的一个项目的对,联合开发的一个课程啊,一个前沿技术,那前技术都处在什么呢,刚才讲的只是一个关于cr的,那耗更多的我们召回这块儿是怎么来去做的,对教会现在并不是我们所了解到的。
只是协同过滤,或者说双塔,或者说dsm这种这种这样的一个结构,更多的话它也是考虑到这种序列的信息,或者说多兴趣建模,多兴趣找回,还有呢像知识图谱对,那如何去构建,还有像gta那如何去用。
在我们之前系统里面,这都是一些前沿的技术,也都是现在就是说那我们再去进行面试,或者在战场里面对吧,他们所用到的一些技术啊,第二个是工业级项目,就像这次就是说使用网易的数据,然后结合网易的项目啊。
就网易严选,还有网易啊,网易云音乐这样的一些数据,然后以结合他们的项目,是tensorflow,tensorflow,tensorflow 2的x,那就讲的,因为现在来说的话嗯可能拍摄对吧。
其实我们再去做科研,然后理解起来其实来说跟python其实更像一些对啊,但是其实在发现其实在供应链里面对吧,更多的还是用tf更多一些,包括像我去像我经历的一些厂对吧,都是用tf的,全程答疑。
对有助教老师的有什么问题,我们可以去实时的去交流沟通,还有就业辅导啊,这是主要的课程亮点,那对于网易的数据网页项目呢,那第一个的话就是严选的一个推荐,那会包含就是说我们所了解的不只是召回排序。
我们会把这些信息对吧,他的一个上下游这些信息,这些内容我们全部冲起来,matlab matlab是没有啊,matlab是没有的,my lab,现在大厂里面都不用这东西的,小厂也不用的。
这些你多去做一些分析呀,来去用的对啊,就说整个一个核心的业务和它整体的一个架构对啊。
下面的是网易云音乐的,像我刚刚说的,像这种兴趣建模对吧,像这种兴趣建模,那在网易云医院里面,那我们该怎么来去进行,是长期好呢,还是短期好,对,然后用户他听的音乐呢,它有没有一些明显的一些变化。
那我在进行推荐的时候,那该怎么去考虑呢,对音乐的话其实和电商还是有很大的一个差别的啊,就比如说我们购买了商品之后对吧,这个商品我们可能短时间内不会再去购买了,如果说系统上去推的话。
它一定要超过一个复购的一个周期的平均服务周期对啊,如果说你没超过服务周期,你给他推的话,那你这个系统肯定是不合格的,我都购买过,你再推给我,整体是非常差的,但是音乐就不一样了,那音乐就不一样了。
音乐我觉得是有一个是一个探索性的一个模块,对另外一个话其实是你用的风格的一个模块对啊,探索性的话也许就是说还是从相近的,慢慢的慢慢的往外去进行发散扩散对,但是原来听过的话,这样也会推的。
就像王音乐有每日为你推荐嘛,对吧啊,这样的里面有很多歌曲都是你的一个,他都是从你的一个喜欢里面诶去进行提取的,而且像这种音乐推荐的话,其实也是一个比较核心的对,因为推荐的话其实有时候就和那种视频呀。
像这种短视频其实有时候还比较像一些,还要考虑一些,如果说像这种音乐节里面对吧,你如果想考那种社交的一些属性的话,那我们有时候不仅是会考虑它顶级啊,还有它的一个收听,那这时候我们也会去结合一些关注。
或结合一些转发或者说评论,读评论,看评论,像相信大家如果说大家平时就是听网易云音乐的话,那大家肯定会有兴趣,就说通常会去看里面的一些评论的对啊,所以这个属性也是非常强的。
除了我们的一个实战项目以外呢,就是工业级的实验项目以外呢,我们还有一些实训项目,那其余项目的话,我们尽量也是从多个业务方向角度出发,对像因为我们所面的推荐不仅是简单的一些那种结构化数据的。
我们还有很多就是说像个文本呀,文本呀,还有对应的一些知识图谱这样的一些信息,那也是比较核心的,这些话我们都会在我们实训项目里面去讲到的,后端工程是不需要的对啊,后端工程有专门的人来去做的,后端工程师。
我们推荐系统,算法工程师是不需要做这些工作的嗯,ok目前呢是这也是我们这次一个福利,对我们这只是一个福利,也刚好双11了,对啊,那在双11的时候呢,我们现在课程是定价是19k对啊,这是19000,那。
双11呢我们来了一次特价对,就是减4000-4 k对,只需要付1500即可,但这个福利其实是有限制的,对限制的啊,需要我们先嗯,希望我们在今天对,就是在12点前完成扫码来去领券啊。
所以说这个优惠是仅此今天一天的,就仅此现在今天晚上的嗯,就是说我们去领了一个券,立马可以减4000,另外呢在课程在开课前到开课后,开课前的开课后七天对吧,这个时间段内是接受无理由退款的。
对所以说给大家一个视频的过程,大家去感受一下,就是说我们讲课的整体的一个呃内容,或者说老师的风格所讲的一个呃之前的内容对,是否能够达到自己的预期,所以这也是非常好的,非常就是说人性化点。
就是说我们可以七天内无理由退款,然后大家有什么问题,我们可以现在交流,大家关于推荐系统的,呃我觉得因为这个课的周期是比较长的,或者周各周期比较长的对啊,分成就说嗯内容是比较多的。
就是说贯穿推荐召回排序重排,然后前沿技术,然后是工程相关的对,也会有对应的一些事实的一个分布式啊,分布式,然后会有对应的称spark flink这些信息,最后我们会有对应的实训项目。
就是有时嗯就是会惊喜,就是说类似于就是说呃项目课那种形式的,那项目课的时候呢,那我们会去将我们之前的一些知识点再去结合啊,真实的一个工业地的项目,真实的比较大的一个项目,一共是分成一般分成四个项目的。
对大家可以去进行选择对,然后四个项目其实我们会包含不一样的一些知识点啊,然后呢每个项目呢又会去分成多个课,带大家去完成我们的一个项目的一个整体代码,那我们老师也会给大家代码,整个完整项目代码。
当然这只是第一步,那更重要的是在我们的原有代码基础上呢,我们去做优化,做改进对,去尝试不一样的一些模型,尝试不一样的一些实验,那去发现或是对比一样问题,其实我们在工作中也是一样的。
经常我们可能有一些点对吧,那我们还要经过很多实验来去确定好最终的唉一套方案,然后去上线,那我们的一个实训项目也是如此,我们的一个真实项目也是这样的去做的,每周的话都有,每周都有安排课的,每周都有安排课。
大家可以去到官网里面去看的啊,大家可以去到官网里面。
去官网里面来去看整体的一个安排,就是整体的一个课程的一个安排。
几天后下来也是需要几个月时间,其实算下来,另外是支持12期分期免息的,这样算下来,其实一个月就是1000多,但是如果说我们要去转行,对我们要去转行,然后或者说我们要是去嗯下一步的晋升。
那这些给我们带来的收益都是非常大的,像我们再去做推荐对吧,推荐其实它的一个收益对吧,在我们算法里面算公式,它是分成很多方向的,有c v有r p,还有一些像一些呃机器学习,数据挖掘风控,然后推荐推荐系统。
那推荐系统它这个平均的收入是平均薪资是最高的,声源的话我们是有一定的要求的,我们要是要经过简单的一个了解你的情况的对啊,因为我们对大家基础也是有要求的,因为之前的话之前学员里面对吧。
也是有一些已经是大厂的对想去就是说之前可能没有做推荐,但想去就说转到推荐这个这个方向,来对像之前的话有京东的对,然后还有百度的对,但都是想去转行到推荐这个领域,因为推荐这块的话确实相对比其他的数据挖掘。
积极学习,或者说金融这些风控整体的收入是肯定是高的哈,基本转行,然后或者说升个级,你一个月基本上刚好就是这个学费了,都有可能,大家看看还有什么问题吗,就关于推荐他的一个职业方向呀,或职业的发展。
或现在目前的一个情况啊,又或者说现在推荐的话,我们再去求职的时候需要注意什么问题,还有课程里面的一个内容啊,都是可以去问的,大数据会有呀,我们会有去讲到flink spark这样的一些。
因为我们再去处理数据的时候对吧,数据数据的时候,那我们就会可能就会去用到,就是说像spark这样的一些,或者说我们基本上可能会去用hive circle。
对另外的话会去用spark来去构建我们的一些特征啊,所以大数据的一些内容我们也会讲到的,大家可以具体看这个课程的页面了解,论文我们不会去论文去过论文的,不会去弄哈,我们会去提取论文里面的精华的。
比如说我们会专门有个课程的话,就去讲这种序列化推荐,那我们会去从呃d n b a n b s t e m p或者md这些哎讲下来,然后了解到现在序列化推荐是什么样的一个方向啊。
而不是说我们把这论文拿过来,就是说从摘要到后面讲,而是说我们我们其实讲的你也可以看到这种我们是讲的事实,大家去理解唉,这个算法理解它与其他算法的一个不同之处,它的架构是什么样子的,就是它的框架是什么样。
子的他为什么要这样设计,这个是我们的核心点,就是让大家去理解,就是说它这样发展还有什么样的方向,还有什么样的趋势,在基础上他有什么,就是说可能的一个优化点或者它的一些缺点在哪里啊,比如像dna对吧。
他虽然去改进了dna,不能考虑到时间的一个影响,对我们兴趣的一个影响,对于这种衰减的一个因素,但是呢你加入了就是说他有加入两次,进而又对,而且还是双向的这种对吧,序列化中这种序列化模型对吧。
它很大的像rng或者rtm混回是很会影响到我们整体的性能的啊,虽然g i o它是比i i i t m和r n效率高的对啊,但是还是会影响到的,嗯现在论文的话更多的是考虑就是说从其他方向的一些点子对吧。
拿到我们现在的一个诶推荐这个领域来,然后再去看能否去结合一下,然后去发一个论文,对啊,就像是在去做一些呃ccr概率校准这个部分,其实校准的方式,其实可以发现很多的都是一些那种呃那种工业制造的一些点。
对他们才会去去用校准,但是呢我们再去做c cv工作也需要校准,所以这时候呢就把那个领域的一些方法去用到我们现在这个领域了,对,肯定要歪,不好意思,ok我们再给几分钟时间带过问题可以讨论。
然后呢另外一点的话就是可以去了解一下我们这个课程,然后截止到今天12点前,我们是有一个4000的优惠,大家只要扫码,然后立马就是说会有得到我们这四天的一个券,同时呢是支持12期分期免息的。
所以这个我完全是没有什么压力的,对同时呢在这种情况下,也能够就是说为大家之后的一个晋升,就是职业的一个发展,或者说你想去换不一样的方向,跟你原来是搞工程的一些想去搞算法,工程和算法现在其实会差很多的。
这个工资这一块,包括你可能之前是做后端的,那都是可以考虑的,或者说之前是做数据挖掘啊,数据分析的那也是可以去唉去尝试去转到一个不一样的,或者说收入更高档的一些岗位啊,ok大家有问题可以提出来。
我们可以讨论啊,那另外呢大家尽快去领我们的优惠券,减4000元的优惠券,然后呢是支持12期免息下来,就是说一个月就付1000多嗯,这个优惠这个确实非常吸引人的,因为我们这个其实并不单是课程对。
更多的是我们会有就是说在大厂的老师对吧,进行全程答疑,然后会有就业辅导,而且还会有就是说我们这老师对吧,都是经常去面试的,对经常在大厂里面面试,所以说有这些经验和经历,所以大家也会去指导大家进行这种。
我们也会去模拟进行这样的一对一的面试的,大家看还有什么问题吗,我们继续交流,基本上在做推荐的话,我上面做推荐的话,其实薪资那基本上都是在30k30 k以上了。
基本上30k基本上12年的话都是30k以上了,但是做推荐我可以这样说,推荐我觉得他是对算法这个研究还是要求比较高的,你做完天之后,你如果不想做推荐,其实你这时候你转哈,再去做什么风控啊,再去做什么。
比如说营销算法呀,增幅增长呀,再去做一些数据挖掘,机器学习都是很有优势的,可以去看看那些做什么虚无,主要是继续这些的话,他们其实用的三把其实来说都比较简单的啊,推荐这个领域。
因为它毕竟哎适合我们的一个和论文比赛之类的,和论文比赛之类的,是什么意思呀,ok我们再到09:15,然后我们在三周时间,大家什么问题可以尽快问,需要有论文比赛经历的,嗯不需要的钱,有的不需要钱。
有的对啊,因为我们这个我们这个课程里面,我们有对应的项目,对应项目啊,而且我们也会讲到,就是说也有讲到比赛的对,像最近的像微信的视频号多目标的一个推荐啊。
这个话其实我们可以直接就是说大家去实操top选手的方案,这种话是完全也可以作为一个比赛的一个项目的,就说我们除了就是说有那个还有那种唉工业级项目以外,我们也有比赛的项目。
ok我们还有最后一封时间也没问题,可以讨论,然后呢我们这次呢是双11优惠,扫码立减4000元,课程立马立减4000元,截止到今天12点以前,对我们这个优惠是一直都在的。
另外呢我们这次课程是支持12期分期免息,你相当于一一个月就付少1000多,但是其实课程完之后给大家带来的收益是远比这个是高很多的,也许你到时候唉一转到推荐你的,可能你的薪资提升就比这个课程价格高。
可以说我们这个课程下来之后是足够大家去到就是说到嗯,在厂里面去工作的,对这个16我觉得是没有问题的,ok我们课程马上结束了,大家还有问题,没有问题的话,我们今天的课程就今天的分享就到此结束,工作太久。
也没有也没有也没有没有在这说这样嗯,基本上十点钟上班呀,然后晚上的话就是八点左右都还好,卷中卷,但是收入高雅是吧,好我们这次课程就到此结束。
人工智能—推荐系统公开课(七月在线出品) - P13:【公开课】快速入门推荐系统串讲 - 七月在线-julyedu - BV1Ry4y127CV
🎼。
还有一分钟,我们的直播马上开始。那我们直播中呢也欢迎各位同学提问啊,有什么问题我们都可以在讨论区里面发言的。欢迎同学们积极踊跃提问啊。好,ok我们现在正式开始啊。😊,那我们今天呢大家去入门。
对快速去了解那推荐系统。那主要是围绕两个部分,两个模块,一个是召回,另外一个是排序。那我是今天的老师啊,分享人。王老师,那目前呢我是在呃互联网大厂里面来从事的是。推荐广告相关的工作。OK嗯。
主要呢是分成了可以分成四个部分啊,一个推荐系统介绍。那第二个是召回模块,第三个是排序模块。最后呢我们再去做一个简单的一个总结。那这次直播当中呢,我们也会发出一些奖品,像VIP月卡,还有现金的优惠券。
大家可以进入我们的答疑群。嗯,然后呢想去进达一群领课件的话,可以加老师的微信啊。大可以加老师的微信,然后群里面可以进行讨论提问,然后领奖品。那领奖品的方式,其实就是说我会给大家提问,对吧?
大家可以去回答问题,然后也可以向我提问。那提问或者说是呃或者说是回答问题的话,都是可以领奖品的。ok我们言归正传,看始今天的主要内容啊。
那推荐系统呢现在是一个。一直以来是比较火的一个领域啊。那像很多的一些我们所用的很多产品,对吧?啊,像抖音呀,或者说像京东的电商平台呀,或者百度,或者说看一些视频呀,像youtube里面。
那我们所看到内容,它都是经过推荐系统所展示给你的。这已是已经是很多的一些APP对吧?很多的一些网页,他们的一个标配了。那因为有这样的一个推荐之后呢,才会更好的来去获得,更好的来去根据我们的一些兴趣。
我们的一些胃口来对症下药,对吧?比如说你想最近想去看什么衣服。那哎这时候电商可能就给你推个衣服了。你可能在电商里面搜完衣服之后,你发现你在抖音里面,他又给你推类似的一些衣服了。对啊。
这些都是获取到你的一些行为日志数据来去做的一个决策。然后将这些东西推给你。而且呢像很多大厂队吧,它的一个收入来源收入来源。对啊,很大一部分就是来源于像推荐。那推荐里面也有像广告的推荐,对吧?
还有相当自然量的一些商品的一些推荐啊,这在场大厂里面都是属于那种商业化的一个团队了啊,商业化就是比较核心团队了。你如果说你能够让指标有一个1%的一个提升。
那的收入可能你一天的一个广告收入或推荐收入就可以达到上千万,那如果说你的指标有1%的提升。那你这一天收入就可以多上个几十万。所以说我们能够如果说能够掌握这荐系统,同时呢能够去发现或者说找到一些优化点。
不管是在哪种模块下,那我们将这种嗯点优化好之后,那其带来收益是非常大的。这也是很多大厂就是舍得舍得给做推荐的同学,对吧?呃,总是给他们就是说比较高的工资的一个很大的一个原因了。
接下来我们来去了解一下它的整体的一个流程是什么样子的。啊,那第一个的话还是数据。对啊,数据不管你的模型,你的一些算法再怎么牛逼。对啊,你没有数据的一个支撑,那其他就是个空壳啊。
也是也学习不到比较好的一些信息,也学习不到用户的一些行为兴趣,也不会变得非常的一些鲁棒啊,所以说数据是非常关键的这些数据呢全都是平台里面所产生的各式各样的一些交互的一日志。比如说在电商场景里面。啊。
我们这是电商场景,那它里面数据都有上都有什么数据呢?啊,比如说像一些哎浏览的一些数据,最基本的我们展示给用户了,然后用户去浏览。那浏览他可能。进一步会点击。那点击完之后,他可能会去加入到购物车。
大家可以去想一下,你不管是在淘宝还是在嗯京东里面,对吧?你看到商品之后啊,你点进之后,它是不是有两个对应的按钮,一个是加入购物车,一个是直接购买。所以说对应的也会多两种行为加入购物车,然后购买啊。
那这样数据有了之后呢,我们就可以根据这些数据,这些日志来去提取出关键的一个信息。啊,从里面来去提取出用户的一个兴趣。我们不管是在电商还是在什么那种短视频平台,对吧?都是以提取用户的兴趣。
刻画用户的需求兴趣为主为关键的那这都是来源于他历史的一个行为的一个数据啊,行为的信息。比如他定期对吧?经常去浏览一些美食。那他的兴趣肯定是美食了。对啊,那他最近的话可能在经常去点击一些哎衣服相关的产品。
那我们接下来给他去推衣服产品,那很大概率他可能会去点击或者说是购买。OK有了数据之后呢,我们就开始去利用推荐系统技术了。那第一个是召回啊,这召回是什么意思呢?啊,我们电商里面的商品对吧?
其实有很多的有千万或者说上亿条商品的,上亿个SKU的对ite的这些商品短视频也是一样的,千万百万上亿,那也是存在的那那我们怎么样从这里面来去选选择一些比较关键的对我们不可能把这些商品,对吧?
全部推荐给用户,也不可能对接商品,我们依次去建模。这样的话这个数据是非常非常大的对啊,所以说呢我们召回就是从这个非常大的集合里面去做第一步的一个筛选。原本的是1000万。
那我们可以从里面去筛选11000或者100个商品来去输入到第二步排序。这时候的话你给到排序这块建模其实压力又变得比较小了。对啊?排序这块的话,我们可能会去构建很多的一些特征。
这些特征呢就是为了帮助我们去描述用户的兴趣,商品的特性。上下文的一些关系。全都是在排序这个阶段我们去做的事情。嗯。那我们排序完之后,我们可能得到就是说按它这个概率对吧?来进行排序。对。
就是看他对哪些商品购买概率比较高嘛。然后依次排序完之后,这是一个二分类的一个问题。那比如100商品,我们排序完之后取top10个展示给用户。这个时候并不完全对并不完全正确啊啊。
因为这个top10如果完全都是单一品类的用户,单一品类的商品或单一品类的视频。如果说你看到一个页面的话,全都是这同一类型的一个,全都是鞋子啊,或者说你看视频全都是美食。就时候你会变得非常的厌倦。
非常感觉非常的就是说呃很没有意思。其实这很这会会非常影响用户体验的啊。😊,就会把用户兴趣变得越来越变得单一单单一化。嗯,所以这时候我们也要考虑到一个就是说这个系统的一个生态的一个发展啊。
也要考虑到用户的一个体验的。这时候我们会进入到一个rera的部分啊。当然我们展示这些商品,它怎么组合会更好一些,也是在rera部分我们做工作。最后推荐合适商品展现给用户。就是我们再去在淘宝也好。
天猫也好,或者在抖音也好,知乎也好,我们能看到的信息都是经过这样的逻辑哎,都建出来的。
这块就是说的是召回排序,对吧?它每个阶段嗯。第一阶段是召回嘛。对我们可能就是说整体的数据量啊,millions millionsill对吧?然后我这这阶段需要的是处理数据量非常大的。
因为我们要从整一个整一个视频库里面或商品库里面去筛选。所以速度要快,模型不太复杂,使用较小特征。第二部分的话是排序啊,可能我这时候将100个哎给到排序ranking这个部分来去做。
这时候我们可能要去有更多特征来去辅助我们。辅助模型做更好更精准的判断。
这就是一个简单的一个流程了。okK再提醒大家啊,大家可以去加入我们的答疑群,加入群的方式的话,我们可以去加老师的微信啊。那我们每阶段都会提问的。然后大家有什么问题也可以提出来,我们可以去交流沟通啊。
ok接下来开始到我们的核心部分了,召回模块。😊,召回这个部分的话,其实是嗯能做的工作是非常多的对啊,能做工作也是非常多的嗯。一般我们召回可能可能像大厂里面对吧?做召回的话,可能有那种多路召回。
可能要有十几个。不同的召回召回策略。对啊。但排序的话。只是一个模型而已。对啊。因为召回的话,我们可以就是同步进行吧。对啊。
OK呃,召回的话就是说我们去缩小搜索范围啊,就像我们这个下面这个漏斗一样。对啊。所有的iteite的话,你可以指的是商品,也可以指的是一个新闻,也可以指的是一个文章,也可以指代是一个视频。对啊。
然后我们去选择候选的iteem,原本的话可能是百万,那我们候选到100啊。这是第一步就是缩小搜索范围。第二个的话是通过局部来去拟合整体啊。就跟盲人摸象一样。对啊。你的。一某一种召回策略对吧?
它不可能将整个大项所有的内容全部涵盖到涵盖到位的。你如果全部涵盖到位的话,你直接将所有的ite全部作为候选计算了。但这又违背了我们召回的一个初衷。啊,所以说我们需要是从多个角度就跟哎第一个人。
我们从像鼻例这部分出发这个方向出发,哎,我们去召回10个商品。第二个同第二个第二个同学呢,我们从象尾巴这块出发,哎,我们再去召回10个商品。然后最后我们将每个部位对吧?就类类比于每个召回的方向。
将其整合起来,最后构造出几百个哎,或者说100个上千个这样的一个候选的商品。所以赵回他是做这样的一件事情的对啊。我们尽量从多个角度都考量到位,考虑到位啊。有时候用户他不一定是跟着根据自己的兴趣出发的。
你完全去如果说你完全去考虑他历史的一个行为拉去他召回的话,你有时候可能会忽略一点什么信息呢?如果说用户他历史没有数据怎么办?这时候我们可能会从呃那种热度呀,最近哪些商品比较热,哪些视频比较热的来去出发。
就比如说我们去刷抖音应时,对吧?啊,你可能最近的兴趣点,对吧?O不在这里,但最近有一个大众的一个兴趣,或者最近有个实时热点,那这样一个信息,它其实就是召回的信息的。
他可能会去有一个这有一个实时热点召回啊,实时的大众兴趣召回,然后推给你。
就是从不同角度全方位的去考虑。接下来的话,对于召回,其实嗯不管召回也是或者排序,我们都需要进行效果的一个评估的。嗯。而且现在评估的其实考虑的点也是越来越来越多越来越多。对啊。尤其是对于不同的一个平台啊。
如果说我们围绕的是以CTR,就是依照点击率啊,它核心是点击率,核心是点击率啊,但是还有很多指标我们也需要去去考虑的。啊,比如说我们看知乎对吧?里面唉。他可能很多的一些文章,对吧?
有那种标题党的对或者说公众号发文章,有一些标题党的,但里面内容的话,其实你并不感兴趣。如果你整个平台全都是这样的文章的话,它点击率是非常高的。对,但是会随着时间的推移。
他用户肯定他整体的流量肯定会降低的啊,因为用户感觉到这个体验好差呀,全都那些标题党。对啊,所以说他还会考虑什么呢?考虑一个就是说用户的个体验。对交互的体验。啊,或者说你浏览了一个市场,观看那个市场。
对啊。另外对于召回的话,其实我们还要考虑它的一个覆盖度。这个覆盖度其实就是我刚刚说的还有多样性啊。我刚说的就是说召回他尽量的话是从多个角度来去出发,尽量去覆盖多方面的一个item。
多方向的一个一个一个商品,或者说视频。那准确度也是非常关键的。肯定要准。对啊。在准的前提下,我们再去考虑覆盖度多样性啊。还有一个是时效性。时效性的话,这个有时候也要看你具体的一个平台。啊。
时效性的一个召回啊也非常关键的。你如果都是召回也比较老的对那新的你得不到展示,得不到展示,那其实会影响到很多就是新的。因为那些新的商品,对吧?或新的视频,它刚开始它是没有流量的它数据是非常小的对啊。
如果说你完全只考虑历史比较热的话,它会陷入就是说推荐里面的一个热度偏差,或者说马太效应这样子个问题。这是我们需要根据具体的业务考量的不一样的一个指标。另外的话就是我们需要进行离线评估呀。
看它的覆盖度呀或者los呀。像上测试的话,我们可以去看它CTR或者人均阅读啊,这是评估这块我们可能要去考虑的事情。那么再往下。
接下来我们去讲一些嗯召回模块里面的一些一些经典的经典的一些呃模型。对经典的一些算法。那最经典的话就是CF了,协同过滤啊协同过滤。那系能过滤的话。嗯,在0几年的时候其实就已经有了。对啊,比较早。
包括虽然它比较早,虽然比较早,但是目前而言,对吧?嗯大厂里面他还是会用的。像对应的iteom CF或userCF还有很多的一些行动过滤。呃,还有一些像神经网络,就是NCF神经网络和CF的一个结合的对啊。
也是用的是非常多的啊,也是必不可少的。Yeah。那我们可以去看一下啊,嗯这里的话行成过滤是同时使用user和item之间的相似性来进行推荐。那我们这块给个例子,嗯,如果用户A和用户B比较相似,对吧?嗯。
用并且用户B喜欢视频一则系统可以向用户A推荐视频一。就比如说小红小红小呃,比如小美和小和小丽对吧?她俩之间的相似度是非常高的。你可以看到这块。他俩相似度非常高的对,所以说呢哎小美和小丽相似度非常高。
那我们可以将小丽她喜欢的一些商品啊推荐给小小美啊。这种是没有什么问题的对啊。这种话就是一个典型的userCF了。对啊。根据两个用户比较相似,那我们会将用户他喜欢的东西推荐给另外一个用户啊。
这里面的话它是首先呢它是要计算。他们之间的一个相似性打分的啊。然后通过这块是它对于每一个不同的一个化妆品的一个评分。对啊,然后呢我们将这些。构建成一个。类似这种形式的对啊。那没有的话。
我们这块标为零分标为零分。但零分的话,实际当中我们可以去考虑这个问题啊,零分其实并不合适。啊,我没有对某一个商品,某一个化妆品打分,并不代表我不喜欢它。对,这个我们可能我们经常可能只是围绕着某一个视频。
美食视频去看。啊,但并不代表我不喜欢音乐,就在我们在在抖音里面是一样的对啊,你给我推荐音乐,我这样可能也也会喜欢的。对啊,是这样的,这样一回事,只是说哦一直没有推荐给他退啊,这个这块兴趣哎。
我们还没有探索到,还没有发现到,因为没有这样数据的反馈。所以这点是需要出注意的啊,一般的话我们可以考虑就是说对这种画我们进行一个简单的一个填充啊,或者说更细一点的话。
填充话其实要考虑的是用哪种填充方式了对啊。一般用均子值中位数填充就可以了。然后再去利用鱼神相似性来去计算他的个得分就可以了啊。
那下面的话我们来去讲一下user CF和iteom CF这两种是怎么样来去来去来去推的啊,我们首先来去看user CFuser CF。UCF的话,它的核心是找到相似的人。你了解到相似的人之后呢。
我们可以把另外,比如说这里面对吧?我们看一看图呃,我们的右边右上角图。嗯,euser A用户A和用户C两者是比较相似的。然后我们就可以把无物品。D物品D的话,A是没有交互过的。我们可以把D推荐给A。嗯。
这就是use着CF,我们可以做事情。那UCF的话,因为它是依靠于系用户用户来去做这样推荐的,它更强的是有那种社交属性的一个平台。嗯,如果大家平时在玩那个啥的话,玩视频号的对公众唉微信里面的视频号。啊。
它里面不是各种视频吗?它里面的话有有几个会去考虑,就是说根据你的好友,把好友看过的视频推荐给你。嗯。好友点过视频,他会优先推荐给你的。所以说视频号是一个具有非常强的视频属性的唉,社交属性的一个平台。
对啊,他就是为了去挖掘用户之间的这样的一个社交属性的对,加强这种社交属性的你俩关系比较好,那我们来去推你看过的视频给我,哎,我可能会更更感兴趣一些。对啊。啊,经常可能用户哎人们就想去看看你的身边朋友。
他们再去看什么视频,或者说你去菜市场去买东西,对吧?你发现哎,张大妈去买了一个商,买了个商品,哎,他跟你一说,然后你又过去去买了。对啊,都会受这样的影响的。所以说U的CF也是这样的一个出发点。
那还有呢像iteomCF啊。iteCF的话,它的兴趣变化相对于稳定的一个应用。电商里面经常用商iteom CF。因为电商里面用户的用户这个属性是不稳定的。啊,优惑属性是不稳定的。
他的兴趣会经常发生变化的。但商品的属性是非常稳定的,我们可以找到相似的商品。具有比较高的相似性的商品。那我们可以看图里面物品A和物品C具有高的相似性。因为A的话,物品A被ABC都。
都喜欢过C的话被AB喜欢过,所以这两个比较相似一些啊。对,因为B的话只被用户B喜欢过啊。所以说所以说。所以说物品A和物品C是更相似的。那这个时候我们找到这两个相似性之后,我们发现B。😊。
他没有和C发生过交互。我们就可以把C物品推荐给用户C了。Okay。一个是找相似用户,一个是找相似商品。这两种的话。嗯,我们现在一直还在用,对,效果一直还都比较好嗯。
那我们继续往下看啊。下面这种话是关联召回关联召回。对啊,这种话也是呃因为我之前嘛经常参加一些比赛。像主要是参加那个什么卡go,还有天池里面的。那里面会。也会举办一些推荐相关的比赛。对啊。
那我当时的话就是用这种关联召回的方式啊,直接能够拿到就是说top10的一个名次了。那这种方法是怎么做呢?如何去挖掘这种关联性呢?挖掘商品的关联性。哎,这就是我们关联召回里面关键点了。对啊。
根据关联性来去给商品进行打分。
OK那我们来去看一下,我们这块举个简单例子啊,以小冯为例啊,比如小冯他去购买了很多商品啊。我们时间的话由远及近啊。橙汁是最近的,伊利牛奶是最远的。这是一个用户,他的一个日志,他的。嗯,交互的一个日志。
他交过很多商品。对这里面每个商品。与其其余商品都是属于关联商品的。就如说少房他买了威化饼干,又买了奥利奥,那我们可以理解成这两个商品是具有关联性的。嗯,大家有没有了解过像就是啤酒尿布,啤酒尿布啊。
就发现很多人他去买了啤酒之后,对吧?很大概率也会去买尿布啊,这是国外的国外给出来的一个给出来的一个一个结论啊。对啊,所以这两者具有很强关联性啊。Yeah。那有了关联性之后呢。
我们要去考虑这关联性我们怎么给它打分啊?关联性其实比如说像威化饼干和奥利奥,对吧?还有威化饼干和伊利伊利牛奶。这两对儿他们的关联性分数是否应该是一致的?理论来说的话应该是有存在差异的。呃。
为什么可以为什么可以这样这样说呢?呃,一个是说时间的一个差异啊,时间一的差异。我今天所买的一些商品,对吧?和我上个月买的一些商品。他们之间差异性肯定是非常大的,大概率是非常大的对啊。
所以说我们可以根据时间远近来去构建一个,比如说是类似于像样一个。时间衰减的这样的一个参数,这样一个呃权重系数啊,另外是除了时间这种或者说位置这以外,还有一个是它的一个。方向方向。对啊。
方向又该怎么去理解呢?比如说我们买了个手机对吧?接下来我们大概率会去买手机壳。啊,这种从手机到手机壳这种方向这样出现的商品,对吧?手机到手机壳这量商品按这种方向,手机壳嗯手机到手机壳这种方向的。
它的出现频率肯定是大于从手机壳到手机的。所以呢这两者之间的一个分数又是不一样的。对,就是一个正向和逆向的。那对应到我们这例子里面,就是说威化饼干到奥利奥是正向的。威化饼干到饼干。是逆向的啊。
正逆的话我们也会去考虑它的一个分数的。okK我们第一步先去计算小冯他所交互的所有商品里面。商品与商品之间关联的一个分数。接着我们除了小小冯以外,还有小李、小赵小王都可以去计算,然后将这些分数累加起来。
比如说小房里面酸奶到饼干的分数是0。6。那小王里面的话算到算奶到饼干的分数是0。5。我们最后会去统计一个总分的,就酸奶到饼干,它的总分应该是所有的。人对应酸奶饼干的一个分数总和,它就的分数1。1。
有账分数呢就是得到了这两个商品的一个打分了。接下来我们会根据一个用户,对吧?他所交付的商品。然后找到与它相似性比较高的打分比较高的商品,然后排序就可以了。比如威化饼干,对吧?它可能跟面包呀。
有可能跟面包关联性比较强一些,分数比较高高,分数比较高一些。苹果的话可能跟西瓜的分数比较高一些。然后最后得到最后的分数。然后再做一个排序,就可以得到最后的一个推荐。的一个结果了嗯。O。
大家有个问题的话都可以提问啊,也是欢迎大家积极踊跃的。😊,提问我们都可以交流的。因为时间缘故啊不可能讲特别细啊,我们继续下面部分。
下面的话刚才是讲到了一些基于协同过滤关联规的这种方式啊。下面我可以记记录一些。嗯,向量化的一些召回的。嗯。下列号召回的话,其实我们可以理解成多种啊。一种话。
比如说像那种我们可以经过wood director或者说deep work。来去得到的呃物品的一个向量,然后计算物品之间向量的相似度,然后来去召回。另外一种的话,我们会去经过DN的方式啊。
DN的方式来去得到用户inbedding和物品inbedding。比如说我们离线的话,先去构建好用户的特征和物品特征,然后他们去输入到我们的模型里面。然后从模型里面的话,我们可以去提取到什么呢?
可以提取到用户的inbedding,还有物品的inbedding。我们将其存储起来。然后我们到线上的时候。现看的时候,就是用户I登录到了我们平台之后呢,我们可以去提取出用户的inbedding。
然后通过faceestface的话是一种近似最近灵的方式。快速来去获取到与用户inbedding相似高的top n个物品。就这里了,然后推荐给用户。V的话可以之后去查一下,这也是比较经典的。
也是大厂里面,他们也是按用这种方式来去做计算的。如果说你是一个呃就是你不用这种金丝化的方式,对吧?呃,你挨个去计算,挨个去计算,因为我当时做过实验,对吧?呃,3000万3000万个商品,对吧?
你挨个去做计算计算每个商品,它与其他商品的一个相似性打分,就按预算相预算相同度来去计算。你大概需要七八个小时啊,但是你如果用f这种形式的话。半小时可以解决了。啊,所以说效率非常快的啊。
接下来讲一个比较经典的youtubeDN啊,这个应该是。嗯,也是近几年吧。对,在16年还是1几年的时候,那youtube发的一个论文了。对啊。
它就是一个就是说用inbedding向量来去进行召回的那具体怎么做呢?
我们可以先去看我们的输入部分,输入部分其实非常简单的啊,一个是用户他所观看过视频的一个inbedding。这个inbedding我们是预训练好的。
我们可以用what to a或者用prone e或者用depo这个形式来去得到对应视频的inbedding。然后我们根据用户历史看的视频,他历史可能看10个视频。
我们计算这10个视频的inbedding均值就可以了。还有的话是用户搜索的。用户搜索的一个信息。用户搜索信息它是非常强的一个意反映用户的意图的啊,很大很多的一部分的收入或者流量都是从搜索这块进入的。
除了这之外呢,还有一些其他的一些,比如说我们这个视频的一个时间,它的一个年龄。其实啊哦然后我们的个性别啊,还有一些是一些地域的一些embedding啊。这些他都是进行那个拼接完之后。
输入到一个三层的全链接层。Yeah。接下来关键点是如何去提取我们的。user vector用户的inbiing还有。视频的隐卖点。我们最后一个权A层的隐藏,对吧?输出结果隐藏的结果对吧?隐藏输出结果。
就是我们的。User vector。啊。这个部分的话。我们到线上的时候会去用到的啊,我们离线是主要是会去保留的是video它的一个vector。是在soft max部分,对吧?soft max部分。
它里面包含两个部分。一个是我们隐藏的一个输入啊。另外的是我们的嗯参数举证权重举证。对啊。我们将soft max层部分对吧?可以去提取出来对应video的一个向量。这部分下量的话。
我们把它放到我们的离线的数据库里面。然后我们线上的时候。线上的时候怎么去操作呢?我们离线先去得到每一个视频的一个ebedding。线上的时候,因为因为我们为什么将线上线下分开做呢?
呃呃因为用户的影向量对吧?它其实会发生变化的,用户兴趣是不稳定的。对我早上和中午晚上看的视频是不一样的啊,每个阶段我可能可能我在中国可能看一些搞看一些搞笑视频。晚上的话我可能会去听一些音乐啊。
看一些美食的视频。所以用户兴趣是不稳定的,所以我们需要进行线上。推理对啊。但是呢视频的。它的向量对话,它的一个它的一个他的一个信息对吧?是比较稳定的。不会发生比较大的变化。
所以说我们离线可以将用视频的V6它的一个向量保存下来。线上的时候我们用模型经过这套模型,对吧?将用户特征哎输到里面,然后得到优user的一个歪 vectorctor。然后呢,导到下量之后呢。
我们再去数据库里面经过运这种fax方式,对吧?再去找到top N推荐给用户就可以了。这是youtu DN它的一个流程操作的流程。Okay。ok再下一个是DSSM啊。这个话他最开始的时候是做搜索的时候。
哎,搜索的时候会用到的对啊。这个搜索里时候呢,它会去计算,就是我们的刀,我们的query和。document对。他的一个相似性啊。那这个里边的话,我们可以把它。嗯,它是一个双塔的一个形式的啊,两个部分。
我们第一个塔的话是query。啊。query vector我们这个部分其实可以把它理解成一个用user的一个特征。第二部分的话是一个dooc vector。
这个部分我可以把它理解成一个ite的一个embedding。嗯。然后他分别去经过表示层之后。然后有一个。计算它的一个相似性。这个相似性的话,我们有两种方式啊,或者其他方式也可以。一个是计算余弦相似性。
第二种的话,我们计算它的内积。完了之后再去输入到我们对应的soft max,或者说输入到sma。具体你看你怎么你是二分类还是多分类来去做呢?那这是DSSM的一个做法。O我们继续往下。😊。
嗯。刚才我们讲到的是一个那种单的一个inbe项量啊。呃,但是其实大家可以去想用户兴趣。去集合成一个向量,其实是不是感觉会有点问题啊?因为我们的兴趣是多种多样的对啊,即使我们只是在下午,对吧?啊。
我们可能不只是对音乐这个感感兴趣,我可能还有其他兴趣。啊,都可以来去做一些召回的。啊,这个时候呢哎。又有一些学呃学者对吧?他们又做一些研究,哎,我们将能否去提炼出多个用户的兴趣。
然后每个兴趣我们都去进行了一个召回啊。来去都去经过一个线上的一个serving,来去得到多个不同兴趣的一个一个一个结果。当然是可以的。啊,嗯这块给大家展示什么呢?
是一个比较经典的啊IND啊多兴趣提取的一个网络啊,多兴趣提取网络。它里面的核心呢是通过胶囊网络的方式。啊,胶囊网络的话,你呃你可以把它列成什么呢?列成我们将用户的行为的一个行为的一个胶囊,对吧?
它你可以把它列成一个聚合的一个过程聚合的一个过程。😊,啊。聚合过程就将用户的行为将每个行为把它类比对应,就当做一个行为的一个胶囊,对吧?然后将这些行为胶囊呢,我们聚合成一。多个兴趣胶囊。
就是从多到少的一个聚合过程啊。这就是我们这个和中间部分所做的事情呢。其他地方的话就是比较常规的,其他教练比较常规的啊,就是我们看它的输入部分。输入部分的话也是用户他历史的一个行为序列啊。
就个序列里面的话,它是包含三个部分的。第一个部分的话是at my ID。还有category ID,还有。他的品牌ID啊。嗯,为什么要三个三个对应ID的这个inbedding啊?呃。
主要的关系还主要的原因还是因为就是说呢主要还嗯因为有些对吧它的iteID对吧可能比较稀疏一些。对啊,所以说我们可以引入其他的一些sideide information。啊。就其他的一些边缘的一些信息啊。
来去缓解这种冷起问题的。那我们将这些部分,对吧?OK。输入到我们的一个。多兴趣抽取层。那经过多序兴趣抽取层呢,我们可以去得到可以去得到哎多个兴趣的一个网络,多个兴趣的一个向量。那有多个兴趣向量之后呢。
我们再去okK他会经过1个H。多层的一个隐藏层隐藏层啊,这时候我们是有多个兴趣的多个兴趣的,它又去结合了一个attention的一个操作。label array情式哪个操作?
这个部分的话其实就是为了去将其再去进行了一个聚合。那它里面ten的话里面分为三个部分的一个输入。啊,Q的话。是我们这个labelQ是我们labelK和V是相等的。都是用户的兴趣向量。
我们这时候应该是有多个兴趣向量的对,然后我们通过天审之后,我们枪可以将其进行一个聚合,因为它会得到对应的一个权重,然后我们可以进行一个向量之间一个加权操作。这是我们在去train的时候。
我们需要去做的事情。那我们线上推理的时候呢。我们经过H多层的一个隐藏层之后,对吧?我们可以去得到可以去得到多个兴趣网络,多个兴趣的一个商量。然后我们再去再去进行到serving这个部分里面。来去提取。
找到对应item的一个inbedding。其实就跟我们youtube电里面是一样的啊,我们这时候有了。兴趣限量之后呢,我们去计算它和其他iteom的一个余弦相似性,然后找出top N。
然后将这些top N再去做一个排序展示给用户就可以了。这就是MND它大概的一个过程。我们在之后的课程里面啊会去详细的去介绍。对应的胶囊网络模块就是它的一个多兴趣提取层是怎么去做的啊?
ok再往下的话是结合graphra,就是结合图来去进行的一个召回的。这也是比较经典的一个部分啊。呃图的话它是怎么去构建的话,怎么去构建的啊。呃,我们可以把用户也可以把商品对吧。
我们可以看作一个个点一个个点。对。它们之间连接的关系啊,就是边了啊,点和边我们当然就可以构建成一个图了。那有了图之后呢,我们可以去应用什么呢?应用一个是deepwork。啊。
第二个的话是note vector,这两个都比较经典的。但是我们更常用的话可能是用的是de book这种可能更多一些啊。嗯。这里面它是其实就是将depo,我们可以理解成,就是它其实就是一个随机游走。
就是勾下完图之后,对吧?一个随机游走,再去结合一个wo vector里面的,就是类似于skipgram这种这种这种形式ok。啊,只是n direct里面,它考虑到什么呢?
考虑下一个就是说我们再去进行有走投,对吧?我们是要利用。BFS。还是要去就是我们要去利用广度优先搜索呢,还是要去利用深度优先搜索。啊,来去进行随就走。因为两种形式我们所捕捉到的一个结构是不一样的对啊。
我们游走完之后会得到多个对应的一个序列啊,每个序列我们可以把它看作对应的一个。呃,一个句子一句话,那我们多个句子拼接起来就是一个完整的文档了。
这个文档我们可以借助NRP知识嘛NRP里面它就是可以将整个文档输入到我们的文字 vector里面,来得到每一个词它对应的嗯向量就可以了。okK这也是我们这块要去得到的事情。
就是说我们想要去得到对应每一个ite,它的一个向量表征。有这个向量之后呢,我们才可以去构建出哎。item与iteom之间的相似线呀,有相似线,我们可以去打分去排序去进行召回了。Okay。
但这里会存在一个问题啊。嗯,大家可以去考虑一下呃。EGES9要是解决什么问题啊?这块我就当做一个问题给大家提问了啊,EGES是去解决什么问题的?大家可以去在我们的评论区啊,就是我们讨论区。
还有我们对应的。对应的答疑群里面,大家都可以去回答一下的。呃,EGES它是解决什么问题呢?那进入答疑群的话,我们可以去加老师的微信啊。然后老师会拉咱们进入到答疑群里面。然后大家只要回答了问题啊。
回答了问题,或者说也去提问,我们都可以去领奖品啊。那奖品的话是对应的是我们的1个VIP的月卡。2。大家抓紧时间。有问题的话也可以直接在我们的直播间里面,也可以进行评论的讨论的啊。O。10ES的话。
我们就做一个问题啊,大家可以去交流啊。大家有没有了解到的了解过的EGS的?OK我们继续我们继续啊。😊,EES的话,它的核心是引入。
其余的一些信息啊就是S1S2S0这样的信息就是引入sd information。啊,来去缓解对于冷气这一个问题的对啊。
ok我们继续往下。上面的话是知识图谱啊,知识图谱的话嗯也是现在比较火的一个方向的,它也是经常会去应用到召回模块的啊。因为比如说我们像像电商里面对吧?他最近要新上了一个小米手机了,小米手小米手机对吧?
但对于这个SQ这个商品对吧?它其实这个型号历史是没有这样一个数据的啊。那我们怎么样才能判断?因为这个时这个小小这个这一款手机对吧?历史是没有的,但是我们有很多的一些信息。
我们可以借着根据我们的知识图谱里面来去得到很多信息,就是说历史关于小米小米对吧?新上手机对吧?都毕竟是一个爆款热款手机啊,关注度是非常高的。即使历史没有这个型号。对啊,但是只要是新出的。
O它就是一个非常热门的。所以说我们有了这样的一个信息,有了这样知识图谱之后,我们就可以得到这样一个信息的啊。因为我们都是我们会去根据制图里面,我们构建制图谱的时候会去考虑到很多的一些信息的。嗯。
就是考虑什么呢?呃,它的一个属性啊,它可能是最最初的可能是手机。然后是品牌。然后品牌的话,然后它属于对应的一些型号啊,然后一些评论呀,然后热度这样个信息呀啊都可以反映到对应的。因为它是一个知识这种图谱。
我们都可以去扩展到哎对应这个新的一个手机上面的。因为都是和这个新的手机型号是有关联的。对,所以说它是一很好去解决这种时效热点这样一个问题。解种新品上架这个问题。那时效热点问题的话,嗯。
其实我们如果能构建这个完整的非常全面的一个图手,对吧?那里面我们除了引入商品信息,我们也可以引入一些其他的一些近期的比较热的一些信息啊,或者说引入外界的一些外部的一些数据。对啊。
这就很好去帮忙解决这种时效热点问题了。还有一些比如时效性的活动竞争匹配。这都是可以基于商品知识图谱。
可以去挖掘的,可以去得到的。那关键点的是我们该怎么来去构建这样一个知识图谱。这样商品制图不得构建啊。嗯,这里的话是分成两个部分。第一个话是商品多层次语义信息的一个抽取。由商品的信息抽取。它基本的信息。
对啊,它的属性。还有一些的话是。我们要可能要去继要去进行一些统计的。比如说对这个商品对吧?它的一个复购的周期啊。因为我们再去做电商,对吧?也会考虑到付购周期量的问题的啊,比如说用户购买了商品A了,对吧?
他那我们之后会给他再推这个A嘛?短时间内是可能不会推了对啊。但是如果说这个时间大于复购周期的话,那我们可能会再次来去推这个A。对啊,尤其像很多一些快消品啊,快消品可能用户可能跟三差5都会去进行购买的。
比如说像卫生纸对吧?你短经常会去购买食品,对吧?但是像家电的话,他买完了之后,你还要再给他推吗?啊,可能就不太会给他推了。对啊,这时候会考虑一个就是类似于一种时间的一个衰减的一个一个一个参数。
一个权重来回处理这样个问题啊。还有一些的话是产品词,处于实体概念的一些元素,构建商品的层级化突步关系。第二个是用户商品关系的一个建模啊。基于用户图谱交互关系,建模用户兴趣概念,完成新品的一个推荐啊。
就到建模阶段了。我们有这样关系之后呢,我们就可以进行一个兴趣。这些建模了。对啊,根据用户他的一个交互行为。对啊。基于用户图谱交互关系,保证用户体验实现精准复购周期的一个预测。
那这也是制徒我可以去帮助我们去完成事情。以及基于用户图普教关系,实现用户兴趣的演变建模。O我们继续。
下面的话是我们要需要可能要需要考虑事情的,就是基于图谱概念识别用户的一个意图啊。嗯,这里的话其实我们给到了对应的一个三个这样的一个序列啊。第一个序列的话是我们的一个孤立行为的一个建模。对。
孤立行为就是每一次行为它都是一个单独进行的,前后没有关系的啊。但是实际当中的话,我们的序列前后肯定有这种前后因果关系的。第二种的话是连续session那个建模。啊,我们会去考虑呃。
比如说因为我们再去购买购物时,对吧?它里面会分什么呢?会分一个就是说负担和子单的对啊。负担和子担。啊,负单里面会去包含很多子单,子单是我们单一的商品。负单的话,我们一次下单里面包含很多的商品的对啊。
我可以把一个负担看作一个session。也可以考虑一个时间化作一个session都是可以的。比如说间隔半小时对吧?okK它是一个session。又比如说按负担,一个负担,一个session。
这里面都是有很大关系的。再往下是用户意图建模,用户意图建模啊。我们可以把这些信息对吧?原本的DEG对吧?它都是一些商品ite。那下面的话它给到的是C1C2C3,就可以看作什么品类。
或者说可以看作一个兴趣点。啊,可以。进行一个呃构建。比如说第一个D的话,它是个品类,一E和G的话属于一个品类2OK这样。这样的话我是只是建模用户的一个意图。可能他下面阶段呢可能对于一些家电。
他可能更感兴趣一些啊,而不是去预估下一阶段他可能。对于呃手机感兴趣。啊,就是上升一个维度来去建模用户的意图。嗯。
O我们继续往下啊。OK大家有问题可以去,有问题的话,我们都可以在讨论区里面进行交流啊。有问题的话,我们都可以讨论区里面进行交流啊。同时呢我们要去领奖品的话,就可以进入我们达鱼群里面。然后还有领课件。
就是我们最后我们这个的PPT啊,PPT内容啊,我们都可以去加老师的微信,然后去领我们的课件,以及进入到我们的答疑群里面,我们可以做进一步的交流学习。okK下一个模块呢是召回唉,是排序模块。啊。
我们就已经召回好了100个商品啊,接下我们开始进行排序了。😊,还是这个部分的话,嗯,可能我们再去讲,一般来说大家可以看到,在对于外地对吧,我们不管是看一些书也好呀,或者说看一些其他的一些。呃。
分享课程也好,对吧?其实讲特征的是比较少的对,特征工程是比较少的。关键的话还是主要是讲的模型。对啊,我们这次的话还是也是主要是讲模型的对,但是我们在以后的课程当中的话,会去详细的带家去了解特征的嗯。
因为特征的话确实是非常关键的一个点。有时候我们可能在模型这块不断去优化。有时候还抵不过一两个特征的一个效果来得快。如果说我们想要去搭建比较好的一个完整,或者说让线上有一个好的结果的话。
特征和模型都是非常关键的。好,我们接下来去看。呃,这里的话我们可以去我跟大聊一聊,就是说。排序它的一个发展是什么样子呢?其实可能比较早的时候,对吧?
更多的话是需要我们去构建一些人工特征加线性模型的一个阶段。线性模型的话就是LR这种模型的。LR就是logistic,就是逻辑回归了啊。人工特征的话,因为这械模型它里面。嗯,你和能力其实是比较差的对呀。
纯粹的需要我们人工的去。给到模型这样一个信息。啊,让他来去做这种线性的一些啊线性的一些。呃,尼合对呀,它非线性的话其实也很难的啊。所以说我们需要去构建大量的人工特征嗯。再去结合LR。
所以说前期的话可能是比较累的一个工作了,规定特征啊会很多特征加R啊,最后的话是二分类输出0到1之间的个概率结果。OK初期这样的话,那慢慢发展来的话,就是说因为它里面不能够考虑一种特之间交叉信息的。
因为我们做个性化推荐,对吧?我们要推的话是要要准确是非常关键的。
对,所以说精准的一个推荐需要我们要去考虑到非常细的一个力度的。啊。非常细的一个力度。所以这时候我们就需要考虑一些像二阶,一阶的话也许只是一个单位的一个特征,对吧?就是一个比如说年龄,O它是个一阶的。
如果说我们将年龄和性别做一个交叉之后,它就变成个二阶了,年龄性别加地区就变成一个三阶了。又或者说到四五阶六阶这样的啊。力度越细,那越有助于我们做这种更精准的一个预测,更精准的一个推荐。
但是也不能非常特别细。特别细的话啊什么呢?就是变得非常稀疏了啊,这种稀疏的话有时候会产生不拟合的一个风险。这个话就需要我们去掌握一些经济学习知识,才能去理解这样的问题啊。O。在加速发展阶段的时候呢。
慢慢去衍生出了很多的一些呃那种能够去进行自动化特征交叉的一些模型。啊,比如说像FMFFM啊,像GBT加RR叉Gboost这些模型,那都是可以是自动化进行特征交叉的。
呃,FM和FFFFFM的话,它主要是。呃,FM的话,它是在LR基础上,我们可以看它的一个唉结构啊。不难理解啊,前半部分。诶。是LR的一个结构。后半部分的话。
它是FMA上面自动添加了这个二阶特征交叉这个部分呢。啊。这是他们的一个函数的表达形式啊。可以看出来。核心点是进行一个二阶交叉这个部分呢。这是FM它的一个结构。那我们再去看FFM呢。呃。
FM它更加叉的时候,它会有就是说会有很多的一些。就说比如说我们有两个特征,对吧?两个特征啊。或者说我们分成多个多个产费的对吧?产这种概念就说我们厂。我们可能场一和场二进行交叉,和场一和场三进行交叉啊。
它之间的他们的一个W,对吧?它那个V啊就是理解成一个参数权重矩阵。那其实是一样的对啊?就是说他在进行长与场进行交交叉的时候,不会因为厂的变化而去改变到改改变它原本厂的一个参数的一个。举证的啊。
但实际中呢,实际中我们不同的特征,不同场交叉,对吧?它的重要性或者它的参数。应该是发生变化的。啊。所以说引入了一个。厂的概念对啊,形成了新的一种。我们可看到原本的话,它只是VI和VJ,对吧?
但这里也变成了VF2和F1了啊,就是说我们把特征的1个特征,我们分成三个场三个场。如果说VII它属于一场的OK那。😊。
V机也是属于异厂的OK那他们的F对应一样的参指针也是一样的那如果说VI它是二厂的VG是异厂的okK它们两个V就不一样了,就有差异了。所以说有乐场的概念让我们提行交叉的时候,可以去有更多的这个差异性。
变得更加灵活,但是厂的一个引入,让这个模型复杂度又增加了K倍啊,K就是场的个数了。所以说我们更常用的话还是用FM可以看到我们后面其实有deepFM对吧?那为什么没有deepFFM呢?
为啥depFM是非常经典的,但很少有大厂会去用depepFFM呢?对,因为它的一个复杂度唉是扩展到K倍。对啊。因为我们在去上线模型的时候,也会考虑到你的模型参数大小的。下面呢是GBT加RR的一个结构了。
这个也是非常经典结构,这是2014年facebookfacebook对,然后他们发的一篇论文的啊,GPT的核心就是为了去获取到一个高阶的特征交叉信息。然后这个信息对应的就是业子节点。
将它作为LR的个输入。啊,他为什么可以得到高级特征交叉的这样个信息?😡,我们可以看到树在不断分裂的时候,它每一次都会去选选择一个特征对应的分割节点。比如第一次我们分割的时候,我们选择是性别。Yeah。
不太好写。第二次分裂的时候,我们选择是年龄H。😡,这是不是就将年龄和性别做了一个交叉组合了?如果我们的树的深度哎有三层、四层,那是不是就可以得到三阶四阶层交叉组合了?所以说数它是这样来去进行。
或者或者说这样来去获得高阶特征交叉的。然后呢,最后比如说一个样本,对吧?okK它。😊,将其输到模型里面。他去根据它里面每个特征,对吧?来去选择我们落在哪个点哪个页的节点里面。如果说它对应样本,对吧?
一它落在了。比如第一棵树,这第一棵树对吧?😊,它落在这个里面的啊,第二棵树它可能落在另外一个一节点里面的,其余的业节点全都零了OK。这就是第一个样本,他最后得到的。我们新的一个特征了,就是业景点编号了。
어。就这样一种形式。然后将其输到我们的RRLR里面。
St to be to Howardard。因为原本的RR它是不能获得这种只是单纯的一个线性模型,对吧?它不能得到二阶以上的交叉组合的这样信息。OK这个标题怎么怎么都掉了?OK。呃。
接下来是深度发展期吧,就是开始去各种的DN的了,主要是跟DN进行结合了啊,深度模型阶段。啊。这时候的话我们可以通过网络学习那种。复杂的一个非线性结构了。因为里面加活的加了很多的。对应的一些机函数。
对吧啊。第A的话它是主要来去获得的是一个隐视的一个特征交叉。对啊。和我们看到的像FM这种还是有一定差异的。另外呢第三特征它处理的话是像embedding。
因为它都会去经过一个呃embedding look up look up embe啊。把它转换成一个稠密的一个向量OK啊。然后再去进行一些,比如说向量间的一些,哎,我可以进行拼接,也可以进行向量内接。
也可以进行一些向量向量位它对应的位的一个交叉。按那我们也可以进行哎经过DN层。对啊,都是可以的,非常灵活。
我们可以讲几个比较经典的吧,呃,也也还好,像FN和PN对吧?FN和PN。嗯,FN的话呃对应我们指边的结构,它是使用FM得到了影像量。作为inbedding的一个初始值啊。就是先去经过FM得到这影像量。
然后作为inbedding的一个初始值。啊,一般而言的话,我们是随机初始化它这个inbedding的对啊。或者说我们可以经过预训练来去得到。对应离想特论他这一个隐白ing呢对啊。一般其实这种还蛮多的。
像比如说其实我们NRP里面更多一些吧,对,经常进行预训练啊,现在都是bt天下嘛,对吧?我们经过bot来去运训练到它的inbeing。哎,我们可以将其作为一个特征来去用。哎。
将其来去初始化我们的初始化我们的一些item呀,或者说user啊这些都是可以的。那PN的话PNPN它其实在invent层invent的话就是我们。就是进行了一个随机初始化嘛。
10然后和I在MIP之间加入一个。限量机啊。productor的一个操作啊。这其实就是进行一个现在jo哈的一个部分了。PN啊,但这两种的话其实用的是比较少的,基本上不怎么用的。
那我们继续往下。下面两个是非常经典的一个部分了啊,也是我们在去大潮里面,对吧?他在去构建base模型时候经常会去选择的,一个是ve deep。ved的话是谷歌谷歌谷歌的应用商店对吧?
当时啊当时推的一个论门啊,第二个是dPFMDFM的话好像是华为啊,当时华为的呃什么。华为的呃那亚方舟实验室发的论文啊。那这两者的话都是。分成两个部分的啊,第一个话是外的部分外的。这个部分。
和地部层的一个结合。第二个的话,地盘FM的话,它是FM层和地部部分的一个结合。看两个结构是非常像的啊,只是Y的和FM两个进行的一个。嗯,只是说地盘FM它是将Y的部分换成了FM的部分。对啊。
我们可看它最后的一个表达式。😊,S。那sigboard里面的话,它是。分成两个部分的,主要两个部分啊,一个外的部分。一个地部部分。啊,那D排M也是一样的FM的一个。嗯,结果和DN结果两者啊。
然后同时输入到我们sigma里面。那Y的部分外的部分的话,它 wide deep对吧?它两者为什么要这样来去分呢啊。因为外的部分的话,我们是没有做任何的一些没有经过隐藏层,对吧?
没有做各样的一个式各样的一个变化。对啊,直接去到最后我们sigma的部分输入出单元了。所以说它很好的去保留了,很好去将原有历史的一它的一个信息。保留下来了。对,就是有一种记忆性啊,很好的记忆性。
对我没有做任何处理,该什么信息ok我们保留什么信息。啊,那D部部分的话,它是很好的一个分化性的,经这种非线空的变化。对啊。所以它是一个记忆性和泛化性的一个组合。那FM部分的话。
其实就是一个升级了升级了对啊。你可以将FM其实它是列成前半部分,它是个Y的。后半部分的话,它其实就是将Y进行了一个二级交叉了。所以说FM它里面的信息是比Y的信息会更加多的。
这是depFM和Y and deep的一个差别。那在我基之后课程当中啊,就是我们的推荐课程当中,我们会去实现。这两个部分用代码来去实现这两个部分的啊。然后再去将我们数据书里面对比它的效果的一个差异啊。
ok我们继续往下,再往下是非常经典的,就是一个。嗯。考虑到就是说加入到用户的一个行为序列了。对啊,就是用户的兴趣,对吧?其实是会发生变化的对啊。之前那些的话。
它是全都是嗯我可以全都是单个特征的输入到模型里面的。对啊,没有做没有将序列输到模型里面的啊。一个序列才能真正能完整的去描述描述用户的一个兴趣呢。比如说你的兴趣的一个变化。对啊。
你对哪些东西的兴趣更强一些,都可以从这个血液里面我们可以得到的。OK所以说这里主要讲的是DN和DAN这两个都是阿里妈妈的一个论文的。ok我们先去看b斯的一个模型,就基础模型。一般人而言,对吧?
我们将用户序列,对吧?就像youtu BN里面,它是计算它的平均。啊,就是air呃minpo啊,或者说somepolim pulling这样的一些操作啊。计算善量的平均啊,但是。用户他历史这里面的话。
他交互了3个艾。那每个ite他们之间的重要性都是一样的吗?啊。实际当中的话,我们呃按我们的理解应该是存在差异的对啊。因为有一些行为可能就是说其实与我们的目标没有太大关系,与我们的候选题没有太大关系啊。
所以说我们按这个思想思路来去走的话,与我们目标没有太大关系的,我们可以给他权重低一些。与我目标关系比较强的话,我们给他权重高一些。
那怎样来得到这个关系这个这个这个这个怎么来得到它的一个这样一个权重的分数呢?这种关系的分数呢,它里面借助了一个激活单元。这是我们这个部分了。也就这个部分。通过集合单元来去得到对应的W。
VI的话就是我们对应用户历史交互的at,它的一个向量WI就是对应这个用户对于这个W对那个VI它的一个权重。然后这个机构单元里面的输入,它机构单元就是个大大G啊,里面的输入是两个,一个是VA。
VA的话就是我们。的候选。候选的item就是我们的目标的item,就是我们要去预估用户对这个商品,对吧?它的概率就是我们这个目标了啊,VI的话是它历史的历史交互的item。这两个是输入啊。
里面会去经过一个简单的一个。MLPOK啊。知报WI。然后再进行战身操作,就是最后。的一个结果了嗯。这个形式的话是更加的一个贴近于贴近于我们的贴近于真实场景的一个哎结果了。
因为每一个ite和我们交互它的权重都有所差异。啊,所以说我们通过这种形式来去捕捉的捕捉捕捉的。Okay。接下来再给大家留一个问题啊,是。为什么还有DIENDIEN它是做了什么样操作,在DIN的基础上的?
因为当时先发了DIN的DIN阿里巴巴,然后之后的话又发了DIEN。大家可以在。评论区里面。或者说在我们的一个答疑群里面。去进行回答。欢迎大家积极踊跃回答我们的问题。😊,欢迎大家积极踊跃回答我们的问题。
😊,O。okK我们继续往下讲。😊,当然我们在之后的课程当中,就是我们推荐课程当中,我们也会去实现DIN的。当然DIN只是它是19年的论文,对吧?我们也会去实现20年的论文。就实现更新的一些的。
像加入transformer。对,这样子非常深的一些或者outin这样的一些结构。对啊。因为transform现在也是比较流行的,大厂里面也会去用的啊。
Yeah。O我们再给大家说一下,就是说我们要去领领奖品。那如何才能去领奖品呢?一是回答我们的问题。第二个是提问啊,只要在我们的评论区里面,或者说我们答疑群里面提问啊,或者说回答问题啊。
都是可以去领月卡的VIP月卡1个月。啊,以及还有对应的1000元的一个优惠券啊,1000元的优惠券。那进群的方式的话是加老师的微信号,加老师的微信,然后进入答疑群里面。嗯。
加老师的微信就可以进入答疑群里面了。okK我们开着开始到最后一个模块了,就是我们总结与思考了。😊,刚才讲这么多再讲这么多,我们做个简单的一个总结。😊,一是召回的一个多样性啊。召回我们讲究什么呢?😡。
一个是我们缩小我们的候选级的一个区间范围。第二个是从多种角度、多个方向去刻画。用户兴趣的可能性。哦。我们分成三种,它的发展其实可以分成三种,一个是启动期。可能我们初步构建的时候,对吧?然后扩展期优化期。
Yeah。这是一个横向的那纵向的话是向通用化召回,相关性召回个性化召回或到后面就NRP这种这种这种召回了。比如我们关键词。啊,比较新的一些。或者说分类按类别召回。对地域召回。还有一些我们结合就是说。
协协呃协同过滤啊,就iteom vector或向量召回CN双台召回。还有个性化召回,就是我们结合一些DN的方式来去解决了。嗯,这是我们召回多样性的一个发展。啊,就是我们会从启动期。
最开始我们可能会用一些比较简单的方式来去构建。慢慢的我们再往后让我们的召回。这块的基建对吧?变得更加的。强大一些,我们要开始扩展,开始优化了。去加入更多的一些召回啊,就是多物召回嘛。因为你召回召回的话。
如果效果比较好的话啊,你的排序的话,其实它的一个也能很容易达到比较好效果。如果召回比较差的话,其实召回的话,它会影响到就是说你最终排序的一个。嗯,他的一个嗯平静的对啊。召回比较差,你排序做再好。
对它很容易陷入瓶颈的,很难去提升效果的对啊。所以召回这个阶段是非常关键的啊。我们一般工作时候对吧,其实我们。不管是召回还是排序,我们都会去优化的对啊,可能有时候我们可能做排序的,相到瓶颈的时候。
我们可能就去优化召回了啊。大公司的话嗯大公司的话就是说你只会大概率去固定做一个部分了。可能有个小组是做召回的,一个小组是做排序的啊,小小点公司的话都会接触到就整个链路从召回到排序都会接触的啊。
因为大公司的话,你可能。方法都变得比较成熟了,你只能往深的不不断来去进行优化挖掘探索。这个其实是非常耗费时间的啊。
ok再往下的话是排序这块的一个总结啊。这块给到的是一个排序它一些基本的一些模型,它的一个关系的一个图啊。从最开始啊我们是DNN的,就是MLP这样基本的结构,那我们可以考虑到不一样的一些。
比如说考虑到加入attention的一个机制啊,就是我们最后的结,对吧?DNN和DAAN啊,还有期的话我们将加入到一个外的部分,对吧?就是Yd呀,或者说将Y的部分进行改进。有DC有D派FM。
还有的话就是我们将deep部分进行改进。😊,ANFM或者AFM。还有话我们考虑一些呃比如说一些特征的一些交叉的方式,加入到一个productor就是PN。啊,或者说deep cross那种形式啊。
这些都是从不同角度啊进行的一些特征,进行从基本的网络进行一些改进的啊。有一些是比较经典的啊,像我觉得就比较重要的。像DNDAEN。Y deep呃DCNDFFM。嗯,这几个的话我FM都是非常经典的对啊。
像要我们就是说如果你想要从事,对吧?或想要去之后去做推荐的话,做竞拍部分,这些是一定要掌握透彻的。不止它的原理。同时呢还要去进行实战,就是经过我们代码的一个复现,然后再去结合真实的一些项目场景啊。
那这些部分的话,我们欧会在我们的课程当中去包含的啊,这也是给大家介绍,是我们的推荐靠高级小班。是第十一期啊,已经已经经经历过来,已经到第1一期了。对啊,呃,这次期的话我们是和网易和网易进行合作。合作。
然后开班。对啊,那我们这些项目对吧?会。基于网易的数据啊,实战网易的项目啊。就是有网易云音乐,还有网易。呃,网页严选啊,一个是电商的,一个是音乐的推荐系统啊,结合真实数据啊。那大家可以去通过下面的链接。
对吧?哎,进入到我们的呃我们的我们的我们的网站里面来去看具体的一个介绍啊,就是大纲呀内容呀以及真实的一个工业级的项目。
那最后呢。大家。可以去进入到我打一群里面。做进一步的一个交流沟通啊。然后的话还有领今天的奖品,就是说只要回答我们的问题了,以及呃提问了就可以去领到我们的一个月卡VIP月卡啊,那还有对应今天的一个课件啊。
PPT我们都可以加老师的微信啊。进入群里面,然后领我们的这些资料。
O大家有什么问题?😊,我们现在可以去简单的聊一聊,比如说关于推荐的一些一些问题啊,或者说嗯职业发展的问题啊。都可以聊的。
欢迎大家提问啊,跟迎大家交流。那如果没有问题的话,那我们这次的一个分享就到此结束啊,那还没有进群的同学,赶紧去加我们的老师微信,然后进入到答疑群里面。
领奖品。好了,我们这次的直播就到此结束了,各位同学再见。
人工智能—推荐系统公开课(七月在线出品) - P14:2021.12.29深度学习与电商推荐系统 - 七月在线-julyedu - BV1Ry4y127CV
🎼。
好,呃,各位同学大家晚上好。然后我们今天呢给大家带来的直播是深度学习与电商推荐系统。呃,对于我们的一个这个主题而言呢,我们会介绍两部分啊。第一部分呢是介绍深度学习。第二部分呢会以深度学习的具体的模型呢。
然后搭建一个具体的一个电商推荐系统的一个啊就是说一个代码啊,一个小小的时间。然后我们今天呢也有具体的福利送给大家。首先呢是今天晚上我们在公开课中期间,如果有同学跟我们进行互动啊。
并且在我们的一个微信群里面进行就是说互动的同学呢可以啊领取我们的三本纸质书啊,三本纸质书。对,嗯,这是第一个第二个就是如果各位同学今天晚上报名我们的正式课程,也是有具体的一些免免检的啊。
就是说是直接免减3000元。然后报名的同学呢也可以领取到我们的500元的一个京东购物卡一张啊。这个其实是非常优惠的非常优惠的。好,我们继续啊。
我们今天的一个课程内容呢就是以声的学习和电商推荐系统两部分进行展开进行讲解。
啊,嗯,具体的一个内容呢就是分为这三部分啊,具体的内容就是分为这三部分嗯,就是深度学习基础推荐系统介绍以及电商推荐系统啊,分成这三部分。好,我们继续。嗯,首先呢来看一看这个深度学习的一个基础。
在我们的一个日常生活中呢,嗯我们或多或少都会遇到这个很多的一些深度学习的一些模型,对吧?深度学习呢其实在进行一个具体的建模过程中呢,它本质上是跟机忆学习其实是非常相似的。
深度学习其实跟记忆学习是非常相似的。这个地方的一个深度学习呢其实我们的深度学习deep learning。对吧其实它也是一种记忆学习的算法,也是我们的常见的一种记忆学习的算法。
那么这个地方为什么深度学习现在它这么火热呢?以及它为什么是能够就是说有这么多一些具体的应应用呢?首先呢深度学习它是一种具体的一些记忆是一种具体的记忆学习算法。但是呢深度学习跟记忆学习相比。
其实还是存在一定的区别的啊,存在一定的区别的。这个地方呢如果是以呃介绍深度学习呢,它一般情况下就是以这个神经神经元的结构来做一个介绍。就是我们的一个具体的一个神经元,它的一个具体的一个结构。
也就是说我们深度学习呢,它的网络结构啊是以我们的一个具体的一个神经元的组织来得到的。而且而且呢它整体的一个嗯结构啊是和这个人的大脑是非常类似的。深度学习它跟记忆学习相比有什么异同点呢?
首先深度学习它也是一种记忆学习的算法。就是说我们现在的机忆学习的算法里面有很多分支,对吧?各位同学现在也是嗯很多很多同学学了这个记忆学习的。嗯,继续学习里面有很多的一些算法分支,比如说线性模型对吧?
还有数模型,还有我们的KN。还有我们的SVM等等等等,对吧?那么这些呢除了这些还有一种深度学习,对吧?深度学习。所以说这个地方我们的一个深度学习,其实和上面的这几种算法其实是对等的对等的。
那么这个地方深度学习它跟其他的算法相比呢,它其实是一种特定的网络结构所组成的一种机学性模型。深度学习呢它有两个特点它有两个特点。第一个呢,深度学习它是一个就是说端到端的一个过程,端到端的一个过程啊。
嗯这个地方我们的一个端到端的过程呢是以指的是一个end to end的过程。And trend。end这个end to end呢其实本质就是我们在进行一个建模的过程中呢,我们有了一个具体的一个输入。
然后呢,我们有了对应的一个输出,有一个对应的输出啊,这个地方我们叫端到端端到端。也就是说我们的一个网络模型呢它是直接由我们的一个输入。然后通过模型。然后得到输出的。这个地方中间呢我们不需要做其他操作啊。
就是说它是一个端到端的过程,端到端的过程。好。对于深度学习模型而言呢,这是它的第一个特点。也就是我们不需要人工做特征工程。我们不需要人工做特征工程啊,这部分就是说它主要的跟技忆学习的区别。
就是说不需要做人工和人工工程。呃,我们在很多的一些建呃任务里面呢,就是说我们是需要人工做特征工程的。但是如果你使用深度学习呢,其实是不需要做特征工程啊,或者说不需要做很多特征工程,这是第一个特点。
第二个呢就是生度学习,它是一个有向的一个计算图。图的一个节点呢是表示的一个计算过程。我们再嗯看下面这个例子,对于我们的一个具体的一个网络模型而言呢。
其实我们是可以将我们的网络层分为输入层、隐含层和输入层。输入层隐含层和输出层这个地方的输入层就直接是我们的一个输入的一个数据啊。然后我们的一个隐含层呢。
就是我们的一个就是说中间的一个计算计算层以及中间的计算结果。输出层呢就是说我们最终的输出。啊,就是我们最终输出,这是我们的常见的层啊,需要注意的是,这个地方我们的输入层和输出层往往都是一层。
但是呢这个地方我们的隐含层呢可以是多层。它可以是多存的啊可以是多存的。这个地方我们左边这个图呢,它所示的是一个比较典型的一个全连接网络。全连接网络就是说英文名字叫MRP。MRP啊。
我们就是说多层感知机啊,多层感知机。这个地方我们的一个层与层之间呢,你会发现我们的输入层和我们的一个隐含层,它们之间的一个节点是全部连接到一起的对吧?这个节点和我们的隐含层的节点。
所有的全部都连接在一起。这个地方我们的1个MMP它所组成的是我们的一个就是。嗯,一个具体的一个嗯全连接层。
fully connectedect layer fully connectedect layer,然后去得到的啊, fullyly connectedect layer得到的。然后这个地方呢。
我们的一个全连接层,这是一层全连接层。这是一项全链阶层。全连接网络呢就是由我们的一个全链阶层所组成的一个网,就是说网络结构网络结构。好,我们继续啊。这个地方呢就是说我们的一个网络。
其实它是有一个节点的对吧?输入的点到我们隐行层,然后我们的隐行层呢到我们输出层,这个地方它的每个边呢计算就是表示的我们的一个具体的一个数据流向。每个节点呢就是我们的一个计算过程。
对吧这个地方的一个节节点啊,节点表示计算过程边呢就行表示这个数据的流向。好,我们继续。那么我们刚才其实这个地方是说的深度学习的一些特点。在深度学习里面呢,其实我们刚才画的对吧?一个网络结构。
对吧全能阶层。然后你看它这个地方就是很典型的一个全连阶层啊,嗯两个全能阶层,然后得到欧文的一个网络。这个地方呢我们这你会发现它这个地方我们的有节点和边,对吧?
那么类似的我们能不能构建一些比较奇特的一些网络结构呢?我再给大家换一个啊。这个地方。能不能这样呢?对吧以此类推这个地方我们的一个网络结构,它不一定定不一不仅仅是一个就是说有节点和编色组成的。
它一般情况下呢是一个有向图,用有向图来表示。而且这个地方呢一个它有可能是带有环的啊,有可能是带有环的。所以说呢你在一个深度学习的一个建模的过程中呢,你的一个网络结构其实是也很有可能是有环的啊。
很有可能是有环的对,所以我们的一个具体的一个深度学习。对于深透学习而言啊,你的一个网络结构并不单纯的是一个。就是说从end end这个过程,它有可能是贷与还的。这个地方呢我们就需要去嗯根据这个环形啊。
然后计算我们相应的一个输入和输出。这样对于我们的一个深度学习模型而言,其实我们本质是需要做一个具体的一个呃就是说网络结构的一个搭建,对吧?
我们网络结构的搭建就是有我们的一个具体的一个这样的一个网络啊这样的一个网络。然后呢,我们的一个深度学习,其实它的一个在搭建这个网络的过程中,其实我们也需要关注我们具体的一个计算过程。这计算过程对吧?
我们现在的一个具体的一个嗯渗透计的模型呢都是使用我们的1个GPU的一个来进行训练,对吧?大部分情况下是用GPU的进行训练GPU呢它比较适合使用我们的就是说对我们的一个具体的一个呃就是矩阵啊。
非常方便对矩阵进行一个计算。然后呢,这个地方。如果你的一个具体的一个计算过程,如果能写成这种矩证相乘的过程,那么你的一个计算它的一个就是说呃效率啊就会大大的增加。如这个这个地方这张图所示啊。
这张图就是我们很典型的一个全连接的网络,它的一个计算过程。全连接网络的一个计算过程,也就是我们的一个具体的一个网络结构啊,我们来看一看。我们的一个输入它是有7个数值的啊,1234567。
然后和我们的对应的一个就是说1个W1W2W3一直到我们W7,然后进行元素元素级别的相乘。然后进行求和啊,元素级别的象征,然后进行求和。然后我们来看一看啊,我们来看一看这个地方的网络结构呢。
其实就是一个单个神经元的这种情况。对吧我们有一个神经元,我们有它有7个输入啊,12345啊,这个地方我缩写啊,略写了啊,1X12X3一直到X5X6。按着X7啊。这个地方我们有7个输入。
然后对于我们每个输入呢,我们在这个边上面有一个对应的权重WE日的W7跟它进行相乘。然后在这个地方呢,我们对它进行一个求和,对吧?求和这个的地方。
你有看到它的它的一个具体的计算过程是这一行和这一列进行一个乘法,得到一个数值。得到一个数值。这个数值呢再加上我们的偏值。对吧达到我们品质,得到我们输出。然后这个输出呢再通过我们的一个计划函数。
得到最终的输出,对吧?所以说你会发现这个。这一行和这一列的一个相乘对吧?也就是我们的一个行向量和列向量的一个具体的一个乘法,就得到我们的一个一个值的输出,然后再加上我们偏值啊,那么如果是我们的一个参数。
是一个矩阵的形式呢?如果我们的一个参数是一个矩阵的形式呢,这个地方我们的一个具体的一个取值就是说这是我们的第一个沉经元的参数。这是我们第二个神经元的参数,这是第三个神经元的参数啊,这是第四个。
第5个以此类推,这个地方我们是什么意思呢?就是说我们的一个有5个神经元。我们有7个输入。234567,这每个输入呢和我们的神经元都是连接到一起的啊,这地方我只画一个啊,你会发现这个地方的一个神经元。
它就是我们这个啊把它复制5份啊。复制5分,这是第一个神经元,它的一个计算过程,就是我们的一个具体的一个权重和我们数入进行相乘。如果是第二个神经元呢以此类推,第二个神经元以此类推啊,我们再把它连接到一起。
连接到一起。那么这个地方呢每多的7条边呢,就是由新的参数所组成的。这个地方是由我们的一个新的神经元的参数,我们可以把它放在在第二行,那么第三个神经元呢,它的参数可以放在我们的一个第三行,以此类推啊。
第四行第五行,这个地方我们的一个具体的一个神经元的个数和我们的这个地方的一个行的矩阵参数的行是相同的相同的。好。那么我们这个地方就是可以将我们的一个全连接的一个网络呢。
把它写成我们的一个具体的一个矩阵乘法啊,把我们的全连接的网络可以把它写成一个具体的一个矩阵乘法。那么写成这个矩阵乘法之后,我们就可以做一个并形的一个计算啊,变形的一个计算。好。
那么我们再进行一个具体的一个操作的过程中,不仅仅是全连接层,一些其他的层呢也都是可以呃使用一些方式把它写成这种矩阵乘法的这种形式啊。好。那么对于我们的一个具体的一个就是说在学习深度学习的时候呢。
千万不要把深度学习和记忆学习对立起来。因为这两者其实是很多时候都是一个包含的关系。只不过它的一个具体的一个模型和它的一个具体的一个就是说一些呃就是说侧重点是不一样的,侧重点是不一样的。呃。
只要深度学习能够完成的任务,其实用使用一些其他的一些记忆学习的模型也都是可行的,也都是可行的。这个地方呢就是说深度学习,它只是其中的啊其中的一个特定的一个特定的一个算法而已。好。
那么深度学习它是能够做什么呢?深度学习其实它是能够做一些具体的一个呃这种比较适合这种端到端的一个任务and to end的一个任务。and to end,也就是我们的一个输入。
到我们的一个输出的一个任务。输出一个任务。好,这个地方呢我们的一个输入。是什么?输出是什么呢?我们这个地方写了一些具体的一些案例。这个地方我们的一个案例就是说首先是这个人脸识别。给定人脸照片。
识别出人的一个具体姓名,车牌识别给定车牌,然后识别出车牌的一个字符。动物识别对吧?给定动物照片,识别出动物的种类,红绿灯检测,给定交通的照片,识别出红绿灯的位置,以此类推。
在这个地方你会发现我们的一个输入是什么?输入上面部分都是我们的一个输入的是图片。下半部分文字翻译输输入英呃输入中文,嗯,然后这个地方输入中文,然后输出英文翻译,客户对话机器人输入问题,输出对话文字。
对吧?这个地方下面两个问题都是我们输出的都是一个文字。深度学习它适合做什么?深度学习就适合做这种输入和输出比较规整的一种形式。而且你会发现这个地方不管是对于图片啊。
以及我们的一个具体的一个呃就是嗯文本而言,它都是一种非结构化的数据。非结构化数据。我们的深度学习模型呢比较适合用在一个非结构化数据里面啊,非结构化数据里。所以说呢大家在这一个具体的一个建模的过程中呢。
如果你遇到一个非结构化的数据集建模啊,那么就是比较适合啊就比较适合直接用深度学习啊,比较适合用深度学习好。那么接下来呢就给大家介绍一下这个在电商领域啊,这个具体的一个推荐系统,它是如何进行使用的。呃。
在我们的日常生活中啊,我看看大家聊天啊。对啊,大家如果有问题的话,也可以直接进行发言啊。大家如果有问题的话,也可以积极进行发言。嗯,这样我们的一个电商领域呢,其实有些时候呢这个推荐系统其实是非常关键的。
呃,这系统呢其实本质是需要将我们的一个商品给它推荐给我们的一个用户。啊,这个地方就是说我们有一个具体的一个user。以及我们的一个具体的一个item。我们是需要把两者进行一个搭配起来的啊。
user和iteom把它进行一个搭配起来的。这个地方呢就是说我们是想要给用户推荐一些商品。然后呢,这个推荐的商品,它有可能是用户他啊想要购买的,或者说它也可能是用户他可能未来会购买的啊。
可能未来会购买的。这个都有可能。所以说呢这个地方我们的一个具体的一个在进行一个建模的时候,推荐系统它它的一个作用啊,是推荐一些商品给用户,推荐给商品用户。在这个地方呢,就是说我们的一个深度学习啊。
对于我们的一个深度学习而言啊,我们。深度学习它比较适合用来做什么?深度学习比较适合用在我们的一个input和output这种直接建模的过程。对吧那么推荐系统呢。
它其实也是这种有我们的一个固定的一个输入和我们的一个固定的一个输出的过程。也也就是在这个地方,我们的一个推荐系统。它其实我们有用户他历史的购买数据,然后呢。基于用户历史的购买数据呢。
然后再把它作为一个具体的一个呃,就是我们的一个建模啊,对吧?如果用户他购买了这个数据,那么我们就把这个样嗯就是说我们的一个商品呢作为我们的一个质样本。如果是没有购买,那我们就是做一个副样本。
做一个副样本。那么对于我们的电商领域呢,这个具体的一个推荐的方法呢也是分为两类啊。第一类是这个积极学习的。第二类呢是基于我们的深度学习的。如果是基于这个经济学习的算法呢。
就是呃基于这种我们的一个具体的一个。嗯,就是呃人工的一个特征工程,然后呢再去做一个数据模型的一预建模。这个地方的人工特征工程呢,就是我们去说需要做一个呃人工的基于我们的一个就是说电商领域的数据啊。
然后去做一个特征的一个提取。人工的去做。好,可能大家就觉得这个地方你会。觉得很抽象。呃,这个地方其实是很具体的一个问题啊,就是说我们想要去用一些。特征。这个特征呢去刻画。用户的一个习惯。
用户的一个习惯啊,或者说去刻画用户的一个行为。这个呢是我们需要从一个具体的一个特征去做的啊,具体的特征来做的。那么比如我们去可以做这样一些啊做这样一些。然后我们来看看啊,比如说我们看第一个。呃。
用户浏览不同商品的一个心理指数,什么意思?我们再做一个具体的一个就是说建模的时候呢,有可能一个user。他在进行购买的时候,他肯定是。不就是说看各种的我们的一个就是呃就是说这种商品嘛,对吧?
然后呢他就会看这个商品一。商品二商品三商品4对吧?然后商品一商品二、商品三,商品5商品6,商品7,对吧?然后这个地方我们在做一个具体的建模的时候呢,这个地方是我们的一个用户他浏览的商品的一个序列啊。
那个就是商品一商品2商品3,然后这个地方你会发现呢我我们去如何去衡量。这个商品它是不是用户的一个就是说他比较喜欢的一个商品呢?你可以用比例来做一个具体的一个评价,或者说用一个激励指数来做评价。
对吧这个就是说我们就可以用的很评价一下这个用户是不是对某某批商品是有倾向性的,有倾向性的。嗯,以此类推呢,就是说我们可以看一看,就是说用户浏览最多的商品的转化率转化率。
这个转化率呢就是说我们在做一个具体的一个。一个商品的一个具体的一个推荐的时候,或者说商品呃用户在购买商品的时候,那肯定也是就是说对不同品牌它有一个具体的一个呃就是说行为啊,以及它的一个具体的一个呃偏好。
对吧?比如你在做大你在推荐一个大品牌的时候,用户它的一个具体的一个。嗯,用户它的一个具体的一个就是呃就是说它的一个信任程度就会高一些,对吧?所以说这个地方我们的不同商品的一个转换率。
也会影响到我们的一个具体的一个行为。这个地方呢我们就可以对我们的一个用户在浏览次数最多的商品计算一下它的一个品牌的转化率,它的品牌的转化率。这个也是非常关键的。
因为不同品牌它的一个平均的转化率是相差很大的啊,不同品牌它的一个呃就是说转化率其实是相差很大的啊,相差很大的。对,所以说你在做一个建模的时候,其实也是啊需要考虑到这一些。然后第三个呢。
就是说用户他最后一次操作的类型,就是说如果用户他在。之前的一个行为,它肯定就是大概率会影响到后后续的一个行为,对吧?所以说这个地方我们其实是可以针对用户的一个他的一个具体的行为啊。
然后完成一个具体的建模。就是说按照他最后的一个行为来做一个分类。好。然后这个地方我们在做一个人工特征工程的时候,其实能做的特征其实是非常非常多的。比如可以做如下的这些特征啊,就是说你可以来看看。
比如我们在做一个具体的一个特征的时候,你可以做用户的一个活跃的天数的一个分析,对吧?一个用户他肯定就是说想要购买一个商品的时候。或者说他有购买行为的时候,他往往都是一个活跃用户。
或者说他的一个用户的等级,对吧?这个可能是比较高的,我们都是可以来做一个具体的一个定义。然后如果你想要看用户他未来是不是购买某个类别,或者购买某某个商品,对吧?
那么你可以统计一下他历史是不是购买了这个商品。对吧那么如果他历史购买了之后,然后他很有可能未来也会继续购买,对吧?好。这个呢就是呃就是说我们的一个在电商里面的叫做回购。或者要复购。
就说你在做一个具体的一个购买的行为的生活中,你不是单次购买。你可能是可能有就是说会有你今天买的,今天买的,你下周呢还是会买啊,还是会买。好,然后呢我们还可以统计啊,用户他添加购物车的购物车的次数。
对吧这个其实也是非常关键的。比如有的用户他就是添加购物车。次数比较多,然后他就是不下单,他把购物车当做收收藏夹来用。他把购物车当做收藏夹来用,这个也是呃经常常见啊这种用户嗯。
大家不知道大家有没有这种习惯啊,就是说把这个购就是说很多商品我都是添加到我们的购物车里面。但是呢我就是不满,我就是不买。对,这个也其实也是很常见的,很常见的。好,然后呢我们在做一个具体建模的时候。
他们还可以统计什么?就是说它的一个具体的一个注册时间啊,以及它的一个具体的一个浏览品牌的一个转化率啊,以及它的一个商流就是说所浏览商品的一个就是具体的一个次数啊,这些都是我们可以统计的啊。
然后这些都是我们的一个人工特征工程,人工特征工程可以统计得到的一个结果。人工特征工程,人工统计到的结果。那么而且这些这这些特征啊,这每每个字段都是一个特征,对吧?然后它也是有意义的啊,它也是有意义的。
好,所以说呢我们在做一个具体建模的时候,其实我们也是可以参考如上的这种具体的一个呃这种特征啊,然后去做一个具体的一个啊就是说提取我们的一个想要的数据。嗯,待会儿呢也有一个具体时间的过程啊,大家不用担心。
这是我们的一个就是说人工去做一个特征工程,人工做一个特征工程。那么如果是呃假如说直接想要用深度信息来做,怎么做呢?其实如果直接用深度学习来做呢,其实也是可行的。对于深度学习模型而言呢。
其实深度学习模型它不需要做做很多的一个特征工程。它不需要做很多自通工程。就是我们在做一个具体建模的时候呢,我们可以基于直接呃用渗透型来完成一个呃商品和用户的一个匹配过程。
使用我们的一个具体的一个商品和用户的一个匹配过程啊。这个地方呢就是说我们在做建模的时候,我们直接将我们的一个user把它做一个嵌入。然后呢和我们的一个具体的一个嗯item两者也可以做一个嵌入。
然后嵌入之后呢,然后把它进行一个具体的一个就是说做一个匹配做一个匹配啊。这个匹配呢就是说我们把它类似的把它直接这部分。把它拼接到一起啊,假如说这个地方是32维,这个地方我们也是32维。
也就是我们的一个具体的一个商品。它所嵌入的一个维度是我们的一个32维。然后呢,我们的一个具体的一个用户,他所嵌入的一个维度也是32维。我们把这两者啊把它就是说拼接到一起拼接到一起得到一个向量。
然后来完成一个训练,这个地方我们是可以在这个过程中啊可以用我们的呃全连接层来完成。然后这个地方的一个训练过程啊,我们直接是。它的一个匹配啊。
就是说它可以匹配0或者10或者10呢就表明他这个用户对我们的这个商品有购买行为。如果是一的话呢,就是表明啊这个用户对这个商品啊没有购买行为啊,没有购买行为。对,那么以此类推啊。
就是说我们其实是可以搭建很复杂的深度学习模型啊。这个模这种类似的模型啊,我们叫做一个深度协同协同过滤啊,深度协同过滤,然后就可以做我们的一个具体的一个模型的训练模型的训练。呃。
这个地方呢有同学可能就会问到这个我们的一个具体的一个模型,我们的一个具体模型,这个地方的一个正负样本,它的正负样本的它的来源。正样本和副样本。这个呢其实需要做一个具体的定义啊,就是正样本是什么。
以及我们的一个负样本。正样本副样本啊,呃这个呢就根据我们的一个具体的一个任务啊,根据我们的具体任务其实是存跟我们具体任务是其实相关的。如果我们具体的任务不同啊。
我们得到的一就是我们呃就是说构成的一个正样本啊,其实也是呃不同的。我们来看一下。我们假如说是完成一个就是说用户商品点击用户与商品点击的。模型。啊,点击的模型。
这个地方就是很典很典型的1个CTR的类似的任务。那么这个地方的一个正样本是什么呢?这个地方的这样本就是我们的历史的用户已经点击的点击过的啊,click的一。一些商品。如果我们想要构建副样本呢。
就是说是用户没有点击的。没有点击的一些样本啊,就是我们的一个副样本。好,所以说呢我们的一个正负样本啊,正负样本其实是根据不同的一个任务啊,我们是有一个具体的划分的。根据我们具体不同任务啊。
有一个具体的划分的。好,然后我们来看一看我们的边的一个具体的一个代码啊。然我们来来看一看啊,我们具体一个代码。嗯,呃,这个通特征工程不对呃不对用户信息进行处理吗?比如说性别年龄等等。呃。
这个地方就是说特征工程啊,我这个地方。这个地方的特征工程呢就是说一般情况下啊一般情况下就是我们的一个。嗯,是这样的啊,你的一个特征工程呢,就比如说这个A。以及sex。这个地方呢就是说它是这些特征呢。
其实是可以直接送到送到模型的。我刚才那个PPT里面所列举到的呢,它是一些业务业务字段。业务字段它是需要重新提取的。它是需要重新做一个提取的。嗯,刚才嗯这位同学问的呢,这是是一些用户字段。
一般情况下啊就是说用户字段也重要。用户字段其实也重要。但是我刚才其实想要突出的是这个业务字段,就是说你如何去呃使用一些已有的一些嗯就是说数据啊,然后。提出就是提取一些业务跟业务相关的一些啊特征啊。
我其实侧重点不一样,你也可以直接。对,就是说用户的一些信息字段做为处理都是可以的。嗯嗯,其实购物车呃也可以当收藏家使用,可惜空间太小。呃,这个地方其实是这样的,呃。
就是说呃淘宝的淘宝的购物车和京东的购物车应该都是默认的大小,最大的一个大小是。999个商品啊999个商品。对,好嗯,这个所以说它的空间是有限的。嗯,深度运行模型有什么预训练模型吗?
这个其实是呃这个其实是这样的啊。对于深度学习模型而言,你会发现。你的一个网络结构,你整体的训练好之后,你都可以把它牵移到一个下其他的任务里面。比如说我们这个地方是一个用户与商品点击的一个任务。
你我们假如说这个模型训练好之后,我们可以把它用在于用户与商品。购买的。这个具体的一任务里面,就说这个模型其实是可以直接迁移到里面的。怎么迁移呢?就是说比如说这个地方的一个user它的一个嵌入过程。
以及这个商品的一个嵌入过程。其实这个都是我们可以做一个具体的一个嵌入的啊,可以就是说这个这些层啊,我们都可以直接把它就是说嗯就是呃。这些层都可以直接拿过去啊,拿过去直接用的啊,拿过去直直接用的。
我们继续啊。那么大家如果有问题的话,也可以及时提问啊。然后。嗯,我们就继续啊我们继续。呃,我们接下来呢就是用一个淘宝的呃淘宝的一个真实的数据集啊,来,然后呢来做一个尝试啊,淘宝的一个数据集。
然后做一个尝试啊。然后嗯我们来看一看代码。首先呢我们把这些常见的库啊,常见的库给它inport进来啊,常见的库给它inpo进来。这些库呢主要就是用来做画图啊和建模的这些库。然后呢。
我们看一看我们的一个数据集。呃,数据集呢它是淘宝的一个呃阿里巴巴淘宝的一个呃用户行为的数据集,然后主要是。用于这个影视反馈推荐的一个问题研究,也是一个真实的数据集。
这个数据集里面它所记录的是用户呃记录的数据呢是在2017年11月25日到2017年12月3日之间的一个具体的一个数据啊。在这个数据数据之间呢,大大概有100万的一个用户的一个行为。呃。
就是说用100万的用户啊,包括这个具体的一个用户行为,包括用户的一个点击购买加购,以及喜欢就喜欢这个喜欢就是这个加收收藏夹啊。
然后这个地方的一个数据集整体就是一1个CV的形式啊出现啊这个数据集的每一行表示的一条用户行为,每一行是一个用户行为。所以说我们整体的一个呃数据集。
它的一个形式就是由我们的用户ID商品ID以及商品内幕ID以及行为时间戳啊,行为类型以及时间戳啊,这样所组成的啊,这样所组成的这这就是我们的一个一条样本,一条样本啊,这是我们的一条样本。
一些样本它整体的而言就是我们的一个user。对一个item。一个具体的一个行为对吧?一个具体的一个行为。这action呢有我们的PV浏览by购买cart架构以及FAV喜欢对吧?
然后这个地方还有一个时间戳,整体而言,我们数据也就是这样啊,只是记录的一条啊记录的一条一个用户。一个用户对一个商品的一个具体行为,然后有了一个具体时间戳。呃。
这个具体的代码我们待会儿呃就是说待会儿有领取方式啊,大家不用着急不用着急。好,然后呢这个地方的一个具体的行为,这个地方啊PV嗯大以及cart啊以及FAV啊具体的含义。然后这个用用户及数量啊。
我们这个地方都给出了。呃,这个具体的一个数据集整体还是蛮大的啊啊,就是说数据呃对于这个用户而言,用户而言其实都是100接近100万。总体的一个行为就是总总共的行数啊应该是在嗯就是说一个亿啊。
一个亿就行数啊在一个亿,其实这个文件是挺大的啊。这个解压之后,这个文件,这个CV应该是在啊一个33到4个G啊,3到4个G之间其实是很大的,其实很大的。它压缩之后啊,压缩之后其实是800兆啊。好。嗯。
我们首先呢读取一下我们的一个样本啊,我们的一个样本,我们的CSV。这个地方呢我们只读取我们的一个前我们的1个500万行啊,前500万行。对嗯,都取得前500万行呢。
就是说它嗯比如说我们相当于是对数据集做一个采样啊,只使用我们的这500万行完成我们的一个建模。当然也可以用更多的数据啊,数据更多,我们的一个效果肯定会更好。
但是呢就是呃肯定呃它的一个训练周期啊也会更长啊也会更长。然后呢,我们的整体的一个数据类型啊,user是一个inter类型的item是一个in类型的category啊。
inter类型behavior它是一个字符串类型,然后time是一个inter类型。这个就是我们的一个数据集啊,这个就是我们数据集的一些样本啊,就是说五五行啊五行。对。
然后呢这个地方我们在做一个具体的一个嗯建模的时候,我们就是利用这个已有的一个数据啊,已有的一个数据完成一个建模。好,其实呢对于我们的这个数据集而言呢,其实你假如说想要把它做好啊,其实是需要尝试很多的。
需要尝试很多的。首先呢我们需要对我们的一个具体的数据集呢,把它做一个数据分析。嗯,就是说从我们的一个原始的一个这个时间戳,这个地方呢是一个unix time啊,unix time的一个时间戳。
我们需要提取出它的一个具体的一个时间。也就是提取它具体的一个年月日啊,年月日,然后把它提取出来啊。提取出来之后呢,这样我们的一个数据集它长得比较好看,对吧?
user对item以及嗯还有还有个category啊,这个地方的category呢。是我们的一个商品的一个类型啊,商品的类型,上面忘了写了啊,这个地方商面忘了写了啊,还有一个是商品的一个类型啊。
就是它的一个类目。嗯,然后呢我们这个地方就是说我们提取的这些列啊,这些列就是我们提取出来的一个用户的一个具体的一个时间戳啊,我们把它转变成了日期类型,日期类型。好。然后呢,我们继续啊。
然后我们可以看一下我们的每天的一个行为的日志的数量啊,我们每天行为日志的数量,它的一个具体的一个行为就是。这样的啊具体行为就是我们的一个每天的一个数量呢,基本上都是在50万行50万行万行左右啊。好。
然后呢,我们再可以看通过这个pandas的一个透视表啊,透视表就是说如果你大家对于这个透视表比较清楚的话,它就是。啊,这个地方是种交叉表,我们对于我们的一个交叉表呢,可以统计得到我们的每一个item。
它的具体的一些呃就是说所属的一个行为。比如对于iteom这个商品812879这个商品呢呃在我们的记录中,它总共被购买5次。被加购63次,被收藏是45次,被浏览1477次,对吧?
这是总总共的啊所有的用户对这个商品的行为,然后我们把它通过我们的crostable,我们的一个交叉表来完成我们的一个统计啊,这是我们所有的一个统计。然后我们统计的完成这样的之后呢。
我们就可以统计得到我们的一个商品,它对应的一个转化率,对吧?每个商品的一个转化率,这个地方的转化率就是我们直接是。用我们的一个by除以我们的1个PV,对吧?去做一个处发就行了。
那么你会以看到啊这个不同的商品,它的一个转化率是不一样的啊,其实是相差蛮大的相差蛮大的。好。然后呢,我们这个地方假如说我们想要预测一下呃用户第二天是不是有这个下单的行为。
或者说预测一下用户第二天有没有登录行为,或者说预测一下我们的用户,他第二天是不是对某个商品是不是有购买行为,对吧?类似的这些任务呢,就是说我们可以先。用这个深度学进来建模啊啊。
我们先用非深度学进来建模啊。我们比如说我们在构建我们的标签的时候,这个地方的一个标签我们怎么进行构建呢?假如说我们这个地方构建的任务是预测一下用户他第二天是不是下单的。就是说预根据用户他历史的一个行为。
预测一下这个用户他未来一天有没有下单的行为。有没有下单情况啊,这个下单呢,它我我不就是不关注他对什么商品下单,我们就是说只他只要有下单的,它就是标签是一。如果他在这一整天没有下单的啊,我们标签就是零。
好,这个地方是一类任务啊,就是说它第二天。第二天是不是下单?这个下单呢就是我们是根据这个bu啊。这个地方的by。来做我们的一个具体的一个标签啊,这个拜是我们的具体的标签。好,那么这个地方就是说你会发现。
我们在做一个具体的一个下单的时候呢。我们也可以。这是一类任务啊,第二天是不是下单,然后也可以判断也可以做。第二天他是不是对某个商品下单,这个地方更更加具体一些。这个地方的下单呢。是对某商品的一个。
就是针对某商品做。这样的会也可以啊也可以。那么这个任务跟。这是第一个任务,这是第二个任务。这两个任务其实是存在区分的,其实存在区分的啊。我们先看第一个任务。
那假如说预测了一下用户第二天是不是有下单行为呢,其实我们就可以直接把它的标签构建好,然后去做一些统计。比如说我们可以统计一下用户他在我们的一个。具体的一个行为日志里面,他的在某他每一天的一个浏览行为。
他的一个浏览的小时数量,它的一个所就是说浏览的商品的一个类别个数等等等等。这些行为我们都可以用来做一个统计。而且呢我们可以统计的就是得到这个商呃这个用户他具体的就是说历史的一些行为的一些记录。
比如他总共购买了多少次,下载量多少次,收藏了多少次,浏览了多少次,对吧?类似的,通过我们的这个呃不管是我们的一个透制表还是价值表都可以计算得到啊,都可以计算得到。提取完成之后呢。
我们就是可以把它所有的一个用户啊。所有的一个用户把它转变成一行,就是说把用户的一个多行。序列把它转变成一个单行的。这个地方的每行。他就是一个用户。那么这个地方的每列呢就是用户的一个行为。
用户的一个行为啊,或者说一个习惯。比如说他所。历史连续登录的一个次数。历史就是说有购买的一个具体的一个次数,对吧?这个地方有很多的一些特征。我们是可以统计得到的啊统计得到的。统计完成之后呢。
这个地方的单行就是我们的一个训练样本,就是我们的一个训练样本啊。我们的每个训练样本我们是根可以根据它。第二天是不是有购买,我们给他打一个标签,然后可以完成一个训练啊。
这个是我们的一个基于我们的一个机器学习的一个节目。它是利用我们的一个提取特征啊,提前人工提取特征。这些特征呢跟我们的APTPPT所示的一些特征,可能存在差异。但是呢其实是可以以此类推的啊。
可以以此类推的。好,我们看一看各位同学有什么问题。那么如果是使用我们的一个深度学习怎么做呢?其实如果是使用深度学习呢,其实它就会呃更加就是说简单一下,整体的网络结构跟我们的一个。哦。
PPT所示的这个地方其实是一样,基本上一样的。对于我们的一个就是user,我们把它做一个嵌入。然后对于我们的一个啊这个item,我们的一个商品呢也做一个嵌入,两者呢把它都嵌入啊都嵌入。然后呢。
通过我们的全年阶层完成一个分类操作,完成一个分类操作。怎么做呢?这个地方我们需要定义一个embedding。这个embedding呢就是我们的一个嵌入层,一个嵌入层啊。
我们将一个具体的一个user把它嵌入到1个32维的一个向量里面。一个具体 userer把它嵌入到一个向量里面。然后呢,我们的一个item呢也把它嵌入到一个向量里面。好。
然后呢我们再做一个具体建模的时候呢,我们把这嵌入的这是其实就是一层啊,我们对应每层。传入我们的一个useritem以及我们的category,这是我们的商品类型。这个就是我们的得到的具体的限量。
我们把它拼接到一起。我们把这些项链拼接到一起,然后再通过我们的全连阶层,然后再通过我们的全连阶层,对吧?我们的全连阶层,然后再通过我们的具体的这个分类啊,分类就可以得到我们的一个标签,得到我们的标签。
所以说这个地方其实跟我们的1个PPT是一致的啊,是一致的。也就是我们的一有的一个user。一个item。这个地方把它嵌入到32维,这个地方呢把它嵌入到32维,然后把它拼接到一起。3232。
然后呢再通过我们的全连阶层。然后完成一个零或者一的分类,对吧?网络结构啊是类似于这样的一种形式。那么这个地方其实你会发现我们的一个网络结构,它可以用来做。商用户对商品的一个具体的一个。购买的一个打分呢。
什么意思呢?我们这个地方其实是可以更进一步的可以更进一步的。就是说我这个地方呢可以更进一步的评价我们这个商品。在这个用户的下面,他有没有有没有这个购买的一个行为?有没有购买的个行为,什么意思呢?
也就是说这个地方我们不单纯的是输入了用户的一个信息,我们也输入了一个商品信息,对吧?如果一个用户。对一个商品。有一个具体的一购买行为,对吧?那么我们的一个具体的网络模型就是说user。以及一个item。
做了一个嵌入,然后把它拼离到一起,然后通过FCson,它输出的就是一。对吧一他有购买行为。那如果他没有购买行为呢,我们就让他这个网络输出0。注处零对吧?所以说呢我们的一个具体的一个网络模型。
其实在定义好之后,它就可以完成这种用户对于一个商品的一个打分的操作。这个打分呢你可以也就是说这个分数就是用户对于商品的购买的可能性。购买的一个可能性。好,那么这个地方我们来往下看啊。
你会发现呢我们的一个具体的一个就是说用户的一个标签,用户的一个标签就是啊用户对商品的标签,就是他具体有没有购买这个商品。有购买的个商品就是一没有购买的就是零。有购买就是一,没有购买就是零。好。
那么这个就是我们的一个很典型的把一个深度推荐模型,把它用于我们的一个商品推荐,用于我们的商品推荐。好,那么这个地方我们的一个训练的一个损失函数呢,是我们的二分类。二分之啊BC1好。
然后如果是做一个训练呢,就是将我们的一个已有的一些样本啊,把它转变成我们的一个具体的一个。有正样本和副样本的这种情况,然后再通过我们的一个训练过程。那么有同学就会说啊,老师这个地方这个网络模型它是一个。
一个user。对一个item。它的一个具体的一个打分啊,这个地方它是不是购买?对吧是不是购买?那么这个怎么能够用来做推荐呢?这个地方其实是这样的啊,推荐。我们是推荐一些代选的商品啊。
这个地方呢我们有一个item list。那么我们在实际做的过程中呢,我们推会对我们的待推荐的商品呢,每个都去做一个打分。也就是说有的item它的一个出售结果是0。37,有的人是0。65,有有的是0。
85,对吧?用户对这个商品的购买概率。那么我们肯定是说。推荐啊,用户他可能更可能购买的商品,对吧?推荐给用户,所以说这个地方其实你构建了一个模型呢,是用户对这个商品的一个打分。这个打分呢。
其实你可以理解就是说它具体。会购买的一个概率啊会购买的一个概率。好,所以说呢你会发现啊这个我们的一个网络模型虽然说看起来很简单,但是呢它可以既可以用在用户对这商品,是不是点击用户对这商品是不是购买啊。
这些具体的任务里面。好,那么这个具体的一个训练过程啊,也是呃就是说不管有没有GPU都是可以完成训练的啊,都是可以完成训练的。好,这个地方呢还有一个小小的一个细节啊,一个小小的一个细节就是。
我们再做一个具体的一个呃,就是嗯我往一下啊。我们在做一个具体的数据集的时候,我们其实是有正负样本的啊,我翻到这儿。用户对于一个商品。它啊这个商品类型以及它的一个具体的一个行为。
以及它label这个地方label为什么是零?就是说这个地方用户他对这个商品是没有购买的,label就是0。如果一个用户他对这个商品是有购买的,那么这个地方label就是一。
所以说这个地方其实我们的这个代码。这个春DF是我们上面啊这部分所构建的一个把我们的原始的数据集把它转变成了这种带有正负样本标签的一个数据集。对,所以说呢其实这个过程啊整体的过程就是你构建我们的一个。
首先呢就是说你知道我们的任务是什么。你知道了任务之后呢,然后去构建我们的一个标签。就是我们的label。然后呢,你再去构建模型。对吧模型这个地方我们是直接用一个类似于男生网络这个网络模型来做的。
所以说你会发现整体的过程啊其实是非常简单的,整体的过程是非常简单的。好。嗯,我们来看看大家有什么问题啊。嗯,老师为什么要做一个嵌入呢?嗯,这个地方其实是这样的啊。这个地方呢一个inbedding。嗯。
嵌入。其实是一种。它你可以理解它是一种它原始的是在NIRP领域的一种操作。NIRP领域操作其实是一个呃你可以理解就是一个特征转化,它是一个特征转化。比如说他把用户的1个ID为78的。
把它转变成32维的一个向量。用户ID55把55005600啊,也可以把它转变成1个32位的向量。这个地方我们呢不在乎它具体的一个取值是什么,我们都可以把它转变成一个实数。
而且这个地方是一个稠密的一个向量空间。因为原始的一个用户的一个输入啊,他是很难做特征工程的,很难做特征工程。就是说我假如说想要去。衡量一下用户78和用户5600啊,这是ID啊。
就编号78和编号5600的一个两个用户的一个相似度。其实我们是很难衡量的。但是如果我们是通过把它转变成一个向量空间之后,然后我们就去可以用这两个向量来去衡量这两个用户的一个相似度的。对。
然后这个地方的一个用户ID,其实它是一个高基数的特征,高基数的类别特征。高基数的类比特征。那么对于高基数的类比特征呢,我们是很常见的操作,就是把它做一个嵌入啊,把它做一个嵌入。对。嗯。
看看大家还有什么问题没有。呃,那在这里积续学习为什么就不需要呢?嗯,这个地方其实是这样的,这个地方其实是这样的。呃,因为我们的一个深度学习。深度学习它其实是能够做。
其实这个地方其实也是能够用机忆学习来做的。这个地方其实也是能够用技来做。比如我这个具体的做法啊,可以大家写大致写一下。就是我们可以提取user。的一些特征,然后提取我们的一个item的一个特征。
然后也可以提取user对iteom的一些具体的行为。然后构建一行。构建也行对吧?构建也行。这个地方呢就是说我们也可以参考就是说继忆学习的一些方法,统计一些用户的信息,统计一些ite信息。
统计一下用户对这个iteom的这些行为以及一些历史的行为。这个也行。但是呢你会发现你在做的时候呢,这个地方我们的数据集非常大的。我们数据级非常大的,你说像一些数模型,它在大数据集下面。
它的一个效率会很低。而且这个地方我们需要人工去做一些特征工程,其实是比较耗人力的。所以说这个地方我们在嗯一些实际落地的以及一些具体的一些大规模的一些推荐里面,其实还是深度学习会比较多。深度学习会比较多。
机器学习它也可以,但是呢它所耗费的一个人力成本和机器成本,其实远远大于深度学习的,远远大于深度学习。对。好嗯,然后我们接下来做一个抽奖好不好?我们接下来大家呢也可以我这个地方提一个小问题啊。
然后大家可以在我们的一个呃微信群里面进行提问啊。然后呃首先回答我们问题的三位同学可以领取我们的一个答案啊。嗯,这个地方我们的一个。😊,呃,这个网络结构。往上翻啊。
这个网络结构它能就是说它是能不能用卷积层呢?就是说在我们的这个部分,这一部分是不是能能不能用卷积层来做呢?就是我们再将我们的一个具体的一个iteus把它进行嵌入之后,以及我们的item嵌入之后。
这后面的一些操作能不能用卷基层或者其他的层来载替全连阶层呢?对,有没有想回答的同学的,以及把你的一个你觉得能你的一个理由可以说一下,在我们的微信群里面啊。如果你觉得不能,你可以把你的理由说一下。
然后我们最先回答的三位同学啊,嗯是可以领取到我们由呃一步社区所赠送的三本纸质书。对,大家可以在我们的微信群里面发啊,不要在我们就是不是在我们的一个直播软直播的这个呃地方。对,如果大家感兴趣的话啊。
可以回答一下可以回答一下。好,嗯,那么。有没有同学想想回答的啊,可以在我们的微信群里面回答一下。对呃,79岁扶强对扶强对抗路啊。可以,但是还需要一个全景计算啊,你可以把你的这个发到在微信群里面发一下。
好不好?你这个回答也是可以的,但是呢其实并不一定。其实并不一定要全年决行。就是你这个说法也并不一定对,其实全年阶层它可以用其他的层代代替。用卷积层代替也可以。对,所以说并不一定用全阶层啊。好。
那么我们接下来的时间呢,我们就给各位同学推荐一门课程啊。就是我们今天晚上如果报名呢也是有嗯满减活动啊,直接是优惠我们的3000元,而且是赠送我们的500元的一个京东卡。
我们这个具体的课程呢是由我们的签约家电和一步社区共同推出的继续学习集训营。第16期。第第16期集训营呢就是嗯内置了6个企业级项目,然后挑战年薪40万。我们的具体的机训营的课程呢其实是非常干货的啊。
我们提供了呃有24小时答疑的这个QQ群,以及我们的真实的1个GPU的一个平台啊,这个GPU的平台呢是嗯所有的同学可以来进行使用的,所有同学来进行使用的。然后呢也是由我们的老师和助教啊。
在我们的1个QQ群里面给大家进行一个辅导。然后呢,我们的这个机训营呢也是由我们的一个就业的一个辅导和推荐的啊,就业辅导和推荐的。我们的一个具体集训营的一些项目呢,主要是涵涵盖了这个CV方向和NRP方向。
比如我们的车段线检测智能问答机器人,以及我们的这个就是说比如我们今天所讲解的这个电商平台的嗯商品推荐系统啊,在我们的机集训营里面呢,我们都会展开的就给各位同学进行一个讲解啊。嗯。
如果大家对我们的这个集训云感兴趣的同学呢,也非常欢迎在我们的一个今天晚上啊,就是说来进行报名啊,我们的报名呢就是说在这个价格上可以做一个优惠啊,直接是优惠我们的3000元。
然后送我们的500块钱的京东卡。然后大家如果想要领取我们今天的一个课程代码,以及想要报名我们机器人的同学呢,都可以啊加一下我们的杨老师的微信,我们杨老师的微信啊,然后我们的课程代码和我们的PPT啊。
都是从我们的杨老师的微信这个地方领取。对,如果大家感兴趣啊,对我们的这个机器云感兴趣,也可以去跟我们的杨老师啊进行一个深入的沟通。对。好,呃,大家可以截图一下这个我们杨老师的微信啊,截图一下。好。嗯。
大家如果想要领取我们的代码啊,我们的课件以及对我们的机续运营有什么问题的,想要深入了解的啊,都可以啊,就是说加一下我们杨老师的微信啊。
好。
呃,我们的机器云呢其实是非常干货的,就是可以直接送我们的基约在线的一个联度的VIP以及我们的一年的1个GPU的使用的一个权啊。所以说也是在就是它具体的价格也是啊虽然说嗯就是说是一个大课。
但是呢它所包含的一个具体的一些课程服务啊,知识啊也都是非常干货,也非常优惠的。然后如果大家对机器云感兴趣啊,也可以通过我们的一个呃就是机器云的一个官网,然后去找到这个相关的一些项目介绍,以及相关的链接。
对,嗯,这个呢也是非常非常就是说实战的一门课程,也是讲解的。就是说我们来看一看这个具体的一个呃就是。
它是涵盖了这个机极学习以及这个深度学习,还有涵盖了深CVNRP和推荐的三个方向吧,其实是非常干货的啊非常干货的。
如果大家对极器云感兴趣,嗯,我可以非常推荐大家去加一下我们杨老师的微信啊。对。好。大家对我们今天的课程还有什么问题吗?对大家对我们今天的课程还有什么问题吗?好,如果有问题,现在可以提出来啊。
现在可以提出来。好,大家如果想要领取代码和课件的呢,可以加一下我们杨老师的微信啊。
大家有什么问题吗?美科书呃老师能嗯能讲一下面试里面叉级bu如何介绍吗?每科是如何建立的这个地方叉tbu的其实是一些面试,它有一些套路,它不会说直接让你去讲原理。
他可能就会让叉t boost和其他模型的一个区别。比如叉ge boost和呃letsBM的区别,叉ge boost和学习性念的区别。每棵树如何建立的,这个其实是树模型的一个基础。其其实数模型的一个基础。
就是数模型它是如何进行一个特征的一个选择,以及我们的一个节点分裂的。然后呢呃在这个具体的过程中,它其实你如果是问原理的话,那就你要去输这个就要深入一些。比如它的一个具体的一个梯度的一阶梯度的计算。
二阶梯度的计算,以及它的一个具体的一个就是说数的一个bagging的操作。对,就说你你可以先从数的一个构基础的构建过程,再加上随机森零的一个bagging的过程。
再加上它的一个一阶梯度啊二阶梯度的一个理和过程。这三步你可以接受。好,大家还有问题吗?好。大家如果有问题的话,可以提出来吗?它不是布斯汀吗?是啊它是布斯汀啊,但是它是计算的这个一阶梯度和二阶梯度的。对。
但是其实叉叉机bo里面也是有bagggging的,叉机bo里面也是有bagggging的操作。它。它里面是有也是有bagggging操作,它其实有随机森林的这种bagging操作。
也有这种bosting啊。对。好,大家还有问题吗?如果没有问题,我们今天的一个直播就到此结束了。大家一定要加一下我们的一个课程群啊,我们的一些资料呢,一些福利啊都是呃比如说在群里面进行分享的。
然后大家就是说通过加一下我们杨老师的微信啊,就可以加入到我们的课程群里面。
好。好,那么我们今天的一个直播啊就到此结束了。然后后续有什么问题呢,也可以在我们的一个群里面进行沟通。好的,谢谢大家。😊。
好,谢谢大家啊。😊。
人工智能—推荐系统公开课(七月在线出品) - P15:22.3.31深入浅出推荐系统 - 七月在线-julyedu - BV1Ry4y127CV
🎼。🎼,各位同学好,我们的。我们的公开课呢是在8点钟正式开始啊。大家也可以去嗯拉上自己的小伙伴一起来听我们的公开课。大家有什么问题的话,我们都可以在聊天窗口进行互动啊,有什么问题啊,或者想聊的想问的。
嗯,时间的话大概应该会持续嗯一个半小时到2个小时之间吧。一个半小时左右。那如果大家问题多的话,可能时间还会久一些。嗯,强化学习这个我们的课里面没有准备的啊。对啊。因为强化学习线。
其实在推荐系统里面真正的落地的还是比较少的。啊,我们会去讲一些像。也是比较前沿的对啊,像嗯graph相关的对,就是图谱这些啊。GCN在推荐中还是有过。还是用过的对啊,一般来说的话,我们在用结因的话相关。
我们可能是。嗯,可以去构建一些特征。对,就是通过图来去构建的一些像那种嵌入向量。对,然后再去用到金牌模型里面。这种话是比较多的。DSSM啊双塔是有的,因为双塔也是一个比较经典的模型。对啊。
呃可能是我们再去做召回呀,或者说再去做出排的时候,那经常会去用到双塔。卡的厉害吗?其他同学听起来怎么样?啊,我这个直接用自己的热点来去连的,也没连。不卡okK okK卡同学的话。
要不然看看自己的网络是不是有问题啊。嗯嗯。嗯,OO看看来我这课应该是正常的对嗯,卡同学的话调一下自己的网络啊,看网络是没有问题啊。😊,那我们的课马上开始啊,大家可以。嗯,来行这些小伙伴一起来。
来听我们的公开课。能启动的话,这块比较核心的还是看能不能就是说做一些像数据的一些迁移。对啊啊我们能够去移植到别的一些数据啊。啊,比如说我们想要就是说嗯做一个新的一个推荐。对。
这时候可能数据来说的话就比较少一些用户的数据呀,或者说是像一些商品的数据。那这时候我们可以去借鉴一些其他平台的对啊,那一些数据看能不能应用在这个场景下面啊,这种解决是非常好的那如果说没有这样数据的话。
那我们可能会去考虑一些。像一些热点相关的一些呃推荐啊,对啊,就是这种冷启动的问题。对,有那么点意思啊,联邦学习。还有一分钟,我们马上开始。欢迎各位提问啊。对我们我们的所有提问啊都是有奖品的对。
我们最后会随机来从大家的提问当中去抽取一部分幸运的同学会发放我们的奖品。好的,我们现在正式开始。那我们这次的公开课内容呢是深入浅出推荐系统,那会围绕着召回排序重排呃三个模块来去给大家去做一个介绍。对啊。
嗯当然我们这次的课程时间是有限的,不会说去围绕着比较深的原理,对大家去做详细介绍,而是让大家去对推荐系统有一个呃整体性的认识。对啊。呃,那我是本次的老师啊。
呃讲师是啊呃那在介绍之前呢呃我先介绍一下7月在线。对啊,呃呃因为我们这次课程呢全部就是来源于就是7月在线的对啊,那7月在线呢也是成立的时间是比较久的,专注于智能时代的人才培养与企业服务。
呃像我们的推荐课程呢,已经呃已经迭代了12期了。对,就是推荐高级小班已经12期了。那每一次的话我们都会去对之前的进行一些总结,还有内容上面的优化调整。对啊,就不断的来去进行迭代优化。对。
到今天就是说肯定是一次比一次完备,一次比一次好的嗯。那除了推荐以外呢,那缺这些里面还会包含很多其他人工智能相关的一些课程,像自然源处理啊,还有像计算机试觉。嗯,自动驾驶也是现在比较火的。内容对啊。
还有一些像强化学习也是都包含的。OK那在我们这次课程当中的话,我们会进行直播的一些互动,小的互动,也给各位同学呢准备了一些礼品。对啊,那我们礼品呢是包含三个部分的。
第一个是7月在线的VIP月卡名额呢是30个名额啊。那第二个的话是呃我们的实体书抽奖。啊,那实体书呢是也是现在其实来说市面上呃比较热门的啊,一个是向量的推荐系统实战。
那另外的是王哲老师的深度学习推荐系统啊第三个呢是现金优惠1000元,是在今晚零点前,如果说我们去报名了我们的推荐课程,那我们会去优惠1000元的对啊,所以说大家多多去互动,能够去赢取我们第一项。
第二项的奖品。OK我们可以先攒些问题啊,等会儿一起来去回答。😊,那这是我们今天的主要的内容啊。那推荐系统呢,现在其实来说嗯也是我们去从事人工智能领域啊,比较火的一个子方向。
对啊啊一般的话就像是像LRP呀,然后是计算机视觉,啊后就是搜广推。对啊,啊搜索呀广告推荐。对他里面其实有很多共通的内容的啊,因为他们都会去包含像召回排序重排部分啊。
只是说可能涉及到的一些技术或者说业务上面存在一些差别。但他们其实共通的方向是非常多的啊,而且现在其实很多越来越多企业,他们也会去应用推荐系统的技术来去提升他们的用户体验。啊。
让用户能够感觉到就是说呃听他们的一个呃购物的一个体验啊,或者说他们。去嗯听音乐呀、看视频这样的能够捕捉到他们的兴趣啊,这种的话可能长时兴趣或短时兴趣。当然的话,我们推荐系统比较好,也会比较厉害推荐系统。
他们也会去挖掘一些潜在的兴趣啊。很多的一些公司,他们的一些收入啊,都是围绕着像广告呀,或者说是商品这样的一些推荐的。那推荐系统的话,我们可以去呃像电商推荐系统啊,我们可以去分成大概几个部分。对啊。
那首先呢我们是通过日志,对吧?嗯,然后日志里面我们可以去提取到用户的一些行为数据。啊,出嗯比如他嗯有点击,有浏览,有购买,有收藏、有加购啊,这些里面的话可以反映出用户他所感兴趣的一些点。
就他所对哪一些事物比较感兴趣一些,哪些商品比较感兴趣一些。Yes。就浏览购买,然后加购。然后呢,我们通过这样的一些序列或这样的一些数据,然后再去利用我们推荐系统技术。去挖掘出用户他潜在的。
购买的商品或他潜在的一些意图。那主要技术呢是召回排序,还有rerank,就是重排部分。那我们通过这三项模块,然后最后我们就可以去挖掘出用户他可能去可能感兴趣的。呃,一些一些商品。对啊。
比如说一些呃化妆品呀或者说一些衣物啊,因为他之前有浏览过一些化妆品这样的一些SKO这样一些商品,也去加购过衣服。对啊,那这些衣服的话,他可能会考虑到和他加购的衣服。呃,有很高的一些相似性。
那有这种相似性的话,他才有可能把这个商品给推给你。那这是电商场景下面它整体的一个流程。对啊。那具体来讲,是呃推荐系统它其实嗯。最主要的还是围绕着召回和排序。重排的话,其实他只是在后面阶段。
只是想更好能够提高啊我们整体的一个呃多样性,还有一个用户体验来去做一件事情。对啊,核心技术点还是围绕着召回和排序的。那我们可以去想一下,如果说我们想要去给用户做一些推荐的那我们的商品池。
像淘宝、京东、拼多多,他们的商品池是上亿上百亿这样的一个商品的那怎么样从里面去挖掘出来重要的一些商品呢?对啊,如果说我们对接商品进行建模,上亿商品进行建模,那其实也是非常耗费我们的资源。
耗费我们的时间的。很难去达到实时的给用户进行反馈推荐。所以说我们将推荐分成了两个部分先是进行召回,就是从这种上百亿上十亿上亿的商品里面,我们先去找到。用户他可能潜在感兴趣的。嗯,几千个或者几百个商品。
啊,这个时候的话我们可能不会去让模型啊变得非常复杂,也不会去构建很多的一些特征。因为复杂的模型,还有复杂的特征,只会让你的参数量,让你的模型变得非常的重。对啊。
所以说这个时候我们需要的是高效快速能够处理比较大的一个数据。那第二个阶段呢才到了我们的排序阶段,就是将原本的上亿几10亿的商品,我们去压缩到几百个商品。这个时候量级会急速的下降。对呀。
那这个时候的话我们就不用太去担心啊,我们模型能否处理这样的一些问题了。对我们可以去在原本的数据基础上,我们去构建很多的一些核心的一些特征。啊,对,其实做推荐的话,其实嗯模型是一点对。
特征也是非常关键的对啊,可能很多书上可能对于特征这块的一些构建讲的是比较少的对啊,特征的话,其实我们还要结合很多的业务点呀,上下文的一些信息。用户的信息。
商品的一些啊信息数据来去构建这个也是非常考察我们业务的理解,然后技术点的啊。然后最后经过排序之后,我们得到数十个哎嗯可能非常符合用户呃的兴趣点的一些商品,然后推荐给用户。那这是他的一个基本的流程。
Yeah。OK我们现在开始去找我们的召回模块啊,那召回模块的话,其实我们就是去做事情,就是来去缩小缩小我们的搜索范围。对,从多少亿缩短到几百个几千个啊。这是它的一个它的一个功能,对他能做的一个事情。
第二个呢,通过局部来去拟合整体。怎么理解呢?我们可以把它看作一个盲人摸象的一件事情。啊,那我们可以看这个图里面。对啊,一共有4个呃四个盲人队。他比如说他每个人只是去摸了哎其中一个部分。
大象的一个一个部分。嗯,那我们可以把它怎么理解呢?我们可以把大象可以理解成我们。理解成用户对他可能嗯感兴趣的一些,或者说呃。这个感兴趣它分成高和低的队啊。高和低的对,有的兴趣的话,你其实你能一眼看到的。
有的兴趣你是看不到的。因为有很多用户他冷不丁的到你的平台里面去直接下单了一个商品。你历史没有这样的一个商品的一个记录,或者说相同品类的记录。你是很难去get到的,或者说很难去覆盖到的对。
所以说我们尽量的去利用你看每一个盲人,他所关注点是一个部分。那其实每一个盲人我们可以把它。呃,看作一个呃召回的一个策略啊,或者说召回的一个模型。就说没有一个没有一个模型,对吧?他可以去。
关注到所有点的啊,比如说我们所要构建一个简单的热点的一个策略,就是来去将最近比较热点的商品。推荐给用户。那你既然选择是热点,那这时候可能这些热点商品并不是用户感兴趣的。
所以说兴趣点这个这个部分你是无法去。包含在内的啊,那另外呢你所构建一个根据用户他历史行为的来去这种序练。对我们来去挖掘出用户的。潜在的兴趣,那种潜在兴趣的话,也并不能包含这种热点的一些商品。啊。
所以说每一种召回它都是有自己短板的。所以说一般的我们公司里面都会构建呃几个。甚至十几个这种召回的不同的召回的策略。啊,就尽可能的去覆盖所有用户的这个用户的它的可能性。
那在评估阶段的时候呢呃呃我们并不简单的来去评估像它的1个CTR呀,或者说它的一个召回率啊,嗯这个并不像一般我们做一个比如说做一个销量预测呀,或者做一个就是说金融风控的这样一个问题。对啊。
因为这块要考虑到业务的,考虑到业务点,还要考虑到用户的一些体验的。所以说准确度哎,它是一个非常关键点。那我们还要考虑一些像时效性、多样多样性、覆盖度、交互体验、运行策略这些问题我们都需要去考虑到的。
对啊,嗯如果说你一味的去考虑它的一个用户点击率,对吧?啊,那像短视频,对吧?你一味的考虑他的点击率,那可能你给他推荐一些都是一些标题榜哦标题党的一些这样的一些这样这样的一些视频。那这个时候的话。
其实用户体验是非常差的对啊,因为它缺少一种多样性,还有一种的话是。用户的一个呃那种深入型,或者说就是说他看视频时间是非常短的。可能说进入之后感觉不感兴趣,立马就划掉了。对啊,所以体验是非常差的。啊。
所以呢我们会从多个角度来去进行哎进行评估。对啊,那另外的话我们也会进行我们真嗯实际的一个测试,那就分成可能离线阶段的话,我们更多的是考虑它的一个准确度和覆盖度。那线上的话测试的时候。
我们会去看它真实的1个CTRRCVR的提升。还有人均的阅读呀,人均的一些停留时长。或者说我们的呃GMV的一个收入啊,广告的一些收益啊,这是我们线上会考虑的。那接下来的话我们给大家聊一聊。
就是召回模块有哪些比较经典的啊一些策略啊,或者说模型。OK看到已经有不少同学提了一些问题了。对啊,大家可以踊跃来去提问题的。不管是技术问题、业务问题。
或者说推荐系统这方面的一些就业问题都是可以去提问的啊。呃,推荐系统工程师对于论文复现能力有要求吗?呃,这个话肯定是要有的对啊呃,当然其实来说,目前而言的话目前而言的话嗯。目前而言的话,其实嗯很多的一些。
模型对吧?很多一些模型大家其实大厂或者说小厂里面都还在用那些比较经典的一些。对啊啊,很少的话去用比较非常前沿的。就是说刚一出来的一些模型我们都会去用的。而是都在用那些比较经典的,像现在比较经典的。
像加入一些transformer这样的一个模块,或者说这种多任务多目标啊,这种是比较多的,或者说加入一些attention这样的一些结构。啊,但是我们基本的一些能力,复现能力我觉得还是要有的对啊。嗯。
目前相似度计算都是通过引白0后,通过内积来去求相似度的。对,这个是这个是对内机是一个对鱼弦相似鱼弦相似度也是可以的对啊,计缘相似度的话方法还是比较多的,这个可以去查一下啊。GBT加RR现在还是。呃。
比较少了比较少了。对啊,GPT加LR对,这是当时facebook他们就是啊主要GPT的话核心点还是帮助去构建这种特征的一些组合。它的组合体现在数的分叉的时候,数在分裂的时候,对。
每次分裂它会选择一个特征或者说合适的一个分裂点。嗯,那这个是多次分裂,其实就是体现了多次的一个特征交叉。嗯,LR它其实不具备这样的一个能力的啊,这个的话其实很多场其实。呃,不怎么用的对啊。
还不如直接就是用GBT或者说用LR这种模型。来的快一些,来的实际也行。呃,目前转到AI行业简历上写什么项目,及达到什么样深度比较好?AI行业AI行业。嗯。嗯,如果说你之前没有相关的。相关的就业经历的话。
那你就要去呃找一些项目,找一些项目。对啊,来去体现出你在这方面有一些实战。对,一个是有实战,另外一个是有相关的一些理论啊,这两点其实面试官都会去考虑的对啊,当然也有很多其他之前没有做过推荐的。
但是可能推荐这块的话,他嗯有比较好的一些理论。对,另外的话他也会找一些项目。然后进行一些实践。对啊,而不是他之前工作上面做的事情。那这块的话其实可以找一些相关的一些比赛。对。
像阿里、天池啊、卡go都是可以的。Yeah。okK我们继续讲课,等会儿我再去回答啊。那协同过滤是非常经典的非常经典的召回算法。对啊嗯。行过滤化,它同时使用user和ite之间的相似性来去进行推荐的对啊。
其实我们现在再去做一些。做召回的时候,那协同过滤userCFite CF也是必备的这是打底的模型。其实。呃,UCFite CF它其实并不比那些我们根据向量召回啊,或者说我们根据那些双塔啊召回呃效果差。
对啊,它其实来说效果是非常稳的对啊。啊,因为它其实可以捕捕捉到其实用户和iteom之间的他们之间的一些相似性关联性这样的一个信息。那我们给来看个例子啊呃,例如用户A对啊,和用户B类似。那并且用户。
用户必喜欢视频一。那这时候我们系统可以向用户A。哦,推荐视频仪啊。嗯,这种例子大家看看在哪种场景下,我们是见过的。大家有没有去关注过像那视频号,微信的视频号,还有抖音呀、快手。对啊,这个里面的话。
尤其是视频号,它里面存在比较强的。社交属性。对啊,他会优先去推荐用户,你的朋友,对吧?所关注的。或说点过赞的一些视频。啊。因为他会默认,其实两个用户之间兴趣比较相仿,因为我们是好友。
所以说我们其实有着志同道合这样的一个因素在里面的。所以这样的推荐其实是没有问题的。另外他也会提高。用户的之间的一个社交的一个关系强度。对啊。呃,包括像其他的一些短视频,他们都会考虑这样的因素的啊。
那这种话其实我们怎么样去做些计算呢?对啊,比如说我们有对于化妆品这块,对吧?呃,小美、小丽、小红,对他们对于不同化妆品都有自己的。喜好。对啊,那包括有一些打分,那每个人都对于不同化妆品有一些打分。
包括有一些是空的那我们就要想办法去计算,或者给这些空的一个比较合适的一个分数。嗯,那。我们先去先去先去构建向量。对啊,笑美的话就是第一个是4分零分、零分、5分、1分、零分零分。
那依此小丽小红也是一样的那然后借助鱼弦相似性,我们可以去计算出小美和小丽小美和小红他们的相似性分数,可以看到小美和小丽的分数是更加相近的是0。38。那这个时候的话,我们可以。可以就是大致去认为,对吧?
那小美的话,她对于这个粉底啊,就应该是粉底还是什么?可能喜好可能是在5分。那对于这个假睫毛的话是4分。对啊。因为他俩比较相似,所以说我们就可以将小丽喜欢过的商品哎推荐给她。因为我们通过这种计算。
我们可以看作哎小美喜欢这种商品。那这是协同过滤它的一个简单的一种方式。那我们细分的话,协同过滤分成两种方式。第一种的话是基于用户的协同过滤。第二种话是基于商品的系统过滤。那第一个userCF。
第二个item CF它们的一个适用点也是不一样的。但是虽然他们的适用点不一样,但是呢我们在。我们每一次两个都是同事会去用的对,不管是推荐传,不管是新闻推荐或者电商推荐啊啊。
即使UCF它更适用于新闻推荐啊那。我们也会去使用iteom CF的对,因为两者UCF和iteom CF它们之间,其实我们如果去实践过,其实可以发现两者的重叠度其实并没有那么高的对啊。
这可以理解成他们两者其实所关注的角度也是不一样的。那先看userCF它是怎么样来去做推荐呢?他就找到相似的用户,然后把某个用户喜欢的商品啊,然后推荐给。另外一个用户。啊,比如说用户A。
和用户C它两者是比较相似的。对,这个时候呢发现用户C喜欢用户D,但A没有。对应的一个箭头。那我们这时候可以把物品A推荐给物品。A,物品D推荐给用户A啊。那再看一看iteom CF来是怎么是怎么去做呢?
iteom CF它是找到物品的相似性。嗯。😊,物品的相似性的话是呃我们可以看到,其实通过就是说呃看物品A和物品C啊,他们所覆盖到的人群。啊,人群的一个相似性的一个情况。对,然后呢我们发现其实用户。
C没有和用户没有和物品C产生过关联,这时候就可以把物品C推荐给用户C了。啊,这是。iteom CF与和userCF它俩之间的一个差异。嗯,课程项目比如集训营高级班。OK对啊呃。呃。
模型部署的话嗯模型部署的话,这个话我们会在我们的就是正式的课里面对会去介绍到的对啊,如何来去部署模型,它的架构是什么样子的对啊。要求深度学习吗?深度学习肯定是要求的。啊,因为现在很多的一些模块对吧?嗯。
像召回的话,我们会去用到MND这种多兴趣的一个召回啊,还有像排序里面其实用到的更更多一些。对,像BST啊啊这样的一些模型。DFMDCN这比较经典的,还我或者说bert to re。
就呃就是用bert来去做推荐。对啊。这里面都是要求深度学习技术的。ok我们继续啊,那下面是关联召回啊,这个是也是一个比较经典的对啊,就是说我们如何去找到用户未来可能交互的商品。对啊。
这时候啊我们可以挖掘出商品的关联关系。啊,比如说用户A他买过一些商品,对吧?那这些商品的话,他都和他都有自己比较关联的比较强的一些商品啊,比如说用户他买了立时买个A和B,对吧?这两个商品。那A的话。
它可能和C关联性比较强。B的话他和D关联性比较强,那这时候的话,我们可以将C和D推荐给用户。啊,因为我们在历史书里面发现A和C。它俩同时出现的概率是非常高的。所以说买完A之后,那大概率都会买C啊。
这个是不是就像那个啥就是啤酒尿布这样的一个理论了?对啊。就是说我们买完啤酒之后,哎,大概率会去买尿布啊。对,所以说我们可以把尿布和啤酒放在同一个哎。😊,同一个货架上面。那也是这样的一个。这样一个点了。
对啊。那可以看具体来去怎么做,包括怎么样来去优化的对啊,因为这个点对吧?其实呃像王老师,我对吧之前经常去做一些竞赛。对啊,像KTDC,还有像WSDM这种国际性的一些比赛。
它都有推荐系统相关的一些赛道的啊,对啊,就是前段时间的话是参加WSDM。也是会议型比赛,还有KttytyC。啊,都是通过这种方式能够能够轻松的达到一个top10的一个名次啊,因为它只是召回。
然后我们再去结合排序。可以达到就是说top5。更好的成绩了。啊,所以说这个我觉得是一个放作为一个经典的一个case,我们可以去讲一讲的啊。那比如说小冯对吧?他他的一个行为序列里面有很多的一些商品啊。
我们。从前就从历史到最近,对吧?伊利牛奶旺仔牛奶到橙汁。对啊啊,这是他历史交互的一些商品。那这时候我们第一步做的事情呢,就是来去进对商品进行打分。来两个商品,它都有自己的一个关联分数的。啊。
那这时候的话我们打分可以先最基本的。如果说两个商品同时出现在一个序列里面。比如说。威化饼和奥利奥,它同时出现在小冯他这个序列里面,那这两个的分数我们可以给它记为一。包括奥利奥和饼干啊。
就说这这个系列里面所有的关系对橙汁和雪碧、橙汁和可乐、橙汁和奥利奥,他们的关联分数都是一。我们可以先去一视同仁啊,这种一视同仁。其实在实际当当中。呃,是会存在一些问题的对啊,会有哪些影响呢?
比如说时效性。还有就是正反,就是先后关系,或者说他购买的些距离。对。如果说两个商品它间隔的时间越近,那它俩之间的相关性应该是更高一些的。另外呢我们买商品时候对吧?先买完A再买C,或者说先买完C再去买A。
这两者出现的频率是不一样的。就比如说我们先买完手机之后再去买手机壳啊,这个是不是就是说我们基本上是按这种做法的,先买手机再去买手机壳。那先买手机壳再去买手机啊,也会出现,但它的出现概率是比较小的。啊。
所以说呢我们考虑这种先后关系,我们也会去。算到我们最后的关联性打分的里面的。No。比如第一个我们计算阿尔法I一和I2,对吧?这块我们考虑的是distance,考虑它的一个距离的。
就是I一和I2之间的一个前后距离啊,底数是0。8啊。那西塔部分的话,我们这个0。7可以去乘在后边乘一个西塔。0。7呢是怎么去考虑的呢?考虑到就是说两个商品它的一个前后关系啊,是I一前呢还是I2前?啊。
那如果是正向的话,那他们的分数就是一。那如果是逆向的话,分数就是0。7啊,这里面的一些参数啊,像0。8呀、0。7呀,这种话我们可以通过离线的实验啊来去。做测试来去选择最优的对啊。
那我们对每一个用户都通过这种公式来去计算好商品和商品之间对应的关系打分。对,比如说小冯,他威化饼干和奥利奥打分是0。6。那小王威化饼干和奥利奥打分是0。0。0。这是0。6和0。3。
那我们就会把两个份数加在一块,就是0。9了,这就是最后两个商品之间的关联性分数。那打完分之后呢,我们就开始去做召回了。召回的时候的话,我们就需要用到我们之前打分的一个结果。比如小陈对吧?
他历史购买了5个商品,那这时候的话,每个商品它都有对应的关联性的商品,就是我们前面打过分的商品。啊,然后每一个商品的话都有对应的一个关联性的分数。啊,我们可以将这种最后将这种分数呃进行排序。
取分数最高的来去推荐给小程。那这是我们关联召回它整个的一个流程。这是比较经典的一种召回方式啊。啊,刚才那种话我们可能更多的话是可以理解成这种协同过滤方式。
那接下来的话是对应的是单inbedding的一个向量召回。向量召回,那向召回他大致是怎么来去做的呢?啊,就说我们可以离线的可以去通过模型来去得到。啊,用户的ebedding。商品的inbedding啊。
这种模型可以是很多种方式,可以是很多种方式。啊,比如说那种d的方式,d的一些模型,或者也可以通过那种work to a,或者说deep work deep work这种这种方式啊。
来去得到用户的和商品的inbedding。我们存储。啊,到我们的数据库里面。线上的时候呢线上的时候呢,我们用户A用户登录了。啊,然后我们可以去提取到从我们的数据库里面来去提取到用户的inbedding。
然后通过。一个近似查找的方式来去找到和这个用户inbedding最相近的top n个物品,然后推荐给用户。这里面用的是faceest的方式啊。faceest的话是facebook。
它所就是呃facebook所推的一种一个一个一个。近似最近灵的方式。这是一种AN的这种方式。对,因为我们再去计算余学相似性质或者计算内积的时候。这种计算是非常耗费时间的。
因为我们的商品和商品量是非常大的。你每次都去计算的话,可能上千万个商品都可能花费几个小时时间。但如果我们通过这种fice方式,对啊,它可能只花费十几分钟时间啊,就可以快速的哎找到。嗯。
它对应高相似的物品了。那其中比较经典的单影百的香召回呢是youtube的N啊,这个是youtube。他在好像是08年的时候,还是一年时候所推的啊所发表表发表的一个经典论文。对啊。哦。
那我们可以看它的一个整体结构,它的整体结构啊,可以我们可以把它分成嗯大体分成三个模块吧。对啊。或者说分成两个模块,对,先是一个特征模块。另外一个是训练模型这个部分。那其实它又分成一个线上。
就是一个train和serving阶段啊。那train的话是我们的一个离线,我们去训练好训练好模型了。serv的话是我们的一个线上的一个阶段了。特征部分的话嗯也是比较重点的对啊。
这块特征的话其实没有像现在来说呃,考虑到一些像那种比如说attention的一些结构,它是简单的进行一些那种呃poing的一些操作。对,或者说就是说就是计算平均嘛,就是mepoing操作。
将用户他所观看过的一些video,然后它的向量。这个向量的话,它是提前去构建好的。我们可以提前去构建好,也可以就是说呃进行随机初始化,然后来去呃。得到他的一个inbedding。对啊。
两种方式都是可以的。😊,啊,它一个是对应的一个观看的一个vector,另外一个是它搜索的一个vector。除了向量之外呢,还有一些呃。融化上的一些inbedding或对理相关的一些inbedding。
啊,比如说一些这个案例的一些年龄,这个可以就是对应的视频的一个年龄。就视频他是什么时候呃。在平台里面出现的对,到现在这个反映出用户呃反映出视频的一个新旧啊,因为我们可能有时候看的话,嗯经典是一个对啊。
热点也是非常关键的对,比较新的一个视频啊,它的一个嗯你把它推出来其实问题也不大。对啊,反映出它的一个时效性啊。还有的话是像一些年龄啊,性别这样的一些用户的一些信息。然后呢。
我们会去训练我的模型是嗯三层的。呃,瑞路三层的一个神经网络,就是MP层。啊,之后的话会去接oft max。那我们在去去的时候,我们可以去得到什么呢?去的时候我们可以去得到对应的。呃,我看一下去时候。
我们可以得到对应的vi6的一个向量,video就是我们对应的视频的一个向量啊,这是我们离线时候可以去得到的一个信息。对啊,它这块是怎么得到的?就是说soft max。啊,通过soft max。
它里面对应的话有嗯它对应的列向量部分,列向量部分每个列向量部分对应的话就是我们的vido的一个向量了。那user向量的话,虽然我们在train的时候也可以得到,就是我们最后一层MLP层。对嗯。
它的一个输出的一个向量,对应的就是我们的user的 vector。但这个部分的话我们。会在线上的时候会重新来去生成,这个是为什么呢?啊,为什么我们离线的时候可以先去保存我们的video向量啊。
而在线上的时候会重新生成我们的user向量的啊,因为是用户的兴趣,它其实是不断的去改变的啊,这种这种改变是通过什么反应的呢?通过他最近所看的视频。
最近所搜索的一些token还有它的一些相关的一些属性信息行为的一些数据,这些数据改变都会影响到用户兴趣的一个向量的一个变化的。但是微度的向量视频的向量其实非常稳定的。啊。这个其实。是非常好构建的对。
因为商品你不管。不管受什么样的数据的影响,它整体的一个向量,描述它的一个向量,对吧?它本质是不会发生改变的对啊。价值高啊,受欢迎啊,或者说它本身的一个热度呀这样的信息。对啊,是非常稳的嗯。
所以我们在去构建善量的时候,或者说来去做这种召回的时候,其实用户兴趣的挖掘是非常有挑战的。而商品的挖掘向量挖掘的是比较有稳定的,挑战性并没有那么的高的嗯。所以我们线上的时候线上serv的时候。
对会去来个请求,然后会去。重新对啊,然后来去预测好得到用户的向量,然后再去通过我们的那种fest的方式啊来去得到top n个商品,然后推荐给用户。啊,这个就是youtu BN召回模块它所做的一个事情了。
那再往下的话是。呃,DSSM这种经典的双塔召回了。Okay。这个双码召回呢,其实最早的话是在那种。嗯。呃,那种那种那种文本搜索呀,就是说我们去搜索信息,对吧?我们要去输入一个query啊。
输入query。然后我们的候选池里面有很多的一些呃title呀,很多的一些这种tle对应的话,我们就是反候选的一些一些一些文章呀,一些的一些一些信息。对啊。嗯,那这是我们的。
dooc vector啊 documentment vector。那另外一部分就是你说的 vector啊说的一些部分。对啊。那它这两部分的话都会做哈希的对啊,对里面词做做哈希的,然后得它对应的向量。啊。
然后表示层的话就是我们经过多层的MLP啊,然后最后加两个向量,我们可以进行。进行内基这样的一个计算,也可以计算它的一个余弦相似性啊,然后最后来去得到最后对应的概率结果啊,segmod。是的。
那这个是DSSM的一种一种方式。对啊啊另外一种的话就是说我们也可以就是说经过sofm来去得到结果啊,就是它可以是一个二分类的那也可以是一个多分类的对啊。这种话像在我们公司里面。
我们我们做的是一个二分类的一种方式。对啊,因为我们本身的一个候选级并没有那么多,我们可以我们就把它直接做到出牌里面了。okK那刚才的话是一个单inbedding向量召回啊。
但是现在的话其实技术发展是比较快的对啊,用户的兴趣啊,它并不能只用一个inbedding来去表示。大家可以去想一下,是不是我们经常可能会有多个意图或者多个兴趣来去逛。淘宝呀或者说来去刷一些视频呀。
可能你去刷抖音的时候,你同时对体育比较感兴趣,也对美食比较感兴趣啊。所以说你的兴趣应该是多个向量来去表示的,而不是单个向量来去表示的。那这个时候呢。😊,多引白里相召回啊,应运而生。对啊。
就是像经典的MNDMND对啊。嗯,它的做法呢其实嗯也是一种非常经典的一种方式啊。它借助的是嗯胶囊网络的方式。胶囊网络。对,这里面的话我们可以大体大大体的给大家大致的给大家讲一下。胶囊网络的话。
它其实我们分成了两个部分。对啊。😊,一个是行为胶囊。嗯。行为胶囊啊。😊,你可以把胶囊理呃理解成一个向量嘛,行为向量到兴趣向量的一个聚合啊。😊,这种聚合的话,其实呃。
比如说我们行为向量可能是用户历史所交互的那些商品,购买商品,它可能有100个。我们兴趣向量的话,可能要去生成10个或生成给它取一个倍数啊。取个对数个。对啊,这样的话其实我们得到就是多个向量的。😊。
多个项料啊多个新项链。然后生成这个多个兴趣向量的话,每个信趣向量我们都可以去召回top n。啊,比如说我们生成了呃对应的三个兴趣向量,每个兴趣向量的话,哎,它都可以再去召回5个。最后我们可以得到15个。
😊,对应的商品上聊,我们15个再去经过一些方式,再去排序。这样的话是不是同时可以包含三种兴趣类型的商品了?对啊。这里面的核心点呢啊呃它其实可以理解成它其实如果你不把它不做多in蔽这种方式的话。
它如果变成单in蔽ing的话,那它其实就可以类比类比是什么?类比成我们的youtube电那种那种方式。它分成同样会分成train和Cserving这两个阶段的对啊。它核心点呢是多兴趣提取层啊。
这个部分是MMMMD的一个核心部分。对,这块儿的话它是呃使用的是一个动态路由的方式,动态路由的方式啊来去呃动态路由算法。来去做这样的一个处理的啊,我们有兴趣的可以再去查一下。我们在之后的我们的。
推荐高级小班里面也会对这个部分详细介绍。OK这是多饮白领圣量召会。嗯,下面的话是一些graphphing的一种方式了,也是非常经典的。啊,聚合的话是通过动态路由的算法来去聚合的对啊。
内机的话呢又太简单了。对啊。动态录的话,它其实里面也是结合了那种。嗯,类似于attention software的这样的一个思想。对啊。嗯。我们继续往下啊,那graph em的话。
我们像经典的像有deep work node to a。对啊,它最后其实都会使用那个啥就是sscapegram这种这种这种这种这种算法,对来去得它的 embedding的。
只是说他在之前进行的一个随机游走。嗯,那什么是随机游走呢?我们可以先去从第一步看一下我们的A有behaci这个部分就我们有U一U2U3啊,有三个对应的一个行为向量行为序列啊,行为序列。
那这里面的话看它有打虚线部分。😊,这里话是怎么去理解呢?比如说FED对吧?啊,是我们今天下单的商品B和E呢?是昨天下单的商品,所以这两单的商品其实他们的距离离得比较远。所以我们可以理解它的相关性比较。
相关性比较小,所以说我们可以进行一个划分这样的一个切分,把它切分成两个序列了。而不像UEDAB离得比较近,它就是一个序列了啊,这种出发点是。间隔比较久啊,它们之间相关性就变得比较小了。对啊。
这就是进行一个session的一个划分了。我们会固定的一个切缝大小。对。啊,我们这样构建好之后的话,我们可以去构建生成我们对应的一个图了。这种图的话怎么去理解呢?你看对应的U一对吧?它不是嗯有D对吧?
D到A啊,买完D之后买A了,买完之A之后又买B了,我们是不是构建成这样的一个链路了。😊,那同样的我们看U2,那B和E是不是有关系了?😊,啊,那D和E也有关系,E和F有关系。通过这样的一种关系。
我们可以商品呢看作一个节点。那这种关系的话,我们看作它连接它的边,这样的话我们是第二步生成好了我们这样图结构。第三步,进行随机游走。那。随游走的话。
Dport和note actor它两者的随机游走方式是不一样的啊。像deppot work的话,它所考虑的是呃比较常规一些。对啊,是比如说到达一个A级点后,对吧?它的一个连接点可能只有B。那接下来走B。
啊,它只能到B这个部分了。那B的话有三个连节点,有A。有E有C那三个里面我们随机去选一个啊,那就3分之1,每一个都有3分之1的概率去被选到。嗯,可以看到嗯,我看看对,是这样的。
那note vector的话就不一样了啊,它在进行这种游走的时候,他会考虑到两个点。啊,一个是BFS,一个是DFS对啊,那BFS的话是广度优先优先便利。DFS的话是深度优先便利。
可以看到它的一个搜索的一种方式啊。那蓝蓝线的蓝箭头的话是深度的对我们不断去深入的来去进行扩散。那最后可以到就是US4S5S6啊。这种话能够探索到什么呢?探索到一个相似性。就是一个结构上的一个相似性。啊。
那BFS的话是广度优先搜索,对它更容易捕捉到对应一个点啊,它的一个结构是什么样子的?这两种方式啊对它会通过对应的一些计算方式来去计算它是该怎么样进行这种扩散的。okK呃,还有一种的话嗯。😊。
是EGES啊啊EGES这个也是比较经典的。呃,我们这节课的话是不会去细致的来去深入的来去讲解一些呃理论的对啊,我们会可能会在我们的一个我们会在我们的一个推荐高级班里面会去详细讲解这些理论。对。
包括结合论文来去讲的对啊。下面的话是EGES对啊呃,EGES的话是它其实是一个解决冷起的一种。一种方式。对啊啊一般来说新上个商品,对吧?啊,这个SKU新上商品的话,它对应的话是SKU对吧?是一个新的。
但SKU它本身有包含很多属性,它可能属于品类呃,不同的品类对吧?它可能一级品类啊、二级品类啊这样的一个信息。但这种品类信息并不是新的。啊,所以说我们经常再去描述个商品的时候。
会去考虑到它的一些其他的一些信息的。比如说呃SQ对应的就是ite embedding,那它的category embedding或者说它的品牌价格ebedding信息,这些的话都不是新的。😊,啊。
他是极大的去缓解了。能起这样的一个问题的对啊,如果你只是艾minmin的话,这个是完全是新的对啊,所以说这种新的信息的话,其实我们做起来是非常困难的。所以说我们可以使用EGES这种方式。
将这些信息哎呃比较简单的方式的话,我们可以将这些inbedding。😊,相加起来啊。那比较个省的高级灵活方式的话啊,我们通过这种模型,对吧?来去得到啊。来去将其通过模型将其聚合起来啊。
这个也是EGES的一个核心的一个点了。对啊,来去动态的,或者说来去经过模型来去学习到我们如何将呃S1S2SN,然后得到它对应的。A0A1AN这是它的权重啊,将其进行聚合。这是ETES。因为EDS论文。
他在讲到EDS算法之前的话,他也是讲了一些比较传统的方式。我们可以简单的一些加权,也可以根据它中要性进行一些加权的方式,也是可以的,是比较灵活的。OK我们再往下的话,来去看一看像知识图谱这种召回方式啊。
嗯,知识图谱的话,其实现在其实用的比较少。啊,可以告诉大家,其实可能只是在那些BATT厂里面。对bety街啊,或者说拼多多这些厂里面可能还可能可能会去用到知识图谱召回。对,但大多数那种二线场呀,三线场。
嗯,现在还没有去使用到制识图召回这种方式的。Oh。知徒谱召回的话,还可以解决什么样一个问题呢?😊,呃,像新品上架。时效热点,时效活动精准搭配这样一个问题啊。比如说我们嗯新上了一个手机,对吧?啊。
我们可能再去给手机推荐手机壳是没有问题的但我们先上个华为手机,然后给他推荐呃。先上个华为手机。嗯。包括用户他喜欢兴趣或者说是华为手机。但是我们给他推荐的是一个呃小米手机。
那这时候可能会去出现的一些问题了。对啊,那知识度的话,它可以构建一些实体相关的一些信息的对,而不是只考虑他很简单的一些SKU是什么的,而考虑到实体更多的它的一些品牌这样信息,也会包含在内的。
它可以去避免这样的一些问题的。另外呢,像比如说新上的一个小米手机,对它对应小米手机的话是一个新款手机。那么们如何去捕捉到它是否是一个爆品,是否是一个热品呢?这里时候也可以通过知识图谱。
因为我们构建了这种实体的一些关系。那实际关系呢不仅是这个SQ本身还有很多其他的一些属性,这种属性都可以反馈出小米手机它一上呃呃。刚一出这个单品,它肯定是一个爆品的对啊,这种信息我们就可以去捕捕捉到。
对啊,所以这这这图谱可以帮助我们去解决的一些问题啊,就是捕获时效的热点啊,完成这种精准搭配。那他具体构建的话是呃。我要两种方式啊,第一种话是商品多层次语义信息抽取啊,就我们构在构建的时候,我们可以去。
构建它的一些信息,处理它的一些信息啊,比如说它的一些呃实体的信息啊,它的一些概念概念信息、产品词,还有商品这些信息啊,来组合成这种这种层级化的这种图谱的一些关系啊。第二种的话是用户商品关系建模。嗯。
刚才只是说是商品本身之间这种层次语音信息。第二种的话,我们可以对于用户和商品关系建模来去构建这种知识图谱啊,那分成三种。第一种话是基于用户图谱交互的一些关系。
来去建模用户兴趣概念完成新品的一些推荐因为刚才我们有新品了,有小米,对吧?他上新款了,可能一般是一般的新款的新新品。它可能可能曝光次数并不是那么高。对啊。
但我们其实在通过这种一些图谱上面的一些信息的时候,我们能够发现它其实是一个爆款的时候。对啊。那我们会提高他的一个展现的次数的对啊。第二种话,基于用户图谱交互关系来去保证用户体验实现精准复购周期。
最后的话,基于图谱交互关系,实现用户兴趣演变建模啊,这个块的话就是商品知识图谱的构建。那下边我们具体来去看一下。呃,我们再去基于图谱概念识别用户的一些意图的时候。对啊,这块话是分成几种方式的对。
也是嗯我们在去构建用户序列的时候,经量要去考虑到的一些点啊。Yes。最基本的话我们是孤立行为建模啊,用户每一次行为之间都是孤立的,前后没有关系的。第二种的话是连续session的一种建模方式。
之前讲到了,就是说我们按照时间来去进行这种划分啊。第三种的话,我们基于用户意图的建模,我们不会考虑这么细的对啊,而是去构建用户可能对某个品类。啊,某种兴趣啊它更感兴趣一些。比如说E合剂对吧?它属于一类。
我们把它换成C2,D是C1啊,最后就上升到一个更高的一个层次了。对啊。就比如说我们先去经过图谱来去得到它每一个部分的一个向量。那有向量之后呢,我们就可以对于这些向量进行一些聚合。啊聚合完之后呢。
这块可能是一些它的一个关系之间的一个分类。对啊,那我们就可以按这种方式来去进行一个更高层次的一个转化啊,就是D就SKUCE的话就是我们刚才生成的向量。就是聚合后的一个划分的一个品类。对啊。嗯。
那更细的一些介绍,对我们还是在我们推荐班里面会讲到的。那接下来的话我们到了排序模块。🤧排序模块。那,可能讲了一个小时了。嗯,接下来我们OOP玩法。呃,对,现在其实呃RRP的话。
现在其实确实是在推荐里面是用比较多的对啊。呃,最普遍的话还是思索推荐。思索推荐。因为它的。你的输入信息啊,反馈信息都是和文本相关的对啊。然后我们做排序建模的时候,也会考虑像最开始的吧。
像真身啊啊这些或者说像STMNRNN这些它都是来源于啊。自然人处理的。RRP的或者像transformer Bt这些都是的。那排序模块的话,我们就需要考虑嗯更复杂的一些模型了。对啊。
那主要是包含像特征工程,还有模型部分。嗯,那我们今天主要还是围绕着模型来去讲啊,我们来讲一讲,就是说排序模块它的一个演变的发展吧。嗯,因为每一个阶段我们所使用的模型都是存在很大的差异的。啊。
比如说像发展初期,2010年前的时候,我们更多的是人工特征,然后结合线性模型。啊,来去来去进行构建的。这时候的话我们需要构建很多的一些特征。因为先进模型它并没有去没有那种就是说捕捉特征交叉信息。
或者说对于输入信息做很大的一个转换的这样的一个能力的。所以就需要我们人为的来去构建上百个上千个上万这样一个特征。因为模型简单,所以说我们可以特征这块构建的非常复杂。😊,但特征这块的话。
我们还需要做很多的一些处理。像连续特征,我们做规划。分段变换处理。后面话分段的话,我们就可能就是一个连续型转换成离散型的那离散型的话,我们需要进行oneho主呃,进行一个转换,就是变换成零一种形式。
还有构建一些交叉特征或组合特征,还有一些专家特征。这就是结合业务构建等等。然后最后AL模型。那加速发展期呢是2010年到2015年。这个时候的话我们更多的是自动特征交叉,然后加上线性。
模型阶段啊像FM啊FFM或者说是GBT加LRX几bot这样的一些模型。对啊。前面部分它都是有特征交叉的一种能特征交叉的一种能力的模型本身FM的话它实现的是一个二阶交叉。FFFFM的话。
它考虑到一个场的一种关系。对,交叉的时候,它又加入了一些参数啊,让交叉变得更加灵活。那GPT的话,它是在数分类的时候进行了一种特征交叉。因为我们在去做推荐的时候,我们是进行的是个性化精准的一个推荐。
所以说你所考虑到的信息力度越细越好。粗的信息你推荐的时候是不准确的对啊,细的信息化是帮助我们更好来去捕捉到用户兴趣的。嗯,这里的话我们给出了FM,还有FFFFM它的一个结构啊。呃,虽然FFM的话。
它引入了一个厂的一个概念,形成新的模型。对,但是它的参数量对。它的参数量。嗯,是比FM高的。这样就会导致FFFFM的话,它的整体的一个效率会更差一些。所以现在其实我们在工业场景当中,对吧?
更多的还是见到FMFM这样的一些结构的一些变化组合。就比如我们经常见到的deepFM。嗯。那下面的话是GBT加LR。那GPT的话,它就是来去得到。得到对应的叶子节点。啊,然后再去作为LR的一个输入。
那一为节点的话,它是怎么来去得到的话,怎么得到?比如说一棵树呃,比如说我们一个1个GPT对吧?它。呃,构建了两棵树,构建两棵树,我可以看到只有两棵树。那每棵树它都有对应的叶子节点。
就是我们最后最底处部分啊。😊,一共有5个夜节点,每个夜节点,它比如说我们第一棵树。😡,我们可以看到一个样本okK到第一棵树的时候,它落在了第一个叶节点里面,它就一其余两个就是零了。😊。
那到第二棵树的时候,它第一落在第二个叶子节点里面。但第二个叶子节点就是一,前面就是零,所以最后它得到的。😊,样本是什么呢?就是10001。这就对应它的一个。E的节点编号作为LR的一个输入了。
这个是D比体加LR的一个结构。再往后呢是深度发展期,就是2016年到现在啊为止。对,那这时候涌现出很多的一些深度学习模型。
像FNPNY and deepNFMAFM deepFM叉DFM这些结构呢其实它都是我们可以很好的去其实通过一些呃一些方式,其实很好能够理解的。对啊,它无非其实有几种方式来去进行演变的啊。
可以看到里面有一个比较核心点是FM对吧?FM。啊,那FM的话,那和FM进行一些组合的有哪些方式呢?比如说我们加入deep层啊,因为我们深度om母学习模型嘛,那可以dep。😊。
就是MRP加FM那AFM的话,A就是attention。那我们可以将attention结构和FM结合。那NFMNFM的话就是之前的话,depFM的话是呃分成两边的,一边是FM部分,一边是dep层。😊。
那NFF的话是一个串联的一种方式来去进行组合的对啊。还有像FNPN的话,PN的话它其实是一个对我们的一个输入向量会做一些内机的一些操作啊。readd deep的话,它其实和d盘FM比较类似。
只是把FM转变成了dep。转变成呃转变成了Y的部分嗯。这个阶段其实我们可以通过那种高维的一些映射。对啊,这种非线性的就通过这种激窝函数,对吧?我们可以去拟合或各种那种因为dep部分,对吧?
它是一个隐视的一个交叉的部分啊,像FM的话,这种是一个显示的交叉的对啊,两者都可以来去得到这种特征交叉的这样的一个信息嗯。还有像高维的这种映射的一种能力。当然,虽说深度学习模型它有这样的能力。
但是我们也要去构建很多一些特征啊,让这种的一个信息变得更加的丰富。那下面的话我们就选择一些部分,我们给大家去介绍一下。对啊,像FNN那它的一个结构的话。
就是说将FM的影像量作为inbedding的一个初始值。然后后面再去结合NN,就是我们LMLP层,或者说我们的一个全连接层。那PN的话。
它是在inbidding层和MLPinbitdding层的话就是我们输入信息,它会经过一个lookup embe部分。对啊,加了一个productctor层。这个部分的话它会进行一些。呃。
内接啊当然也可以进行一些外机的一些操作,都是可以的对啊,这个块的操作的话,它就是实现一种特征交叉的一个部分了。是我们右边这个图。对啊。FN的话是我们左边这个图。OK下面我觉得比较经典的,包括现在。
公司都在用的,因为刚才这两种的话其实用的是非常少的。对,核心还是在readd deep,还有deep FM啊。这两者的话是非常经典的,而且是沿用至今一直都还一直都还在在用的对啊。嗯。
呃两者好像都是16年17年。对啊,才出来的。16年17年。对啊,到现在其实也嗯也还好。对啊。Yd的话是谷歌的呃,D盘FM的话好像是华为的对啊。ロ文。那两者结构其实就很明显了。对。
都是分成了两个部分啊呃外的部分的话,w deep的话,它两个部分我们可以怎么理解呢?Y的部分我们可以理解成一个记忆的模块。啊,因为它的输入信息,对吧?是没有做任何的一个非线性的一些变换的。
直接到我们的一个输出单元的所以说信息很好的保留下来了。D部分的话,它是一种泛化的一种能力。对啊,我们对于原本的信息我们做了很多的一些调整,很多的一些变化。对啊,让它基于一种泛化的一种能力嗯。😊。
就是Y的 deep啊,那这时候的话又想了问题了,就是虽以说Y的部分它有记忆性。对,但是它并没有那种特征交叉的这种能力啊,我们能否升级一下,所以这时候的话就是非常取巧的一种方式了。
就是将Y的部分直接改变成了FM对啊,就直接将FM直接和d做了个拼接啊,就将两个论文拼一块了。对啊,所以这个其实嗯说有创新有创新。但这种创新其实还是比较简单的对啊。😊。
那个时候其实就是说哎我们将一些其他的一些模型的结构的拼接啊,或者说加入一些NRP的一些内容,那就是一个新的一个论文了。对啊。嗯,当然在那些技术之上的话,还有一些更加。深入的一些演变发展。对啊。
像阿里的DIN和DIEN啊,这是嗯兴趣模型这种这这种兴趣网络模型。对啊。DIEDN的话还是比较经典的对啊,DIEN刚出来的时候,其实。褒贬不一,对好评其实并没有那么高的啊。
包括一些它的引用数也没有那么高。因为它本身因为它考加入什么,加入了GRU,而且是两个部分都加入GRU了,导致它整体的一个效率变得非常的。呃,变得非常的慢。对啊,虽以说当时是阿里巴巴团队的。
他们其实已经啊使用了DIEN有提升。对,但是效率其实还是存在很大的一个问题的对啊,那DIEDN出来的时候,那确实不一样,因为它确实是一个很大的一个改变。对啊。
在原本的话我们可能只是呃进行了一个polling操作。对,但这个这个时候的话,他考虑到什么DIN考虑的是什么点呢?就是说。用户他立时购买商品对吧?其实这些商品和我们的候选商品啊之间有关系重要的。
也有关系比较差的,就是相关性高的,也有相关性低的对啊,我们更多的是想要把那些相关性比较高的信息我们所捕捉到。对啊。那他所使用的。什么样的操作呢?使用的是激活单元。啊,使用的是激活单元,就通过激活单元。
我们来去计算到计算出来啊候选商品和每一个商品之间的一个权重啊,这种计算方式它是借助了一个简单的一个呃FC层。对啊,权链A层来去得到的嗯。那输入部分的话嗯是。
用呃用户对应的历史浏览的是呃商品的SQ item的上量,以及候选的上量,以及他们之间的一个差值呀,或者说呃呃就是加减这样的一个交叉的一个结果。对啊,作为。这个激活单元的一个输入部分。
就或作为这个浅层网络的一个输入部分。得到W之后呢,就是它这个权重之后,然后我们再去和再去进行了一个加权操作。对啊。这里面的话V呃W的话是对应VI的一个。VI权重VI的话是对应商品,它的一个向量。对啊。
然后有我们有N个商品嘛,然后对行这个加权操作,最后得到就是说VU。他的一个兴趣了。那DIN的话,它就是因为这里面的话,他没有考虑到什么信息呢?持续这样一个信息。对啊。他一一视同仁了。
你不管你在一呃最近一天还是在最近半个月这样的一个商品啊,他没有考虑到这种时效性。所以呢DIEN里面他考虑到这样一个信息。又使用了GIU这样的一个结构。对啊。是的,呃。
确实用什么模型最终还是要看效果的对啊,而且说模型你用了还关键点还是需要配合各种调参。对,才能。最终才能体现出它的一个效果的好坏嗯。Yes。当然理论层面上,我们可以初步去判断一些。
哪些模型可能效果更好一些。对,肯定是越复杂的。他。达到比较好效果的可能性是更强一些。是。呃,稳定性的话,我们会通过多个阶段的个实验来去进行判定。对啊。Yes。那重排模块的话,我们可以简单的去聊一聊。
对啊,这块的话更多的是去考虑一个体验,用户的一个体验,更好的把这个东西去展示出来。比如说我们在淘宝里面去搜索一个连衣裙,那我们可以展示出并不是展示一个样式的连衣裙,而是多个样式的一个连衣裙体现出来。
对啊,如果说我们展示的都是第一个这种方式的这种这种花色的这种颜色的啊,那其实来说会去严重影影响用户兴趣或用户的一个体验啊,所以这个部分的话,我们注重。因为我们在去做手段,再去做推荐的时候。
我们可能得到的是用户可能对一个商品这一类商品感兴趣一些,可能钱。比如我们推top10个商品,对吧?可能前5个商品都是属于一个品类的。啊,那我们难道把前五个商品同时展示给用户吗?😡,这时候效果就比较差了。
我们可能会要去打伞,又要去每个品类都要回去抽一些商品。所以说我们有一些简单的一些策略啊,这个策略的话1到10个策略的话是我们内部嗯,我内部啊对,因为王老师之间是做电商的对啊,我们内部呃的一个策略。对。
一我们内部去整理的,一共是10个出牌策略。对啊。😊,像黑名单过滤按召回类型重排,多特征打散特征去重特征比例控制,按用户特征。来去提前调整嗯,商品差价过大下沉。对,因为用户他的购买能力也是不一样的。
所以说我们要考虑到用户差价价格这样的一个问题,还有用户不匹配的一些性别之后,呃,近期以购买商品成底意一重排啊,这是我们重排的时候,需要考虑的一些策略啊,大家可以着重的来去记一下。呃。
SPUSQU话是力度是不一样的对,是力度不一样的。SPU是更更细致的对啊,就是说我们对于这个SQU它的一些参数。对啊。同样是小米11,对吧?那小米十1里面你的一个内存啥的也是不一样的呀。对啊。
这就是到SPU了。OK这就是我们这个课程的一个,今天我给大家大概去聊的一个部分了。那最后部分的话呃,我看看其实很多同学都提了一个问题啊,也有很多同学比较活跃啊像。😊。
652632同学啊,还有684284同学都提了很多问题啊,大家现在也可以去提一些问题啊,或者说推荐一些就业的问题啊,也都可以聊聊的啊。
因为涉及到我们最后的一个抽奖部分的对啊,那接下来跟大家聊一聊,就是说关于推荐高一小班。对,现在已经到了。😊,到了第十二期了到了第十二期了。对啊,我们这块是会去结合会去结合呃一些企业的项目。
以及比较经典的一些比赛项目的呃啊,像嗯购买预测啊,电商里面的行为预测广告大赛啊嗯。还有视频号推荐啊,这些都是就是说呃有比赛,也有一些企业,都是一些经典的一些项目。那里面我们会去涉及到什么呢?
像现在比较经典的像多人物。夺目标。啊,还有JN这种这种图相关的,我们都会在项目里面去体现出来的。当然我们也不止这些项目,还有很多的一些进典项目,也是包大家可以去到我们的平台里面。
就是说我们嗯第十二期推荐课程的主页里面去看我们的课程的排期,以及包含的一些项目。
那我们。呃,除了课程以外呢,我们也是老师和助教全程答疑,就业辅导嗯。这也是我们当时我们的一个服务的一个亮点啊。呃,这些项目可以写到简历里面的,因为它是实实在在存在的一些项目的对啊,对于那些之前没有。
如果说之前没有做过推荐的同学,对吧?没有过推荐经历的同学,这些项目可以写在里面。对啊,那有过推荐项目同学的话,可以将里面的技术去转到你所做的项目里面去做一些移植,做一些呃实验,做一些改进。对啊。😊。
这该。I一些项目都是有竞争力的对,因为我们所包含的一些经典的多任务,多目标就一些transformer这些技术,这也是时下比较流行的技术点。呃,艾马题的话还是考的是主要是let code。对。
latelet code我觉得不管是推荐还是什么,都是let code的。嗯,代码题都是问这些的,它不会让你去现场去实现一个模型的,他只会去问一些这个模型的理论。你在用的时候遇到什么问题啊。
因为王老师之前也是在公司里面做过面试官的对啊,有大家小小面试过上百场对啊,也是呃基本上我都是围绕着 code上面的一些题来去问,然后会去再去结合,就是说你所用的推荐系统框架啊,t flow啊。
这些和这些是一些代码相关的一些问题的,其余的都是一些你做过的一些项目,对你对推荐的一些理解,你的理论相关的一些内容啊。😊,呃,我觉得hot100吧啊,比较热点的hot100。刷上个2到3遍吧啊。
就我觉得大部分题都涵盖了。另外呢我给大家强调一下,就是说我们这个课程的话是今天晚上报名的话,今天晚上0点前报名的话,我们会有1000元的优惠券的啊。😊,就是我们推荐高级小班。😊。
另外呢很多同学可能在机器学习深度学习方面,对吧?因为我们在推荐系统班里面,对吧?我们主要讲的还是围绕推荐系统,不会具体的给大家去讲什么MLP啊,或者说是RN这样的一些模型的比较深的理论。对啊。
我们只是会围绕推荐系统这个模型的理论啊,没有这方面或者说这方面就是说没有太多经验同学,我们可以去关注我们积器学习集训集训营里面会围绕着计算机视觉CV啊,因为我们不仅有机器学习集训营里面不仅有对应的理论。
机器学习理论,深度学习理论也有对应机器学习和深度学习的一些实战。😊,实力对啊,那里面也是包含很多丰富的一些案例,实战项目的七大企业级项目。对啊。大家都可以去关注的。
代码题会要白板写代码吗?一般都远程面试多一些。对,他们可能会有对应的游客平台,或者说他们对应自己的一个面试平台,你在里面去敲代码就可以了。嗯,当下场景的话,推荐系统还是一个非常热门的。
还是非常热门的对啊,因为怎么说,推荐系统它其实它要求你的算法、理论能力都要求比较高的对啊。是。推荐系统我觉得还是现在就是说机会是比较多的对啊,但其实还是围绕着那些12三线场里面机会多一些。对啊。
推荐广告岗差别大嘛,广告岗的话它会围绕着一些广告的业务。对啊,因为广告不仅是我们要完成,因为推荐纯粹生意的话,可能推荐一些自然量推荐。广告的话,它会考虑一些竞价的一些关系。对啊。业务点是非常多的。
但是你只要有推荐系统的啊理论呀、实战经历,你应聘广告算法,广告推荐也是没有问题的。啊,也是没有问题的对啊。😊,核心还是看你的模型做的好不好之后再去考虑其他的一些业务点的。我提到理论的话。
主要还是比如说像一些推荐深度学里面的一些优化算法,对激活函数,还有一些。呃,反正都是一些模型上面的一些点啊,参数啥的。嗯。还有RNR呃CN这样的一些结构。嗯,大家可以直接去到我们的官网里面去看啊。
然后今晚报名的话都是有1000元的优惠的。都是有有1000元优惠的。包括我们在后期的话也会进行面试。就会哦一对一的面试的面试的对啊。一对一的面试指导。对啊,像我之前也是给很多同学也是推荐的。推荐岗位。
对,也是推荐到呃有有像有的同学也推荐到我们公司了。对啊。小班讲的原理是围绕着推荐系统的一些原理啊,我们里面讲到的这些模型,那我们就是也会讲这个模型,它的一个架构,然后它的一个代码实战的都会有的。呃。
这个部分的话大家可以具体的去看我们的主页里面的介绍嗯。欢迎大家多提问题啊,我们最后都会有奖品的对,都有奖品的啊。包括就是说大家呃今晚报名的话都有有优惠的嗯。呃,在哪个厂对在哪个厂,这个我只能说是在。嗯。
大厂里面还好还好对啊。😊,🤧嗯哼。因为之前是做电商的对,电商的啊,国内top电商。对啊。然后之后的话是做。大肠卡卡学历吗?没有啊,我有看到过做推荐的对吧?是。呃,本科的对啊,本科的,然后。
本科一本对这种双非一本啊。但是像本科的三本或者说这样的,其实是就比较困难的三本二本。对啊。更多的话其实呃但这种人的话,他是本科,你想进入大厂里面,还是整体的实战能力是比较强的对啊。Yes。
普通一本是可以的,二本的话,除非你有比较好的一个经验实战能力,但是机会肯定比较小。对啊,嗯二本的话我还建议去考研的。一本的话还是可以拼一拼。🤧嗯嗯。研究生的话,你国外的话,如果不是野鸡的话。
那肯定没有问题啊。课程中的实战项目会如何讲解辅导?我们其实呃讲的非常细的。因为从业务点业务知识点对啊,然后到整体的一个优化思路,尝试的模型,然后改进方向都会讲到的。是。在职研究生呃是哪种是完全脱产的吗?
那种。神经网络,你看你们需要不需要神经网络了,这个不一定的啊,这个不一定的对啊,还有GPU对啊。😊,还是看你们的一个数据量级需求。嗯,周末完全上课这种不太了解。对啊。好的,我们再给上几封时间。
大家可以再提问啊。刚才有提到数据量,数据量肯定是非常大的对啊,数量是非常大的。我们数据处理的话是要看不同公司啊,比如公司的话可能但是实际上都是嗯要会sk的对sk对啊。
但如果说你是研究生毕业或者说刚一毕业应届生的话,你这方面不会是没有问题的对,但是我觉得像python的话,基本这种语言还是需要去掌握的。最基本是python对啊。😊,sk的话。
因为我们在读书的时候肯定这块儿还没有接触到,或接触比较少。对,flink的话可能更多的是做工程同学可能会去用到的。😊,嗯。scallar对呃,拍 spark也可以啊。呃。
因为我之前在公司里面用的是pipar,然后换个公司用scallar。对啊。😊,这是一定的一定的对啊,然后有一些公司可能要需要。但java的话,C加加就要看公司了,但我觉得这块儿嗯。呃,影响不太大。对。
核心的话还是spark这块要会一些的。😊,是是是,对啊。ok我们再给3分钟时间啊,3分钟时间啊,大家有问题可以提问的这块儿我们都会最后进行抽奖,然后给到大家礼物的。😊,VIP月卡以及我们的实体书。
就是向量的推荐系统时代,以及王哲的深度学习推荐系统。还有2分钟时间到35时候,我们就结束了。我们这次的公开课只是推荐系统里面的冰山一角。对啊,因为我们没有讲到太多的。没有讲到太多的一些模型啊。
一些知道吧?可以看到现在其实我们再去讲的时候也会结合到前沿的。我们会去讲现在比较新的一些理呃论文。对,结合论文来去讲。对啊。😊,时长还是比较久的,包括我们有很多的一个实战的部分,实战是比较多的。
本科机械嗯本科机械的话看你。是几本专业几本呀,几本这个这个也很重要的对啊。那肯定那还是有机会的。😡,呃,一般来说工科类的就可以啊,工科类的啊。😊,我看很多像做数学的做推荐,机械的也比较多呀。
自动化的都有。😊,很正常,现在。😊,工科都想往算法转。对啊,然后转算法的大多数都是要NRP要不CV,要不推荐系统,这三个为主啊。😊,还是有希望的,我觉得还是有很大希望的。😊,而且现在给应届生的薪薪资啊。
现在白菜价都很高了。对啊,都是在40以上了,总共。好了,我们的这次直播的分享。然后。😊,到此结束啊。大家有什么问题的话,都可以去啊跟我们的助教,然后或者说我们也可以去我们的主页里面,我们的课程主页里面。
然后来去做细致的了解。😊。
好的,呃,我们这次课程结束,各位同学再见。😊。