为了读者较为清晰地认识到推荐算法的全貌和各个算法之间的轻重等级,并且能够把握一些小众的推荐算法来为自己设计的推荐系统起到锦上添花的作用,我将会在这一篇文稿中对一些小众的推荐算法进行梳理,正真做到展示出推荐算法的全貌,也对得起这个系列的名字——推荐算法集锦。

引荐算法集锦——相关规矩引荐与KB算法 引荐算法集锦(下)——相关规矩引荐与KB算法(算符优先算法例子)  推荐算法 推荐系统 第1张

【51CTO.com原创稿件】

1.导读

在上几篇文稿中详细的论述并剖析了几种在规划引荐体系中,常常会考虑的或许是常常会接触到的算法。当然,除了这些首要算法以外,依然会有一些小众的、盛行度不是很高的可是存在必定价值的算法。这些小众的算法尽管运用的场景少,可是它们都是具有各自本身的才能和特性,可以处理一些首要算法的缺陷。因而,为了读者较为明晰地认识到引荐算法的全貌和各个算法之间的轻重等级,而且可以掌握一些小众的引荐算法来为自己规划的引荐体系起到如虎添翼的作用,我将会在这一篇文稿中对一些小众的引荐算法进行整理,正真做到展现出引荐算法的全貌,也对得起这个系列的姓名——引荐算法集锦。

2.相关规矩发掘引荐算法

2.1 何为相关规矩引荐?

首先给读者介绍的第一种相对小众的算法便是相关规矩发掘引荐算法,其实这是一种数据发掘技能或许办法。相关规矩发掘通常是呈现在大规模买卖中相似规矩或许联系方法的通用技能。这种技能也可以应用到协同过滤算法的引荐体系当中去。相关规矩也是数据发掘中的概念,它是经过剖析数据而且找到数据之间的相关,也便是各个数据之间的相关性。

其间的详细含义便是,假定买卖S是一切有用产品调集C={c1,c2,c3,......,cN}的子集,用来表明被购买的一组产品调集。那么相关规矩X=>Y就表明只需买卖S中包括X里边的元素,那么就可以以为Y里边的元素也有或许或许极大或许被S调集包括,也便是X跟包括Y的调集相相关。在这一类算法中最常用的算法便是Apriori算法,相关规矩的衡量目标是:支撑度(support)和可信度(confidennce)。

2.2 Apriori原理

Apriori原理便是关于某个项集是频频呈现的,那么它的一切子集也是频频的。例如,假如调集{1,2}是频频呈现的,那么调集{1},{2}也是频频呈现的。有的读者就会疑问,这不是一个清楚明了的道理吗?好像这个原理在直观上并起不到什么作用或许感觉没什么协助。可是假如反过来看呢?好像含义就大了,也便是说假如一个项集对错频频项集,那么它们的一切超集也便对错频频项集。由于这个出题其实便是原出题的逆否出题,原出题建立,那么逆否出题也相同建立。例如,核算出调集{5,6}的支撑度今后,假如知道这个调集对错频频项集的,那么就不需求核算包括这个调集元素的其他调集了,如{2,5,6},{5,6,7}等调集的支撑度现已不需求核算了,由于咱们现已知道这些调集不会满意咱们的要求了。运用这个原理就可以防止项集数意图指数增加,从而在合理的时刻内核算出频频项集,为引荐节省了更多的处理时刻。

2.3参数详解

将相关规矩应用到引荐体系中遇到的首要问题而是将评分转换成买卖,通常情况下是把一切正向的评分调集(也便是做曩昔均值化处理后的评分矩阵)或许用户过一次的购买行为或许记载视为一次买卖。

支撑度和可信度的公式也很好了解,支撑度也便是X和Y一同呈现完结的买卖量在总的买卖量中的占比,而可信度则是X和Y一同呈现的买卖量在仅只需X呈现的买卖量总额的占比,如下所示:

 引荐算法集锦(下)——相关规矩引荐与KB算法(算符优先算法例子) 推荐算法 推荐系统 第2张

最终用户u对物i的猜测评分值其实便是物品i和与i相相关的物品j之间的支撑度和可信度的乘积之和,公式如下:

 引荐算法集锦(下)——相关规矩引荐与KB算法(算符优先算法例子) 推荐算法 推荐系统 第3张

2.4 一个风趣的营销事例?

为了更好的了解相关规矩发掘引荐算法,这儿讲一个撒播广泛的一个经典营销事例。据说是一个开发数据剖析产品的团队,为了推销本身的数据剖析产品,剖析了美国几十家零售店的后台买卖数据库里边的数据,而且经过查询发现,其实许多产品之间都有一些特别的相关性,而其间一种便是每天在固定的时刻段里,许多顾客都是一同购买了啤酒和尿布。

这个相关性被发掘出来,许多超市都将啤酒专区移至儿童尿布专区周围,使顾客可以更跃跃欲试的购买尿布时趁便提上一听啤酒。在线上也可以完结这样的引荐,例如,顾客在网上购买了尿布之后,页面会自动引荐出各种啤酒的页面或许直接将某些热销的啤酒加入到顾客的购物车中。可是作用好像并没有线下营销那么好。这种相关性都是经过剖析数据并整合数据得到的一种规矩,然后奇妙地运用这种规矩来更好地为顾客服务。至于尿布和啤酒能提高零售额的事例是真是假无从考证,可是这种所谓的经典营销事例一向广为撒播。

2.5 一种合理的猜测?

有的读者或许会疑惑,啤酒喝尿布有什么相关呢?直观上好像这两件产品毫无相同点可言,那么为什么它们都是在一同被顾客购买去呢?至于这个问题,并没有清晰的答案。我只能供给一些我见过而且好像还有点合理的猜测。这个猜测便是一般家庭里需求买尿布,那么这个家庭里很或许是有婴儿需求运用,而这种比较小的婴儿又不太便利带出来以防简单染上风寒,因而需求人在家照料孩子,而一般可以照料那么小的婴儿的大多数是妈妈了,那么也只需爸爸出去买尿布了,一个有家室的成年男性多多少少会喜爱喝点啤酒,那么再选取尿布的一同,假如看到周围有啤酒根本很大概率会被选购。不知道这种猜测,广大读者能不可以了解和接收。可是这种营销办法就确实切实地考虑到顾客的需求,满意顾客的需求,而且可以让顾客不会忘掉买啤酒来提高营业额。其实在日子中有许多不同的东西都是有相关的,例如止咳糖浆和果汁(伤风的人需求弥补维生素C增强免疫力)、瘦身茶和纸巾(想瘦身的大多数会运动出汗)等等。其实只需咱们自习考虑下,想找到一些物品之间的相关性并不难。有了这些相关性,就可以规划出愈加周全的服务办法或许引荐办法了。

3.依据常识的引荐算法(KB)

3.1 何为依据常识的引荐?

协同过滤引荐算法(CF)和依据内容的引荐算法(CB)都是归于传统的引荐算法,而这类传统的引荐算法运用场景都是引荐特性或许口味相似的物品,比方:书本、电影或许新闻这一类的。可是关于某一些产品进行引荐时,就或许不是特别合适了,比方金融产品、房产、手机、轿车等等。其间首要有两个问题便是:很难再某一个产品上获取到很多用户的评分数值,而且现已取得引荐成果且现已购买过的物品或许信息的用户则不回对这些相对用户来说现已过期的产品再进行一个点评或许反应了。

而依据常识的引荐技能(Knowledge-based Recommendations,KB)便是专门用来处理这类问题的新的引荐技能。这一引荐技能是高度重视常识来历的,也不会存在之前说过的冷启动问题,它的引荐需求都是被直接引出。可是并不是任何常识源都可以获取到,所以这类引荐办法的缺陷便是获取常识比较困难,在获取常识的进程中还需求专业范畴工程师整合专业常识,继而构成完结的、规范化的条件表达方法。相似于自动地问询对方用户需求,然后依据答复的需求来引荐给用户所需求的引荐成果。

提到依据常识的引荐技能,其实便是相似于查找进程,不同的是体系需求静查找进程中的痕迹或许查找进程中给定的参数存储到常识库中,然后依据这些输入的痕迹或许参数引荐出相关的产品。

3.2 会话交互进程

上面触及到了一种办法便是自动问询对方用户需求,这在网页上的专业术语叫做会话。因而依据常识的引荐体系一般选用会话式的交互方法,而其间的交互进程如下所示:

(1)当时用户进入指定网页界面今后,用户会需求进行一个开始的指定,来确认自己的爱好作为开始的偏好信息,然后依据开始的偏好一次性问完一切与之相关的问题或许是逐渐问完一切问题;

(2)体系搜集到了用户一切的答复或许说是有关用户需求和偏好的信息后,体系会依据这些偏好信息给给定用户一组匹配产品列表;

(3)当用户在后续体会进程中,仍旧可以随时修正自己的需求和偏好信息,体系会跟着偏好信息的改动即便调整与之对应的相关产品列表,保证引荐的实时性。

3.3 一个小问题?

在依据常识的引荐体系中,开发人员应该需求留意当用户需求高精度的引荐成果时怎么处理?当然,这也不是一件垂手可得的工作,需求专业范畴的专家不断迭代更新自己的常识库,而且需求更新构成的条件规矩方法。别的,在用户未给出答复,也就无法彻底匹配上引荐物品时,该怎么处理?这个也是需求开发人员提早想到的,需求提早给定好处理方案,相似之前冷启动问题。需求专业范畴人员或许技能人员给出准备的引荐成果来自动供给给用户。

依据常识的引荐体系在一般场景运用中首要依靠的仍是物品特征的详细信息,经过分类并整合这些物品特征信息来挑出可以匹配上当时用户需求、偏好的物品集。

3.4 一个相似事例?

这种办法有点相似于顾客在逛淘宝买东西时,一般顾客心里都有个心仪物品的雏形或许形象和要求,而依据常识引荐便是买产品时的挑选条件,里边有顾客想买的物品的品牌、价格等参数信息。经过顾客输入心仪物品的条件后,依据输入的条件匹配出相对应的物品列表展现给顾客。举个比如,实际中我想在网上买一个电脑,在我逛淘宝之前,我现已根本想好了关于购买电脑的一些参数,我现已确认的参数是这些:价格在3000元到6000元以内,CPU是酷睿i5的,屏幕尺度在15英寸左右的。原本淘宝给我的展现页面产品的详细信息如下表所示:

转载请说明出处
知优网 » 引荐算法集锦(下)——相关规矩引荐与KB算法(算符优先算法例子)

发表评论

您需要后才能发表评论