【问题标题】:Multiclass classification with growing number of classes类别数量不断增加的多类别分类
【发布时间】:2015-07-05 19:08:43
【问题描述】:

我有一个音乐收听历史数据集:何时收听、在何处收听、外面的天气如何(以及更多其他功能即将推出)以及作为标签的 track_id。

我正在尝试在任何给定上下文(时间 + 位置 + 天气)下预测我会喜欢的赛道

我想对此数据进行多类分类,但我遇到了这些问题:

  • 不断将我的 track_ids 映射到类 [0..distinct_trackid_count) 并返回
  • 我有大量的课程(数万个)
  • 类的数量不断增加,所以我总是要从头开始重新训练我的算法

我觉得这里不需要多类分类,我需要帮助来弄清楚如何解决这个问题

【问题讨论】:

    标签: machine-learning classification


    【解决方案1】:

    如果我是你,我会先尝试一些降维的想法,然后再进行多类分类。使用简单的聚类或特征提取算法,您应该能够创建一些歌曲组(10-100 组)。如果您将这些组视为课程,我认为您将能够很好地学习这些功能,以便能够在给定的环境中推荐您喜欢的歌曲。更何况在那之后问题变得非常容易处理。

    但是,如果您只追求一首“完美”的歌曲,那么 K 近邻可能是您的最佳选择。

    【讨论】:

      【解决方案2】:

      我可能会尝试一些事情(我不确定它们是否会正常工作):

      1. 不要使用分类,使用回归:给定特征,回归将返回一个有理数。将其四舍五入并选择具有该 ID / 编号的曲目以收听。这应该允许您使用任何在线学习算法,并且当一首新歌曲出现时,只需为您的算法提供其特征和目标。这样,您就不必对每首新歌都进行全面的再培训;

      2. 使用最近邻方法:给定一组特征,从您的歌曲中找到最接近它的一组特征,然后选择该歌曲。也不需要全面再培训,但可能效率低。

      您可能还想研究关系关联规则。

      【讨论】:

      • 只是对这些数据进行线性回归 => 没有任何意义(负理性):)
      • @NizamutdinovAdel - 如果您的歌曲 ID 不是负数,那么负数结果就没有意义,您至少应该得到一些正数。这听起来像是您的实现中的一个错误。此外,线性可能不是最好的。
      • 我明白#2 的含义,但我真的不明白如果轨道 ID 中没有逻辑顺序,#1 是如何解决的......?!
      猜你喜欢
      • 2015-02-06
      • 2014-08-14
      • 1970-01-01
      • 2018-10-30
      • 1970-01-01
      • 2020-11-20
      • 2014-03-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多