-
Балансировка классов в pytorch с помощью WeightedRandomSampler
В машинном обучении постоянно встречается эта проблема - в датасете, на котором ты обучаешь нейросеть (или любую другую ML модель) - разное количество записей для разных классов. Иногда прям сильно разное. Если оставить это как есть, то нейросеть толком не выучит редкие классы и не научится их отличать.
Два основных подхода к решению этой проблемы - умножать loss для редких классов пропорционально их редкости, чтобы высокий loss заставлял сетку учиться на них и чаще читать записи редких классов, чтобы они перестали быть редкими. Эта статья про второй подход.
-
Изящный unpacking в python
Частенько бывает нужно проитерироваться по большой коллекции в которой лежат другие коллекции.
Возьмем для примера вот эту:
Очевидный способ пробежать по вложенным элементам - это чтение по индексу: