考试报名
考试报名
考试内容
考试大纲
在线客服
返回顶部

备考刷题,请到

CDA认证小程序

某人使用 XGBoost 解决一个多标签分类问题(例如:一篇文章可以同时被打上“体育”和“娱乐”两个标签)。他直接将目标变量 y 处理成 One-hot 编码(如 [1, 1, 0, 0]),然后设置参数 objective='multi:softmax', num_class=4 进行训练。请问这种做法的主要错误是什么?
A. XGBoost 不支持 One-hot 编码作为 Label,必须使用 Label Encoding(0, 1, 2...)
B. multi:softmax 假设类别之间是互斥的,无法表示多个标签同时存在的情况
C. 应该使用 multi:softprob 代替 multi:softmax 才能解决多标签问题
D. 必须先对特征进行归一化,否则多标签任务无法收敛
上一题
下一题
收藏
点赞
评论
题目解析
题目评论(0)

本题考察多分类与多标签的本质区别及算法选型。 核心错误:multi:softmax 和 multi:softprob 都是针对多分类(Multi-class)即标签互斥设计的,其内部的 Softmax 会强制所有类别概率之和为 1,无法表示多个标签同时存在的情况。Softmax 函数的分母是 ∑▒e^(z_i ) ,这在数学上强制了不同类别之间存在竞争关系(概率和为1)。 多标签(Multi-label)意味着各类别独立(概率和可以大于1,也可以小于1)。 正确做法:应该为每个标签训练一个二分类模型(Binary Relevance),或者使用支持多标签的损失函数(如将问题转化为 Multi-output 维度,使用 Binary Cross Entropy 独立计算每个维度的 Loss)。