评价预测装置、 评价预测方法以及程序 【技术领域】
本发明涉及评价预测装置、 评价预测方法、 以及程序。背景技术 近年来, 已通过宽带网络向用户提供了大量的信息。因此, 从用户的视角看来, 从 所提供的大量的信息中搜索用户想要的信息变得困难。另一方面, 从信息提供者的视角看 来, 由于希望提供给用户的信息被埋没在大量的信息中, 因而使用户浏览该信息变得困难。 为了改善这种状况, 构建了从大量的信息中准确地提取用户喜爱的信息并将该信息提供给 用户的机制。
作为从大量的信息中提取用户喜爱的信息的机制, 例如已知称作合作过滤和基于 内容的过滤的过滤方法。 进而, 合作过滤的种类包括基于用户的合作过滤、 基于条目的合作 过滤、 基于矩阵分解 (factorisation) 的合作过滤 ( 例如, 参见 : 《Ruslan Salakhutdinov and Andriy Mnih, Probabilistic matrix factorisation, In Advances in Neural
Information Processing Systems, 卷 20, 2008》 , 以下称作非专利文献 1) 等。 另一方面, 基 于内容的过滤的种类包括基于用户基于内容的过滤、 基于条目基于内容的过滤等。
基于用户的合作过滤是这样的方法 : 检测与用户 A 的爱好相似的用户 B, 并基于由 用户 B 对某一条目组进行的评价来提取用户 A 喜爱的条目。例如, 在用户 B 对条目 X 给予 好感的评价的情况下, 预测用户 A 也喜爱条目 X。基于该预测, 可提取条目 X 作为用户 A 喜 爱的信息。此外, 基于矩阵分解的合作过滤是具有基于用户的合作过滤的特征和基于条目 的合作过滤的特征这二者的方法, 对于其详细情况可参照非专利文献 1。
进而, 基于条目的合作过滤是这样的方法 : 检测与某条目 A 具有相似特征的条目 B, 并基于某一用户群对条目 B 作出的评价来提取喜爱条目 A 的用户。例如, 在用户 X 对条 目 B 给予好感的评价的情况下, 预测条目 A 也被用户 X 喜爱。基于该预测, 可提取用户 X 作 为喜爱条目 A 的用户。
进而, 基于用户基于内容的过滤是这样的方法 : 例如, 在存在有用户 A 喜爱的条目 群的情况下, 基于该条目群的特征来分析用户 A 的爱好, 并提取具有与用户 A 的爱好相符的 特征的新的条目。而且, 基于条目基于内容的过滤是这样的方法 : 例如, 在存在有喜爱条目 A 的用户群的情况下, 基于该用户群的爱好来分析条目 A 的特征, 并提取喜爱条目 A 的特征 的新的用户。 发明内容 当使用上述那样的过滤方法时, 可从大量的信息中提取用户喜爱的信息。用户可 以从收缩至仅为该用户自己喜爱的信息的信息群中提取希望的信息, 而极大地改进信息的 搜索性。另一方面, 从信息提供者的视角看来, 可准确地提供用户喜爱的信息, 于是可实现 有效的信息提供。然而, 如果过滤的精度低, 则无法正确地进行用户所喜爱的信息的收缩, 且得不到诸如搜索性的改进和有效的信息提供这样的效果。 因此, 要求高精度的过滤方法。
当使用上述合作过滤时, 已知在用户数量或条目数量少的状况下变成精度低。另 一方面, 当使用基于内容的过滤时, 已知在用户数量或条目数量多的状况下精度变得比合 作过滤更低。 而且, 在基于内容的过滤的情况下, 已知如果不适宜地选择体现用户群或条目 群的特征的特征的种类, 则变成精度低。
鉴于这种状况, 本发明人设想了以使用变分贝叶斯估计 (variational Bayesian estimation) 的概率矩阵分解为基础的过滤方法。此外, 以概率矩阵分解为基础的过滤方 法记载于例如 ( 文献 1)Y.J.Lim and Y.W.Teh., “Variational Bayesian approach to movie rating prediction” , In Proceedings of KDD Cup and Workshop, 2007.、 ( 文献 2)Ruslan Salakhutdinov and Andriy Mnih., “Probabilistic matrix factorisation” , In Advances in Neural Information Processing Systems, volume 20, 2008.、 ( 文 献 3)Ruslan Salakhutdinov and Andriy Mnih., “Bayesian probabilistic matrix factorisation using Markov chain Monte Carlo.” , In Proceedings of the International Conference on Machine Learning, volume 25, 2008. 等。
然而, 变分贝叶斯估计是迭代法, 如果不正确地选择初始值, 则例如解的收敛将费 时间或者将得到质量差的收敛解。 而且, 根据上述以概率矩阵分解为基础的过滤方法, 如果 条目数量变多, 则例如计算变得需要大量的存储器或者计算负荷变得极高。
有鉴于此, 希望提供一种能够既抑制计算所需的存储器量又更高速地实现以概率 矩阵分解为基础的过滤的、 新颖且改进的评价预测装置、 评价预测方法以及程序。
根据本公开的实施例, 提供了一种评价预测装置, 包括 :
后验分布 (posterior distribution) 计算部, 所述后验分布计算部将表示第一条 目的潜在特征的第一潜在向量、 表示第二条目的潜在特征的第二潜在向量、 以及把由所述 第一潜在向量和所述第二潜在向量的内积表达的评价值作为元素且秩数为 H 的评价值矩 阵的秩 h(h = 0 ~ H) 的剩余矩阵 Rh 这三者中的每一者当作根据正态分布的随机变量, 并 进行使用作为学习数据而被给予的已知评价值的变分贝叶斯估计, 从而计算所述第一潜在 向量和所述第二潜在向量的变分后验分布 ; 以及
评价值预测部, 所述评价值预测部使用由所述后验分布计算部所计算出的所述第 一潜在向量和所述第二潜在向量的变分后验分布来预测未知的所述评价值。
所述后验分布计算部可将通过将所述剩余矩阵 Rh 当作所述随机变量并进行变分 贝叶斯估计而得到的所述第一潜在向量和所述第二潜在向量的变分后验分布作为初始值, 并可通过将所述评价值矩阵当作根据正态分布的随机变量并进行变分贝叶斯估计来计算 所述第一潜在向量和所述第二潜在向量的变分后验分布。
所述后验分布计算部可定义表示所述第一条目的特征的第一特征向量、 表示所述 第二条目的特征的第二特征向量、 用于将所述第一特征向量投影至所述第一潜在向量的空 间上的第一投影矩阵、 以及用于将所述第二特征向量投影至所述第二潜在向量的空间上的 第二投影矩阵, 可利用将基于所述第一投影矩阵的所述第一特征向量的投影值作为期望值 的正态分布来表达所述第一潜在向量的分布, 并利用将基于所述第二投影矩阵的所述第二 特征向量的投影值作为期望值的正态分布来表达所述第二潜在向量的分布, 并且与所述第 一潜在向量和所述第二潜在向量的变分后验分布一道计算所述第一投影矩阵和所述第二 投影矩阵的变分后验分布。所述评价值预测部可将使用所述第一潜在向量和所述第二潜在向量的变分后验 分布而计算出的所述第一潜在向量的期望值和所述第二潜在向量的期望值的内积作为所 述未知的评价值的预测值。
上述评价预测装置可进一步包括推荐接受者确定部, 所述推荐接受者确定部在由 所述评价值预测部所预测的未知的评价值超过预定的阈值的情况下, 将与该未知的评价值 对应的第二条目确定为与该未知的评价值对应的第一条目的推荐接受者。
所述第二条目可表示用户。 在这种情况下, 所述评价预测装置进一步包括推荐部, 所述推荐部在由所述推荐接受者确定部确定第一条目的推荐接受者的情况下, 向与第一条 目的推荐接受者对应的用户推荐第一条目。
根据本公开的另一实施例, 提供了一种评价预测方法, 包括 :
将表示第一条目的潜在特征的第一潜在向量、 表示第二条目的潜在特征的第二潜 在向量、 以及把由所述第一潜在向量和所述第二潜在向量的内积表达的评价值作为元素且 秩数为 H 的评价值矩阵的秩 h(h = 0 ~ H) 的剩余矩阵 Rh 这三者中的每一者当作根据正态 分布的随机变量, 并进行使用作为学习数据而被给予的已知评价值的变分贝叶斯估计, 从 而计算所述第一潜在向量和所述第二潜在向量的变分后验分布 ; 以及 使用所计算出的所述第一潜在向量和所述第二潜在向量的变分后验分布来预测 未知的所述评价值。
根据本公开的另一实施例, 提供了一种使得计算机实现以下功能的程序 :
后验分布计算功能, 所述后验分布计算功能将表示第一条目的潜在特征的第一潜 在向量、 表示第二条目的潜在特征的第二潜在向量、 以及把由所述第一潜在向量和所述第 二潜在向量的内积表达的评价值作为元素且秩数为 H 的评价值矩阵的秩 h(h = 0 ~ H) 的 剩余矩阵 Rh 这三者中的每一者当作根据正态分布的随机变量, 并进行使用作为学习数据 而被给予的已知评价值的变分贝叶斯估计, 从而计算所述第一潜在向量和所述第二潜在向 量的变分后验分布 ; 以及
评价值预测功能, 所述评价值预测功能使用由所述后验分布计算功能所计算出的 所述第一潜在向量和所述第二潜在向量的变分后验分布来预测未知的所述评价值。
根据本公开的另一实施例, 还提供了一种记录有上述程序的计算机可读记录介 质。
根据以上说明的本公开的实施例, 有可能既抑制计算所需的存储器量又更高速地 实现以概率矩阵分解为基础的过滤。
附图说明 图 1 是用于说明能够进行以基于矩阵分解的合作过滤为基础的条目的推荐的推 荐系统的构造的说明图 ;
图 2 是用于说明评价值数据库的构造的说明图 ;
图 3 是用于说明潜在特征向量的构造的说明图 ;
图 4 是用于说明潜在特征向量的构造的说明图 ;
图 5 是用于说明与以基于矩阵分解的合作过滤为基础的条目的推荐相关的处理 的流程的说明图 ;
图 6 是用于说明能够进行以基于概率矩阵分解的合作过滤为基础的评价值的预 测和条目的推荐的评价预测装置的功能构造的说明图 ;
图 7 是用于说明特征向量的构造的说明图 ;
图 8 是用于说明特征向量的构造的说明图 ;
图 9 是用于说明与以基于概率矩阵分解的合作过滤为基础的评价值的预测和条 目的推荐相关的处理的流程的说明图 ;
图 10 是用于说明根据本公开的实施例的评价预测装置的功能构造的说明图 ;
图 11 是显示用于说明通过应用根据本实施例的评价预测装置的构造而得到的效 果的实验结果的说明图 ;
图 12 是显示用于说明通过应用根据本实施例的评价预测装置的构造而得到的效 果的实验结果的说明图 ;
图 13 是用于说明能够实现根据本实施例的评价预测装置的功能的信息处理装置 的硬件构造的说明图。 具体实施方式 下面参照附图详细地说明本公开的优选实施例。 注意, 在本说明书和附图中, 具有 实质上相同功能和构造的结构要素被标以相同标记, 并省略对这些结构要素的重复说明。
[ 说明的流程 ]
此处, 简单地阐述以下记载的本公开的实施例有关的说明的流程。首先, 参照图 1 ~图 5 说明能够实现以基于矩阵分解的合作过滤为基础的条目的推荐的推荐系统的系统 构造及其工作。接下来, 参照图 6 ~图 9 说明能够实现以基于概率矩阵分解的合作过滤为 基础的评价值的预测和条目的推荐的评价预测装置 ( 推荐系统 ) 的功能构造及其工作。然 后参照图 10 说明根据本实施例的评价预测装置的功能构造。然后参照图 11 和图 12, 参照 具体实验结果说明当应用根据本实施例的评价预测装置的构造时所得到的效果。 然后参照 图 13 说明能够实现根据本公开的实施例的评价预测装置的功能的信息处理装置的硬件构 造。
( 说明项目 )
1: 序言
1-1 : 基于矩阵分解的合作过滤
1-1-1 : 推荐系统 10 的构造
1-1-2 : 推荐系统 10 的工作
1-2 : 基于概率矩阵分解的合作过滤
1-2-1 : 着眼点
1-2-2 : 评价预测装置 100 的构造
1-2-3 : 评价预测装置 100 的工作
2: 实施例
2-1 : 评价预测装置 100 的构造
2-2 : 实验结果
3: 硬件构造例
<1 : 序言 >
首先, 简要地说明基于矩阵分解的合作过滤和基于概率矩阵分解的合作过滤。接 着总结这些过滤方法的问题。此外, 后面说明的本实施例的过滤方法 ( 有时称本方法 ) 是 用来解决这些一般的过滤方法的问题的。
[1-1 : 基于矩阵分解的合作过滤 ]
首先, 说明基于矩阵分解的合作过滤。 基于矩阵分解的合作过滤是这样的方法 : 以 用户和条目的组合的已知评价值被很好地说明的方式来估计与用户的爱好对应的向量和 与条目的特征对应的向量、 并基于该估计结果来预测未知的评价值。
(1-1-1 : 推荐系统 10 的构造 )
首先, 参照图 1 说明能够实现基于矩阵分解的合作过滤的推荐系统 10 的功能构 造。图 1 是示出了能够实现基于矩阵分解的合作过滤的推荐系统 10 的功能构造的说明图。
如图 1 所示, 推荐系统 10 主要由评价值数据库 11、 矩阵分解部 12、 评价值预测部 13 和推荐部 14 构成。
( 评价值数据库 11)
如图 2 所示, 评价值数据库 11 是用户 i 和条目 j 的组合的评价值被存储于的数据 库。以下为便于说明, 用于标识用户的 ID 和用于标识条目的 ID 分别记作 i = 1、 ...、 M和 j = 1、 ...、 N。此外, 还存在未被分配评价值的用户和条目的组合。基于矩阵分解的合作过 滤是这样的方法 : 考虑到用户的潜在特征和条目的潜在特征而预测未被分配评价值的用户 和条目的组合的评价值。 ( 矩阵分解部 12)
当与用户 i 和条目 j 对应的评价值记作 yij 时, 存储在评价值数据库 11 中的评价 值集合可看作是以 yij 为元素的评价值矩阵 {yij}(i = 1、 ...、 M, j = 1、 ...、 N)。矩阵分解 部 12 引入表示用户 i 的潜在特征的潜在特征向量 ui( 参见图 4) 和表示条目 j(j = 1、 ...、 N) 的潜在特征的潜在特征向量 vj( 参见图 3), 并以已知的评价值 yij 全部被很好地说明的 方式来分解评价值矩阵 {yij} 并用潜在特征向量 ui、 vj 来表达之。 此外, 已知的评价值 yij 的 意思是评价值被存储在评价值数据库 11 中的评价值 yij。
此外, 潜在特征向量 ui 的各元素表示用户的潜在特征。同样地, 潜在特征向量 vj 的各元素表示条目的潜在特征。不过, 从 “潜在” 这一表达中可理解, 潜在特征向量 ui、 vj 的 各元素不表示用户或条目的具体特征, 而只是通过后面说明的模型计算而得到的参数。此 外, 形成潜在特征向量 ui 的参数群反映出用户的爱好。而且, 形成潜在特征向量 vj 的参数 群反映出条目的特征。
此处说明矩阵分解部 12 的具体处理。首先, 如下式 (1) 所示, 矩阵分解部 12 以潜 在特征向量 ui、 vj 的内积来表达评价值 yij。此外, 上标 T 意指转置。而且, 潜在特征向量 ui、 vj 的维数为 H。为了以已知的评价值 yij 全部被很好地说明的方式来求得潜在特征向量 ui、 vj, 例如计算使下式 (2) 所定义的平方误差 J 成为最小的潜在特征向量 ui、 vj 被认为是 足够的。然而, 已经知道, 在实际中, 即使利用使平方误差 J 成为最小的潜在特征向量 ui、 vj 来预测未知的评价值 yij, 也达不到足够的预测精度。
( 其中右边与 i、 j 相关的和是针对已知评价值集合而计算的 )
...(2)
这样, 矩阵分解部 12 使用下式 (3) 所定义的正则化项 R 来计算潜在特征向量 ui、 vj。具体地, 矩阵分解部 12 计算使得以平方误差 J 和正则化项 R 的线性组合来表达的目标 函数 Q( 参见下式 (4)) 最小化的潜在特征向量 ui、 vj。此外, β 是用于表达正则化项 R 的 权重的参数。从下式 (3) 可明白, 当计算使目标函数 Q 成为最小的潜在特征向量 ui、 vj 时, 正则化项 R 以潜在特征向量 ui、 vj 接近零的方式起作用。
另外, 为了当计算目标函数 Q 成为最小的潜在特征向量 ui、 vj 时以潜在特征向量 ui、 vj 接近向量 μu、 μv 的方式起作用, 正则化项 R 可变形为下式 (5)。此外, 上述向量 μu 是潜在特征向量 ui 的平均, 上述向量 μv 是潜在特征向量 vj 的平均。
Q({ui}, {vj} ; {yij}) = J({ui}, {vj} ; {yij})+β×R({ui}, {vj}) ...(4)
矩阵分解部 12 计算上式 (4) 所示的目标函数 Q 成为最小的潜在特征向量 ui、 vj。 由矩阵分解部 12 像这样计算出的潜在特征向量 ui、 vj 被输入至评价值预测部 13。( 评价值预测部 13)
当从矩阵分解部 12 输入潜在特征向量 ui、 vj(i = 1、 ...、 M, j = 1、 ...、 N) 时, 评 价值预测部 13 基于上式 (1) 并使用所输入的潜在特征向量 ui、 vj 来计算未知的评价值。例 如, 在评价值 ymn 未知的情况下, 评价值预测部 13 使用潜在特征向量 um、 vn 来计算评价值 ymn T = um vn。由评价值预测部 13 像这样计算出的未知评价值被输入至推荐部 14。
( 推荐部 14)
当从评价值预测部 13 输入未知评价值 ymn 时, 推荐部 14 基于所输入的未知评价值 ymn 来判断是否向用户 m 推荐条目 n。例如, 如果未知评价值 ymn 超过预定的阈值, 则推荐部 14 向用户 m 推荐条目 n。另一方面, 如果该评价值 ymn 低于预定的阈值, 则推荐部 14 不向用 户 m 推荐条目 n。 此外, 推荐部 14 也可以被构造为不基于阈值来确定要推荐的条目, 而是例如推荐排行高的某一数量的条目。
以上已说明了能够实现基于矩阵分解的合作过滤的推荐系统 10 的功能构造。由 于上述基于矩阵分解的合作过滤仅使用已知的评价值, 因此存在有在用户数量或条目数量 少、 或评价值的日志少的状况下得不到足够的预测精度的问题。
(1-1-2 : 推荐系统 10 的工作 )
接下来, 参照图 5 阐述推荐系统 10 的工作并说明基于矩阵分解的合作过滤的处理 的流程。图 5 是用于说明基于矩阵分解的合作过滤的处理的流程的说明图。
首先, 推荐系统 10 凭借矩阵分解部 12 的功能从评价值数据库 11 获取评价值 yij 的集合 {yij}( 步骤 1)。接下来, 推荐系统 10 凭借矩阵分解部 12 的功能、 使用在步骤 1 中 获取的已知评价值集合 {yij} 来计算使上式 (3) 所定义的使目标函数 Q 最小化的潜在特征 向量 {ui}、 {vj}( 步骤 2)。由矩阵分解部 12 所计算出的潜在特征向量 {ui}、 {vj} 被输入至 评价值预测部 13。
接下来, 推荐系统 10 凭借评价值预测部 13 的功能, 使用在步骤 2 中计算出的潜在 特征向量 {ui}、 {vj} 来计算 ( 预测 ) 未知的评价值 {ymn}( 步骤 3)。由评价值预测部 13 所计 算出的未知的评价值 {ymn} 被输入至推荐部 14。接着, 当在步骤 3 中计算出的评价值 {ymn} 超过预定的阈值时, 推荐系统 10 凭借推荐部 14 的功能向用户 m 推荐条目 n( 步骤 4)。当 然, 当在步骤 3 中计算出的评价值 {ymn} 低于预定的阈值时, 不对用户 m 进行条目 n 的推荐。 如以上所说明的, 根据基于矩阵分解的合作过滤, 使用已知的评价值 {yij} 来计算 潜在特征向量 {ui}、 {vj}, 并基于该计算结果来预测未知的评价值 {ymn}。接着, 基于该预测 结果对用户 m 进行条目 n 的推荐。
基于矩阵分解的合作过滤与一般的基于用户的合作过滤或基于条目的合作过滤 相比具有更高的预测精度。 然而, 由于基于矩阵分解的合作过滤仅使用已知的评价值, 因此 存在有在用户数量或条目数量少、 或评价值的日志少的状况下预测精度变低的问题。为了 解决这一问题, 本发明人设想了如下的过滤方法。
[1-2 : 基于概率矩阵分解的合作过滤 ]
此处说明的过滤方法与前面说明的基于矩阵分解的合作过滤不同, 且涉及不仅考 虑已知的评价值、 还考虑用户或条目所具有的已知特征的新的过滤方法 ( 以下、 基于概率 矩阵分解的合作过滤 )。 当应用该基于概率矩阵分解的合作过滤时, 即使是在用户数量或条 目数量少、 或评价值的日志少的状况下, 也可足够高精度地预测评价值。而且, 由于是以合 作过滤为基础, 因而有随着用户数量或条目数量增加而评价值的预测精度改进的优点。以 下给出详细的说明。
(1-2-1 : 着眼点 )
在前面说明的基于矩阵分解的合作过滤中, 仅考虑了已知的评价值。 另一方面, 基 于概率矩阵分解的合作过滤除了考虑已知的评价值以外, 还考虑用户或条目所具有的已知 特征, 并使这些已知特征反映在潜在特征向量 {ui}、 {vj} 中。例如, 在前面的基于矩阵分解 的合作过滤中由上式 (5) 表达的正则化项 R 变更为下式 (6) 所示的正则化项 R。此外, 包含 在下式 (6) 中的 Du、 Dv 是为了将特征向量 xui、 xvj 分别投影至潜在特征向量 ui、 vj 的空间上 的回归矩阵。
在像上式 (6) 那样变更正则化项 R 的情况下, 当计算潜在特征向量 {ui}、 {vj} 以使 由上式 (4) 表达的目标函数 Q 最小化时, 潜在特征向量 ui 被限制以接近 Duxui 而 vj 被限制 以接近 Dvxvj。这样, 已知的特征相似的用户的潜在特征向量 ui 会彼此接近。同样地, 与已 知特征相似的条目的潜在特征向量 vj 也会彼此接近。因此, 即使是已知的评价值的数量少 的用户或条目, 也可基于已知的特征而得到与其他用户或条目相似的潜在特征向量。 结果, 即使是对已知的评价值的数量少的某用户或条目, 也可高精度地预测评价值。下面说明具 体的计算方法和能够实现该计算方法的评价预测装置 100 的构造。
(1-2-2 : 评价预测装置 100 的构造 )
参照图 6 说明能够实现基于概率矩阵分解的合作过滤的评价预测装置 100 的功能 构造。图 6 是用于说明评价预测装置 100 的功能构造的说明图。此外, 图 6 所示的评价预 测装置 100 的构造包含向用户推荐条目的结构要素, 但也有可能仅提取预测未知评价值的 部分作为评价预测装置 100。
如图 6 所示, 评价预测装置 100 包括评价值数据库 101、 特征量数据库 102、 后验分 布计算部 103 和参数保持部 104。而且, 评价预测装置 100 还包括评价值预测部 105、 预测 评价值数据库 106、 推荐部 107 和通信部 108。进而, 评价预测装置 100 经由网络 200 连接 至用户终端 300。
( 评价值数据库 101)
评价值数据库 101 是为用户 i 和条目 j 的组合分配的评价值被存储于的数据库 ( 参照图 2)。此外, 与前面说明的基于矩阵分解的合作过滤的情况相同, 为便于说明, 用于 标识各用户的 ID 和用于标识条目的 ID 分别记作 i = 1、 ...、 M 和 j = 1、 ...、 N。而且, 各 评价值记作 yij, 该评价值集合记作 {yij}。
( 特征量数据库 102)
如图 7 和图 8 所示, 特征量数据库 102 是表示用户的已知特征的特征向量 {xui} 的 各元素和表示条目的已知特征的特征向量 {xvj} 的各元素被存储于的数据库。用户的已知 特征可以是例如年龄、 性别、 出生地、 职业等。另一方面, 条目的已知特征可以是例如流派、 作者、 演员、 导演、 出版年代、 曲调等。
( 后验分布计算部 103、 参数保持部 104)
在基于概率矩阵分解的合作过滤中, 如上式 (6) 所示, 回归矩阵 Du、 Dv 被作为参数 而添加。 因而, 为了尽量减小参数数量的增加对估计的精度所造成的影响, 在此考虑贝叶斯 估计的使用。贝叶斯估计是使用概率模型在给出学习数据的状态下估计未知参数的方法。 此处, 作为学习数据而给出已知评价值集合 {yij} 和特征向量 {xui}、 {xvj}。而且, 作为未知 参数, 存在未知评价值集合 {ymn}、 回归矩阵 Du、 Dv 以及包含在概率模型中的其它参数。
基于概率矩阵分解的合作过滤所使用的概率模型由下式 (7) ~式 (9) 来表达。此 外, N(μ, ∑ ) 表示平均为 μ 且协方差矩阵为∑的正态分布。 而且, diag(...) 表示以 ... 为
对角元素的对角矩阵。此外, λ、 βu、 βv 是在概率模型中引入的参数。λ 是标量, βu 是 (βu1, ..., βuH) 而 βv 是 (βv1, ..., βvH)。由下式 (7) ~式 (9) 表达的概率模型等价于以 使用由上式 (6) 表达的正则化项 R 使目标函数 Q 最小化的方式来计算潜在特征向量 {ui}、 {vj} 的运算。此外, 由于上式 (4) 中出现的标量的参数 β 变更为向量 βu、 βv, 因而做出向 着更灵活的模型的变更。
ui ~ N(Duxui, diag(βu)-1)
...(8)
vj ~ N(Dvxvj, diag(βv)-1)
...(9)
后验分布计算部 103 是基于上述概率模型来进行贝叶斯估计、 并计算潜在特征向 量 {ui}、 {vj}、 回归矩阵 Du、 Dv 以及包含在概率模型中的参数 λ、 βu、 βv 的后验分布的单元。 此外, 在以下的说明中, 有时将潜在特征向量 {ui}{vj}、 回归矩阵 Du、 Dv 以及包含在概率模型 中的参数 λ、 βu、 βv 统称为参数。而且, 由后验分布计算部 103 所设定或计算出的参数被
存储在参数保持部 104 中。
贝叶斯估计包括基于概率模型、 在给出学习数据的状况下求得各参数的后验分布 的估计步骤、 以及对所求得的后验分布进行边缘化并求得参数的分布或其期望值的预测步 骤。 如果使用复杂的概率模型, 则后验分布也变得极复杂, 而希望由预测步骤求得的参数的 分布或期望值变得难以求得。因此, 在下面使用作为贝叶斯估计的近似解法的变分贝叶斯 估计。 在变分贝叶斯估计的情况下, 由于后验分布是以容易计算的分布来近似的, 因而可避 免后验分布的复杂化, 并变得容易求得参数的分布或期望值。
例如, 当将学习数据表达为向量 X 并将参数的集合表达为 Θ = {θ1, ..., θk} 时, 在变分贝叶斯估计的情况下, 后验分布 p{Θ|X} 如下式 (10) 所示那样被近似。当像这样进 行近似时, 已知 : 参数 θk(k = 1, ..., K) 的变分后验分布 q(θk) 成为下式 (11) 和式 (12)。
此外, Ep(x)[f(x)] 表示分布 p(x) 下方的 f(x) 的期望值。而且, const. 表示常数。 此外, 各变分后验分布 q(θk)(k = 1, ..., K) 依赖于别的分布。因此, 为了计算最佳的变分 后验分布, 必须在适当的初始化处理后反复地进行在别的变分后验分布下更新各变分后验 分布的参数的处理。该处理相关的具体的算法将在后面说明。
此处, 将与变分贝叶斯估计相关的算法应用于以上式 (7) ~式 (9) 表达的概率模 型。首先, 后验分布 p{Θ|X} 表达为下式 (13)。此外, 回归矩阵 Du、 Dv 表达为 Du = (du1, ..., T T duH) 和 Dv = (dv1, ..., dvH) 。而且, duh 和 dvh(h = 1, ..., H) 是向量。
在此, 在潜在特征向量 ui、 vj 之间有对称性。这样, 以下仅考虑 ui 的分布。而且, 为了简化表达, 将 βu 简单地记作 β = (β1, ..., βH), 将 Du 简单地记作 D, 将 duh 简单地记 作 dh 并将 xui 简单地记作 xi。进而, 设特征向量 xi、 回归向量 dh 及其事先分布的参数 γh 为 K 维。此处, 如下式 (14) 和式 (15) 那样定义参数 dh、 β 的事先分布。而且, 如下式 (16) 那 样定义在下式 (14) 中出现的参数 γ = (γ1, ..., γK) 的分布。这些分布每个都是成为与 其后验分布相同分布的共轭事先分布。 此外, 在没有事先知识的情况下, 可将事先分布的参 数设定为均一分布。进而, 为了使事先知识得以反映, 可调整事先分布的参数。
p(dh) = N(dh ; 0, diag(γ)-1)
...(14)
p(βh) = Gam(βh ; aβh, bβh)
...(15)
p(γh) = Gam(γh ; aγh, bγh)
...(16)
在上式 (15) 和式 (16) 中出现的 Gam(...) 表示 γ 分布。后验分布计算部 103 在 上式 (13) ~ (16) 所示的条件下计算上式 (11) 的变分后验分布。首先, 潜在特征向量 ui 的 变分后验分布 q(ui) 将成为下式 (17)。此外, 在下式 (17) 中出现的参数 μ’ ∑’ ui、 ui 由下 式 (18) 和式 (19) 来表达。进而, 与回归矩阵 D 的元素 dh 相关的变分后验分布 q(dh) 将成 为下式 (20)。此外, 在下式 (20) 中出现的参数 μ’ ∑’ dh、 dh 由下式 (21) 和式 (22) 来表达。
q(ui) = N(ui ; μ′ ui, ∑′ ui)
...(17)
μ′ ui = E[ ∑′ ui{λVTdiag(πi)yi+diag(β)Dxi}]
...(18)
q(dh) = N(dh ; μ′ dh, ∑′ dh) ...(20) μ′ dh = E[βh ∑′ dhXTuh] ...(21)
此外, 在上式 (18) 和式 (19) 中出现的向量 πi = (πi1, ..., πiN)T 是在评价值 yij 已知的情况下成为 πij = 1、 而在未知的情况下则成为 πij = 0 的向量。而且, 在上式 (18) T 中出现的向量 yi 是以评价值 yij 为元素的向量 yi = (yi1, ..., yiN) 。进而, 在上式 (18) 和 T 式 (19) 中出现的 V 是以潜在特征向量 vj 为元素的矩阵 V = (v1, ..., vN) 。进而, 在上式 T (21) 和式 (22) 中出现的 X 是以特征向量 xi 为元素的矩阵 X = (x1, ..., xN) 。
进而, 与概率模型的参数 β、 γ 相关的变分后验分布 q(β)、 q(γ) 将分别成为下 式 (23) 和式 (26)。此外, 在下式 (23) 中出现的参数 a’ b’ βh、 βh 分别由下式 (24) 和式 (25) 来表达。而且, 在下式 (26) 中出现的参数 a’ b’ γk、 γk 分别由下式 (27) 和式 (28) 来表达。
由于各参数的变分后验分布是使用上式 (17) ~式 (28) 来表达的, 因而, 通过基于 下列算法在别的变分后验分布下更新各变分后验分布的参数, 而得各参数的最佳的变分后 验分布。以下, 示出了潜在特征向量 ui(i = 1、 ...、 M) 的更新算法。
( 潜在特征向量 ui(i = 1、 ...、 M) 的更新算法 ) 《初始化》 E[V] ← (μ′ v1,…, μ′ vN)T E[D] ← (μ′ d1,…, μ′ dH)T E[β] ← (a′ β1/b′ β1,…, a′ βH/b′ βH)T E[γ] ← (a′ γ1/b′ γ1,…, a′ γK/b′ γK)T 《计算 q(ui)》 for i = 1 to M do∑′ ui ← {λE[VTdiag(πi)V]+diag(E[β])}-1 μ′ ui ←∑′ ui{E[λ]E[V]Tdiag(πi)yi+diag(E[β])E[D]xi} end for 《计算 q(dh)》 for h = 1 to H do E[uh] ← ({μ′ u1}h,…, {μ′ uM}h) T ∑′ dh ← {E[βh]X X+diag(E[γ])}-1 μ′ dh ← E[βh] ∑′ dhXTE[uh] end for 《计算 q(β)》 for h = 1 to H doE[uih] ← {μ′ ui}h E[dh] ← μ′ dh
end for
《计算 q(γ)》
for k = 1 to K do
end for
同样地, 潜在特征向量 vj(j = 1、 ...、 N) 的更新算法如下。此外, 在潜在特征向 量 vj 的更新算法中, β = (β1, ..., βH) 表示 βv, D 表示 Dv, dh 表示 dvh, 而 xj 表示 xvj。进 而, 设特征向量 xj 和回归向量 dh 及其事先分布的参数 γh 为 K 维。另外, πj = (π1j, ..., T πMj) 是在评价值 yij 已知的情况下成为 πij = 1、 而在未知的情况下则成为 πij = 0 的向 量。进而, yi 是以评价值 yij 为元素的向量 yi = (y1j, ..., yMj)T。而且, U 是以潜在特征向量 T ui 为元素的矩阵 U = (u1, ..., uM) 。进而, X 是以特征向量 xj 为元素的矩阵 X = (x1, ..., T xM) 。
( 潜在特征向量 vj(j = 1、 ...、 N) 的更新算法 )
《初始化》
E[U] ← (μ′ u1,…, μ′ uM)T
E[D] ← (μ′ d1,…, μ′ dH)T
E[β] ← (a′ β1/b′ β1,…, a′ βH/b′ βH)T
E[γ] ← (a′ γ1/b′ γ1,…, a′ γK/b′ γK)T
《计算 q(vj)》
for j = 1 to N do∑′ vj ← {λE[UTdiag(πj)U]+diag(E[β])}-1 μ′ vj ←∑′ vj{E[λ]E[U]Tdiag(πj)yj+diag(E[β])E[D]xj} end for 《计算 q(dh)》 for h = 1 to H do E[vh] ← ({μ′ v1}h,…, {μ′ vN}h) T ∑′ dh ← {E[βh]X X+diag(E[γ])}-1 μ′ dh ← E[βh] ∑′ dhXTE[vh] end for 《计算 q(β)》 for h = 1 to H doE[vjh] ← {μ′ vj}h E[dh] ← μ′ dh
end for《计算 q(γ)》
for k = 1 to K do
end for
后验分布计算部 103 对于 U 和 V 交替地反复进行上述更新算法, 直到参数收敛为 止。由该处理可得各参数的变分后验分布。此外, 参数 λ、 γ 可以是事先提供的超参数。 在这种情况下, 在潜在特征向量 ui(i = 1、 ...、 M) 的更新算法中, 参数 β 是基于下式 (29) 而更新的。参数 β 在潜在特征向量 vj(j = 1、 ...、 N) 的更新算法中也是同样地更新的。
此处得到的变分后验分布被从后验分布计算部 103 输入至评价值预测部 105。至 此的处理是估计步骤。当该估计步骤结束时, 评价预测装置 100 将处理前进至预测步骤。
( 评价值预测部 105)
作为预测步骤, 评价值预测部 105 基于从后验分布计算部 103 输入的各参数的变 分后验分布来计算评价值 yij 的期望值。如上所述, 潜在特征向量的变分后验分布 q(ui)、 q(vj) 是由后验分布计算部 103 求得的。这样, 如下式 (30) 所示, 评价值预测部 105 计算潜 在特征向量 ui、 vj 的内积 ( 评价值 yij) 的期望值。由评价值预测部 105 像这样计算出的评 价值的期望值被存储在预测评价值数据库 106 中。
( 推荐部 107、 通信部 108)
推荐部 107 参照存储在预测评价值数据库 106 中的未知的评价值的期望值 ( 以 下, 预测评价值 ), 并在预测评价值高的情况下向用户推荐条目。例如, 在预测评价值 ymn 超 过预定的阈值的情况下, 推荐部 107 向用户 m 推荐条目 n。而且, 推荐部 107 可参照预测评 价值数据库 106, 对未被用户评价的条目以预测评价值从高到低的顺序进行排序从而生成 列表, 并将该列表呈现给该用户。例如, 推荐部 107 将所生成的列表经由通信部 108 发送至 用户终端 300。接着, 所发送的列表通过网络 200 传达至用户终端 300, 并显示在用户终端
300 的显示单元 ( 未图示 ) 上。
上面说明了评价预测装置 100 的功能构造。
( 存储器容量节约和计算量节约 )
在此, 为了使用具有某种程度大的维数的潜在特征向量 ui、 vj 来实现上述过滤方 法, 需要充足的存储器容量。例如, 为了将在上述更新算法中出现的∑’ ...、 M) 和 ui(i = 1、 2 2 ∑’ ...、 N) 保持在存储器中, 分别需要 O(MH )[ 比特 ] 和 O(NH )[ 比特 ] 的存储 vj(j = 1、 器空间。 因此, 如果用户数量 M、 条目数量 N 和潜在特征向量的维数 H 大, 则需要巨大的存储 器容量来保持它们。
同样地, 为了保持∑’ ...、 H), 需要 O(HK2)[ 比特 ] 的存储器空间。因此, dh(h = 1、 如果潜在向量的维数 H 或特征量的数量 K 大, 则需要巨大的存储器容量来保持它们。而且, 如果潜在向量的维数 H 或特征量的数量 K 大, 则不仅进行上述更新算法时所需的存储器容 3 量、 而且还有计算量都巨大。例如, 为了求得∑’ dh 需要 O(K ) 的计算量。
为了减少进行上述更新算法时所需的计算量和存储器容量, 例如, 平均向量 μ’ ui、 μ’ 且可使∑’ ∑’ vj 和 μ’ dh 可由共轭梯度法等来更新, ui、 vj 和∑’ dh 仅保持对角元素。使 用这种方法可大幅度削减所需的存储器容量。具体地, 通过由共轭梯度法等来解下式 (31) 从而更新 μ’ 通过使用下式 (33) dh。而且使∑’ dh 如下式 (32) 那样仅保持对角元素。此外, 来代替上式 (29), 也可削减计算量和存储器容量。 T
(βhX X+diag(γ))μ′ dh = βhXTE[u·h]
...(31)
∑′ dh = (diag(βhXTX+diag(γ)))-1
...(32)
(1-2-3 : 评价预测装置 100 的工作 )
接下来, 参照图 9 阐述评价预测装置 100 的工作并说明根据基于概率矩阵分解的 合作过滤的处理的流程。图 9 是用于说明根据基于概率矩阵分解的合作过滤的处理的流程 的说明图。
首先, 评价预测装置 100 凭借后验分布计算部 103 的功能从评价值数据库 101 获 取已知的评价值 {yij} 并从特征量数据库 102 获取特征向量 {xui}、 {xvj}( 步骤 1)。接着, 评价预测装置 100 凭借后验分布计算部 103 的功能对包含在概率模型中的参数进行初始化 ( 步骤 2)。然后, 评价预测装置 100 凭借后验分布计算部 103 的功能将在步骤 1 中获取的 已知的评价值 {yij} 和特征向量 {xui}、 {xvj} 输入至变分贝叶斯估计算法, 并计算各参数的 变分后验分布 ( 步骤 3)。
在步骤 3 中计算出的变分后验分布被从后验分布计算部 103 输入至评价值预测部 105。接着, 评价预测装置 100 凭借评价值预测部 105 的功能根据在步骤 3 中计算出的变分 后验分布来计算未知评价值的期望值 ( 预测评价值 )( 步骤 4)。此处计算出的预测评价值 被存储在预测评价值数据库 106 中。然后, 评价预测装置 100 凭借推荐部 107 的功能向用
户推荐在步骤 4 中计算出的预测评价值高的条目 ( 步骤 5)。
如以上所说明的那样, 上述基于概率矩阵分解的合作过滤是既包含基于矩阵分解 的合作过滤的要素又考虑到已知特征向量的新的过滤方法。因此, 即使在用户数量或条目 数量少、 或已知的评价值少的状况下, 也能实现高估计精度。
( 应用例 )
前面已说明了针对用户和条目的组合的评价值来预测未知评价值的方法。然而, 本方法可应用于针对为条目群 A 中的条目和条目群 B 中的条目的组合分配的任意标签来预 测未知标签的任意方法。
( 例 1) 上述基于概率矩阵分解的合作过滤可应用于针对用户和条目的组合来预 测用户对条目所给的评价值或购买概率并进行推荐的系统。在这种情况下, 作为用户的特 征量, 例如使用年龄、 性别、 职业、 出生地等。另一方面, 作为条目的特征量, 例如使用流派、 作者、 演员、 年代等。
( 例 2) 另外, 上述基于概率矩阵分解的合作过滤可应用于针对用户和疾病的组合 来预测用户患病的概率的系统。 在这种情况下, 作为用户的特征量, 例如使用年龄、 性别、 生 活习性、 遗传基因等。此外, 如果仅使用基于遗传基因的特征量, 则可实现对将遗传基因与 疾病关联起来的系统的应用。
( 例 3) 另外, 上述基于概率矩阵分解的合作过滤可应用于针对股票和市场的组合 来预测股票的价格的系统。 在这种情况下, 作为股票的特征量, 例如使用基于公司的财务报 表的特征量、 平均市场价格或同业别的公司的价格等依赖于时间的特征量等。
( 例 4) 另外, 上述基于概率矩阵分解的合作过滤可应用于针对用户和内容的组合 来预测用户对内容的评价语、 并呈现与词汇相符的内容的系统。 在这种情况下, 作为内容的 特征量, 例如使用图像特征量、 由 12 音分析而得到的特征量等。
( 例 5) 另外, 上述基于概率矩阵分解的合作过滤可应用于针对用户和用户的组合 来预测用户间联系程度的 SNS 支持系统。在这种情况下, 作为用户的特征量, 例如使用年 龄、 性别、 日记、 朋友的特征量等。
( 例 6) 另外, 上述基于概率矩阵分解的合作过滤可应用于针对图像和词汇的组合 来预测在图像中是否存在词汇所指的物体的系统。
如上所述, 上述基于概率矩阵分解的合作过滤可应用于预测为各种条目群 A 和 B 的组合分配的标签。
上面说明了本发明人所设想的新的基于概率矩阵分解的合作过滤。此外, 尽管说 明了本发明人所设想的预测精度高的基于概率矩阵分解的合作过滤, 但除此之外还已知使 用概率矩阵分解的过滤方法 ( 例如, 参照文献 1 ~文献 3)。在文献 1 中记载的过滤方法是 基于变分贝叶斯估计的方法。在文献 2 中记载的过滤方法是基于 MAP 估计 ( 正则化最小平 方解法 ) 的方法。进而, 在文献 3 中记载的过滤方法是基于由 Gibbs 取样所做的贝叶斯估 计的方法。
基于变分贝叶斯估计或由 Gibbs 取样所做的贝叶斯估计的方法已知比基于 MAP 估 计的方法更精确。然而, 基于变分贝叶斯估计或由 Gibbs 取样所做的贝叶斯估计的方法却 比基于 MAP 估计的方法使用更大的计算量, 而在假设应用于几百万至几亿用户的 Web 服务 器等的情况下, 它们是不现实的。因而希望能够迅速地得到高精度的结果的方法。这样, 本发明人设想了基于变分贝叶斯估计的高速解法。 此外, 可将由该解法所得 到的计算结果作为上述基于变分贝叶斯估计的各方法的初始值来使用。 通过将由该解法所 得到的计算结果作为初始值来使用, 有可能加快在变分贝叶斯估计中反复进行的处理的收 敛, 或在该处理中防止收敛至劣质的局部解。以下详细地说明该高速解法。
<2 : 实施例 >
下面说明本发明的一种实施例。 本实施例涉及对基于变分贝叶斯估计的概率矩阵 分解相关的运算进行加速并还减少进行该运算时所需的存储器量的方法。
[2-1 : 评价预测装置 100 的构造 ]
首先, 参照图 10 来说明根据本实施例的评价预测装置 100 的功能构造。此外, 除 去用于预测评价值的结构要素 ( 主要是图 6 中的后验分布计算部 103 和评价值预测部 105) 以外的评价预测装置 100 的构造与图 6 所示的评价预测装置 100 实质上是相同的。因此, 此处仅详细说明用于预测评价值的结构要素。图 10 是用于说明评价预测装置 100 的结构 要素中与评价值的预测相关的结构要素的说明图。
如图 10 所示, 根据本实施例的评价预测装置 100 作为与评价值的预测相关的结构 要素而包括初始值计算部 131、 后验分布计算部 132 和评价值预测部 133。初始值计算部 131 和后验分布计算部 132 替代图 6 中的后验分布计算部 103, 而评价值预测部 133 替代图 6 中的评价值预测部 105。
( 初始值计算部 131)
首先说明初始值计算部 131 的功能。初始值计算部 131 是计算由后验分布计算部 132 所进行的变分贝叶斯估计的初始值的单元。
与前面相同, 将与条目 i、 j 对应的评价值记作 yij。而且, 定义了在评价值 yij 已知 的情况下成为 πij = 1、 而在评价值 yij 未知的情况下成为 πij = 0 的参数 πij。进而, 定 以评价值 yij 为元素且秩数为 H 的评价值矩阵为 Y = {yij}, 并定义评价值矩阵 Y 的秩 h 的 (h) (h) (h) 剩余矩阵为 R = {rij }。而且还定义与剩余矩阵为 R 对应的潜在特征向量 u·h ∈ RM、 v·h ∈ RN。此外, 剩余矩阵为 R(h) 的各元素如下式 (34) 那样定义。
初始值计算部 131 由潜在特征向量 u·h ∈ RM、 v·h ∈ RN 对该剩余矩阵 R(h) 进行概率 式的矩阵分解。首先, 初始值计算部 131 将剩余矩阵 R(h) 的元素 rij(h) 和潜在特征向量 u·h 分别当作如下式 (36) 和式 (37) 那样遵从正态分布的随机变量。进而, 初始值计算部 131 将潜在特征向量 u·h 的期望值 uh 当作如下式 (38) 那样遵从正态分布的随机变量。此外, 为 了简化, 设 λ 和 ξ 是事先决定的超参数。还设 λ 和 ξ 对于全部秩为 h = 1, ..., H 是共 同的。
p(μh|ξ) = N(μh ; ξ-1)
...(38)
当如上式 (36) ~式 (38) 那样进行模型化时, 初始值计算部 131 可基于下式 (39) 和式 (42) 得到潜在特征向量 u·h 的变分后验分布 q(u·h) 和期望值 μh 的变分后验分布 q(μuh)。此外, 包含在下式 (39) 中的参数 μ’ σ’ uih、 uih 由下式 (40) 和式 (41) 来定义。而 且包含在下式 (42) 中的参数 μ’ σ’ μuh、 μuh 由下式 (43) 和式 (44) 来定义。
潜在特征向量 v·h 的变分后验分布 q(v·h) 和期望值 μvh 的变分后验分布 q(μvh) 也分别由上式 (39) 和 (42) 同样地表达 ( 将 u 换成 v、 i 换成 j 即可 ), 因而初始值计算部 131 可同样方式地得到潜在特征向量 v·h 的变分后验分布 q(v·h) 和期望值 μvh 的变分后验 分布 q(μvh)。当得到上述变分后验分布时初始值计算部 131 使用该变分后验分布、 基于下 式 (45) 来更新参数 γh。
进而, 初始值计算部 131 在适当的初始化后, 在别的参数的变分后验分布下更新 潜在特征向量或期望值等参数的变分后验分布。该更新处理被反复地进行, 直到各参数收 敛为止。当各参数收敛时, 初始值计算部 131 将最终得到的变分后验分布输入至后验分布 计算部 132。此外, 由初始值计算部 131 来更新变分后验分布的具体算法 ( 以下, 逐秩变分 贝叶斯估计算法 ) 如下。
( 逐秩变分贝叶斯估计算法 )
对于 R ←∏ οY for h = 0 to H do 当不收敛时进行 for i = 1 to M do初始化end for
对于 end while for i = 1 to M do for j = 1 to N do以相同的方式更新end for
end for
end for
( 设定初始值的方法 )
下面说明将由逐秩变分贝叶斯估计所得到的变分后验分布用作后面说明的普通 的变分贝叶斯估计的初始值的方法。作为以下说明的普通的变分贝叶斯估计的 μ’ uih 的初 始值、 使用由逐秩变分贝叶斯估计所得到的 μ’ 而作为 μ’ 使用由逐秩变 uih, vjh 的初始值、 2 2 分贝叶斯估计所得到的 μ’ 使用 diag(σ’ui1, ..., σ’ 而作 uiH), vjh。作为∑’ ui 的初始值、 2 2 为∑’ 使用 diag(σ’ vj1, ..., σ’ vjH)。通过设定这些初始值、 然后由后面说 vi 的初始值、 明的普通的变分贝叶斯估计一次更新 μ’ ∑’ μ’ 从而完成初始化。 μu、 μu、 μv 和∑’ μv,
( 后验分布计算部 132)
后验分布计算部 132 是由变分贝叶斯估计来计算参数的变分后验分布的单元。此 处假设如下式 (46) 那样对评价值 yij 进行模型化的情况。此外当由矩阵 U = (u1, ..., uM) T T T 、 V = (v1, ..., vN) 来表达潜在特征向量时, 评价值矩阵 Y = {yij} 的期望值由 UV 给出。 当分别由下式 (47) 和 (48) 来表达潜在特征向量 ui、 vj 的事先分布、 并如下式 (49) 那样考 虑评价值 yij 的有 / 无时, 学习数据 ( 已知的评价值等 ) 的对数相似度如下式 (50) 来表达 ( 对应于正则化平方误差 )。此外, 矩阵∏= {πij}。
p(ui|γ) = N(ui ; 0, γ-1I) ...(47) p(vj|γ) = N(vj ; 0, γ-1I) ...(48)
此外, 可将平均参数导入由上式 (47) 和 (48) 表达的潜在特征向量 ui、 vj 的事先分 -1 布, 或者, 作为协方差矩阵可使用对角矩阵或稠密对称矩阵来代替 γ I。例如, 可将潜在特 征向量 ui、 vj 的事先分布分别表达为下式 (51) 和式 (53)。此外, 在下式 (51) 中包含的期 望值 μu 如下式 (52) 那样由服从正态分布的随机变量来表达。而且, 设 Ξ 为超参数。 -1
p(ui |μu, Γ) = N(ui ; μu, Γ )
...(51)
p(μu|Ξ) = N(μu ; 0, Ξ-1)
...(52)
p(vj|μv, Γ) = N(vj ; μv, Γ-1)
...(53)
p(μv|Ξ) = N(μv ; 0, Ξ-1)
...(54)
在此, 矩阵 Y、 U、 V 和 μ 的联合分布可如下式 (55) 那样表达。进而, 当对后验分布 进行因式分解和变分近似时, 得到下式 (56)。
另外, 当使用表达式 Γ = diag(γ) 时, 潜在特征向量 ui 及其期望值 μu 的变分后 验分布分别如下式 (57) 和式 (60) 那样表达。其中, 在下式 (57) 中包含的参数 μ’ ∑’ ui、 ui T 分别由下式 (61) 和式 (62) 来定义。进而, yi = (yi1, ..., yiM) 、 而 πi = (πi1, ..., πiM) T 。
当给出学习数据时, 后验分布计算部 132 可基于上式 (57) 和式 (60) 得出潜在特 征向量 ui 和期望值 μu 的变分后验分布。进而, 潜在特征向量 vj 和期望值 μv 的变分后验 分布也由上式 (57) 和式 (60) 同样地表达 ( 将 u 换成 v、 i 换成 j 即可 ), 因而后验分布计 算部 132 可同样方式地得到潜在特征向量 vj 和期望值 μv 的变分后验分布。当得到上述变分后验分布时, 后验分布计算部 132 基于下式 (63) 来更新参数 γ。
另外, 后验分布计算部 132 在别的参数的变分后验分布下更新潜在特征向量或期 望值等参数的变分后验分布。此时, 后验分布计算部 132 使用由初始值计算部 131 所输入 的变分后验分布作为初始值。该更新处理被反复地进行, 直到各参数收敛为止。当各参数 收敛时, 后验分布计算部 132 将最终得到的变分后验分布输入至评价值预测部 133。此外, 由后验分布计算部 132 来更新变分后验分布的具体算法 ( 以下, 变分贝叶斯估计算法 ) 如 下。
( 变分贝叶斯估计算法 )
对于 当不收敛时进行 for i = 1 to M do初始化end for ∑′ μ ← (Mdiag(γu)+Ξu)-1
对于以相同的方式更新end while
( 评价值预测部 133)
评价值预测部 133 基于由后验分布计算部 132 输入的各参数的变分后验分布来计 算评价值 yij 的期望值。如上所述, 潜在特征向量的变分后验分布 q(ui)、 q(vj) 是由后验分 布计算部 132 求得的。因此, 如上式 (30) 所示, 评价值预测部 133 计算潜在特征向量 ui、 vj 的内积 ( 评价值 yij) 的期望值。由评价值预测部 133 像这样计算出的评价值的期望值被作 为预测评价值而输出。
( 变形例 : 从初始值计算部 131 的计算结果预测评价值的构造 )
以上已说明了使用由逐秩变分贝叶斯估计算法所得到的变分后验分布作为上述 变分贝叶斯估计算法的初始值的构造。然而, 在牺牲一定程度的评价值的预测精度而希望 高速地预测评价值的情况下, 也可将由逐秩变分贝叶斯估计算法所得到的变分后验分布原 样地用于评价值的预测。在这种情况下, 由初始值计算部 131 所得到的变分后验分布被输 入至评价值预测部 133, 并从该变分后验分布计算预测评价值。 这种变形当然也属于本实施例的技术范围。
( 逐秩变分贝叶斯估计算法的计算量和存储器使用量 )
上述逐秩变分贝叶斯估计算法比上述变分贝叶斯估计算法或在上述基于概率矩 阵分解的合作过滤中使用的变分贝叶斯估计的算法更高速。例如, 在仅使用上述变分贝叶 斯估计算法来预测评价值的情况下, 一次反复所用的计算量成为 O(|Y|H2), 其中 |Y| 是作为 学习数据而给出的已知的评价值的数量, H 是评价值矩阵 Y 的秩数。这种情况下的存储器 2 使用量成为 O((M+N)H )。因而, 如果在这种情况下处理大规模的数据, 则计算量 / 存储器使 用量变得不现实。
然而, 在仅使用上述逐秩变分贝叶斯估计算法来预测评价值的情况下, 对于各秩, 一次反复所用的计算量成为 O(|Y|), 存储器使用量成为 O(M+N)。即, 即使对于全部秩 h = 1, ..., H 进行逐秩估计算法, 计算量也只是 O(|Y|H), 存储器使用量只是 O((M+N)H)。因而, 可现实地处理大规模的数据。 通过将使用逐秩变分贝叶斯估计算法所得到的变分后验分布 用作初始值, 从而可期待使上述变分贝叶斯估计算法中的反复处理的收敛加快的效果。
以上说明了根据本实施例的评价预测装置 100 的功能构造。此外, 在以上说明中 示出的逐秩变分贝叶斯估计算法仅是一例, 例如, 它也可与在上述 1-2 中说明的基于概率 矩阵分解的合作过滤的方法组合。
[2-2 : 实验结果 ]
接下来想参照图 11 和图 12 讨论逐秩变分贝叶斯估计算法的性能。图 11 和图 12 是表示为了评价逐秩变分贝叶斯估计算法的性能而进行的实验结果的表格。此处, 为进 行性能评价, 使用作为含电影的评价值 (rating) 在内的数据集的 MovieLens 数据 ( 参照 http://www.grouplens.org/)。 MovieLens 数据包括用户为某些条目分配的评价值、 用户的 特征 ( 性别、 年龄、 职业、 邮政编码 ) 和条目的特征 ( 流派 )。
用于比较的方法是 4 种方法 : 上述逐秩变分贝叶斯估计算法 ( 以下, Rankwise PMF), 将该逐秩变分贝叶斯估计算法应用于在上述 1-2 中说明的基于概率矩阵分解的合作 过滤而得到的应用算法 ( 以下, Rankwise PMFR), 以一般的概率矩阵分解为基础的变分贝叶 斯估计算法 ( 以下, PMF), 以及在上述 1-2 中说明的基于概率矩阵分解的合作过滤 ( 以下, PMFR)。另外, 还一并示出了如上述式 (32) 那样仅保持对角元素的近似方法 ( 以下, app.1) 所得到的结果、 以及如上述式 (33) 那样不计算 dh 的分布的近似方法 ( 以下, app.2) 所得 到的结果。此外, PMF 将由 Rankwise PMF 所得到的变分后验分布用于初始化。
图 11 和图 12 所示的数值表示误差。 参照图 11 和图 12 可见整体上有这一倾向 : 即 以 Rankwise PMF > Rankwise PMFR > PMF > PMFR 的顺序误差变大。而且, 当将 exact( 非 近似 )、 app.1 和 app.2 做比较时, 得到误差为 的结果。 然而, 与 PMF 或 PMFR 相比, Rankwise PMF 或 Rankwise PMFR 的误差并不显著地大。即, 从图 11 和图 12 所示的实验结果可以说 : 即使使用计算量少的 Rankwise PMF 或 Rankwise PMFR, 与 PMF 或 PMFR 相比性能也不太下降。
如以上所说明的那样, 通过应用根据本实施例的方法, 不过多地牺牲性能而可实 现比 PMF 或 PMFR 更高速的过滤。而且, 根据本实施例的方法即使在处理大量数据的情况下 也可保持存储器使用量为低。
<3 : 硬件构造例 >上述评价预测装置 100 的各结构要素的功能可使用例如图 13 所示的信息处理装 置的硬件构造来进行。即, 该各结构要素的功能可通过使用计算机程序来控制图 13 所示的 硬件从而实现。此外, 该硬件的形态是任意的, 可以是个人计算机、 便携电话、 PHS 或 PDA 等 便携信息终端、 游戏机、 或各种信息家电。而且, 上述 PHS 是个人手提电话系统的缩写。另 外, PDA 是个人数字助理的缩写。
如图 13 所示, 该硬件主要包括 CPU 902、 ROM 904、 RAM 906、 主总线 908 和桥 910。 进而, 该硬件包括外部总线 912、 接口 914、 输入部 916、 输出部 918、 存储部 920、 驱动器 922、 连接端口 924 和通信部 926。 而且, 上述 CPU 是中央处理单元的缩写, 而且, 上述 ROM 是 Read Only Memory 的缩写, 进而, 上述 RAM 是随机存取存储器的缩写。
CPU 902 例如作为数学运算处理装置或控制装置而发挥功能, 并基于记录在 ROM 904、 RAM 906、 存储部 920 或可移动记录介质 928 中的各种程序来控制各结构要素的全部工 作或一部分工作。ROM 904 是存储例如载入 CPU 902 的程序或在数学运算中使用的数据等 的单元。RAM 906 暂时或永久地存储例如载入 CPU 902 的程序或执行该程序时随意变化的 各种数据等。
这些结构要素由例如能够进行高速数据发送的主总线 908 相互连接。在这方面, 主总线 908 例如经过桥 910 连接至数据传输速度相对低的外部总线 912。进而, 输入部 916 是例如鼠标器、 键盘、 触控板、 按钮、 开关或操纵杆等。而且输入部 916 可以是能够使用红外 线或其它电波来发送控制信号的遥控器。 输出部 918 是例如 CRT、 LCD、 PDP 或 ELD 等显示装置、 扬声器或头戴式耳机等声音 输出装置、 打印机、 便携电话或传真机等可对获取信息的使用者以视觉方式或听觉方式进 行通知的装置。其中, 上述 CRT 是 Cathod Ray Tube 的缩写。上述 LCD 是液晶显示器的缩 写。上述 PDP 是等离子体显示板的缩写。而且, 上述 ELD 是电致发光显示器的缩写。
存储部 920 是用于存储各种数据的装置。存储部 920 是例如硬盘驱动器 (HDD) 等 磁存储设备、 半导体存储设备、 光存储设备或磁光存储设备等。上述 HDD 是硬盘驱动器的缩 写。
驱动器 922 是读取记录在磁盘、 光盘、 磁光盘或半导体存储器等可移动记录介质 928 上的信息、 或将信息写入可移动记录介质 928 的装置。可移动记录介质 928 是例如 DVD 介质、 蓝光介质、 HD-DVD 介质、 各种半导体存储介质等。当然, 可移动记录介质 928 可以是 例如装配有非接触型 IC 芯片的 IC 卡或电子设备等。IC 是集成电路的缩写。
连接端口 924 是例如 USB 端口、 IEEE1394 端口、 SCSI、 RS-232 端口、 或用于连接光 声端子等外部连接设备 930 的端口。外部连接设备 930 是例如打印机、 便携式音乐播放器、 数字照相机、 数字摄影机或 IC 录相机等。而且, 上述 SCSI 是小型计算机系统接口的缩写。
通信部 926 是用于连接至网络 932 的通信设备, 并且是例如有线或无线 LAN、 蓝牙 ( 注册商标 )、 或 WUSB 用的通信卡、 光通信路由器、 ADSL 用路由器、 或各种通信用的调制解 调器等。连接至通信部 926 的网络 932 是由有线或无线连接的网络构造的, 并且是例如因 特网、 家庭内 LAN、 红外线通信、 可见光通信、 播送、 或卫星通信等。其中, 上述 LAN 是 Local Area Network 的缩写。而且, WUSB 是 Wireless USB 的缩写。进而, 上述 ADSL 是非对称数 字用户线路的缩写。
本领域的熟练人员应当明白 : 取决于设计需求和其它有关因素, 可以出现各种修
改、 组合、 下级组合和变更, 只要它们落入所附的权利要求或其等价的范围内。
( 备注 )
上述用户是第一条目的一例。上述条目是第二条目的一例。上述潜在特征向量 ui 是第一潜在向量的一例。上述潜在特征向量 vj 是第二潜在向量的一例。上述特征向量 xui 是第一特征向量的一例。上述特征向量 xvj 是第二特征向量的一例。上述回归矩阵 Du 是第 一投影矩阵的一例。上述回归矩阵 Dv 是第二投影矩阵的一例。上述评价值预测部 105、 133 是推荐接受者确定部的一例。
本公开包含与 2010 年 9 月 8 日在日本专利局提交的日本在先专利申请特愿 2010-200980 相关的主题实质, 其全部内容通过引用而合并于此。