Rumah Peranti teknologi AI Masalah ketidakseimbangan kelas dalam klasifikasi imej

Masalah ketidakseimbangan kelas dalam klasifikasi imej

Oct 08, 2023 am 08:41 AM
penyelesaian Klasifikasi imej Ketidakseimbangan kategori

Masalah ketidakseimbangan kelas dalam klasifikasi imej

Masalah ketidakseimbangan kategori dalam pengelasan imej, contoh kod khusus diperlukan

Abstrak: Dalam tugas pengelasan imej, kategori dalam set data mungkin tidak seimbang, iaitu bilangan sampel dalam beberapa kategori adalah lebih banyak daripada yang lain. kategori . Ketidakseimbangan kelas ini boleh memberi kesan negatif kepada latihan dan prestasi model. Artikel ini akan menerangkan sebab dan kesan masalah ketidakseimbangan kelas dan menyediakan beberapa contoh kod konkrit untuk menyelesaikan masalah tersebut.

  1. Pengenalan
    Klasifikasi imej ialah tugas penting dalam bidang penglihatan komputer dan boleh digunakan pada berbilang senario aplikasi seperti pengecaman muka, pengesanan sasaran dan carian imej. Dalam tugas pengelasan imej, masalah biasa ialah ketidakseimbangan kelas dalam set data, di mana sesetengah kelas mempunyai sampel yang jauh lebih banyak daripada kelas lain. Sebagai contoh, dalam set data yang mengandungi 100 kategori, 10 kategori mempunyai saiz sampel 1,000, manakala 90 kategori lain mempunyai saiz sampel hanya 10. Ketidakseimbangan kelas ini boleh memberi kesan negatif kepada latihan dan prestasi model.
  2. Punca dan Kesan Masalah Ketidakseimbangan Kelas
    Masalah Ketidakseimbangan Kategori boleh disebabkan oleh pelbagai sebab. Pertama, sampel beberapa kategori mungkin lebih mudah untuk dikumpulkan, menghasilkan saiz sampel yang agak besar untuk mereka. Contohnya, dalam set data kategori haiwan, kucing dan anjing mungkin mempunyai lebih banyak sampel kerana mereka adalah haiwan peliharaan rumah dan lebih cenderung untuk diambil gambar oleh orang ramai. Di samping itu, beberapa kategori sampel mungkin lebih sukar diperoleh Contohnya, dalam tugas pengesanan anomali, bilangan sampel tidak normal mungkin jauh lebih kecil daripada bilangan sampel biasa. Tambahan pula, pengedaran set data mungkin tidak sekata, menyebabkan bilangan sampel yang lebih kecil untuk beberapa kategori.

Masalah ketidakseimbangan kelas mempunyai beberapa kesan negatif ke atas latihan dan prestasi model. Pertama, disebabkan bilangan sampel yang kecil dalam beberapa kategori, model mungkin salah menilai kategori ini. Sebagai contoh, dalam masalah dua klasifikasi, bilangan sampel dalam dua kategori masing-masing adalah 10 dan 1000 Jika model tidak melakukan sebarang pembelajaran dan secara langsung meramalkan semua sampel sebagai kategori dengan bilangan sampel yang lebih besar, ketepatannya akan menjadi. sangat tinggi, tetapi pada hakikatnya Sampel tidak dikelaskan dengan berkesan. Kedua, disebabkan pengedaran sampel yang tidak seimbang, model mungkin berat sebelah ke arah meramalkan kategori dengan bilangan sampel yang lebih besar, mengakibatkan prestasi pengelasan yang lemah untuk kategori lain. Akhir sekali, pengedaran kategori yang tidak seimbang boleh menyebabkan sampel latihan model yang tidak mencukupi untuk kategori minoriti, menjadikan model yang dipelajari mempunyai keupayaan generalisasi yang lemah untuk kategori minoriti.

  1. Kaedah untuk menyelesaikan masalah ketidakseimbangan kelas
    Untuk menangani masalah ketidakseimbangan kelas, beberapa kaedah boleh diambil untuk meningkatkan prestasi model. Kaedah biasa termasuk pensampelan kurang, pensampelan berlebihan dan pelarasan berat.

Undersampling merujuk kepada pemadaman secara rawak beberapa sampel daripada kategori dengan bilangan sampel yang lebih besar, supaya bilangan sampel dalam setiap kategori lebih dekat. Kaedah ini mudah dan mudah, tetapi mungkin mengakibatkan kehilangan maklumat kerana pemadaman sampel boleh menyebabkan beberapa ciri penting hilang.

Terlebih sampel merujuk kepada menyalin beberapa sampel daripada kategori dengan bilangan sampel yang lebih kecil untuk menjadikan bilangan sampel dalam setiap kategori lebih seimbang. Kaedah ini boleh meningkatkan bilangan sampel, tetapi mungkin membawa kepada masalah overfitting, kerana penyalinan sampel boleh menyebabkan model terlalu muat pada set latihan dan mempunyai keupayaan generalisasi yang lemah.

Pelarasan berat merujuk kepada pemberian berat yang berbeza kepada sampel kategori yang berbeza dalam fungsi kehilangan, supaya model memberi perhatian lebih kepada kategori dengan bilangan sampel yang lebih kecil. Kaedah ini boleh menyelesaikan masalah ketidakseimbangan kelas dengan berkesan tanpa memperkenalkan sampel tambahan. Pendekatan khusus adalah untuk melaraskan berat setiap kategori dalam fungsi kehilangan dengan menentukan vektor berat supaya kategori dengan bilangan sampel yang lebih kecil mempunyai pemberat yang lebih besar.

Berikut ialah contoh kod menggunakan rangka kerja PyTorch yang menunjukkan cara menggunakan kaedah pelarasan berat untuk menyelesaikan masalah ketidakseimbangan kelas:

import torch
import torch.nn as nn
import torch.optim as optim

# 定义分类网络
class Net(nn.Module):
    def __init__(self):
        super(Net, self).__init__()
        self.fc1 = nn.Linear(784, 100)
        self.fc2 = nn.Linear(100, 10)
    
    def forward(self, x):
        x = x.view(-1, 784)
        x = self.fc1(x)
        x = self.fc2(x)
        return x

# 定义损失函数和优化器
criterion = nn.CrossEntropyLoss(weight=torch.tensor([0.1, 0.9]))  # 根据样本数量设置权重
optimizer = optim.SGD(net.parameters(), lr=0.001, momentum=0.9)

# 训练模型
for epoch in range(10):
    running_loss = 0.0
    for i, data in enumerate(trainloader, 0):
        inputs, labels = data
        
        optimizer.zero_grad()
        
        outputs = net(inputs)
        
        loss = criterion(outputs, labels)
        loss.backward()
        optimizer.step()
        
        running_loss += loss.item()
        if i % 2000 == 1999:
            print('[%d, %5d] loss: %.3f' %
                  (epoch + 1, i + 1, running_loss / 2000))
            running_loss = 0.0

print('Finished Training')
Salin selepas log masuk

Dalam kod di atas, pemberat dua kelas ditentukan oleh torch.tensor([0.1, 0.9]), kelas dengan yang lebih kecil bilangan sampel Berat ialah 0.1, dan berat kategori dengan bilangan sampel yang lebih besar ialah 0.9. Ini membolehkan model memberi lebih perhatian kepada kategori dengan bilangan sampel yang lebih kecil.

  1. Kesimpulan
    Ketidakseimbangan kategori ialah masalah biasa dalam tugas pengelasan imej dan boleh memberi kesan negatif terhadap latihan dan prestasi model. Untuk menyelesaikan masalah ini, kaedah seperti undersampling, oversampling, dan pelarasan berat boleh digunakan. Antaranya, kaedah pelarasan berat adalah kaedah mudah dan berkesan yang dapat menyelesaikan masalah ketidakseimbangan kelas tanpa memperkenalkan sampel tambahan. Artikel ini menunjukkan cara menggunakan kaedah pelarasan berat untuk menyelesaikan masalah ketidakseimbangan kelas melalui contoh kod tertentu. . , N. V., Bowyer, K. W., Hall, L. O., & Kegelmeyer, W. P. (2002: teknik pensampelan berlebihan minoriti sintetik, 16, 321-357.
  2. ).

Atas ialah kandungan terperinci Masalah ketidakseimbangan kelas dalam klasifikasi imej. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Penyelesaian untuk Win11 tidak dapat memasang pek bahasa Cina Penyelesaian untuk Win11 tidak dapat memasang pek bahasa Cina Mar 09, 2024 am 09:15 AM

Win11 ialah sistem pengendalian terkini yang dilancarkan oleh Microsoft Berbanding dengan versi sebelumnya, Win11 telah meningkatkan reka bentuk antara muka dan pengalaman pengguna. Walau bagaimanapun, sesetengah pengguna melaporkan bahawa mereka menghadapi masalah tidak dapat memasang pek bahasa Cina selepas memasang Win11, yang menyebabkan masalah untuk mereka menggunakan bahasa Cina dalam sistem. Artikel ini akan memberikan beberapa penyelesaian kepada masalah yang Win11 tidak dapat memasang pek bahasa Cina untuk membantu pengguna menggunakan bahasa Cina dengan lancar. Pertama, kita perlu memahami mengapa pek bahasa Cina tidak boleh dipasang. Secara umumnya, Win11

Sebab dan penyelesaian kegagalan pemasangan perpustakaan scipy Sebab dan penyelesaian kegagalan pemasangan perpustakaan scipy Feb 22, 2024 pm 06:27 PM

Sebab dan penyelesaian kegagalan pemasangan perpustakaan scipy, contoh kod khusus diperlukan Apabila melakukan pengiraan saintifik dalam Python, scipy ialah perpustakaan yang sangat biasa digunakan, yang menyediakan banyak fungsi untuk pengiraan berangka, pengoptimuman, statistik dan pemprosesan isyarat. Walau bagaimanapun, apabila memasang perpustakaan scipy, kadangkala anda menghadapi beberapa masalah, menyebabkan pemasangan gagal. Artikel ini akan meneroka sebab utama pemasangan perpustakaan scipy gagal dan menyediakan penyelesaian yang sepadan. Pemasangan pakej bergantung gagal Pustaka scipy bergantung pada beberapa perpustakaan Python lain, seperti nu.

Penyelesaian yang berkesan untuk menyelesaikan masalah aksara bercelaru yang disebabkan oleh pengubahsuaian set aksara Oracle Penyelesaian yang berkesan untuk menyelesaikan masalah aksara bercelaru yang disebabkan oleh pengubahsuaian set aksara Oracle Mar 03, 2024 am 09:57 AM

Tajuk: Penyelesaian yang berkesan untuk menyelesaikan masalah aksara bercelaru yang disebabkan oleh pengubahsuaian set aksara Oracle Dalam pangkalan data Oracle, apabila set aksara diubah suai, masalah aksara bercelaru sering berlaku disebabkan kehadiran aksara yang tidak serasi dalam data. Untuk menyelesaikan masalah ini, kita perlu menggunakan beberapa penyelesaian yang berkesan. Artikel ini akan memperkenalkan beberapa penyelesaian khusus dan contoh kod untuk menyelesaikan masalah aksara bercelaru yang disebabkan oleh pengubahsuaian set aksara Oracle. 1. Eksport data dan set semula set aksara Pertama, kita boleh mengeksport data dalam pangkalan data dengan menggunakan arahan expdp.

Masalah dan penyelesaian biasa fungsi Oracle NVL Masalah dan penyelesaian biasa fungsi Oracle NVL Mar 10, 2024 am 08:42 AM

Masalah dan penyelesaian biasa untuk fungsi OracleNVL Pangkalan data Oracle ialah sistem pangkalan data hubungan yang digunakan secara meluas, dan selalunya perlu untuk menangani nilai nol semasa pemprosesan data. Untuk menangani masalah yang disebabkan oleh nilai nol, Oracle menyediakan fungsi NVL untuk mengendalikan nilai nol. Artikel ini akan memperkenalkan masalah biasa dan penyelesaian fungsi NVL, dan memberikan contoh kod khusus. Soalan 1: Penggunaan fungsi NVL yang tidak betul Sintaks asas fungsi NVL ialah: NVL(expr1,default_value).

Melaksanakan Algoritma Pembelajaran Mesin dalam C++: Cabaran dan Penyelesaian Biasa Melaksanakan Algoritma Pembelajaran Mesin dalam C++: Cabaran dan Penyelesaian Biasa Jun 03, 2024 pm 01:25 PM

Cabaran biasa yang dihadapi oleh algoritma pembelajaran mesin dalam C++ termasuk pengurusan memori, multi-threading, pengoptimuman prestasi dan kebolehselenggaraan. Penyelesaian termasuk menggunakan penunjuk pintar, perpustakaan benang moden, arahan SIMD dan perpustakaan pihak ketiga, serta mengikuti garis panduan gaya pengekodan dan menggunakan alat automasi. Kes praktikal menunjukkan cara menggunakan perpustakaan Eigen untuk melaksanakan algoritma regresi linear, mengurus memori dengan berkesan dan menggunakan operasi matriks berprestasi tinggi.

Mendedahkan kaedah untuk menyelesaikan kegagalan kunci PyCharm Mendedahkan kaedah untuk menyelesaikan kegagalan kunci PyCharm Feb 23, 2024 pm 10:51 PM

PyCharm ialah persekitaran pembangunan bersepadu Python yang berkuasa yang disukai secara meluas oleh pembangun. Walau bagaimanapun, kadangkala kami mungkin menghadapi masalah ketidaksahihan utama apabila menggunakan PyCharm, mengakibatkan ketidakupayaan untuk menggunakan perisian secara normal. Artikel ini akan mendedahkan penyelesaian kepada kegagalan kunci PyCharm dan menyediakan contoh kod khusus untuk membantu pembaca menyelesaikan masalah ini dengan cepat. Sebelum kita mula menyelesaikan masalah, kita perlu memahami terlebih dahulu mengapa kunci itu tidak sah. Kegagalan kunci PyCharm biasanya disebabkan oleh masalah rangkaian atau perisian itu sendiri

Selesaikan Tidak dapat memulakan aplikasi dengan betul kod ralat 0xc000007b Selesaikan Tidak dapat memulakan aplikasi dengan betul kod ralat 0xc000007b Feb 20, 2024 pm 01:24 PM

Bagaimana untuk menyelesaikan masalah tidak dapat memulakan seperti biasa 0xc000007b Apabila menggunakan komputer, kita kadang-kadang menghadapi pelbagai kod ralat, salah satu yang paling biasa ialah 0xc000007b. Apabila kami cuba menjalankan beberapa aplikasi atau permainan, kod ralat ini tiba-tiba muncul dan menghalang kami daripada memulakannya dengan betul. Jadi, bagaimana kita harus menyelesaikan masalah ini? Pertama, kita perlu memahami maksud kod ralat 0xc000007b. Kod ralat ini biasanya menunjukkan bahawa satu atau lebih fail sistem kritikal atau fail perpustakaan hilang, rosak atau tidak betul.

Punca dan penyelesaian biasa untuk aksara Cina yang kacau dalam pemasangan MySQL Punca dan penyelesaian biasa untuk aksara Cina yang kacau dalam pemasangan MySQL Mar 02, 2024 am 09:00 AM

Penyebab dan penyelesaian biasa untuk aksara Cina yang kacau dalam pemasangan MySQL MySQL ialah sistem pengurusan pangkalan data hubungan yang biasa digunakan, tetapi anda mungkin menghadapi masalah aksara Cina yang kacau semasa digunakan, yang membawa masalah kepada pembangun dan pentadbir sistem. Masalah aksara Cina bercelaru terutamanya disebabkan oleh tetapan set aksara yang salah, set aksara yang tidak konsisten antara pelayan pangkalan data dan pelanggan, dsb. Artikel ini akan memperkenalkan secara terperinci punca dan penyelesaian biasa aksara Cina yang kacau dalam pemasangan MySQL untuk membantu semua orang menyelesaikan masalah ini dengan lebih baik. 1. Sebab biasa: tetapan set watak

See all articles