Tôi có một bộ dữ liệu với 3 lớp với các mục sau:
- Lớp 1: 900 phần tử
- Lớp 2: 15000 phần tử
- Lớp 3: 800 yếu tố
Tôi cần dự đoán lớp 1 và lớp 3, báo hiệu những sai lệch quan trọng so với định mức. Lớp 2 là trường hợp bình thường của người Viking mà tôi không quan tâm.
Loại chức năng mất nào tôi sẽ sử dụng ở đây? Tôi đã nghĩ đến việc sử dụng CrossEntropyLoss, nhưng vì có sự mất cân bằng về lớp học, điều này sẽ cần phải được cân nhắc? Làm thế nào mà nó hoạt động trong thực tế? Như thế này (sử dụng PyTorch)?
summed = 900 + 15000 + 800
weight = torch.tensor([900, 15000, 800]) / summed
crit = nn.CrossEntropyLoss(weight=weight)
Hoặc nên giảm cân? tức là 1 / trọng lượng?
Đây có phải là cách tiếp cận phù hợp để bắt đầu hoặc có phương pháp nào khác / tốt hơn mà tôi có thể sử dụng không?
Cảm ơn