博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
从分类,排序,top-k多个方面对推荐算法稳定性的评价
阅读量:6284 次
发布时间:2019-06-22

本文共 1379 字,大约阅读时间需要 4 分钟。

介绍

论文名: “classification, ranking, and top-k stability of recommendation algorithms”.

本文讲述比較推荐系统在三种情况下, 推荐稳定性情况.
与常规准确率比較的方式不同, 本文从还有一个角度, 即推荐算法稳定性方面进行比較.

具体

參与比較的推荐算法

包含:

  1. baseline
  2. 传统基于用户
  3. 传统基于物品
  4. oneSlope
  5. svd

比較方式

比較的过程分为两个阶段:

阶段一, 将原始数据分为两个部分, 一部分为已知打分, 还有一部分为未知打分, 用于预測.

阶段二, 在用于预測打分那部分数据中, 取出一部分数据, 增加到已知打分部分, 剩余部分仍然为预測部分.

比較阶段一中的预測结果和阶段二中预測结果的比較.

数据划分情况如图所是.

数据划分

比較的方式

预測稳定性

预測性的评价方式有下面几种:

MAE, RMSE

分类稳定性

分类型的评价方式有下面几种:

准确率, 召回率, F-分数.

排名稳定性

排名型的评价方式有下面几种:

排名相关性, Spearman的ρ评价, Kruskal的γ评价, Kendall的τ评价.

前K项稳定性

前k项的评价方式有下面几种:

点击率稳定性(hit-rate), NDCG(normalized discounted cumulative gain).

比較的场景

稀疏性冲击

改变数据的稀疏性, 从几个方面比較这些推荐算法的稳定性.

结果如图所是.

这里写图片描写叙述

基于内存的推荐算法和slopeone算法表现出强烈的不稳定性和对数据敏感性.

svd和baseline算法相对稳定.

评价数量冲击

改变第二阶段中新增加数据的数量, 比較两次实验的差异.

结果如图所是:

这里写图片描写叙述

横坐标为比例, 即已知打分数据的倍数, 从10%到500%.

从图中能够看出, 在新增加的数据较少时, 各个推荐算法表现出高度的稳定性.

当新增加的数据较多时, 基于内存的推荐算法的稳定性不断下降.

相反, 基于模型的方法相对稳定.

打分分布冲击

除了新增加的数据外, 新增加的数据的数据分布也一定程度上影响了推荐算法的稳定性.

下表显示了改动数据分布的策略:

这里写图片描写叙述

实验的结果例如以下:

这里写图片描写叙述

从图中能够看出, 当增加的数据为随机时, 各个推荐算法都表现出相对较高的稳定性.

可是, 当增加的数据出现歪斜时, 基于内存的推荐算法的稳定性减少较快, 基于模型的推荐算法的稳定性基本保持不变.

算法參数冲击

对于推荐算法而言, 除了数据的因素外, 还有算法本身參数对算法稳定性的影响.

对于基于内存的算法, 类似用户/物品的数量影响着推荐算法的效果,

对于svd算法, 隐含属性的数量影响着推荐算法的结果.

实验通过改动推荐算法參数的方式进行比較, 结果如图所时:

这里写图片描写叙述

对于top-K的比較, k值的大小也影响推荐算法的稳定性.

通过改动k的大小, 实验的结果如图所时:

这里写图片描写叙述

实验结果表示:

对于改动算法的參数, 对svd算法的影响较少, 对于基于内存的算法影响较大.

改动top-k中k的大小, 对基于模型的推荐算法影响较小, 对于基于内存的推荐算法的稳定性影响较大.

总结

对于上面多种情况的比較.

基于模型的推荐算法在多种情况下, 稳定性较高, 特别时svd算法.
基于内存的推荐算法稳定性较差.

你可能感兴趣的文章
Python系语言发展综述
查看>>
新手 开博
查看>>
借助开源工具高效完成Java应用的运行分析
查看>>
163 yum
查看>>
第三章:Shiro的配置——深入浅出学Shiro细粒度权限开发框架
查看>>
80后创业的经验谈(转,朴实但实用!推荐)
查看>>
让Windows图片查看器和windows资源管理器显示WebP格式
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
vim使用点滴
查看>>
embedded linux学习中几个需要明确的概念
查看>>
mysql常用语法
查看>>
Morris ajax
查看>>
【Docker学习笔记(四)】通过Nginx镜像快速搭建静态网站
查看>>
ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
查看>>
<转>云主机配置OpenStack使用spice的方法
查看>>
java jvm GC 各个区内存参数设置
查看>>
[使用帮助] PHPCMS V9内容模块PC标签调用说明
查看>>
关于FreeBSD的CVSROOT的配置
查看>>
基于RBAC权限管理
查看>>