坤哥笑侃跨域推荐(一) Cross-Domain Recommendation, An Embedding and Mapping Approach (IJCAI-17)

本文主要是介绍坤哥笑侃跨域推荐(一) Cross-Domain Recommendation, An Embedding and Mapping Approach (IJCAI-17),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这是本人看的第一篇跨域推荐的文章,刚接触这一领域,有所错误,请多指正。

目录

跨域分类

面临挑战

模型

实验对比

总结


跨域分类

正如文章一开始说,跨域推荐是解决推荐领域数据稀疏性(sparsity)的一种方法。紧接着,文章介绍了两种跨域的方式以及缺点:

    1)非对称方式,利用源领域知识降低目标领域知识的稀疏性。这时源领域的知识在目标领域充当先验或正则化项的作用(不是我说的,我负责翻译哈,错了别打我)。作者说方法的核心是确定哪些知识可以被迁移过去,但笔者觉得还有一个重点就是如何迁移。

    2)第二种方式就是对称方式,将两领域同等看待,互为补充。他们有自己独立的特征(factor)以及共享的特征。作者认为这些过多的特征会加剧稀疏性(作者的解释哈)。

其实笔者认为,两种分类的区别在于:非对称方式中源域的知识足够多而目标域知识相对少,,换句话说,源域需要的知识目标域无法提供,而目标域需要源域的知识,,formally ,源域知识与目标域知识的交集为目标域知识(交集符号太好看了), 这样目标域的知识没必要迁移或迁移过去没多大作用;而对称方式中源域和目标域知识都不太多,有一定交集,也有各自的部分,需要互为补充提高精度。作者说他们的方法属于第二种。

面临挑战

接着作者就摆明面临的挑战。一是源域与目标域的映射函数的格式,作者认为线性和非线性是个问题,因为他觉得,非线性映射需要的数据量大,容易过拟合,但笔者认为应该考虑两者有什么内部联系使得可以映射,如何利用内部联系构造映射(但会局限于一类数据集哦),另一篇后来的文章中直接用神经网络(DNN)映射,解释上也只能说效果好了。二是哪一部分知识可以映射过去,因为有些知识本身不够精确,迁移过去就是误人子弟嘛。

模型

然后就是模型了。三步走。

    1)求隐含参数(latent factor modeling),即两个域的U^{s} V^{s} U^{t} V^{t}(四个矩阵,谢谢), s上标为源域(source),t上标为目标域(target)。了解过推荐的应该知道rating矩阵R = U^{T}V 其中U是K*U维的,V是K*V维的,K为隐含参数的维数,U为用户user数,V为item数。方法为MF(Matrix Factorization)和BPR。
    2)潜在空间映射(latent space mapping),即在U^{s} 和 U^{t} 某一部分(都有,且隐含参数都比较精确的部分)之间找个映射使得f(U^{s}) =  U^{t} ,item中V同理。作者采用的映射方法为线性映射(LM Linear Mapping)和非线性多层感知器映射(MLP-based Nonlinear Mapping)。

    3)推荐。简单的说吧,就是在源域目标域都充足的知识(笔者理解,例如用户相同时,知识就是用户的latent factor,一些由于rating矩阵相应部分信息少(rating数少,嘿嘿)而导致求得的latent factor不精确,个人认为这就是知识不足吧)部分之间建立映射,在源域中充足、目标域不充足的知识之间利用映射得到目标域的隐含参数,并作推荐。

实验对比

接着就是实验的对比,由于求潜在参数以及映射函数的多样性,自身的模型有许多不同的实现,与基本的baseline对比展示优越性,并调整自身模型参数说明参数的作用,这是对比实验的常规操作。数据集用的是Netflix-Movielens和Douban(自己爬的),训练集测试集的划分是对目标域rating矩阵随机采样,即sample(以user举例)U * i% 行作为测试,剩下的rating信息和源域rating矩阵作为训练。

最后的结论就是把一件事分成几部分说,如本文把模型三部分重新说了一遍以及实验效果好。

总结

总结一下,这篇文章中,作者成功地将跨域推荐分为两类,实际是数据集本身问题采取的不同应对策略(能互相促进,干嘛单方面提供帮助呀呢);说明了两大挑战,是因为其他关键点现有方法基本都ok了,就剩俩了;提出了模型三步走,知识提取、知识映射、(用)知识推荐,没看过之前的跨域论文,不知道之前的模型长啥样,不做评价;实验和总结嘛,常规formal喽。所以我们学到的就是这个three part的model啦。

 

 

这篇关于坤哥笑侃跨域推荐(一) Cross-Domain Recommendation, An Embedding and Mapping Approach (IJCAI-17)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/810314

相关文章

MySQL 缓存机制与架构解析(最新推荐)

《MySQL缓存机制与架构解析(最新推荐)》本文详细介绍了MySQL的缓存机制和整体架构,包括一级缓存(InnoDBBufferPool)和二级缓存(QueryCache),文章还探讨了SQL... 目录一、mysql缓存机制概述二、MySQL整体架构三、SQL查询执行全流程四、MySQL 8.0为何移除查

MySql9.1.0安装详细教程(最新推荐)

《MySql9.1.0安装详细教程(最新推荐)》MySQL是一个流行的关系型数据库管理系统,支持多线程和多种数据库连接途径,能够处理上千万条记录的大型数据库,本文介绍MySql9.1.0安装详细教程,... 目录mysql介绍:一、下载 Mysql 安装文件二、Mysql 安装教程三、环境配置1.右击此电脑

在 Windows 上安装 DeepSeek 的完整指南(最新推荐)

《在Windows上安装DeepSeek的完整指南(最新推荐)》在Windows上安装DeepSeek的完整指南,包括下载和安装Ollama、下载DeepSeekRXNUMX模型、运行Deep... 目录在www.chinasem.cn Windows 上安装 DeepSeek 的完整指南步骤 1:下载并安装

深入理解Apache Airflow 调度器(最新推荐)

《深入理解ApacheAirflow调度器(最新推荐)》ApacheAirflow调度器是数据管道管理系统的关键组件,负责编排dag中任务的执行,通过理解调度器的角色和工作方式,正确配置调度器,并... 目录什么是Airflow 调度器?Airflow 调度器工作机制配置Airflow调度器调优及优化建议最

Spring Boot统一异常拦截实践指南(最新推荐)

《SpringBoot统一异常拦截实践指南(最新推荐)》本文介绍了SpringBoot中统一异常处理的重要性及实现方案,包括使用`@ControllerAdvice`和`@ExceptionHand... 目录Spring Boot统一异常拦截实践指南一、为什么需要统一异常处理二、核心实现方案1. 基础组件

Python将大量遥感数据的值缩放指定倍数的方法(推荐)

《Python将大量遥感数据的值缩放指定倍数的方法(推荐)》本文介绍基于Python中的gdal模块,批量读取大量多波段遥感影像文件,分别对各波段数据加以数值处理,并将所得处理后数据保存为新的遥感影像... 本文介绍基于python中的gdal模块,批量读取大量多波段遥感影像文件,分别对各波段数据加以数值处

Golang的CSP模型简介(最新推荐)

《Golang的CSP模型简介(最新推荐)》Golang采用了CSP(CommunicatingSequentialProcesses,通信顺序进程)并发模型,通过goroutine和channe... 目录前言一、介绍1. 什么是 CSP 模型2. Goroutine3. Channel4. Channe

Spring Boot 中整合 MyBatis-Plus详细步骤(最新推荐)

《SpringBoot中整合MyBatis-Plus详细步骤(最新推荐)》本文详细介绍了如何在SpringBoot项目中整合MyBatis-Plus,包括整合步骤、基本CRUD操作、分页查询、批... 目录一、整合步骤1. 创建 Spring Boot 项目2. 配置项目依赖3. 配置数据源4. 创建实体类

Java子线程无法获取Attributes的解决方法(最新推荐)

《Java子线程无法获取Attributes的解决方法(最新推荐)》在Java多线程编程中,子线程无法直接获取主线程设置的Attributes是一个常见问题,本文探讨了这一问题的原因,并提供了两种解决... 目录一、问题原因二、解决方案1. 直接传递数据2. 使用ThreadLocal(适用于线程独立数据)

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系