哪种机器学习模型最适合这个用例?

Posted

技术标签:

【中文标题】哪种机器学习模型最适合这个用例?【英文标题】:What machine learning model would be best for this use case? 【发布时间】:2017-10-29 18:19:28 【问题描述】:

我想通过访问 Youtube 来生成一个可以让用户发笑的歌曲列表。

我可以使用哪些功能,哪种型号最好?目前我正在考虑访问用户的活动并查找他们喜欢的所有具有喜剧或音乐 content_id 的视频,并找到这些视频的标签。然后使用这些标签并将它们输入 RNN 并生成搜索关键字以返回歌曲列表。但是,关于他们的历史是否可以很好地表明他们喜欢什么,还是有问题的。

我是否朝着正确的方向前进?非常感谢一些关于遵循什么方向的帮助。

【问题讨论】:

【参考方案1】:

RNN 不是这类任务的好选择。当内容具有顺序性时,RNN 可以很好地工作。用户观看的视频不能称为顺序数据,因为他们可以按照他们想要的任何顺序观看他们的视频,并且应该推荐相同的内容。出于您的目的,您可以假设用户的历史记录可以很好地指示他想要观看的内容。

对于这种类型的任务,我建议你看看推荐系统。首先,我建议使用非负矩阵分解。这会给你一个好的开始。

如果您可以缩小问题范围,也许我可以为您提供更多帮助。

【讨论】:

我明白了,我会使用哪些功能来确定他们喜欢什么样的视频?以及如何使用这些功能(即他们观看的视频类别、最常观看的流行歌曲艺术家等)来确定搜索词,然后从中汇集视频? 你有很多用户吗?如果是这样,那么推荐系统算法将比特征工程更有用。【参考方案2】:

与其他答案不同,我认为 RNN 将是一个很好的匹配。用户的视频历史确实说明了用户接下来想观看的内容。但是,我建议您不要让 RNN 生成搜索短语,而是让它输出其他内容(等下一个预测标签)

LSTM 网络是一个不错的选择,基本上,如果您有视频的用户历史记录,您就可以获取这些视频的所有标签。所以用户可能看过这些视频(从上到下):

[Comedy, American, Pony]
[Music, Pop, Spanish]
[Music, Rock, American]
[Comedy, Music, Dance]

然后你像这样训练网络:

in: [Comedy, American, Pony] out: [Music, Pop, Spanish]
in: [Music, Pop, Spanish] out: [Music, Rock, American]
in: [Music, Rock, American] out: [Comedy, Music, Dance]
in: [Comedy, Music, Dance] out: predict()

但我建议您对输入和输出进行一次热编码。我认为这将是一个非常成功的网络!

【讨论】:

以上是关于哪种机器学习模型最适合这个用例?的主要内容,如果未能解决你的问题,请参考以下文章

使用机器学习进行人脸识别的灰色还是 RGB?

机器学习大牛是如何选择回归损失函数的?

我应该使用哪种分类模型来进行机器学习中的作者归属?

哪种聚类算法最适合聚类一维特征?

Python机器学习·微教程

斯坦福大学公开课机器学习:advice for applying machine learning - deciding what to try next(设计机器学习系统时,怎样确定最适合最正确的