Вопрос или проблема
Я работаю над исследовательским проектом, направленным на классификацию детских哭ов в зависимости от их потребностей. Однако я столкнулся с трудностями в получении подходящего набора данных о哭ах.
Единственный набор данных, к которому я смог получить доступ, — это donate-a-cry-corpus-features-dataset, который состоит всего из 457 образцов. К сожалению, этот ограниченный набор данных создал проблемы для моей модели. В частности, более 300 образцов помечены как “голоден”, что приводит к смещенному прогнозированию в пользу этого класса.
Как преодолеть эту проблему и получить более разнообразный набор данных о哭ах, который охватывает более широкий спектр потребностей?
1. Увеличение данных: Вы можете создать новые обучающие изображения из имеющихся, немного их изменив (вертикальный сдвиг, горизонтальный сдвиг, вертикальный переворот, горизонтальный переворот, поворот, регулировка яркости и т. д.). Вы можете ознакомиться с этой статьей.
2. Создайте собственный набор данных: Вы можете создать свой собственный набор данных, собирая изображения из Интернета и помечая их. Но в вашем случае набор данных может быть зашумлен, так как результаты поиска могут быть похожими для разных классов. Также я не уверен, будет ли это надежно, поскольку изображения, используемые в статьях, связанных с определенным классом, не обязательно будут содержать изображение того же класса. (Например, автор, пишущий статью о заболеваниях у младенцев, не будет думать о том, является ли изображение конкретно больного младенца; любое изображение плачущего младенца будет достаточно). Но если вы хотите попробовать, это руководство может оказаться полезным.
Чтобы справиться с проблемой дисбаланса классов, вы также можете попробовать:
1. Взвешивание классов: Чтобы уменьшить смещение, связанное с дисбалансом классов, вы можете увеличить вес примеров, связанных с классом меньшинства.
2. Иерархическая классификация: Это включает в себя обучение нескольких моделей, каждая из которых работает на разном уровне иерархии. Например, если у вас есть 3 класса, верхний уровень иерархии может быть “больной”, затем “голод” и потом “одинокий”. Каждая модель обучается на данных на этом уровне, а результаты затем комбинируются для формирования общего прогноза.
Ссылки:
[1]: https://www.picsellia.com/post/improve-imbalanced-datasets-in-computer-vision
Ответ или решение
Запрос о помощи в получении разнообразного датасета криков для исследовательского проекта
Я работаю над исследовательским проектом, целью которого является классификация криков младенцев в зависимости от их потребностей. Однако я столкнулся с трудностями в получении подходящего датасета криков.
Единственным доступным мне датасетом оказался donate-a-cry-corpus-features-dataset, который состоит всего из 457 образцов. К сожалению, этот ограниченный датасет создает проблемы для моей модели. В частности, более 300 образцов помечены как "голоден", что приводит к биасу в предсказаниях в сторону этого класса.
Как преодолеть эту проблему и получить более разнообразный датасет криков, охватывающий более широкий спектр потребностей?
1. Создание собственного датасета
Одним из наиболее эффективных решений является создание собственного датасета. В этом случае вы можете:
-
Собирать записи криков: Рассмотрите возможность записи криков в собственном окружении (например, с согласия родителей). Это обеспечит разнообразие в типах криков, которые вы можете классифицировать.
-
Использовать интернет-ресурсы: Вы можете искать аудиозаписи криков различных младенцев через платформы вроде YouTube или специализированных сайтов. Однако будьте внимательны к качеству и достоверности найденных данных, так как контент может быть неоднозначным.
2. Использование методов аугментации данных
Для борьбы с ограниченной выборкой вы также можете применять аугментацию данных:
- Увеличьте ваш датасет, внося изменения в существующие записи (например, изменение тональности, скорости воспроизведения или добавление шума). Это создаст новые образцы, которые могут улучшить устойчивость вашего алгоритма.
3. Решение проблемы дисбаланса классов
Ситуация с дисбалансом классов может быть решена следующими методами:
-
Взвешивание классов: Увеличьте вес примеров, относящихся к меньшинству классов. Это позволит вашему алгоритму уделять больше внимания редким классам и уменьшит биас в сторону большинства.
-
Иерархическая классификация: Подумайте о создании иерархии классов, в которой каждый уровень будет представлять отдельный аспект потребностей, например, "нуждается в помощи" — "голод" — "одинок".
Ресурсы и дальнейшая информация
Для детализации указанных стратегий и методов, а также для получения дополнительной информации, вы можете воспользоваться следующими ссылками:
- Методы аугментации данных
- Создание собственного датасета с помощью Google Images
- Улучшение дисбалансированных датасетов
В целом, сочетание собственного сбора данных, методов аугментации и методов борьбы с дисбалансом должно значительно улучшить вашу модель классификации криков младенцев и сделать ее более точной и надежной. Успехов в вашем исследовании!