machine-learning - 进行多标签分类的更有效方法?
问题描述
假设您对图像是否包含狗、猫或鸟有一个常规的多类分类。这是一个相对微不足道的问题(给定足够的数据)来解决。
如果你想在一张图片中组合一只狗、一只猫或一只鸟,这将是一个多标签问题。
对于少数可能的单个元素,创建包含所有可能组合的数据集并教 NN 识别组合似乎很容易。但是,如果您有一个大型数据集,其中可能包含 50 种可能的动物,并且在单个图像中超过 5 种呢?
那时会有太多的组合,甚至没有考虑到每个组合需要多个图像的事实。
神经网络有没有一种方法可以学习,也许,只识别每只动物,然后学习如何识别多种动物,因为它知道如何识别一种动物?
解决方案
一个人可以只训练 50 个神经网络,每只动物一个。
但通常在单个网络中,当每个图像只有一个动物时,您会使用 softmax 作为神经网络的最后一层。
在您描述的情况下,您可以替换最后一个 softmax(例如,通过具有 sigmoid 激活函数的密集层)以使您的网络能够独立地预测每只动物的概率。
推荐阅读
- android - 如何从 SQLite 数据库 Android Studio 中获取所有表
- ruby-on-rails - 如何在 RSpec (rails) 中创建或指定关联?
- mysql - 全文搜索在 mysql 中没有按预期工作?
- php - Laravel 8 返回视图空白页或白屏
- airflow - 气流测试命令意外更新元数据数据库
- c# - 尚未指定报告的报告定义
- css - Bootstrap React Nextjs,看起来与文档上的不一样
- spreadsheet - 将 Google 电子表格链接到 Google 调查表的问题
- c# - Is there .cs file equivalent for .razor file's @inject HttpClient Http
- python - 在 yml 文件中附加值的 Python 代码