坤哥笑侃跨域推荐(一) 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

相关文章

Nginx 配置跨域的实现及常见问题解决

《Nginx配置跨域的实现及常见问题解决》本文主要介绍了Nginx配置跨域的实现及常见问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来... 目录1. 跨域1.1 同源策略1.2 跨域资源共享(CORS)2. Nginx 配置跨域的场景2.1

CSS Anchor Positioning重新定义锚点定位的时代来临(最新推荐)

《CSSAnchorPositioning重新定义锚点定位的时代来临(最新推荐)》CSSAnchorPositioning是一项仍在草案中的新特性,由Chrome125开始提供原生支持需... 目录 css Anchor Positioning:重新定义「锚定定位」的时代来了! 什么是 Anchor Pos

关于跨域无效的问题及解决(java后端方案)

《关于跨域无效的问题及解决(java后端方案)》:本文主要介绍关于跨域无效的问题及解决(java后端方案),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录通用后端跨域方法1、@CrossOrigin 注解2、springboot2.0 实现WebMvcConfig

Java SWT库详解与安装指南(最新推荐)

《JavaSWT库详解与安装指南(最新推荐)》:本文主要介绍JavaSWT库详解与安装指南,在本章中,我们介绍了如何下载、安装SWTJAR包,并详述了在Eclipse以及命令行环境中配置Java... 目录1. Java SWT类库概述2. SWT与AWT和Swing的区别2.1 历史背景与设计理念2.1.

Java日期类详解(最新推荐)

《Java日期类详解(最新推荐)》早期版本主要使用java.util.Date、java.util.Calendar等类,Java8及以后引入了新的日期和时间API(JSR310),包含在ja... 目录旧的日期时间API新的日期时间 API(Java 8+)获取时间戳时间计算与其他日期时间类型的转换Dur

MySQL 存储引擎 MyISAM详解(最新推荐)

《MySQL存储引擎MyISAM详解(最新推荐)》使用MyISAM存储引擎的表占用空间很小,但是由于使用表级锁定,所以限制了读/写操作的性能,通常用于中小型的Web应用和数据仓库配置中的只读或主要... 目录mysql 5.5 之前默认的存储引擎️‍一、MyISAM 存储引擎的特性️‍二、MyISAM 的主

Java 中的跨域问题解决方法

《Java中的跨域问题解决方法》跨域问题本质上是浏览器的一种安全机制,与Java本身无关,但Java后端开发者需要理解其来源以便正确解决,下面给大家介绍Java中的跨域问题解决方法,感兴趣的朋友一起... 目录1、Java 中跨域问题的来源1.1. 浏览器同源策略(Same-Origin Policy)1.

C++ HTTP框架推荐(特点及优势)

《C++HTTP框架推荐(特点及优势)》:本文主要介绍C++HTTP框架推荐的相关资料,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. Crow2. Drogon3. Pistache4. cpp-httplib5. Beast (Boos

Python多进程、多线程、协程典型示例解析(最新推荐)

《Python多进程、多线程、协程典型示例解析(最新推荐)》:本文主要介绍Python多进程、多线程、协程典型示例解析(最新推荐),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定... 目录一、multiprocessing(多进程)1. 模块简介2. 案例详解:并行计算平方和3. 实现逻

springboot+vue项目怎么解决跨域问题详解

《springboot+vue项目怎么解决跨域问题详解》:本文主要介绍springboot+vue项目怎么解决跨域问题的相关资料,包括前端代理、后端全局配置CORS、注解配置和Nginx反向代理,... 目录1. 前端代理(开发环境推荐)2. 后端全局配置 CORS(生产环境推荐)3. 后端注解配置(按接口