1

我一直在使用 Tagging API 来标记我的项目,以便计算项目-项目的“相似性”分数,因此:项目 1 被标记为 {UK, MALE, 50},项目 2 被标记为 {FRANCE, MALE, 22},那种东西。这一直很好。

我想做的是表示项目-项目“关系”,所以如果我的应用程序说 1 是 2 的父级(只是为了让事情更复杂一点,这是多层次的),我想能够告诉 Myrrix 将这两个项目拉近一点。

我的第一个解决方案是为每个 Item 添加一个“PARENT_[name]”标签,并为其拥有的每个父项添加一个“PARENT_[parentname]”标签,随着层次结构的上升,权重较低。这确实成功地拉近了父母和孩子的距离。

不幸的是,建议的整体质量似乎有所下降,结果似乎越来越多变,例如再次运行导入,结果似乎完全随机。这是可以在功能/ lambda 级别修复的东西吗?

我仍然不太清楚“功能”代表什么,但我怀疑通过大量增加可能的标签数量,我需要以非常不同的方式配置模型......

4

1 回答 1

1

这是正确的思考方式。它使 API 过载了一点,但仍然有原则。

它可能会或可能不会真正帮助结果。这有点取决于喜欢 A 的用户是否也会喜欢 B,因为他们有一个共同的产品系列。也许是为了音乐;对于您曾经购买过的东西(例如烤面包机)来说不太可能。

可变性来自随机起点。每次你都会得到不同的模型。如果从头开始时差异很大,那么您可能会陷入过度拟合。可能是您的特征数对于数据集而言太高或 lambda 太低。

您还应该运行 eval 以查看分数是否良好。如果它的得分很差,是的,这是一个参数远远偏离其最佳值的情况。

这个想法是你不需要每次都从头开始构建一个新模型。

于 2013-09-23T16:48:27.250 回答