聚类、推荐与异常检测:没有统一标签时怎么办
- 区分聚类、推荐和异常检测的目标
- 识别尺度、冷启动与误报等常见限制
无监督也必须有清楚用途
积木体验站想把任务归组,方便初学者挑选风格相近的活动。聚类按照特征相似性把记录分成若干组,训练时不必提供每条应属于哪组的标准标签。可以使用积木数量、步骤数量和需要支撑的高度等任务属性。但算法输出组号只是计算结果,不自动等于容易、困难或适合初学者。使用者还要查看每组代表任务、范围与稳定性,判断分组是否帮助选题。没有监督标签并不等于结果无法检查,也不意味着算法发现了自然存在的唯一分类。
距离与组数会改变聚类
常见的均值聚类方法先设组数,再把任务分给较近的中心并更新中心,反复执行。本例把八块两步骤、十块两步骤分一组,把二十块六步骤、二十二块七步骤分另一组,直觉上形成小任务与大任务两群。若积木数尺度远大于步骤数,距离可能主要由积木数决定,所以应考虑缩放与特征选择。设两组与三组可能得到不同结构,某些形状不适合用围绕中心的方式描述。聚类不应只报告漂亮组名,应检查换一批数据是否仍类似。
推荐需要定义推荐给谁以及为什么
基于内容的推荐比较任务本身属性,例如给喜欢桥梁结构的虚构角色推荐相近支撑设计。协同过滤利用多个角色与任务的互动模式,例如喜欢相似任务的角色也可能喜欢彼此尚未尝试的任务。前者依赖属性描述质量,后者依赖足够互动,且新角色或新任务缺少记录时容易发生冷启动。最热门列表是有用基线,但可能让冷门任务一直缺少曝光。推荐不仅看点击或选择,还应考虑是否完成、是否有多样性以及使用目标,不能把受欢迎自动等同最适合。
异常分数不是错误或违规证明
异常检测寻找与常见模式明显不同的记录。积木任务通常六到十二分钟,一条八十分钟可能获得高异常分数,但它可能是暂停未扣除,也可能是真实复杂尝试。异常检测应触发核实,而不是直接删除或处罚。异常较少时,即便误报率不高,也可能产生大量需要检查的正常记录,因此要根据复核能力设阈值。还需考虑分组:困难任务用时较长本来合理,若与容易任务混在一起,模型会误把正常困难表现标成异常。
把无标签任务接回可验证流程
聚类可以检查组内相似度、组间差异、稳定性及人工解释;推荐可以保留独立互动记录,比较推荐列表能否命中合适任务并关注冷启动组;异常检测可以人工审核高分样本,统计误报和漏报的可见情况。仅靠内部指标可能与实际目标不一致,需要小范围试用和反馈。使用虚构角色练习时,不收集真实个人画像,也不把异常描述成个人能力问题。这三类方法扩展了机器学习的工具箱,但它们都需要明确输入、输出、评估与人工边界。
本节要点
- 聚类组号不是天然真实类别
- 推荐需要处理冷启动、曝光与目标差异
- 异常分数只能提供核实线索
动手练习:为三种无统一标签问题选择方案
- 把四个任务八块两步骤、十块两步骤、二十块六步骤、二十二块七步骤分两组
- 给喜欢桥梁结构的虚构角色写一个基于内容的推荐理由
- 为从未使用的新角色写一个冷启动基线
- 对八十分钟记录提出三项核实问题
- 为聚类、推荐、异常各列一条验收标准
自查清单
- 分组有特征依据而不宣称唯一真相
- 冷启动方案不依赖不存在的互动
- 异常记录先核实而非直接处理
先自己做,再查看参考答案
直观两组是八块与十块的小步骤任务,以及二十块与二十二块的多步骤任务,但组名只是解释,仍需检查特征尺度及换样本后的稳定性。喜欢桥梁结构时,可以推荐支撑方式相近的任务,并说明推荐依据是任务属性而非真实个人画像。新角色没有互动记录,可先提供适合初学者的多样化任务列表,再让其选择偏好。八十分钟记录应核实是否包含暂停、单位是否一致、任务是否更复杂,不能直接删除。验收可分别看分组解释与稳定性、推荐的合适性与冷启动覆盖、异常审核中的误报比例。