• CKE(Collaborative Knowledge Base Embedding for Recommender Systems)笔记


    2016的paper

    利用知识库中的异构信息来提高推荐系统质量。主要贡献是在推荐系统中引入了结构信息、文本数据、图像数据等知识库中的信息来提升推荐系统的质量。

    论文是基于什么问题提出来的?

    CF(协同过滤)方法由于user-item矩阵的稀疏性,效果受限。

    论文提出了什么方法

    使用辅助信息提高性能。

    具体来说是 利用了知识库中的异构信息来提高推荐系统的质量,给定结构信息,文本信息,视觉信息的知识库以及user的隐式反馈,产生一个用户感兴趣的ranked list。

    本文设计了三个组件:结构内容、文本内容和视觉内容。

    image-20210823114258191

    隐式反馈(user implicit feedback):

    image-20210823114810006

    有交互为1,没有交互或者不知道为0.(注意,为1不表示用户实际上喜欢,只能说对它感兴趣。为0只能说不感兴趣或者是潜在交互(用户不知道这些内容),不代表不喜欢。)

    知识库(knowledge base)

    image-20210823115223047

    1. 结构信息:实体和实体之间的联系
    2. 文本信息:电影或书本的文本信息
    3. 视觉信息:封面海报之类的

    结构特征:用户隐式反馈和结构信息

    内容特征:文本和视觉信息

    OverView

    CKE模型包含两个步骤:

    1. 知识库嵌入(knowledge base embedding)
    2. 协作联合学习(collaborative joint learning)

    Structural Embedding

    具体来说,就是采用了异构网络嵌入的方法,称为TransR(2015 AAAI),通过考虑节点和关系的异构型来提取项目的结构表示。

    结构化信息表现为一个network,因为一个实体有很多个实体相连,需要把这个网络映射到向量空间。

    TransR

    通过关系矩阵来链接不同语义空间。

    以这种方式训练表征向量:

    1. 通过将实体映射到关系空间中
    2. 在两个投影实体之间构建翻译关系

    image-20210824100728689

    对于每个关系,有一个变换矩阵Mr和一个它在自己的关系空间的表示向量r。通过变换矩阵将entities从实体空间投影到关系空间。

    image-20210824111334722

    目标函数

    image-20210824111548642

    加入贝叶斯先验之后的TransR生成过程:

    image-20210824112048263

    这里的话就是使参数符合特定的正太分布(下同)

    那慕达是调整正太分布里 瘦胖 的参数

    Textual Embedding

    堆叠去噪自动编码器(SDAE)

    https://blog.csdn.net/zbzcDZF/article/details/86570761

    https://www.cnblogs.com/neopenx/p/4370350.html

    image-20210824224802871

    Wl是权重参数,bl是偏差参数

    SDAE总共6层,前三层位置是Encoder部分(1-3),X0表示的是带有噪音的矩阵

    后三层是Decoder部分(3-6),X6是无噪音的输出矩阵。

    引入贝叶斯SDAE:

    image-20210826151700389

    Visual Embedding

    堆叠卷积自动编码器(SCAE)

    image-20210826152200994

    Encoder 由两个卷积层(z0到z2)和一个完全连接层(z2到z3)组成。

    Decoder又一个完全连接层(z3到z4)和两个解卷积层(z4到z6)组成。

    中间隐藏层z3输出的使一个矩阵,其他层的输出通常称为特征映射,它是由卷积层生成的四维张量。

    卷积层映射如下:

    image-20210826153033946

    Q*表示卷积算子,用来保持先前输出的局部连通性(?)

    引入贝叶斯SCAE:

    image-20210826153232240

    Collaborative joint learning

    将协同过滤(collaborative filtering)与知识库中的items embedding结合。在CKE框架中,提出了协作联合学习过程。

    为同时获取协同过滤中的item的潜在表示和知识库中的representation,有

    image-20210826154219356

    其中,η代表CF中的物品隐含含量。其他三个分别代表从知识库提取出来的特征。

    再使用pair-wise 偏好概率表示,有

    image-20210826160224148

    这个式子意思是对于用户i来说,相比j',更喜欢j物品。θ表示模型参数。

    参数学习,最大对数似然函数

    image-20210826161506852

    论文中使用了随机梯度下降(SGD)算法,最大化等式7.

    损失函数第二块:个人感觉是对文本embedding的正则化,防止过拟合。

    Experiments

    两个不同领域的数据集(电影和书籍)

    1. MovieLens-1M:有100w名用户和3706部电影组成。
    2. IntentBooks:微软Bing搜索引擎和Satori知识库组成。

    image-20210826162649626

    “#sk nodes”表示提取结构信息中的节点总数

    “#tk items”表示具有文本信息的items总数

    “#vk items”表示具有视觉信息的items总数

    实验总结:CKE(S)、CKE(T)、CKE(V)分别表示只用Structure,Texture或Visual的CKE模型

    1. CKE(S)、CKE(T)、CKE(V)都能beat掉baseline
    2. 相较CKE(S)、CKE(T)、CKE(V)提升的效果没有CKE(S)好,不过也是可以beat掉baseline
    3. CKE(STV)效果最好

    image-20210826165107851

    image-20210826165139637

    image-20210826165157782

    image-20210826165211585

  • 相关阅读:
    mysql主从之slave-skip-errors和sql_slave_skip_counter
    mysql can't create threads in threadpool
    mysql binlog_row_image的选择
    MySQL5.7 error log时间显示问题
    Informatica 常用组件Expression之二 创建EXP组件
    Informatica 常用组件Expression之一 概述
    Informatica 常用组件Source Qualifier之九 创建SQ转换
    Informatica 常用组件Source Qualifier之八 会话前和会话后 SQL
    Informatica 常用组件Source Qualifier之八 Distinct
    Informatica 常用组件Source Qualifier之七 使用排序端口
  • 原文地址:https://www.cnblogs.com/jev-0987/p/15190530.html
Copyright © 2020-2023  润新知