Я пытаюсь использовать функцию взвешенных потерь для устранения дисбаланса классов в моих данных. Моя проблема - это проблема с несколькими классами и несколькими выходами. Например (мои данные имеют пять столбцов вывода/цели (выход_1, вывод_2, вывод_3), и у меня есть три класса (класс_0, класс_1 и класс_2) в каждом целевом столбце. В настоящее время я использую функцию потери перекрестной энтропии pytorch https://pytorch .org/docs/stable/generated/torch.nn.CrossEntropyLoss.html, и я вижу, что у него есть параметр веса, но я понимаю, что один и тот же вес будет применяться равномерно к каждому выходу/цели, но я хочу применить отдельный веса для каждого класса в каждом выходе/цели.
Для конкретности я мог бы иметь данные, которые выглядят так
the proportion in output 1 is : 0 = 0.6, 1 = 0.1, 2 = 0.3
the proportion in output 2 is : 0 = 0.4, 1 = 0.3, 2 = 0.3
the proportion in output 3 is : 0 = 0.4, 1 = 0.2, 2 = 0.4
Я хочу применить вес класса на основе распределения классов в каждом выходном столбце, чтобы он перенормировал (или перебалансировал? не уверен, какую терминологию здесь использовать) класс 1 до 0,15. а класс 0 и класс 2 — по 0,425 каждый (поэтому для выхода_1 веса будут [0,425/0,6, 0,15/0,1, 0,425/0,3], для выхода 2 — [0,425/0,4, 0,15/0,3, 0,425/0,3). ] и т. д). Скорее, то, что я понимаю, что параметр веса в функции кроссэнтропийной потери pytorch в настоящее время делает, заключается в том, что он применяет один вес класса к каждому выходному столбцу. Мне интересно, не упускаю ли я что-то, и есть ли способ сделать это с помощью функции кроссэнтропилоссии pytorch?
Я пытаюсь использовать функцию взвешенных потерь для устранения дисбаланса классов в моих данных. Моя проблема - это проблема с несколькими классами и несколькими выходами. Например (мои данные имеют пять столбцов вывода/цели (выход_1, вывод_2, вывод_3), и у меня есть три класса (класс_0, класс_1 и класс_2) в каждом целевом столбце. В настоящее время я использую функцию потери перекрестной энтропии pytorch https://pytorch .org/docs/stable/generated/torch.nn.CrossEntropyLoss.html, и я вижу, что у него есть параметр веса, но я понимаю, что один и тот же вес будет применяться равномерно к каждому выходу/цели, но я хочу применить отдельный веса для каждого класса в каждом выходе/цели. Для конкретности я мог бы иметь данные, которые выглядят так
A B C D E OUTPUT_1 OUTPUT_2 OUTPUT_3
< tr> 5,65 3,56 0,94 9,23 6,43 0 2 1
7,43 3,95 1,247,22 2,66 0 0 0
9,31 2,42 2,91 2,64 6,28 2 0 2
8,19 5,12 1,32 3,12 8,41 < td>0 2 0
9,35 1,92 3,12 4,13 3.14 0 1 1
8,43 9,72 7,23 8,29 9,18 1 0 2< /td>
4,32 2,12 3,84 9,42 8,19 0 1 0
3,92 3,91< /td> 2,90 8,19 8,41 2 0 2
7,89 1,92 4,12 8,19 7,28 0 1 2
5,21 2,42 3,10 0,311.31 2 0 0
при этом [code] the proportion in output 1 is : 0 = 0.6, 1 = 0.1, 2 = 0.3 the proportion in output 2 is : 0 = 0.4, 1 = 0.3, 2 = 0.3 the proportion in output 3 is : 0 = 0.4, 1 = 0.2, 2 = 0.4 [/code] Я хочу применить вес класса на основе распределения классов в каждом выходном столбце, чтобы он перенормировал (или перебалансировал? не уверен, какую терминологию здесь использовать) класс 1 до 0,15. а класс 0 и класс 2 — по 0,425 каждый (поэтому для выхода_1 веса будут [0,425/0,6, 0,15/0,1, 0,425/0,3], для выхода 2 — [0,425/0,4, 0,15/0,3, 0,425/0,3). ] и т. д). Скорее, то, что я понимаю, что параметр веса в функции кроссэнтропийной потери pytorch в настоящее время делает, заключается в том, что он применяет один вес класса к каждому выходному столбцу. Мне интересно, не упускаю ли я что-то, и есть ли способ сделать это с помощью функции кроссэнтропилоссии pytorch?
Я работаю над проектом, анализирующим данные HCUP NIS с 2016 по 2020 год в рамках моих медицинских исследований. Из нескольких статей я понимаю, что для получения точных национальных оценок мне необходимо взвесить набор данных, используя элементы...
Я пытаюсь построить график обучения и тестовых потерь моей несбалансированной модели NN с двоичной классификацией.
Не могли бы вы сказать мне, что мне следует добавить, чтобы построить их? Или не могли бы вы предоставить другие источники, которые я...
Я работаю над мультиклассовой классификацией (4 класса) для языковой задачи и использую модель BERT для задачи классификации. Я слежу за этим сообщением в блоге «Передача обучения для НЛП: точная настройка BERT для классификации текста». Моя модель...
Я реализую нейронную сеть в PyTorch, и мне нужно нормализовать веса определенных слоев во время прямого прохода. В частности, я хочу нормализовать веса по норме L2 для некоторых слоев. Вот упрощенная версия моего кода:
import torch
import...