search
HomeDatabaseMysql Tutorial基于两两交互张量分解模型的个性化标签推荐

基于两两交互张量分解模型的个性化标签推荐

Jun 07, 2016 pm 02:50 PM
personaliseinteractionbreak downbased onrecommendLabelModel

基于PITF的个性化标签推荐 摘要 关键词 引言 相关工作 个性化标签推荐 非个性化标签推荐 张量分解模型 成对交互模型 个性化标签推荐 形式化定义 数据分析 标签推荐的贝叶斯个性化排序BPR BPR最优化准则 BPR学习算法 张量分解模型 塔克分解模型TDTF 规范化分

  • 基于PITF的个性化标签推荐
    • 摘要
    • 关键词
    • 引言
    • 相关工作
      • 个性化标签推荐
      • 非个性化标签推荐
      • 张量分解模型
      • 成对交互模型
    • 个性化标签推荐
      • 形式化定义
      • 数据分析
    • 标签推荐的贝叶斯个性化排序BPR
      • BPR最优化准则
      • BPR学习算法
    • 张量分解模型
      • 塔克分解模型TDTF
      • 规范化分解模型CDTF
      • 成对交互张量分解模型PITF
      • TDCD和PITF之间的关系
    • 实验评价
      • 数据集
      • 评价方法
      • 实验结果
        • 学习运行时间
        • 预测质量
        • ECMLPKDD 2009知识发现挑战赛
    • 结论和未来工作

基于PITF的个性化标签推荐

摘要

  在很多最近的网站中,标签扮演了一个重要的角色。推荐系统在用户想要给某个产品打标签时向其推荐他可能会使用的标签。基于Tucker分解(TD)模型的分解模型已经显示出了较高的性能,其标签推荐质量优于其它方法如PageRank,FolkRank和协同过滤等等。TD模型的问题在于三次核张量会导致在预测和学习时候的三次方的时间复杂度。
  本文我们给出分解模型PITF(Pairwise Interaction Tensor Factorization,成对交互张量分解),这是一种特殊的TD模型,但是在学习和预测时的时间复杂度是线性的。PITF可以对用户、产品和标签之间的两两交互进行准确建模。之前用于产品推荐的贝叶斯个性化排序(BPR)准则被用于学习该模型。在真实数据集上的实验表明PITF模型在运算时间上远远优于传统TD模型,甚至能得到更好的预测精度。除了本文的实验外,PITF还赢得了ECML/PKDD 2009知识发现竞赛中基于图的标签推荐的奖项。

关键词

  标签推荐,张量分解,个性化,推荐系统

引言

  标签是Web 2.0时代的一个重要特征。它允许用户给产品/资源如音乐,图片和书签用关键词进行注释。标签帮助用户组织他的项目,促进浏览和搜索行为。标签推荐系统通过向用户推荐他可能用于一件产品的标签集合从而辅助用户的标记过程。个性化标签系统在推荐时会考虑到用户过去的标记行为。这意味着每个用户都被推荐一个个性化标签列表:也就是推荐的标签列表取决于用户和产品。由于不同的用户会使用不同的标签标记同一个项目因此需要进行个性化。Last.fm网站使用的是非个性化标签推荐系统,但是用户还是会使用不同的标签标记音乐。文献[18]给出了一个实证例子,表明最近的个性化标签推荐系统优于任何非个性化标签推荐系统的理论上的性能上限。
  本文工作基于最近的使用分解模型的个性化标签推荐模型。这些模型如高维奇异值分解(HOSVD)和排序张量分解(RTF)都是基于Tucker分解模型。RTF已经表现出了很高的预测精度。使用完全Tucker分解模型的缺陷在于在分解维度上模型方程是三次方的。这使得TD模型较难应用于中等规模和大型数据集。本文我们介绍一种新的分解模型,该模型对用户、产品和标签之间的两两交互关系进行准确建模。该摸想的优势在于模型的计算复杂度是线性的,使得其可以在高维数据上进行计算。在统计学中,还有另外一种张量分解方法也有着线性的计算复杂度称作正规分解(canonical decomposition, CD),也称作并行因子分析(parallel factor analysis, PARAFAC)[2]。后面我们会说明我们的模型是CD和TD模型的特例。我们的实验结果也表明我们的两两交互模型在预测精度上明显优于CD模型,在运行时间上也略优于CD。此外,为了学习一般化的标签推荐模型,我们将贝叶斯个性化排序优化准则进行改进以适应标签推荐。
  总体上,我们的贡献在于以下几点:
  1. 我们将贝叶斯个性化排序优化准则(BPR-OPT)[17]进行了扩展以适应标签任务,并提供了一个基于bootstrap抽样的随机梯度下降学习算法。该优化准则和学习算法是通用的而不限于TD分解模型。
  2. 我们提出的PTTF分解模型有着线性的预测时间复杂度,并分析了PITF模型与一般的Tucker分解模型和正规化分解模型之间的关系。
  3. 我们的实验表明我们的BPR-PITF模型的性能在运行时间上优于预测质量最高的方法RTF-TF,计算复杂度从O(k3)降到O(K)——其中k为分解维度。此外,BPR-PITF方法在Bibsonomy数据集上跟RTF-TD效果相当,而在更大的Last.fm数据集上甚至要优于RTF-TD方法。  

相关工作

个性化标签推荐

  个性化标签推荐是推荐系统中近来的一个热门话题。Hotho等人便引进了PageRank的改进版本FolkRank[5]。

非个性化标签推荐

张量分解模型

成对交互模型

个性化标签推荐

  个性化标签推荐是给用户推荐一个用于注释(如,描述)某件产品的标签列表。例如,在一个音乐网站上,一个听众(用户)想要给一首音乐(产品)打上标签,系统给他推荐了他可能想要用于标记这首歌的关键词列表。为了推断这个列表,一个个性化标签推荐系统可以使用系统中的历史数据也就是过去的标记行为。例如,推荐系统可以利用用户过去给相似的产品打过的标签,或者更一般化地,利用相似用户给相似产品打过的相似标签。

形式化定义

  为了形式化描述个性化标签推荐问题,我们使用[18]中的数学符号:U为所有用户集合,I是所有产品集合,T是所有标签集合。历史标签信息由S?U×I×T给定。由于这是一个分类变量上的三元关系,因此S可以看作是一个三维张量(如图1所示),S中的三元组为历史观测值。对于标签推荐而言,我们的任务是,对于向一个给定用户-产品对(u,i),推荐一个标签列表。按照[7]的描述,我们称这样一个组合(u,i)为一个帖子(post),并定义所有可观测的帖子如下:
PS:={(u,i)|?tT:(u,i,t)S}
PS可以视作根据OR操作S在用户/产品维度上的二维映射。
  对给定帖子(u,i)推荐标签的任务可以形式化描述为一个排序问题,也就是预测>u,i?T×T
这意味着排序>u,i必须满足:
?t1,t2T:t1t2?t1>u,it2t2>u,it1(1)
?t1,t2T:t1>u,it2t2>u,it1?t1=t2(2)
?t1,t2,t3T:t1>u,it2t2>u,it3?t1>u,it3(3)
其中(1)式为总体性,(2)为反对称性,(3)为传递性。本文所有模型都是预测一个评分函数Y^:U×I×

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
How do you handle database upgrades in MySQL?How do you handle database upgrades in MySQL?Apr 30, 2025 am 12:28 AM

The steps for upgrading MySQL database include: 1. Backup the database, 2. Stop the current MySQL service, 3. Install the new version of MySQL, 4. Start the new version of MySQL service, 5. Recover the database. Compatibility issues are required during the upgrade process, and advanced tools such as PerconaToolkit can be used for testing and optimization.

What are the different backup strategies you can use for MySQL?What are the different backup strategies you can use for MySQL?Apr 30, 2025 am 12:28 AM

MySQL backup policies include logical backup, physical backup, incremental backup, replication-based backup, and cloud backup. 1. Logical backup uses mysqldump to export database structure and data, which is suitable for small databases and version migrations. 2. Physical backups are fast and comprehensive by copying data files, but require database consistency. 3. Incremental backup uses binary logging to record changes, which is suitable for large databases. 4. Replication-based backup reduces the impact on the production system by backing up from the server. 5. Cloud backups such as AmazonRDS provide automation solutions, but costs and control need to be considered. When selecting a policy, database size, downtime tolerance, recovery time, and recovery point goals should be considered.

What is MySQL clustering?What is MySQL clustering?Apr 30, 2025 am 12:28 AM

MySQLclusteringenhancesdatabaserobustnessandscalabilitybydistributingdataacrossmultiplenodes.ItusestheNDBenginefordatareplicationandfaulttolerance,ensuringhighavailability.Setupinvolvesconfiguringmanagement,data,andSQLnodes,withcarefulmonitoringandpe

How do you optimize database schema design for performance in MySQL?How do you optimize database schema design for performance in MySQL?Apr 30, 2025 am 12:27 AM

Optimizing database schema design in MySQL can improve performance through the following steps: 1. Index optimization: Create indexes on common query columns, balancing the overhead of query and inserting updates. 2. Table structure optimization: Reduce data redundancy through normalization or anti-normalization and improve access efficiency. 3. Data type selection: Use appropriate data types, such as INT instead of VARCHAR, to reduce storage space. 4. Partitioning and sub-table: For large data volumes, use partitioning and sub-table to disperse data to improve query and maintenance efficiency.

How can you optimize MySQL performance?How can you optimize MySQL performance?Apr 30, 2025 am 12:26 AM

TooptimizeMySQLperformance,followthesesteps:1)Implementproperindexingtospeedupqueries,2)UseEXPLAINtoanalyzeandoptimizequeryperformance,3)Adjustserverconfigurationsettingslikeinnodb_buffer_pool_sizeandmax_connections,4)Usepartitioningforlargetablestoi

How to use MySQL functions for data processing and calculationHow to use MySQL functions for data processing and calculationApr 29, 2025 pm 04:21 PM

MySQL functions can be used for data processing and calculation. 1. Basic usage includes string processing, date calculation and mathematical operations. 2. Advanced usage involves combining multiple functions to implement complex operations. 3. Performance optimization requires avoiding the use of functions in the WHERE clause and using GROUPBY and temporary tables.

An efficient way to batch insert data in MySQLAn efficient way to batch insert data in MySQLApr 29, 2025 pm 04:18 PM

Efficient methods for batch inserting data in MySQL include: 1. Using INSERTINTO...VALUES syntax, 2. Using LOADDATAINFILE command, 3. Using transaction processing, 4. Adjust batch size, 5. Disable indexing, 6. Using INSERTIGNORE or INSERT...ONDUPLICATEKEYUPDATE, these methods can significantly improve database operation efficiency.

Steps to add and delete fields to MySQL tablesSteps to add and delete fields to MySQL tablesApr 29, 2025 pm 04:15 PM

In MySQL, add fields using ALTERTABLEtable_nameADDCOLUMNnew_columnVARCHAR(255)AFTERexisting_column, delete fields using ALTERTABLEtable_nameDROPCOLUMNcolumn_to_drop. When adding fields, you need to specify a location to optimize query performance and data structure; before deleting fields, you need to confirm that the operation is irreversible; modifying table structure using online DDL, backup data, test environment, and low-load time periods is performance optimization and best practice.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version

MantisBT

MantisBT

Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment