当前位置: 首页 > news >正文

可以直接进入的网站正能量大豆网建设手机网站报价

可以直接进入的网站正能量大豆网,建设手机网站报价,做学科竞赛的网站,艾科斗少儿编程加盟文章目录一、什么是推荐系统是什么为什么长尾理论怎么做二、相似度算法杰卡德相似系数余弦相似度三、基于内容的推荐算法如何获取到用户喜欢的物品如何确定物品的特征四、推荐算法实验方法评测指标推荐效果实验方法1、离线实验2、用户调查3、在线实验评测指标1、预测准确度评分… 文章目录一、什么是推荐系统是什么为什么长尾理论怎么做二、相似度算法杰卡德相似系数余弦相似度三、基于内容的推荐算法如何获取到用户喜欢的物品如何确定物品的特征四、推荐算法实验方法评测指标推荐效果实验方法1、离线实验2、用户调查3、在线实验评测指标1、预测准确度评分预测TopN预测关于评分预测问题和TopN预测的讨论2、用户满意度3、 覆盖率4、多样性5、新颖度6、惊喜度7、信任度8、实时性9、健壮性总结一、什么是推荐系统 是什么 推荐系统顾名思义就是向用户推荐物品或信息的系统。 推荐系统在我们的生活中随处可见 在内容推送平台比如抖音、头条、快手推荐系统会根据你的兴趣向你推荐合适的内容在电商平台比如淘宝、京东推荐系统会根据你的喜欢将一些物品优先放在首页在社交平台比如微博、facebook推荐系统会向推荐你可能感兴趣的人广告服务可以根据用户的兴趣针对性的投放广告… 为什么 我们为什么需要推荐系统 对于用户而言信息消费者面对网上海量的信息要从中找出我们感兴趣的信息是一件非常难的事情。比如某一天我们闲来无事想看一部电影解解闷可是市面上的电影实在太多了一时也不知道该看哪部电影。这时推荐系统就可以为你选择一部你最可能感兴趣的电影。治好了你的选择困难症。 对平台而已信息生成者如何让自己生产的信息被广大用户关注到也是一个非常困难的事。而推荐系统就可以将这些信息针对性的推送给需要的人。拿电商平台举例如果将用户感兴趣的物品放在用户浏览的首页那么该物品被对应用户消费的概率将极大的提升从而提高电商平台的销量。对于内容平台来说好的推荐系统可以更好的留住用户提高平台的用户留存率。 另外推荐系统可以更好的发掘物品的长尾。 长尾理论 在了解长尾理论先来看一个非常著名的定律82定律。82定律相信在座的大家应该都有所耳闻。 82原则也叫二八定律正规叫法是巴莱多定律。巴莱多定律是1897年意大利经济学家巴莱多提出的。他认为在任何一组东西中最重要的只占其中一小部分约20其余80的尽管是多数却是次要的因此又称二八法则。 82定律在我们的生活中普遍适用80%的销售额都来自于20%的热门商品20%的人占据了社会财富的80%80%的业务收入是由20%的客户创造的20%的强势品牌占有80%的市场份额。 然而这个定律在互联网时代受到了挑战。美国《连线》杂志主编克里斯·安德森在2004年发表了The Long Tail一文并于2006年出版了《长尾理论》一书。该书指出传统的82原则在互联网的加入下会受到挑战。 在互联网的条件下由于货架成本低端低廉电子商务网站往往能出售比传统零食店更多的商品。虽然这些商品绝大数都不热门但是数量却极其庞大总体销售额并不会输给那些热门商品。 这里我们将那些不热门的商品统称为长尾商品热门的成为头部商品。 在传统的82定律中头部商品的销售额可能是80%长尾商品的销售额可能仅20% 在长尾理论中得利于互联网低廉的货架成本长尾商品的销售额能得到50%甚至更多。 一般而言头部商品代表了绝大数用户的需求而长尾商品往往代表了一小部分用户的个性化需求。因此如果想通过发掘长尾提高销售额就必须充分研究用户的兴趣这正是个性化推荐系统主要解决的问题。 举个例子某个用户喜欢玩游戏尤其偏好动作类游戏但是如今市面上的游戏实在太多了用户不可能全部都了解。但有了推荐系统后游戏平台就可以根据该用户的爱好给他推送一些他没玩过的冷门但口碑不错的动作游戏。这类冷门的动作游戏就属于长尾商品如果没有推荐系统主动推荐大部分用户都不会找到并购买这些游戏。 因此推荐系统可以很好的发掘那些长尾物品的销量。 怎么做 抛开推荐系统我们先想象一下在生活中面对很多选择时做决定的过程。我们以看电影为例假设我们一时不知道要看什么电影那么我们可能采用如下方式来决定最终要看什么电影 想朋友咨询。我们可能会打开聊天工具找几个经常看电影的朋友问他们有没有什么好看的电影可以推荐。或者打开微博发一句我想看电影求推荐然后等待热心人推荐电影。我们一般都有喜欢的演员和导演。这时我们可以打开搜索引擎输入自己喜欢的演员名然后看看结果中还有什么电影是自己没看过的。这种方式是寻找和自己之前看过的电影在内容上相似的电影。推荐系统可以将上诉过程自动化通过分析用户曾经看过的电影找到用户喜欢的演员和导演然后给用户推荐这些演员或导演的其他电影。这种推荐方式在推进系统中称为基于内容的推荐。我们可以查看排行榜比如豆瓣电影排行榜看看别人都在看什么电影别人都喜欢什么电影然后找一部广受好评的电影观看。这种方式可以进一步扩展如果能找到和自己历史兴趣相似的一群用户看看他们最近都在看什么电影那么就能结果会比宽泛的排行榜更能符合自己的兴趣。这种方式称为基于协同过滤的推荐。 从上面的方法可以看出推荐算法的本质是通过一定的方式将用户和物品联系起来不同的推荐系统使用了不同的方式。上面的例子让我们了解了两种实现推荐系统的方式 基于内容的推荐找到用户感兴趣的类型推荐给他和该类型相似的物品基于协同过滤的推荐找到和用户兴趣相似的用户从这些相似用户中找出用户之前没接触过的物品推荐给用户 如果仔细琢磨会发现这两个方式有个共同点那就是寻找相似。是的基于内容的推荐需要寻找相似的物品基于协同过滤的推荐需要寻找兴趣相似的用户。那么如果定义物品之间的相似度以及用户之间的相似度是一个很重要的命题。 二、相似度算法 要判断物品、用户之间的相似度需要一定的算法。目前常见的相似度算法有 杰卡德相似系数余弦相似度通过距离计算相似度比如欧式距离、曼哈顿距离皮尔逊相关系数 下面我们分别使用杰卡德相似系数和余弦相似度为大家介绍一下如何计算物品或用户之间的相似度。 杰卡德相似系数 假设现在有4个用户他们的购买行为如下 用户标识购买物品列表u1a、b、d、eu2a、cu3b、c、du4a、c、d、e 我们来看一下如何利用杰卡德相似系数来计算这些用户之间的相似度。首先杰卡德系数的计算公式如下 J(A,B)∣A∩B∣∣A∪B∣∣A∩B∣∣A∣∣B∣−∣A∩B∣A和B的交集AunionBJ(A, B)\frac{|A \cap B|}{|A \cup B|}\frac{|A \cap B|}{|A||B|-|A \cap B|}\frac{A和B的交集}{A union B} J(A,B)∣A∪B∣∣A∩B∣​∣A∣∣B∣−∣A∩B∣∣A∩B∣​AunionBA和B的交集​ J(A,B) 表示用户A和用户B之间的相似度。 公式很简单我们先来看一下分子A ∩ B表示用户A的购买记录和用户B的购买记录的交集。拿上面的数据举例u1用户和u2用户的交集为{a、b、d、e} ∩ {a、c} {a} 之后来看一下分母它的意思是A和B做union的结果注意不是union all。因此拿u1用户和u2用户距离此时union出来的结果为 {a、b、d、e} union {a、c} {a、b、c、d、e} 因此我们可以得出 J(u1,u2){a}{a、b、c、d、e}150.2J(u_1, u_2)\frac{\{a\}}{\{a、b、c、d、e\}}\frac{1}{5}0.2 J(u1​,u2​){a、b、c、d、e}{a}​51​0.2 之后继续计算u1和u3、u4之间的相似度 J(u1,u3){a、b、d、e}∩{b、c、d}{a、b、d、e}union{b、c、d}{b、d}{a、b、c、d、e}250.4J(u_1, u_3)\frac{\{a、b、d、e\}\cap\{b、c、d\}}{\{a、b、d、e\}union\{b、c、d\}}\frac{\{b、d\}}{\{a、b、c、d、e\}}\frac{2}{5}0.4 J(u1​,u3​){a、b、d、e}union{b、c、d}{a、b、d、e}∩{b、c、d}​{a、b、c、d、e}{b、d}​52​0.4 J(u1,u4){a、b、d、e}∩{a、c、d、e}{a、b、d、e}union{a、c、d、e}{a、d、e}{a、b、c、d、e}350.6J(u_1, u_4)\frac{\{a、b、d、e\}\cap\{a、c、d、e\}}{\{a、b、d、e\}union\{a、c、d、e\}}\frac{\{a、d、e\}}{\{a、b、c、d、e\}}\frac{3}{5}0.6 J(u1​,u4​){a、b、d、e}union{a、c、d、e}{a、b、d、e}∩{a、c、d、e}​{a、b、c、d、e}{a、d、e}​53​0.6 因此从杰卡德相似系数可以看出u1用户和u4用户是相似的。 余弦相似度 余弦相似度是通过测量两个向量之间的夹角余弦值来衡量他们之间的相似程度。 如上图A(1,2)和B(2,1)分别是两个向量θ 是两个向量的夹角cosθ 是夹角的余弦值。θ的取值范围是是[0,180度]对应的cosθ范围为[-1,1] 当cosθ等于1时也就是θ0a和b的方向一致此时可以认为它们的相似度最大当cosθ等于-1时也就是θ180度时a和b的方向完全相反此时可以认为它们的相似度最小 因此cosθ的值越大两个向量的相似度就越大 需要注意的是余弦相似度关注的是向量的方向因此向量的大小并不重要。比如下图 向量(1,2)和向量(2,1)的相似度是cosθ和向量(4,2)的相似度也是cosθ。 知道了余弦值如何表达相似度后我们该计算两个向量之间的余弦值呢。 首先从余弦定理出发高中时大家应该都有学过余弦定理 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FM0SqtwS-1677574284171)(推荐系统-1.assets/image-20220928160004213.png)] c2a2b2−2abcos⁡θa2b2c2−2bccos⁡βb2c2a2−2cacos⁡α\begin{array}{l} c^{2}a^{2}b^{2}-2 a b \cos \theta \\ a^{2}b^{2}c^{2}-2 b c \cos \beta \\ b^{2}c^{2}a^{2}-2 c a \cos \alpha \end{array} c2a2b2−2abcosθa2b2c2−2bccosβb2c2a2−2cacosα​ 勾股定理是余弦定理的特殊情况即α为90度时cosα0此时 b2a2c2b^{2}a^{2}c^{2} b2a2c2 根据余弦定理我们可以推出 cos⁡θa2b2−c22ab\cos \theta\frac{a^2b^2-c^2}{2ab} cosθ2aba2b2−c2​ 其中a、b、c三条边的大小我们通过两个向量A、B可以求出A、B加上坐标轴原点构成了一个三角形。 假设有向量A(x1,x2)和B(y1,y2)那么 a2(x1−0)2(x2−0)2x12x22b2(y1−0)2(y2−0)2y12y22c2(x1−y1)2(x2−y2)2x12−2∗x1y1y12x22−2∗x2y2y22\begin{array}{l} a^{2}(x_1-0)^{2}(x_2-0)^{2}x_1^2x_2^2 \\ b^{2}(y_1-0)^{2}(y_2-0)^{2}y_1^2y_2^2 \\ c^{2}(x_1-y_1)^{2}(x_2-y_2)^{2}x_1^{2}-2 * x_1 y_1y_1^{2}x_2^{2}-2 * x_2 y_2y_2^{2} \end{array} a2(x1​−0)2(x2​−0)2x12​x22​b2(y1​−0)2(y2​−0)2y12​y22​c2(x1​−y1​)2(x2​−y2​)2x12​−2∗x1​y1​y12​x22​−2∗x2​y2​y22​​ 所以可得 cos⁡θx12x22y12y22−x122∗x1y1−y12−x222∗x2y2−y222(x12x22)(y12y22)x1y1x2y2x12x22×y12y22\cos \theta\frac{x_1^2x_2^2y_1^2y_2^2-x_1^{2}2 * x_1 y_1-y_1^{2}-x_2^{2}2 * x_2 y_2-y_2^{2}}{2\sqrt{(x_1^2x_2^2)} \sqrt{(y_1^2y_2^2)} }\frac{x_{1} y_{1}x_{2} y_{2}}{\sqrt{x_{1}^{2}x_{2}^{2}} \times \sqrt{y_{1}^{2}y_{2}^{2}}} cosθ2(x12​x22​)​(y12​y22​)​x12​x22​y12​y22​−x12​2∗x1​y1​−y12​−x22​2∗x2​y2​−y22​​x12​x22​​×y12​y22​​x1​y1​x2​y2​​ 数学家已经证明余弦的这种计算方法对n维向量也成立。假定A和B是两个n维向量A是 [A1, A2, …, An] B是 [B1, B2, …, Bn] 则A与B的夹角θ的余弦等于: cos⁡θ∑i1n(Ai×Bi)∑i1n(Ai)2×∑i1n(Bi)2A⋅B∣A∣×∣B∣\begin{aligned} \cos \theta \frac{\sum_{i1}^{n}\left(A_{i} \times B_{i}\right)}{\sqrt{\sum_{i1}^{n}\left(A_{i}\right)^{2}} \times \sqrt{\sum_{i1}^{n}\left(B_{i}\right)^{2}}} \\ \frac{A \cdot B}{|A| \times|B|} \end{aligned} cosθ​∑i1n​(Ai​)2​×∑i1n​(Bi​)2​∑i1n​(Ai​×Bi​)​∣A∣×∣B∣A⋅B​​ 知道了余弦相似度如何计算后我们该如何去计算用户之间的相似度呢还是以这几个用户举例 用户标识购买物品列表u1a、b、d、eu2a、cu3b、c、du4a、c、d、e 余弦相似度只能计算两个向量之间的相似而上面用户对应数据是一个物品列表因此我们需要对其进行编码。 因为物品的总数量是5个因此我们可以用一个5维的向量来表示。比如A[A1、A2、A3、A4、A5]的5个值分别对应a、b、c、d、e的购买行为购买过则值为1没购买过则为0。通过编码我们可以得到各个用户对应的向量 abcde最终编码(向量)u111011(1,1,0,1,1)u210100(1,0,1,0,0)u301110(0,1,1,1,0)u410111(1,0,1,1,1) 之后使用余弦相似度计算u1和其他用户之间的相似度 cos⁡(u1,u2)1∗11∗00∗11∗01∗01∗11∗10∗01∗11∗1∗1∗10∗01∗10∗00∗018cos⁡(u1,u3)1∗01∗10∗11∗11∗01∗11∗10∗01∗11∗1∗0∗01∗11∗11∗10∗021213cos⁡(u1,u4)1∗11∗00∗11∗11∗11∗11∗10∗01∗11∗1∗1∗10∗01∗11∗11∗134\begin{array}{l} \cos (u_1,u_2)\frac{1*11*00*11*01*0}{\sqrt{1*11*10*01*11*1}*\sqrt{1*10*01*10*00*0}}\frac{1}{\sqrt{8} }\\ \cos (u_1,u_3)\frac{1*01*10*11*11*0}{\sqrt{1*11*10*01*11*1}*\sqrt{0*01*11*11*10*0}}\frac{2}{\sqrt{12} }\frac{1}{\sqrt{3} }\\ \cos (u_1,u_4)\frac{1*11*00*11*11*1}{\sqrt{1*11*10*01*11*1}*\sqrt{1*10*01*11*11*1}}\frac{3}{4} \end{array} cos(u1​,u2​)1∗11∗10∗01∗11∗1​∗1∗10∗01∗10∗00∗0​1∗11∗00∗11∗01∗0​8​1​cos(u1​,u3​)1∗11∗10∗01∗11∗1​∗0∗01∗11∗11∗10∗0​1∗01∗10∗11∗11∗0​12​2​3​1​cos(u1​,u4​)1∗11∗10∗01∗11∗1​∗1∗10∗01∗11∗11∗1​1∗11∗00∗11∗11∗1​43​​ 通过余弦相似度公式我们可以算出u4和u1的相似度是最大的。 三、基于内容的推荐算法 Content-based RecommendationsCB是推荐系统中最基础的算法也是最古老的算法。它会根据用户过去喜欢的物品为用户推荐和这个物品相似的物品。这个相似判断是通过抽取物品的内在或外在的特征值来实现的。 举个例子对于一个电影来说它的特征可能有[导演、演员、影片类型、时长、所属国家、用户打分、…]。基于这些特征我们通过相似度算法计算出各个电影之间的相似度。 总得来说基于内存的推荐算法很好理解一共就分两步 获取用户喜欢的物品通过该物品的特征找到和该物品最相似的N个物品推荐给用户 如何获取到用户喜欢的物品 用户不会主动告诉我们他喜欢什么物品因此我们需要根据用户的相关行为来构建用户画像信息。具体什么行为得根据不同的场景来判断。 对于电影网站来说用户的评分就可以拿来当评判依据如果用户喜欢一个电影自然会打比较高的分数对于电商网站用户的购买行为也可以当成用户喜欢这个物品对于资讯类网站我们可以拿用户的浏览时长来作为评判标准 如何确定物品的特征 基于内容的推荐第二步是找到和用户喜欢物品最相似的N个物品。 相似度算法之前已经介绍过了但在使用相似度算法之前我们需要确定物品有哪些特征。因此如何挖掘物品的特征是基于内容的推荐算法中的核心问题。可以说基于内容的推荐最重要的不是推荐算法而是内容挖掘和分析(也就是挖掘物品的特征/标签)。内容挖掘的越深才能让推荐算法达到更好的效果。 对于物品的特征提取/标签挖掘一般有几种办法 专家标签雇佣一些专门的人员为网站上的物品逐个打标签数据标注工程师用户自定义标签(UGC)让用户自己为各个物品打标签豆瓣降维分析数据提取隐语义标签隐语义模型分词、语议处理和情感分析 —— 适用于一些物品是文本的网站NLP 四、推荐算法实验方法评测指标 推荐效果实验方法 当我们需要验证一个算法好坏的时候需要进行一些实验。关于评测推荐效果的实验方法一般有三种 1、离线实验 通过日志系统获取用户的行为数据并按照一定格式生成一个标准的数据集将数据集按照一定的规则分成训练集和测试集在训练集上训练用户兴趣模型在测试集上进行预测通过实现定义的离线指标评测算法在测试集上的预测结果 这个可以说是机器学习领域中很通用的方法它的优缺点如下 优点不需要有对实际系统的控制权、不需要用户参与实验、速度快且可以测试大量算法缺点离线实验的指标和具体商业指标存在差距 2、用户调查 离线实验虽然方便高效但是离线实验出来的结果可能和实际效果有较大的出入。为了测试实际的效果我们可以在上线前做一次小规模的用户测试调查选择部分真实用户在我们部署的测试环境中进行操作完成一些任务然后观察其行为并问他们一些问题。通过分析他们的行为和答案来判断算法的效果。 优点可以获得很多体现用户主观感受的指标,相对在线实验风险很低,出现错误后很容易弥补缺点招募测试用户代价较大,很难组织大规模的测试用户。另外可能会因为一些心态的原因导致用户在测试环境和行为和真实环境下的行为有些出入对评测结果造成一些影响 3、在线实验 在完成离线实验和必要的用户调查后可以将算法上线做AB测试将其和旧的算法进行比较。 AB测试是常用的在线评测算法的实验方法它可以通过一定的规则将用户随机分成几组对不同组的用户采用不同的算法然后通过各种不同的评测指标来衡量哪种算法比较好。比如可以统计用户的点击率、停留时间等指标来评测效果算法好坏。 优点可以直接获得实际在线时的性能指标包括商业上关注的指标缺点实验周期比较长需要长期的实验才能得到可靠的结果。同时AB测试系统也是个复杂的工程需要投入较多的人力成本开发。 评测指标 1、预测准确度 预测准确度是说一个推荐系统或者推荐算法预测用户行为的能力。它是推荐系统最重要的一个指标从推荐系统诞生的那一天起, 几乎99%与推荐相关的论文都在讨论这个指标。这主要是因为该指标可以通过离线实验计算,方便了很多学术界的研究人员研究推荐算法。 在离线实现中我们可以将数据集分为训练集和测试集通过测试集来预测算法的准确度。不同的推荐场景对于准确度有不同的计算方法。主要的推荐场景一般有两种分别是评分预测和TopN推荐。 评分预测 很多提供推荐服务的网站都有一个让用户给物品打分的功能。那么,如果知道了用户对物品的历史评分就可以从中习得用户的兴趣模型, 并预测该用户在将来看到一个他没有评过分的物品时,会给这个物品评多少分。预测用户对物品评分的行为称为评分预测。 评分预测的预测准确度一般通过均方根误差 (RMSE) 和平均绝对误差 ( MAE ) 计算。rui表示用户u对物品i的实际评分rui表示用户u对物品i的预测评分T表示测试集的样本数量那么 RMSE(均方根误差)⁡∑u,i∈T(rui−r^ui)2∣T∣∑u,i∈T(实际评分−预测评分)2∣样本数量∣\operatorname{RMSE(均方根误差)}\sqrt{\frac{\sum_{u, i \in T}\left(r_{u i}-\hat{r}_{u i}\right)^{2}}{|T|} }\sqrt{\frac{\sum_{u, i \in T}\left(实际评分-预测评分\right)^{2}}{|样本数量|} } RMSE(均方根误差)∣T∣∑u,i∈T​(rui​−r^ui​)2​​∣样本数量∣∑u,i∈T​(实际评分−预测评分)2​​ MAE(平均绝对误差)∑u,i∈T∣rui−r^ui∣∣T∣∑u,i∈T∣实际评分−预测评分∣∣样本数量∣\mathrm{MAE(平均绝对误差)}\frac{\sum_{u, i \in T}\left|r_{u i}-\hat{r}_{u i}\right|}{|T|}\frac{\sum_{u, i \in T}\left|实际评分-预测评分\right|}{|样本数量|} MAE(平均绝对误差)∣T∣∑u,i∈T​∣rui​−r^ui​∣​∣样本数量∣∑u,i∈T​∣实际评分−预测评分∣​ RMSE与MAE对比RMSE针对异常值更敏感即有一个预测值与真实值相差很大那么RMSE就会很大。因此使用RMSE来评测准确度就意味着对系统的评测更为苛刻。在实际情况中我们可以同时用这两个指标通过查看MAE和RMSE的比值找出那些存在较大但不常见的错误。 TopN预测 网站在提供推荐服务时,一般是给用户一个个性化的推荐列表,这种推荐叫做TopN推荐。 TopN推荐的预测准确率一般通过准确率 ( precision ) /召回率 (recall ) 度量。 假设R(u)是算法给用户u的推荐列表T(u)是用户u真实的行为列表。那么 Recall(召回率) ∑u∈U∣R(u)⋂T(u)∣∑u∈U∣T(u)∣\text { Recall(召回率) }\frac{\sum_{u \in U}|R(u) \bigcap T(u)|}{\sum_{u \in U}|T(u)|}  Recall(召回率) ∑u∈U​∣T(u)∣∑u∈U​∣R(u)⋂T(u)∣​ Precision(准确率) ∑u∈U∣R(u)⋂T(u)∣∑u∈U∣R(u)∣\text { Precision(准确率) }\frac{\sum_{u \in U}|R(u) \bigcap T(u)|}{\sum_{u \in U}|R(u)|}  Precision(准确率) ∑u∈U​∣R(u)∣∑u∈U​∣R(u)⋂T(u)∣​ 也就是说假设我们给用户推荐了5个物品用户自己消费了10个物品而我们推荐的物品中只有一个和用户真实的列表一致那么召回率就是1/1010%准确率就是1/520%。 关于评分预测问题和TopN预测的讨论 评分预测一直是推荐系统研究的热点这主要是因为推荐系统的早期研究组GroupLens的研究主要是基于电影评分数据MovieLens进行的同时推荐系统的Netflix大赛也主要面向评分预测问题。 但有科学家指出TopN预测更符合实际的应用场景。因为即使我们对用户的评分预测的非常准确也不能表明它能为我们带来多少收益。 举个例子在豆瓣上有许多冷门的高分电视剧或电影这些电影都是高品质的大部分人去看应该也会打高分。但是打高分并不意味着用户就感兴趣如果我们因为预测用户对这些电影评分高而向他们推荐这些电影那最后八成会被大部分用户忽视。 备注 但是准确的预测并不代表好的推荐。 比如一个用户本来就要准备购买某书那么无论是否给他推荐他都准备购买所以这个推荐结果显然是不好的因为它未使用户购买更多的书。 2、用户满意度 用户作为推荐系统的重要参与者用户的满意度也是最重要的指标之一。与预测准确度相比用户满意度是个相对主观的指标因此无法通过离线实验计算出来只能通过在线实验和用户调查中获得。 在做用户调查时我们可以根据发放问卷的形式来收集用户的满意度拿GroupLens曾经做过的一个论文推荐系统的问卷来举例。该问卷是让用户选择哪句话是看到推荐内容结果后的感受 推荐的论文都是我比较想看的推荐的论文很多我都看过了,确实是符台我兴趣的不错论文推荐的论文和我的研究兴趣是相关的但我并不喜欢不知道为什么会推荐这些论文他们和我的兴趣丝毫没有关系 这个问卷可以看出设计满意度问卷时不能单单让用户回答是否满意可能用户心里认为大体满意但是对某些方面不满意因而可能很难回答这个问题。需要设计问卷时需要充分考虑到用户各方面的感受这样才能针对问题给出准确的回答。 在在线系统中用户满意度用户的一些行为来统计得到。比如统计用户在对应物品上的点击率、用户停留时间和转化率等来手机用户的满意度。 3、 覆盖率 覆盖率是描述一个推荐系统对物品长尾的发掘能力。覆盖率有不同的定义方法最简单的定义就是推荐出来的物品集合占总物品的比例。即 覆盖率推荐的物品数量总物品数量覆盖率\frac{推荐的物品数量}{总物品数量} 覆盖率总物品数量推荐的物品数量​ 再复杂些的系统就需要考虑上推荐列表中物品出现次数的分布。如果所有的物品都出现在推荐列表中且出现的次数差不多那么说明该推荐系统的覆盖率高发掘长尾的能力很好。 在信息论和经济学中有两个著名的指标可以用来定义覆盖率。第一个是信息熵 H−∑i1np(i)log⁡p(i)H-\sum_{i1}^{n} p(i) \log p(i) H−i1∑n​p(i)logp(i) 这里的p(i)是物品的流行度除以所有物品流行度之和。 第二个是基尼系数 G1n−1∑j1n(2j−n−1)p(ij)G\frac{1}{n-1} \sum_{j1}^{n}(2 j-n-1) p\left(i_{j}\right) Gn−11​j1∑n​(2j−n−1)p(ij​) 推荐系统的初衷是消除马太效应需要用基尼系数。。。。 4、多样性 用户的兴趣是广泛的在视频网站中一个用户既可能喜欢看《猫和老鼠》一类的动画片也喜欢看成龙的动作片。因此推荐列表最好能覆盖用户不同的兴趣领域即推荐结果需要具有多样性。 多样性保证了我们不会在一棵树上吊死。举个例子某个用户对于电影的兴趣可能有很多比如喜剧片、动作片、恐怖片。但是在某一时刻比如他心情不好只想看喜剧片这时候多样性就保证了用户找到感兴趣电影的概率。而如果推进的列表品类单一则用户找到感兴趣电影的概率就会降低。 多样性描述了推荐列表中物品的不相似程度因此多样性和相似性是对应的。假设s(i,j)-[0,1]定义了物品i和物品j之间的相似度那么用户u的推荐列表R(u)的多样性定义如下 Diversity 1−∑i,j∈R(u),i≠js(i,j)12∣R(u)∣(∣R(u)∣−1)\text { Diversity }1-\frac{\sum_{i, j \in R(u), i \neq j} s(i, j)}{\frac{1}{2}|R(u)|(|R(u)|-1)}  Diversity 1−21​∣R(u)∣(∣R(u)∣−1)∑i,j∈R(u),ij​s(i,j)​ 推荐系统的整体多样性可以定义为所有用户推荐列表多样性的平均值 Diversity 1∣U∣∑u∈UDiversity (R(u))\text { Diversity }\frac{1}{|U|} \sum_{u \in U} \text { Diversity }(R(u))  Diversity ∣U∣1​u∈U∑​ Diversity (R(u)) 关于推荐系统的多样性最好达到什么程度我们可以通过一个简单的例子来了解一下。假设某个用户喜欢动作片和动画片且用户80%的时间都在看动作片20%的时间都在看动画片。那么下面4种推荐列表 A列表中有10部动作片没有动画片B列表中有10部动画片没有动作片C列表中有8部动作片2部动画片D列表中有5部动作片5部动画片 可以看出AB列表缺乏多样性D列表过于多样没有考虑到用户的主要兴趣。C列表是最好的因为它考虑到了用户的主要兴趣又具有一定的多样性。因此多样性也需要根据用户的实际情况来调整。 5、新颖度 新颖的推荐是指给用户推荐那些他们以前没有听说过的物品。推荐列表保证一定的新颖度可以更好的发掘用户的兴趣。评测新颖度的最简单方法就是利用推荐结果的平均流行度因为越不热门的物品越可能让用户觉的新颖。因此如果推荐结果中物品的平均热门程度越低那么推荐结果就可能有比较高的新颖度。 但是这个方法还是比较粗略的因为不同用户不知道的东西是不同的所以要准确的统计新颖度还需要做用户调查。 可能有同学会发现要保证新颖度很可能会牺牲准确度。因此如何不牺牲准确度的情况下提高多样性和新颖度也是推荐系统近几年的一个研究方向。 6、惊喜度 惊喜度和新颖度有些相似但也有一定区别。 举个例子假设一个用户喜欢周星驰的电影我们给他推荐了一部《临歧》的电影1983年由刘德华、周星驰、梁朝伟合作演出很少有人知道这部电影有周星驰出演而该用户不知道这部电影那可以说这个推荐具有新颖性但是没有惊喜度因为该用户一旦了解了这个电影的演员就不会觉得特别奇怪。 如果我们给用户推荐了张艺谋导演的《红高粱》假设用户没有看过这部电影那么他看完这部电影后可能会觉的很奇怪因为这部电影和他的兴趣一点关系也没有但如果看完之后觉的很不错那就可以说这个推荐是让用户惊喜的。 总的来说惊喜度就是推荐和用户历史上喜欢的物品不想死但用户却觉得很满意的推荐。 不过目前也没有什么公认的惊喜度指标定义的方式虽然近几年学术界对惊喜度问题有了一定的关注但是还没有太成熟的结果。 7、信任度 用户对推荐系统的信任度也是影响推荐好坏的一个非常重要的指标。 举个现实生活中的例子你有2个朋友一个非常靠谱一个整天满嘴跑火车。那个靠谱的朋友推荐你去某个地方旅游时你很可能听从他的建议。而那个满嘴跑火车的朋友的建议你很可能就不会当回事。 提高推荐系统的信任度主要有两个方法 增加系统的透明度也就是需要向用户提供推荐解释只有让用户了解推荐系统的运行机制让用户认同推荐系统的运行机制才会提高用户对系统的信任度。充分利用用户的社交网络信息利用用户的好友信息给用户做推荐并且用好友进行推进解释。因为用户一般对他们的好友都比较信任如果推进的商品刚好是好友购买过的那么他们对推荐结果就会相比比较信任 8、实时性 实时性主要描述了时间因素对推荐效果带来的影响。 一种情况是物品本身具有时效性比如一个新闻网站经常给用户推荐两三年前的新闻那么这个网站无疑会失去大量用户。 还有一种情况比如一个用户刚买了一部iphone那么我们立刻给他推荐iphone相关配件肯定比第二天才给他推荐效果来的好。 9、健壮性 任何一个能带来收益的系统都会被人攻击。这方面最为典型的例子就是搜索引擎。搜索引擎的作弊和反作弊斗争异常激烈因为如果能让自己的商品成为热门搜索的第一个搜索结果会带来极大的商业利益。推荐系统也有类似的问题而健壮性指标则衡量了一个推荐系统抗击作弊的能力。 举个例子亚马逊有一种推荐叫做购买商品A的用户也经常购买的其他商品它的主要计算方法是统计购买商品A的用户购买其他商品的次数。那么我们可以很简单的攻击这个算法让自己的商品在这个推荐列表中获得比较高的排名。比如可以注册很多账号用这些账号同时购买商品A和自己的商品。 为了让系统的健壮性更高我们要尽量在使用数据前过滤掉一些异常数据同时尽量使用用户代价较高的用户行为。比如对比用户购买行为和用户浏览行为购买行为需要付费代价相对更高而浏览行为很容易伪造因此选择用户购买行为作为依据的算法会更健壮些。 总结 上面介绍了很多指标有些可以离线计算有些只能在线获得。在实际的开发中我们很难同时兼顾所有的指标。因此如何有选择的放弃或降低一些指标来实现收益最大化也是推荐系统研究的重要问题。 比如我们的优化策略可以是保证覆盖率、多样性、新颖度达到一定值的情况下尽可能的让预测准确度达到最大。 Max(预测准确度){覆盖度A多样性B新颖度C\begin{array}{l} Max(预测准确度) \\ \left\{\begin{matrix} 覆盖度A \\ 多样性B \\ 新颖度C \end{matrix}\right. \end{array} Max(预测准确度)⎩⎨⎧​覆盖度A多样性B新颖度C​​ 其中A、B、C的具体取值可以根据实际情况进行调整。
http://www.w-s-a.com/news/421579/

相关文章:

  • 汕尾好网站建设推广计算机软件包含网站开发
  • 建设工程施工许可证在哪个网站办wordpress更换主题白屏
  • 微交易网站建设wordpress摘要调用
  • 做网站维护需要懂什么网站后台后缀名
  • 网站建设的认可桂平市住房和城乡建设局网站
  • 网站设计师岗位职责域名关键词查询
  • 百度怎样建设网站盐城公司网站建设
  • 站长工具国产2023网站制作 商务
  • 网络新闻专题做的最好的网站杭州网站设计建设公司
  • 电商网站界面设计流程ps培训班一般学费多少钱
  • 西安网站运营上海闵行区网站制作公司
  • 宁波网站推广代运营长链接转化成短链接工具
  • 小企业如何建网站怎么自己制作app
  • 苏州品牌网站制作公司宁波建设工程有限公司
  • 合肥网站建设zgkr互联网创业好项目
  • 哪里学网站建设与管理云落wordpress
  • 网站建设意见做网站涉及到哪些
  • 网站导航栏原型图怎么做怎么样创建一个网站
  • 遨游建站金融网站建站
  • cms企业网站模板上海网站开发平台
  • 贵阳网站建设搜q479185700网站团队建设
  • 电商网站建设 教学总结蚌埠市住房建设部网站
  • 深圳罗湖企业网站发稿类别是什么
  • 做网站基本语言企业应用软件开发
  • 网站建设与运营 市场分析影视小程序搭建
  • vs 团队网站开发中铁建设门户网登录咋进不去了
  • 快速网站建设公司哪家好优秀的网站建设
  • 网站开发的自适应wordpress搜索词结果按文章标题
  • 微网站是用什么开发的wordpress中英文主题
  • 纯静态网站怎么做淄博seo开发