Bagaimana cara kerja multiclass perceptron?

13

Saya tidak memiliki latar belakang dalam matematika, tetapi saya mengerti bagaimana Perceptron sederhana bekerja dan saya pikir saya memahami konsep hyperplane (saya membayangkannya secara geometris sebagai sebuah pesawat dalam ruang 3D yang memisahkan dua titik awan, seperti garis yang memisahkan awan dua titik dalam ruang 2D).

Tapi saya tidak mengerti bagaimana satu pesawat atau satu garis dapat memisahkan tiga titik awan yang berbeda dalam ruang 3D atau dalam ruang 2D, masing-masing - ini secara geometris tidak mungkin, bukan?

Saya mencoba untuk memahami bagian yang sesuai dalam artikel Wikipedia , tetapi sudah gagal total pada kalimat "Di sini, input x dan output y diambil dari set arbitrer". Dapatkah seseorang menjelaskan perceptron multi-kelas kepada saya dan bagaimana ia berjalan dengan gagasan hyperplane, atau mungkin mengarahkan saya ke penjelasan yang tidak terlalu matematis?

wnstnsmth
sumber

Jawaban:

8

Misalkan kita memiliki data mana adalah vektor input dan adalah klasifikasi.x iR n y i{ merah, biru, hijau }(x1,y1),,(xk,yk)xiRnyi{red, blue, green}

Kami tahu bagaimana membangun classifier untuk hasil biner, jadi kami melakukan ini tiga kali: kelompokkan hasilnya bersama, , \ {\ text {biru, merah atau hijau} \} dan \ {\ text {hijau, biru atau merah} \} .{ biru, merah atau hijau } { hijau, biru atau merah }{red, blue or green}{blue, red or green}{green, blue or red}

Setiap model mengambil bentuk fungsi , sebut masing-masing . Ini mengambil vektor input ke jarak yang ditandatangani dari hyperplane yang terkait dengan masing-masing model, di mana jarak positif sesuai dengan prediksi biru jika , merah jika dan hijau jika . Pada dasarnya semakin positif , semakin banyak model berpikir bahwa berwarna hijau, dan sebaliknya. Kita tidak perlu output menjadi probabilitas, kita hanya perlu bisa mengukur seberapa percaya diri model itu.f R , f B , f G f B f R f G f G ( x ) xf:RnRfR,fB,fGfBfRfGfG(x)x

Diberikan input , kami mengklasifikasikannya menurut , jadi jika adalah yang terbesar di antara kita akan memprediksi hijau untuk .xargmaxc fc(x)fG(x){fG(x),fB(x),fR(x)}x

Strategi ini disebut "satu lawan semua", dan Anda dapat membacanya di sini .

Harri
sumber
3

Saya tidak bisa memahami artikel Wiki sama sekali. Berikut adalah alternatif untuk menjelaskannya.

Sebuah perceptron dengan satu simpul keluaran logistik adalah jaringan klasifikasi untuk 2 kelas. Ini output , probabilitas berada di salah satu kelas, dengan probabilitas berada di kelas lain hanya .p1p

Sebuah perceptron dengan dua node output adalah jaringan klasifikasi untuk 3 kelas. Dua node masing-masing mengeluarkan probabilitas berada di kelas , dan probabilitas berada di kelas ketiga adalah .pi1i=(1,2)pi

Dan seterusnya; perceptron dengan output node adalah classifier untuk kelas . Memang, jika tidak ada lapisan tersembunyi, perceptron semacam itu pada dasarnya sama dengan model regresi logistik multinomial , sama seperti perceptron sederhana sama dengan regresi logistik.mm+1

Hong Ooi
sumber
Apakah Anda yakin bahwa outputnya adalah probabilitas aktual? Lagi pula, saya tidak tahu bagaimana regresi logistik multinomial bekerja, jadi saya harus memeriksanya. Tetapi tidak adakah cara (algoritmik) untuk menjelaskan bagaimana perceptron dengan dua atau lebih node output dibangun? Apakah mereka dirantai bersama?
wnstnsmth