Klasifikasi multikelas

Selesai

Tip

Lihat tab Teks dan gambar untuk detail selengkapnya!

Klasifikasi multikelas digunakan untuk memprediksi ke kelas mana dari beberapa kemungkinan suatu pengamatan mungkin termasuk. Sebagai teknik pembelajaran mesin yang diawasi, ia mengikuti proses pelatihan berulang, validasi, dan evaluasi yang sama sebagai regresi dan klasifikasi biner di mana subset data pelatihan ditahan untuk memvalidasi model terlatih.

Contoh - klasifikasi multikelas

Algoritma klasifikasi multikelas digunakan untuk menghitung nilai probabilitas untuk beberapa label kelas, memungkinkan model untuk memprediksi kelas yang paling mungkin untuk pengamatan tertentu.

Mari kita jelajahi sebuah contoh di mana kita memiliki beberapa pengamatan penguin, dan panjang sirip (x) dari setiap penguin dicatat. Untuk setiap pengamatan, data mencakup spesies penguin (y), yang dikodekan sebagai berikut:

  • 0: Adelie
  • 1: Gentoo
  • 2: Chinstrap

Nota

Seperti contoh sebelumnya dalam modul ini, skenario nyata akan mencakup beberapa nilai fitur (x). Kami akan menggunakan satu fitur untuk menjaga semuanya tetap sederhana.

Diagram penggaris ukur. Diagram tiga penguin.
Panjang sirip (x) Spesies (y)
167 0
172 0
225 2
197 1
189 1
232 2
158 0

Melatih model klasifikasi multikelas

Untuk melatih model klasifikasi multikelas, kita perlu menggunakan algoritma agar sesuai dengan data pelatihan dengan fungsi yang menghitung nilai probabilitas untuk setiap kelas yang mungkin. Ada dua jenis algoritma yang dapat Anda gunakan untuk melakukan ini:

  • Algoritma Satu lawan Sisanya (OvR)
  • Algoritma multinomial

Algoritma Satu lawan Sisanya (OvR)

Algoritma satu-vs-semua melatih fungsi klasifikasi biner untuk setiap kelas, masing-masing menghitung probabilitas bahwa pengamatan merupakan contoh dari kelas yang ditargetkan. Setiap fungsi menghitung probabilitas pengamatan menjadi kelas tertentu dibandingkan dengan kelas lain. Untuk model klasifikasi spesies penguin kami, algoritma pada dasarnya akan membuat tiga fungsi klasifikasi biner:

  • f0(x) = P(y=0 | x)
  • f1(x) = P(y=1 | x)
  • f2(x) = P(y=2 | x)

Setiap algoritma menghasilkan fungsi sigmoid yang menghitung nilai probabilitas antara 0,0 dan 1,0. Model yang dilatih menggunakan algoritma semacam ini memprediksi kelas untuk fungsi yang menghasilkan output probabilitas tertinggi.

Algoritma multinomial

Sebagai pendekatan alternatif adalah menggunakan algoritma multinomial, yang membuat satu fungsi yang mengembalikan output multinilai. Output adalah vektor (array nilai) yang berisi distribusi probabilitas untuk semua kelas yang mungkin - dengan skor probabilitas untuk setiap kelas yang totalnya berjumlah 1,0.

f(x) =[P(y=0|x), P(y=1|x), P(y=2|x)]

Contoh fungsi semacam ini adalah fungsi softmax , yang dapat menghasilkan output seperti contoh berikut:

[0.2, 0.3, 0.5]

Elemen dalam vektor mewakili probabilitas untuk kelas 0, 1, dan 2 masing-masing; jadi dalam hal ini, kelas dengan probabilitas tertinggi adalah 2.

Terlepas dari jenis algoritma mana yang digunakan, model menggunakan fungsi yang dihasilkan untuk menentukan kelas yang paling kemungkinan untuk serangkaian fitur tertentu (x) dan memprediksi label kelas yang sesuai (y).

Mengevaluasi model klasifikasi multikelas

Anda dapat mengevaluasi pengklasifikasi multikelas dengan menghitung metrik klasifikasi biner untuk setiap kelas individual. Atau, Anda dapat menghitung metrik agregat yang memperhitungkan semua kelas.

Mari kita asumsikan bahwa kita telah memvalidasi pengklasifikasi multikelas kita, dan mendapatkan hasil berikut:

Panjang sirip (x) Spesies nyata (y) Spesies yang diprediksi (ŷ)
165 0 0
171 0 0
205 2 1
195 1 1
183 1 1
221 2 2
214 2 2

Matriks kebingungan untuk pengklasifikasi multikelas mirip dengan pengklasifikasi biner, kecuali menunjukkan jumlah prediksi untuk setiap kombinasi prediksi (ŷ) dan label kelas aktual (y):

Diagram matriks kebingungan multikelas.

Dari matriks kebingungan ini, kita dapat menentukan metrik untuk setiap kelas individu sebagai berikut:

Kelas Positif Benar Benar Negatif Positif Palsu Negatif Palsu Akurasi Penarikan Presisi F1-Score
0 2 5 0 0 1.0 1.0 1.0 1.0
1 2 4 1 0 0.86 1.0 0,67 0,8
2 2 4 0 1 0.86 0,67 1.0 0,8

Untuk menghitung metrik akurasi, pengenalan, dan presisi keseluruhan, Anda menggunakan total metrik TP, TN, FP, dan FN :

  • Akurasi keseluruhan = (13+6)÷(13+6+1+1) = 0,90
  • Pengenalan keseluruhan = 6÷(6+1) = 0,86
  • Presisi keseluruhan = 6÷(6+1) = 0,86

Skor F1 keseluruhan dihitung menggunakan metrik pengenalan dan presisi keseluruhan:

  • Skor F1 keseluruhan = (2x0,86x0,86)÷(0,86+0,86) = 0,86