在闲鱼众多业务场景里,算法分类需求十分迫切,可模型识别的可解释性尤为重要!NBDT算法应运而生,它能否解决图片分类的难题?让我们一探究竟。
闲鱼的分类需求
在闲鱼平台上,每天有海量的业务操作。像图片分类可精准识商品外观,组件识别能了解商品构成,商品分层便于管理,纠纷类别预测可提前处理问题。比如一次交易纠纷,准确分类能快速解决问题。这些场景让有解释的图片分类成了研发关键。
这些需求的背后,是为了提高用户体验、提升交易效率。就好比在茫茫商品海洋里,精准分类能让用户快速找到所需商品,减少买卖双方的沟通成本,从而促进平台交易的良性发展。
NBDT算法简介
NBDT即神经支持决策树,这里的“B”不是“Boosting”,避免熟悉GBDT的人误认。它将神经网络与决策树相结合,常用的神经网络是卷积神经网络(CNN)。其结构大致为“前面的CNN + 后面的DT”,二者结合开启了新分类模式。
这种独特的结构使得NBDT能够融合CNN的图像特征提取能力和决策树的逻辑判断能力,为图片分类提供了一种新的思路和方法,在图像分类领域有着独特的应用价值。
NBDT的使用场景
目前NBDT主要用于图像分类领域。虽然在准确率上略低于单独的CNN,但它的真正实力并非体现在这一点上。在实际应用中,比如对动物图片进行分类时,NBDT展现了特殊优势,它在平衡准确率和解释性方面能力突出。
在一些需要对分类结果进行详细解释的场景中,NBDT的优势就更加明显。例如在医学图像分类、法律证据图像分析等领域,分类结果不仅要准确,还需要能够清楚地解释判断依据,NBDT就可以很好地满足这些需求。
NBDT的优势展现
NBDT能在牺牲一点CNN准确率的情况下,获得比树模型高得多的分类准确率。同时它还能显式、逐级给出推断依据,像识别狗的图片,能说明一步步识别的过程和概率。这种解释力大大增强了模型的可信度。
有了这样的优势,NBDT在很多对模型解释性要求较高的场景中都有了用武之地。例如在自动驾驶领域,对道路标识、障碍物等的识别需要模型能够清晰地解释判断依据,NBDT就可以为车辆的决策提供更可靠的支持。
预训练过程
要使用NBDT,需先预训练一个CNN模型。以cifar10数据集训练resnet18的CNN为例,取CNN最后一层权重作为“每种类别”的隐向量。此方法类似Word2Vec,能为后续操作提供基础。
预训练的过程其实就是让CNN模型学习图片的特征和分类规则的过程。通过大量图片的训练,CNN能够提取出不同类别图片的典型特征,这些特征将用于后续与决策树的结合,从而实现更准确的图片分类。
层次树结构生成
接着利用类别的隐向量做层次聚类,再借助wordnet形成层次树结构,论文称其为“诱导”。这个结构能让NBDT在识别中更精准地定位类别,为分类结果提供清晰的路径。
生成的层次树结构就像是一张地图,NBDT在对图片进行分类时,可以根据这张地图一步步地找到图片所属的类别,并且这个过程是可以解释的。通过这种方式,NBDT能够更好地平衡准确率和解释性,满足闲鱼等平台对于图片分类的需求。
大家觉得NBDT算法在未来还可能应用在哪些新的领域?欢迎评论留言,记得点赞和分享本文!