Skip to content

DearFloyd/Homework_collection

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 

Repository files navigation

使用说明

本仓库为三讲作业合用仓库,包含第二、三、四讲作业代码以及讨论
工程环境python3.9。

第二讲作业代码

进入mian process.py运行。 执行文件后首先进行视频序列的随机生成,较为耗时,需等待约10秒钟。
标准规则定义:作者类别<=2,项目类别<=3,音乐类别<=1

第三讲讨论

见本文档最底部。

第四讲作业代码

进入DPP.py运行。
本讲作业只实现了greedy search算法,未能实现beam search算法

第二讲 窗口打散结果分析

V1.0.0版本

1.此版本算法中,每次由前往后遍历窗口中的视频特征,出现不满足规则的重复特征时,将后出现的那个重复特征与出窗口。 而此算法在较短序列中,一旦重复出现的特征中的第一个特征所在窗口中的位置较为靠后,会使得本能打散的序列因不符合规则而打散失败。
2.因此要考虑将重复出现的特征中的第一个特征向前移动,尽可能使得两个或者多个特征之间距离足够远。
例如下图中的序列,可以看到,将第一个music_id93前移即可完成打散,但因两者出现的距离过近没有后续移动空间导致失败。
image

打散失败率

V1.0.0版本算法在标准规则、20长度序列、8长度窗口的要求下,10000次打散失败率经多次测试均约为25%,其中不符合背景音乐规则的失败率约占到99%以上,耗时约2.4秒。
·以下取一次结果展示:
image

V2.0.0版本

1.此版本算法中,考虑V1版本缺陷,当第一次正序打散失败时进行二次打散,第二次打散采用倒序的方式,从序列末尾开始进行窗口滚动。
2.观察到打散失败的绝大部分由于在20长度的序列中出现了4个及以上的相同背景音乐特征,当窗口为8时,4个及以上的背景音乐特征c必定无法打散。

打散失败率

标准规则、20长度序列、8长度窗口的要求下,10000次打散失败率经多次测试均约为0.4%,其中不符合背景音乐规则的失败率约占到99%以上,耗时约3秒。
·以下取一次结果展示:
image
标准规则、20长度序列、4长度窗口的要求下,10000次打散失败率经多次测试均约为0%,耗时约1.7秒。
·以下取一次结果展示:
image
标准规则、40长度序列、8长度窗口的要求下,10000次打散失败率经多次测试均约为0.04%,其中不符合背景音乐规则的失败率约占到99%以上,耗时约7.8秒。
·以下取一次结果展示:
image
标准规则、40长度序列、16长度窗口的要求下,10000次打散失败率经多次测试均约为6.8%,其中不符合背景音乐规则的失败率约占到99%以上,耗时约18秒。
·以下取一次结果展示:
image

总结

由对比实验可见,本算法在较短序列中的运行速度较快,性能较好。当序列增长时,算法耗时提高较大,性能下降。此外,窗口长度对性能影响也较大,当序列长度相较窗口长度差距越大,打散失败率越低。

打散对推荐效果的思考

考虑打散前后的用户点击率以及完波率对比,对一个召回序列,记录哪些是打散后出现的,哪些是打散前存在的。跟踪用户的行为,来确定用户对打散后出现的这些新视频的兴趣程度,同时也要考虑这些新视频的特征与用户早先观看的视频特征的差异,差异越大,则表明打散后对推荐效果的提升越大。另外,用户在打散过的召回序列与未经打散的召回序列之间总点击率、完播率的差异也可列为一项推荐效果的评估指标,点击率、完播率越高,推荐效果越好。

第三讲 待思考问题讨论

针对第三小问每个视频均包含相同的path是否合理:
考虑针对视频类别的热门程度,来相应的均衡path个数。根据视频所属门类、浏览量,给定视频一个热门权重,增加path数来增加热门视频的检索深度,强化热门视频的用户的契合度。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages