热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

再理解协同过滤算法

协同过滤算法是推荐系统中最古老,也是最简单高效的推荐算法。简单说协同过滤就是根据以往的用户产生的数据分析,对用户的新行为进行匹配分析来给用户推荐用户最有

  协同过滤算法是推荐系统中最古老,也是最简单高效的推荐算法。简单说协同过滤就是根据以往的用户产生的数据分析,对用户的新行为进行匹配分析来给用户推荐用户最有可能感兴趣的内容。

  协同过滤算法是为了解决长尾现象,也就是说推荐系统是为了解决长尾现象而诞生的。因为在之前在有限的空间(如:书店的书架、服装店的衣架、商店的货架、网页的展示区域)只能摆有限的物品进行展示,造成大量的非热门物品很难进入人们的视野,也就无法产生任何价值。研究表明挖掘长尾内容,产生的效益很可能会超过头部。因为网络、计算机的发展使关注大数据量下的长尾内容成本下降,使得关注长尾效益成为可能。

  简单说就是推荐系统会在有限空间内针对到单个用户推荐内容,帮助用户发现长尾内容中对自己更有价值的内容,发挥长尾内容的效益。也就是推荐算法和推荐系统的存在价值。

  协同过滤算法的数学模型有一个假设前提:每个人会有一个或多个自己感兴趣的领域。

  看起来有点废话,但是这是一切的基础,这样我们可以推论:

  1、如果两个事物同属于一个人的兴趣范围,那么这两个事物有较大可能属于不同类型的事物;
  2、如果两个事物同时属于很多人的兴趣范围,那么这两个事物有较大可能属于同一类型的事物。

  虽然已经可以用了,但是想推荐的更准确仍有很多工作需要做,比如:
  1、不活跃用户应该比活跃用户有更多的权重来确定物品相关性,因为活跃用户总会对很多事物点赞之类的,即使他只是感觉差不多而已。
  2、对热门事物的惩罚力度、推荐事物的新颖度等控制,都是一个需要试验后设置好一个理想的阈值。
  3、最后还需要根据推荐系统所推荐的事物,进行各种数据的优化和过滤以满足产品定位的各种需求。

  参考:http://blog.pureisle.net/archives/2120.html 推荐系统实践



推荐阅读
  • KMP算法是处理字符串匹配的一种高效算法它首先用O(m)的时间对模板进行预处理,然后用O(n)的时间完成匹配。从渐进的意义上说,这样时间复 ... [详细]
  • Coursera ML 机器学习
    2019独角兽企业重金招聘Python工程师标准线性回归算法计算过程CostFunction梯度下降算法多变量回归![选择特征](https:static.oschina.n ... [详细]
  • 本文详细介绍了流编辑器sed中的G、H、g、h命令,探讨了它们的工作原理及应用场景。通过实例解析和图解分析,帮助读者掌握这些高级命令的使用方法。 ... [详细]
  • 本文探讨了如何在 F# Interactive (FSI) 中通过 AddPrinter 和 AddPrintTransformer 方法自定义类型(尤其是集合类型)的输出格式,提供了详细的指南和示例代码。 ... [详细]
  • 深入解析Java虚拟机(JVM)架构与原理
    本文旨在为读者提供对Java虚拟机(JVM)的全面理解,涵盖其主要组成部分、工作原理及其在不同平台上的实现。通过详细探讨JVM的结构和内部机制,帮助开发者更好地掌握Java编程的核心技术。 ... [详细]
  • 深入解析ESFramework中的AgileTcp组件
    本文详细介绍了ESFramework框架中AgileTcp组件的设计与实现。AgileTcp是ESFramework提供的ITcp接口的高效实现,旨在优化TCP通信的性能和结构清晰度。 ... [详细]
  • ArcXML:互联网空间数据交换的专用语言
    ArcXML是一种专为ArcIMS平台设计的数据交换协议,基于XML标准,用于在不同组件之间传输和描述地理空间数据。本文将详细介绍ArcXML的背景、用途及其与XML的关系。 ... [详细]
  • 深入解析8086 CPU的转移指令
    本文详细介绍了8086 CPU中的转移指令,包括无条件转移、条件转移、循环指令及过程调用等,同时探讨了offset操作符的功能及其应用实例。 ... [详细]
  • 本文详细介绍如何在 Windows 环境下安装 Ubuntu 12.04 版本的 Linux 操作系统,包括必要的软件下载、配置步骤以及注意事项。 ... [详细]
  • 本文探讨了Web开发与游戏开发之间的主要区别,旨在帮助开发者更好地理解两种开发领域的特性和需求。文章基于作者的实际经验和网络资料整理而成。 ... [详细]
  • 本文探讨了在C语言编程中,如何有效避免多文件项目中的重定义问题,通过合理使用预处理器指令和extern关键字,确保代码的健壮性和可维护性。 ... [详细]
  • 深入理解SQL Server中的聚集与非聚集索引
    本文探讨了SQL Server数据库中两种主要的索引类型——聚集索引和非聚集索引,通过对比分析它们的特点及应用场景,旨在帮助读者更好地理解和利用这两种索引以优化查询性能。 ... [详细]
  • 在与客户的互动中,我们经常被问及BI系统是否提供了特定行业的解决方案。实际上,作为数据分析工具,BI系统的通用性远大于其行业针对性。本文将探讨BI系统的通用性和行业适应性。 ... [详细]
  • 一位女子向诸位神灵提问,探讨命运、爱情、正义等话题,揭示了人性和社会的多重面向。 ... [详细]
  • 探索新一代API文档工具,告别Swagger的繁琐
    对于后端开发者而言,编写和维护API文档既繁琐又不可或缺。本文将介绍一款全新的API文档工具,帮助团队更高效地协作,简化API文档生成流程。 ... [详细]
author-avatar
kaxiaoliog_334
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有