Pierdere în greutate pytorch


Ce funcție de pierdere trebuie utilizată pentru clasele dezechilibrate folosind PyTorch? Am un set de date cu 3 clase cu următoarele elemente: Clasa 1: de elemente Clasa 2: de elemente Clasa 3: de elemente Trebuie să prezic clasa 1 și clasa 3, care semnalează abateri importante de la normă. Ce fel de funcție de pierdere aș folosi aici?

pierdere în greutate pytorch

Mă gândeam să folosesc CrossEntropyLoss, dar, din moment ce există un dezechilibru de clasă, ar trebui să fie ponderat, presupun? Cum funcționează asta în practică?

pierdere în greutate pytorch

Așa folosind PyTorch? Sau greutatea trebuie inversată?

pierdere în greutate pytorch

Entropia încrucișată este funcția de pierdere pentru sarcinile de clasificare, fie echilibrate, fie dezechilibrate. Este prima alegere atunci când nu se creează încă o preferință din cunoașterea domeniului.

pierdere în greutate pytorch

Acest lucru ar trebui să fie ponderat, presupun? De exemplu, dacă clasa 1 areclasa 2 areiar clasa 3 are de probe, atunci ponderile lor ar fi 16,67, 1,0 și respectiv 18, Puteți utiliza, de asemenea, cea mai mică clasă ca nominalizator, care dă 0, 0, și respectiv 1,0.

pierdere în greutate pytorch

Aceasta este doar o re-scalare, greutățile relative sunt aceleași. Da, aceasta este abordarea corectă.

pierdere în greutate pytorch

Acest lucru este realizat de WeightedRandomSampler în PyTorch, utilizând aceleași greutăți menționate mai sus.