Regresi logistik multilabel

8

Apakah ada cara untuk menggunakan regresi logistik untuk mengklasifikasikan data multi-label? Dengan multi-label, maksud saya data yang dapat milik beberapa kategori secara bersamaan.

Saya ingin menggunakan pendekatan ini untuk mengklasifikasikan beberapa data biologis.

pengguna721975
sumber
1
Anda tampaknya menggambarkan regresi logistik multinomial. Ada banyak utas di sini yang membahas topik ini: stats.stackexchange.com/search?q=multinomial+logistic
Makro
3
Atau maksud Anda bahwa satu datum dapat dimiliki lebih dari satu kategori?
onestop
@onestop: Ya, maksud saya satu titik data dapat menjadi milik sejumlah kategori secara bersamaan.
user721975
@macro: Regresi logistik multi-label multinomial :-)
user721975
Lihatlah literatur ekonometrika, misalnya McFadden.
Frank Harrell

Jawaban:

11

Saya prinsipkan, ya - saya tidak yakin bahwa teknik ini masih disebut regresi logistik.

Sebenarnya pertanyaan Anda dapat merujuk ke dua ekstensi independen ke pengklasifikasi biasa:

  1. Anda dapat meminta jumlah semua keanggotaan untuk setiap kasus menjadi satu ("dunia tertutup" = kasus biasa)
    atau melepaskan batasan ini (kadang-kadang disebut "satu-kelas pengklasifikasi")
    Ini dapat dilatih oleh beberapa model LR independen meskipun satu kelas masalah sering salah posisi (kelas ini vs semua jenis pengecualian yang bisa terletak di semua arah) dan kemudian LR tidak terlalu cocok.

  2. keanggotaan kelas parsial: setiap kasus menjadi milik keanggotaan [0,1]nclassesuntuk setiap kelas, mirip dengan keanggotaan dalam analisis cluster fuzzy:
    Asumsikan ada 3 kelas A, B, C. Kemudian sampel dapat diberi label sebagai milik kelas B. Ini juga dapat ditulis sebagai vektor keanggotaan[A=0,B=1,C=0]. Dalam notasi ini, keanggotaan parsial akan menjadi mis[A=0.05,B=0.95,C=0] dll.

    • interpretasi yang berbeda dapat berlaku, tergantung pada masalahnya (keanggotaan fuzzy atau probabilitas):

      • fuzzy: sebuah case dapat menjadi setengah dari kelas A dan setengah ke kelas C: [0,5, 0, 0,5]
      • probabilitas: referensi (mis. sampel pakar mengklasifikasikan) adalah 80% yakin bahwa itu milik kelas A tetapi mengatakan 20% kemungkinan ada bahwa itu adalah kelas C sambil memastikan itu bukan kelas B (0%): [0,8, 0 , 0,2].
      • probabilitas lain: suara panel ahli: 4 dari 5 pakar mengatakan "A", 1 mengatakan "C": lagi [0,8, 0, 0,2]
    • untuk prediksi, mis. probabilitas posterior tidak hanya mungkin tetapi sebenarnya cukup umum

    • juga dimungkinkan untuk menggunakan ini untuk pelatihan
    • dan bahkan validasi

    • Ide keseluruhan dari hal ini adalah bahwa untuk kasus-kasus batas mungkin tidak mungkin untuk menetapkan mereka secara jelas ke satu kelas.

    • Apakah dan bagaimana Anda ingin "mengeraskan" prediksi halus (misal probabilitas posterior) menjadi label kelas "normal" yang sesuai dengan keanggotaan 100% untuk kelas itu sepenuhnya terserah Anda. Anda bahkan dapat mengembalikan hasilnya "ambigu" untuk probabilitas posterior menengah. Yang masuk akal tergantung pada aplikasi Anda.

Dalam R eg nnet:::multinomyang merupakan bagian dari MASS tidak menerima data tersebut untuk pelatihan. JST dengan sigmoid logistik dan tanpa lapisan tersembunyi digunakan di belakang layar.
Saya mengembangkan paket softclassvaluntuk bagian validasi.

Pengklasifikasi satu kelas dijelaskan dengan baik dalam Richard G. Brereton: Chemometrics for Pattern Recognition, Wiley, 2009.

Kami memberikan diskusi yang lebih rinci tentang keanggotaan parsial dalam makalah ini: Claudia Beleites, Kathrin Geiger, Matthias Kirsch, Stephan B Sobottka, Gabriele Schackert & Reiner Salzer: penilaian spektroskopi Raman dari jaringan astrocytoma: menggunakan informasi referensi lembut. Anal Bioanal Chem, 2011, Vol. 400 (9), hlm. 2801-2816

cbeleites tidak senang dengan SX
sumber
Bisakah Anda menguraikan?
user721975
@ user721975: Masih melakukan ini ...
cbeleites tidak senang dengan SX
Terima kasih atas jawaban anda. Jika saya mengerti Anda benar, opsi 1 berarti Anda membangun serangkaian classifier LR biner (1-vs-semua). Saya rasa saya tidak mendapatkan opsi 2. Apakah Anda meminta saya untuk membangun LR sinlge yang memberikan distribusi probabilitas di semua kelas? Pertanyaannya kemudian adalah bagaimana cara memutuskan kelas mana yang akan ditugaskan untuk data? Semacam Thresholding? Yang mana / bagaimana?
user721975
@ user721975: bagian 1: ya. bagian 2: Saya akan mengedit jawaban untuk lebih jelas.
cbeleites tidak senang dengan SX
@ user721975: (2) "single" LR agak ambigu: setidaknya jika ada lebih dari 2 kelas Anda akan memiliki model multinomial. Mungkin Anda perlu memberi tahu kami lebih banyak tentang aplikasi Anda untuk mendapatkan jawaban yang lebih terperinci.
cbeleites tidak senang dengan SX
1

Salah satu cara mudah untuk melakukan klasifikasi multi-label dengan multi-class classifier (seperti regresi logistik multinomial) adalah dengan menetapkan setiap kemungkinan penugasan label untuk kelasnya sendiri. Misalnya, jika Anda melakukan klasifikasi multi-label biner dan memiliki 3 label, Anda dapat menetapkan

[0 0 0] = 0
[0 0 1] = 1
[0 1 0] = 2

dan seterusnya, menghasilkan 23=8 kelas.

Masalah yang paling jelas dengan pendekatan ini adalah Anda dapat berakhir dengan sejumlah besar kelas bahkan dengan jumlah label yang relatif kecil (jika Anda memiliki n label yang Anda butuhkan 2nkelas). Anda juga tidak akan dapat memprediksi penetapan label yang tidak ada dalam dataset Anda, dan Anda akan menggunakan data Anda dengan agak buruk, tetapi jika Anda memiliki banyak data, dan cakupan yang baik dari kemungkinan pemberian label tersebut , hal-hal ini mungkin tidak masalah.

Bergerak lebih dari ini dan apa yang disarankan oleh orang lain, Anda mungkin ingin melihat algoritma prediksi terstruktur seperti bidang acak bersyarat.

alto
sumber
0

Masalah ini juga terkait dengan pembelajaran sensitif biaya di mana memprediksi label untuk sampel dapat dikenakan biaya. Untuk sampel multi-label biaya untuk label tersebut rendah sedangkan biaya untuk label lain lebih tinggi.

Anda dapat melihat tutorial ini yang juga dapat Anda temukan di sini .

Abu
sumber