如何为不同客户预测不同的标签

时间:2016-11-04 10:01:32

标签: machine-learning

假设我是一家图片托管公司,我想在所有客户的照片中进行人脸识别。我的每个客户都有一组带标签的图片,我使用监督算法来标记新图片。

问题是:我应该为每个顾客使用不同的模型来标记他们的照片吗?

一方面,如果我为所有客户使用单一型号,我担心我可能用来自客户B的标签标记客户A的图片。另一方面,如果我为每个客户使用模型,我将有数千要管理的模型(部署,更新,监控......)。

1 个答案:

答案 0 :(得分:1)

您可能希望在所有标签中开发或学习分层结构。假设它看起来像下面(树中的每个节点都是一个标签):

A->B1->C1
|->B2->C2
|
|->B3->C3->D3->E3

标签之间存在父子关系。例如,C1B1的孩子(C1更具体,B1->C1可能是体育 - >网球)

对于模型本身,它可以在所有客户的培训时间看到所有标签。 在预测时,您首先运行相同的模型并输出每个标签的可能性(假设您的模型类似于N路逻辑)。例如,

B1: 0.1
B2: 0.15
B3: 0.05
C1: 0.4
C2: 0.9
C3: 0.01
D3: 0.001
E4: 0

现在,如果这是客户A(其唯一有效标签为B2C3)的任务,您可以汇总标签以匹配有效标签并删除其他分支:

B2: 0.9 (we use a Max(B2, C2) here)
C3: 0.011

所以你应该在这里报告B2,因为你不想用客户B的标签标记客户A的图片。但是一旦你有很多客户,给客户A应用一些流行的标签应该不是问题,正确?