2个关键因素决定机器学习模型预测效果好坏
在这个页面里面,它相当于是给大家披露了一种比较标准的,算是行业的解决方案,对于不同的公司,每家公司业务是不一样的,但是每家公司背后的技术框架、基本思想是统一的,
OK你可以认为这个是一个每家公司都要去遵守的一个就是统一的一个技术思路在,只不过是每家公司它可能给你看到技术方案的长的不一样,但是它的方案可能也就是呈现形式不一样,但是如果我们一旦要抓住背后的精髓,比如这张图我们就可以觉得每家公司其实技术都是统一的,都是通用的,对吧?“蜡炬教育AI学院” 比如在这里面我们把整个的方案分成三个层次,对吧?
从下往上就分别是这是数据层更偏底层对吧?底层大家都清楚,底层一般都是做什么的?都是做一些存储的,对不对?底层存储底层就是更切更贴近于你的磁盘,对吧?我们要做数据挖掘,首先底层要存数据,他要存什么数据呢?
存业务数据和日志数据,那是业务数据,什么叫业务数据?什么叫日志数据?业务数据就是用户的数据,比如说用户的性别、年龄、兴趣,还有一些什么家庭住址,或者是一些用户是不是有没有开会员,然后他的钱包里面有没有钱,甚至他有没有收藏一些信息等等,
这是用户数据,商品数据相当于是物品的原数据,比如说你在听一首歌或者是看一段视频,这个视频背后就是一个商品,你可以认为把它当成一个商品或者物品,比如说我们拿视频也好,物品数据包含什么?包含视频的自身的标题,演员。
什么属于地域?是什么国国产片,还是港台片,还是什么欧美等等,还有一些什么风格,对不对?“蜡炬教育AI学院” 是战争还是怀旧还是怎么样的,对不对?它有很多这样的字段,所以这些字段都是属性,这大家能理解吧?都熟悉,能理解吧?
你拿任何一个视频,拿任何音乐,其实都有这样的属性。好了,比如说商品它有什么属性?商品它也有类似的,只不过是商品里面可能会有一些价格分类信息,对不对?这个比较好理解,日志数据什么意思?
日志数据能够更好让我们抓住个性化的一些用户行为数据,比如说通过一些买点前端和后端能够拼接出能够回应出这个人在我这个网站上他留下了一些哪些记录,对不对?“蜡炬教育AI学院” 比如说他过来看了一部电影,好了,他肯定是点了我这个网站在前端买点上,我就可以记录下来,他在今天几点几分几秒点了这个视频,然后在几分几秒,他把视频的窗口往前拖动了多长,对吧?然后他什么时候关闭的?
对吧?这都是属于前端买点后端日志,也就是说用户在当天比如说当天我给用户展示了10次商品,但是用户他可能只感兴趣两个商品,他可能点击了两个,这时候用于用来用后端日志,我们可以做一些做一些模型,比如做一些点击率模型,做一些转化模型等等,这是底层中间层都是做一些策略,
在底层的数据基础之上我们做一些挖掘,这里面会涉及到一些算法。比如说当然这个算法我们还需也需要分层次,我们要为上海当然不管是召回药还是排序也好,这都是些上算法,那算法它能够有效的运行,需要什么支撑?需要特征支撑,这个特征怎么来特征?就是通过基础数据计算提炼出来的。
比如这里面有用户方面的、物品方面的,然后有些统计类特征等等,还有一些索引等等,“蜡炬教育AI学院” 这些都是相应你可以认为都是一些索引也好,或者说一些特征也好,然后灌倒了上面的不同的召回模型里面也好,还是排序模型,这些东西都是我们后续给大家要逐步展开的。
然后再上层业务层就是更贴近于我们用户了,我们用户看到这个产品程度,比如说你去供京东逛淘宝,上面可能会有一些猜你喜欢对不对?根据你可能买了一个键盘,它马上就会告诉我,平时你是不是也喜欢一个鼠标,对吧?
相关推荐其实类似一个道理,然后个性化铺市对吧?你手机就在这放着,然后突然接到了一个像手机短信一样的提醒,对不对?这时候它就会促使你,就相当于你用快手,
比如用快手,你每天都在用快手,突然有一天你不用快手了,这时候快手就觉得你这个人为什么不来了?“蜡炬教育AI学院” 它就是用手推你一下,大概这个意思,相当于是个性化的给你铺是一条短信,然后让你把你的注意力能够关注上面来,然后从而提高你用户再次激活它的设备的一个比例这个意思。
然后热榜数据,你可以认为微博热榜还是一些头条热榜等等,你实在是没有什么可推荐的情况下,往往你把大众的口味、喜欢的东西给任何人,最后你拿到结果都不会差,这能理解吗?
刚才有人提到索引构建什么意思?所以构建我们后面的课程会去说,我可以这么跟大家先举个例子,先举个例子,你比如说这是我们的数据库,数据库。然后这是我们的系统,比如说检索系统是吧?“蜡炬教育AI学院” 然后这是我们的一个网名是吧?报名。然后网民来请求你检索系统,比如说他要去想看这部影片对吧?
想看一部影片对吧?比如讲片、样片、A是吧?好了,这时候结构系统会把你的两篇A传输给了数据库是吧?
传感的数据库里面存的是什么?存的就是两篇,两篇A能够跟它相关的BCB其他的一些影片,然后把BCD的影片一直返回到网民,这时候我们就可以在他页面上能够感受出来,BCD是你给他推荐过来的,这能理解了吗?能理解吧?OK。
就是说像还是刚才说的猜你喜欢对吧?很喜欢,比如你喜欢这个影片,这个影片是啥?是个战争片对吧?“蜡炬教育AI学院” 最后给你推荐的也都是战争片,好了,这时候我猜你喜欢就是战争片,我给你推荐的也没有问题,对吧?就这个意思。
所以这是一个,所以构建,但大家没有感受出来,所以构建跟这些算法有什么关系,跟算法有什么关系?所以在这里面所以这是KK钱不是索引或者是外壳。KV对你通过算法,通过算法计算出来的,对吧?
这个东西都是通过算法计算出来的,能理解吧?“蜡炬教育AI学院” 这个这个相当于是召回模型了是吧?有召回模型。召回模型,我给你召回出来了很多这样的一个索引,对吧?招回模型的数据源是什么呢?
都是一些用户行为数据对吧?用户行为数据,每个用户的KY有都是不一样的,不一定看你做的是个性化推荐还是非个性化推荐,对。
好,这个东西我们后面再在其他内容上再跟大家再详细说,今天就不说的太多了,因为这块主要是跟大家说明我们这个方案是在业界里面都是一个大家共用的一个方案,“蜡炬教育AI学院” 然后每一个部分都是有相应的技术支撑的,大概是理解到这么一个程度,就可以相当于推荐的整个的一个逻辑的话,我们后面真正讲到策略的时候,再完整的跟大家再详细的去说好这样。
我们这块重点就是说在每一个层次里面,我们关注的是右边这一块,我们都有先技术的去来支撑,你比如说底层我们更偏重于存储,那存储你就应该想到的是用HDFS和HBS对吧?
在中间策略层你可能会用到一些算法,这里面你可能会用到一些拍套尺,什么他私服露,还有什么咖啡,还有一些什么price等等一些深度学习框架,当然还有一些还有什么还有一些机器学习的方法,比如说叫什么来着?
sk论,还有一些等等,然后这里面当然还有一些spark,什么I use time,这些东西都是计算,计算框架也好,计算引擎也好,对吧?这些都是偏重于策略层的这块分布式的批量计算OK,然后上面都是一些跟业务相关吗?
跟前端打交道就需要部署一些分布式的服务,所以在这里面我们飘红的地方都是我们最近在生态这个知识内容里面需要更多关注的,就知道我们在解决这类问题的时候,我们需要用到了。
为什么用度把原因在这一块是吧?因为含度包含这些生态组建这点能理解吧?OK这能理解吧?
好,然后这块有一个案例,这个案例其实大家如果有关注推荐系统的话,应该也见过这个图,所以这个图一看乍一见扎眼看上去比较乱,“蜡炬教育AI学院” 这个图其实还是很经典的,它是一个night fly kiss的途径框架,而且这个图已经很多年了。如果没有记错,应该是12年13年的那时候图,对吧?
对。对,这里面会分成三层,分别是奥斯曼层、就是离线、曾进献层,烂层就是在浅层这三层是有什么的区分,有什么区分?一般是这样的。
我先这样会比较好理解。为大家举个例子,给大家举个例子,我给大家举个例子,你比如说我这是一个时间窗口,这个是代表了昨天,这个是代表今天好吧?
今天比如说现在我们的时间已经走到了,这个位置,说比如现在时刻是属于我们今天早晨6点或者七八点钟时刻好吧?那好了,因为我这个时间已经从昨天快到了今天,昨天的数据是不是完全的固定下来了,对吧?
是不是就固定下来了?你今天的数据再怎么修改,你不会影响到昨天的数据的变化,这能理解吧?
好了,一旦这块数据固定下来的话,我完全就可以通过一个有map use或者是but这种离线的计算框架,就可以批量的去对他做数据挖掘,这能理解吗?这能理解吧?因为批量计算对吧?
我可以对昨天的所有的数据一股脑的全部计算,批量进行就是批量计算,一般来说大家一个叫什么?“蜡炬教育AI学院” 代持这办事任务,就是这个东西要办成任务。大家听说过的吗?比如说你今天上班,然后你领导找你来了,你昨天晚上拜称我是不是挂了?
办事任务就代表了你这就这个任务就批量揉不能理解好了,现在有一个什么问题,问题就是说你昨天这些数据你是有方案来解决的,通过bet的方式来解决的,但是你今天这个数据一仍然在不断的变化。
对。方便对。这个数据仍然随着时间窗口和到不断的不断往后便,也就是说中间这一块数据是空的,能理解吗?中间这一块是空的,对不对?如果这时候有用户或者有新的商品上架,你这块是没有办法推荐出去的。不懂是吧?
比如说时间点在这凌晨我有个商品好吧?有个商品,这个商品是个新非常刚到货的一个iPhone,11号iPhone,11号,昨天商家就把商品iPhone11上架,这时候你今天你能不能看到这个结果,能看到这个结果吗?
因为你这个数据是可以通过卖QC8个任务做批量计算,通过数据挖掘能够把这个商品能够成功的给他推荐出去了,怎么推荐出去了,因为这个商品刚才讲的,所以BCD的一个,也就是说你看A的时候,比如A是什么?
假设A是个华为,华为。好了,这时候我就可以把iPhone11的推荐给网民能理解,如果你iPhone11没有上架,那就说我用户再去看华为手机的时候,我可能也就看到了小米、三星其他的一些收益,对吧?我iPhone十一根本就看不到,这能理解吗?
因为你这个商品虽然上架了,但是我通过系统没有给他做计算,理解吧?
对。对,如果这个是昨天上架的,你今天是能看得到的,对吧?因为是通过一线的败成任务来计算出来的,好了,现在变了,我这iPhone11刚刚上架还没过半个小时,对不对?
刚刚上架,但是现在时间已经往后推了,刚刚上架,中间这段时间,你iPhone 11上架这块没有得到处理,也就是说你只能等到晚上,今天晚上12点,你iPhone11才有可能被网民看的对不对?这个时候中间有这么一大块的时间就浪费掉了,对吧?怎么样能够给他实实做推荐?
是一个非常重要的解决的问题,对不对?这能理解吧?这么理解吧!就相当于是一个什么促销活动一样,对吧?“蜡炬教育AI学院” 也就今天可能打特价,明天这个消息信息就没有意义了,对不对?对。好,也就是说实时推荐怎么做?
实时推荐,你用MAC64bug,可不可以实时推荐用map reduce的style、批量的方式去做可以吗?肯定是不行,对不对?你比如说我这个时间应该在这,我这个时间点这好了,这时候有时间就在这,
好,我这时候做了一个MAC6色任务,当我这个任务执行完成功了,但是这个时间窗口又到了,所以你永远也赶不上你时间指针滑动的速度,就按滑动的这样的一个能力,对不对?中间肯定有数据得不到计算,能理解吗?
是能理解吧?这块?你无论怎么做批量计算,你永远都赶不上时间的步伐,对吧?“蜡炬教育AI学院” 我为了能够赶上时间的步伐怎么办?大家想象一下水龙头,对不对?比如水龙头、水龙头我数据左边进,就像水流一样,左边进右边出,对不对?
就相当于是个生产线一样,对吧?自然现象,这时候你数据一旦有新的数据,马上挂到生产线,很快速就产生出来了,这个时候要比你批量做计算的速度要快很多,所以这种方式叫做实时推荐,也叫做流式计算。能理解吗?能理解吧?
对,如果想弥补这块的空缺的话,我可以参考流式计算的方式,对吧?好,我们后面还会再说。对,刚才有人说了smart聚米不是实时计算的吗?没错,C确实是一个484米其实就是做优势计算的,OK对F0K也是。
然后还有个storm也是。但是这几种有差别,我们后面再聊讲流计算的时候再说。“蜡炬教育AI学院” 好,总之大家先了解这么一个事情,刚才因为讲到在进线离线就是这么回事,就是说批量任务就是离线任务,理解了吗?批量任务就离线任务,也就是这一块就是离线。
然后近线你肯定就是C栋进行构思到或者是在写,其实进项跟再切,没有太多的界限,一般请求数据库、请求no,circle都是进线螺形。然后一般纯在线的都是网民怎么去快速跟你的手机APP前端做交互,对吧?
所以很多的公司其实架构看上去三层,但是很大部分的公司它只有两层,就是一个在县加、鄞县、嘉义县。能理解吗?其实大部分的公司就是一个离线再加在线的过程,其实进线中间有点鸡肋,对吧?明白这意思吗?
对,其实没有必要分的那么细气,但机械曾你想分得很细的话,你可以把这种流失计算的方式当作进线,没有问题,对吧!
号。回过头来,这是一个图片架构,就后面的话,每一个关于在线方式什么离线我们都都给大家揭晓,但是我们今天的重点还是放在好多不上好。
注:该文稿由机器快速转换而成,会有不通顺等情况,主要用语辅助视频的学习。
来源:CSDN
作者:LaJUEducation
链接:https://blog.csdn.net/LaJUEducation/article/details/103978261