Jaringan neural: Klasifikasi multi-class

Sebelumnya, Anda menemui klasifikasi biner model yang dapat memilih di antara dua kemungkinan pilihan, seperti apakah:

  • Email tertentu adalah spam atau bukan spam.
  • Tumor yang diberikan bersifat ganas atau jinak.

Di bagian ini, kita akan menyelidiki klasifikasi kelas multi-kelas yang dapat dipilih dari beberapa kemungkinan. Contoh:

  • Apakah ini beagle, basset hound, atau pemburu darah?
  • Apakah bunga ini adalah bunga jenis Iris Siberia, Iris Belanda, Iris Bendera Biru, atau Dwarf Janggut Iris?
  • Apakah itu pesawat Boeing 747, Airbus 320, Boeing 777, atau Embraer 190?
  • Apakah ini gambar apel, beruang, permen,, atau telur?

Beberapa permasalahan kelas jamak di dunia nyata mengharuskan pilihan dari jutaan dari beberapa class terpisah. Misalnya, pertimbangkan klasifikasi kelas multi-kelas yang dapat mengidentifikasi gambar apa saja.

Bagian ini menjelaskan dua varian utama klasifikasi multi-class:

Satu versus semua

Satu vs.-semua memberikan cara untuk menggunakan klasifikasi biner untuk serangkaian prediksi ya atau tidak pada beberapa kemungkinan label.

Dalam masalah klasifikasi dengan N kemungkinan solusi, a-vs.-semua solusi terdiri dari N pengklasifikasi biner terpisah—satu biner untuk setiap kemungkinan hasil. Selama pelatihan, model berjalan dengan urutan pengklasifikasi biner, melatih setiap pengklasifikasi untuk pertanyaan klasifikasi.

Misalnya, diberikan gambar sepotong buah, empat pengenal yang berbeda mungkin dilatih, masing-masing menjawab ya/tidak pertanyaan:

  1. Apakah ini gambar apel?
  2. Apakah gambar ini berwarna jeruk?
  3. Apakah ini gambar pisang?
  4. Apakah gambar ini gambar anggur?

Gambar berikut mengilustrasikan cara kerjanya dalam praktiknya.

Gambar 9. Gambar pir yang diteruskan sebagai input ke 4 model
      model pengklasifikasi biner. Model pertama memprediksi 'apel' atau 'tidak
      {i>apple&#39;<i}, dan prediksinya 
adalah &#39;bukan apel&#39;. Model kedua memprediksi
      &#39;oranye&#39; atau &#39;tidak oranye&#39;, dan prediksinya adalah &#39;tidak oranye&#39;. Tujuan
      model ketiga memprediksi &#39;pisang&#39; atau &#39;bukan pir&#39;, dan prediksinya adalah
      &#39;pisau&#39;. Model keempat memprediksi &#39;grape&#39; atau &#39;bukan anggur&#39;, dan
      prediksinya adalah &#39;not grape&#39;.
Gambar 9. Gambar pir yang diteruskan sebagai input ke empat model pengklasifikasi biner. Model pertama, kedua, dan keempat (memprediksi terlepas dari apakah gambar tersebut adalah apel, jeruk, atau anggur) memprediksi kelas negatif. Model ketiga (memprediksi apakah gambarnya adalah pir) yang memprediksi class positif.

Pendekatan ini cukup masuk akal ketika jumlah total kelas kecil, tetapi menjadi semakin tidak efisien seiring dengan bertambahnya jumlah kelas naik.

Kita dapat membuat model satu vs. semua yang jauh lebih efisien dengan jaringan neural dalam yang setiap simpulnya mewakili jaringan neural yang berbeda . Gambar berikut mengilustrasikan pendekatan ini.

Gambar 10. Sebuah jaringan neural dengan arsitektur berikut: lapisan input dengan
      1 node, lapisan tersembunyi dengan 3 node, lapisan tersembunyi dengan 4 node,
      dengan 4 node. Simpul input diberi gambar berupa pir.
      Fungsi aktivasi sigmoid diterapkan ke lapisan output. Masing-masing
      node output mewakili probabilitas bahwa gambar tersebut
      buah. Node output 1 mewakili &#39;Is apple?&#39; dan memiliki nilai 0,34.
      Node output 2 mewakili &#39;Apakah oranye?&#39; dan memiliki nilai 0,18.
      Node output 3 menampilkan &#39;Is pear?&#39; dan memiliki nilai 0,84.
      Node output 4 mewakili &#39;Is grape?&#39; dan memiliki nilai 0,07.
Gambar 10. Tugas klasifikasi satu vs. semua yang sama diselesaikan dengan menggunakan model neural net. Fungsi aktivasi sigmoid diterapkan ke output dan setiap nilai output mewakili probabilitas bahwa input gambar adalah buah yang ditentukan. Model ini memprediksi bahwa ada 84% peluang bahwa gambar tersebut adalah buah pir, dan peluang 7% bahwa gambar tersebut adalah anggur.

Satu versus satu (softmax)

Anda mungkin telah memperhatikan bahwa nilai probabilitas pada lapisan {i>output<i} pada Gambar 10 jangan berjumlah 1,0 (atau 100%). (Malah, jumlah mereka menjadi 1,43.) Dalam satu vs. semua pendekatan, probabilitas dari setiap set hasil biner ditentukan terpisah dari semua kumpulan lainnya. Yaitu, kita menentukan probabilitas dari "apple" versus "bukan apel" tanpa mempertimbangkan kemungkinan pilihan buah: "oranye", "pir", atau "anggur".

Tetapi bagaimana jika kita ingin memprediksi probabilitas setiap buah relatif terhadap satu sama lain? Dalam hal ini, alih-alih memprediksi "apel" versus "tidak apel", kita ingin memprediksi "apel" versus "oranye" versus "pir" versus "anggur". Jenis klasifikasi multi-kelas ini disebut klasifikasi satu vs. satu.

Kita dapat menerapkan klasifikasi satu vs. satu menggunakan jenis arsitektur jaringan yang digunakan untuk klasifikasi satu vs. semua, dengan satu perubahan penting. Kita perlu menerapkan transformasi yang berbeda ke lapisan output.

Untuk satu vs. semua, kita menerapkan fungsi aktivasi sigmoid ke setiap output secara independen, yang menghasilkan nilai output antara 0 dan 1 untuk node, tetapi tidak menjamin bahwa nilai-nilai ini dijumlahkan menjadi tepat 1.

Sebagai gantinya, untuk satu vs. satu, kita dapat menerapkan fungsi yang disebut softmax, yang menetapkan probabilitas desimal ke setiap kelas dalam soal multi-kelas sehingga semua probabilitas dijumlahkan menjadi 1,0. Batasan tambahan ini membantu konvergensi pelatihan lebih cepat dari yang seharusnya.

Gambar berikut menerapkan kembali klasifikasi multi-class satu vs. semua tugas sebagai tugas satu vs. satu. Perhatikan bahwa untuk melakukan softmax, fungsi langsung sebelum lapisan output (disebut lapisan softmax) harus memiliki jumlah node yang sama dengan lapisan output.

Gambar 11. Jaringan neural dengan arsitektur berikut: input
      lapisan dengan 1 node, lapisan tersembunyi dengan 3 node,
      dengan 4 node. Simpul input diberi gambar berupa pir.
      Fungsi aktivasi softmax diterapkan ke lapisan output. Masing-masing
      node output mewakili probabilitas bahwa gambar tersebut
      buah. Node output 1 mewakili &#39;Is apple?&#39; dan memiliki nilai 0,19.
      Node output 2 mewakili &#39;Apakah oranye?&#39; dan memiliki nilai 0,12.
      Node output 3 menampilkan &#39;Is pear?&#39; dan memiliki nilai 0,63.
      Node output 4 mewakili &#39;Is grape?&#39; dan memiliki nilai 0,06.
Gambar 11. Implementasi jaringan neural dari klasifikasi satu vs. satu, menggunakan lapisan softmax. Setiap nilai {i>output<i} mewakili probabilitas bahwa gambar input adalah buah yang ditentukan dan bukan salah satu dari tiga buah lainnya (semua probabilitas dijumlahkan menjadi 1,0). Model ini memprediksi bahwa ada 63% kemungkinan gambarnya adalah buah pir.

Opsi Softmax

Pertimbangkan varian softmax berikut:

  • Full softmax adalah softmax yang sudah kita diskusikan; yaitu, softmax menghitung probabilitas untuk setiap kemungkinan kelas.

  • Sampling kandidat berarti softmax menghitung probabilitas untuk semua label positif tetapi hanya untuk sampel acak label negatif. Misalnya, jika kita tertarik untuk menentukan apakah gambar input adalah beagle atau berdarah, kita tidak harus memberikan probabilitas untuk setiap contoh non-doggy.

{i>Full softmax<i} cukup murah bila jumlah kelas sedikit namun akan menjadi sangat mahal jika jumlah kelas meningkat. Sampling kandidat dapat meningkatkan efisiensi dalam masalah yang memiliki jumlah kelas.

Satu label versus banyak label

Softmax beranggapan bahwa setiap contoh adalah anggota dari satu kelas saja. Namun, beberapa contoh dapat menjadi anggota beberapa class secara bersamaan. Untuk contoh tersebut:

  • Anda tidak boleh menggunakan softmax.
  • Anda harus mengandalkan beberapa regresi logistik.

Misalnya, model satu vs. satu dalam Gambar 11 di atas mengasumsikan bahwa setiap input gambar akan menggambarkan tepat satu jenis buah: apel, jeruk, pir, atau anggur. Namun, jika gambar input mungkin berisi beberapa jenis buah— semangkuk apel dan jeruk—Anda harus menggunakan banyak yang menyebabkan regresi.