Apakah ada cara sederhana untuk menghitung bobot perceptron berdasarkan grafik klasifikasi?

8

Saya sedang belajar untuk ujian AI dan saya sedang mencari cara yang lebih baik untuk menyelesaikan masalah berikut:

Grafik menunjukkan masalah klasifikasi dalam satuan kuadrat , di mana Kelas A dilambangkan dengan area abu-abu pada gambar (tidak termasuk titik pada garis putus-putus), dan Kelas B terjadi sebaliknya.[0,1]2

Grafik menunjukkan masalah klasifikasi dalam satuan kuadrat [0,1] ^ 2

Untuk mengatasi masalah ini, ada kebutuhan untuk membangun 2 perceptrons: kedua perceptrons menghasilkan 1 jika input terletak di area abu-abu, dan setidaknya salah satu dari perceptrons menghasilkan 0 sebaliknya.

Ada 3 cara untuk menemukan bobot yang sesuai untuk input dan bias yang saya tahu:

  1. Trial and error
  2. Algoritma pembelajaran perceptron (melibatkan bobot acak, laju pembelajaran, banyak zaman)
  3. Cara geometris menemukan vektor bobot (termasuk menemukan garis ortogonal ke fungsi batas)

Semuanya cukup memakan waktu ketika Anda melakukannya hanya dengan pena dan kertas.

Apakah ada cara sederhana untuk menghitung / menemukan bobot perceptron berdasarkan grafik klasifikasi?

BadgerBadger
sumber

Jawaban:

2

berpikir bahwa Anda mungkin agak salah menafsirkan titik pertanyaan. maksud pertanyaan ujian tampaknya adalah, "bobot perceptron apa yang akan dihasilkan untuk masalah klasifikasi ini". alasan untuk ini adalah bahwa seseorang tidak dapat melalui semua langkah dari algoritma yang berjalan lama selama ujian atau bahkan pekerjaan rumah.

jadi kembali ke teori perceptron [yang berusia beberapa dekade] intinya adalah bahwa pengelompokannya didasarkan pada fungsi yang dapat dipisahkan secara linear , yaitu ketidaksetaraan linear . untuk kasus 2d ini menghasilkan geometri aljabar sederhana. dengan kata lain perceptron dapat mengimplementasikan sejumlah ketidaksetaraan linear untuk mencoba membuat klasifikasi. di sini diberikan sebagai . jadi pertanyaan yang mungkin dimaksudkan adalah, "apa dua ketidaksetaraan linear yang akan digunakan oleh algoritma perceptron yang baik untuk masalah ini"n=2

jadi sepertinya mengurangi untuk menemukan koefisien:

y<m1x+b2

y>m2x+b2

jadi gunakan aljabar geometris dasar untuk menentukan koefisien yang bekerja untuk diagram di atas. berdasarkan diagram tidak ada solusi yang sempurna, tetapi yang "bagus". (perhatikan juga bahwa persamaan hanya perlu bekerja dalam )m1,m2,b1,b2[0,1]2

secara intuitif, ini juga agak tersirat dari analisis ini mengapa perceptron sangat terbatas. karena mudah bahkan dalam 2d untuk menggambar masalah klasifikasi yang tidak ada solusi yang dapat dipisahkan secara linear (bentuk cekung, bentuk dengan lubang di dalamnya, dan sebagainya - beberapa petunjuk ini terlihat dalam memperhatikan bentuk di atas sedikit cekung). pengamatan ini, disempurnakan dengan cara yang lebih canggih / formal / matematis / teliti di [1], menyebabkan banyak kontroversi pada saat itu & merupakan debat penting dalam sejarah AI, dan bahkan tampaknya membuat beberapa ilmuwan enggan menyelidiki lebih canggih disimulasikan model jaringan saraf untuk beberapa waktu, meskipun Minsky dengan tegas membantah maksudnya dan mengatakan karyanya disalahtafsirkan.

[1] Perceptrons, oleh Minsky & Papert

vzn
sumber
ps teknik ini tampaknya sesuai dengan poin (3) di atas, menemukan bobot melalui teknik geometris, tetapi tidak benar-benar "memakan waktu" kecuali jika itu adalah objek yang kompleks (misalnya banyak sisi poligon dll)
vzn
dengan kata lain, menemukan garis batas ortogonal geometris memang pada dasarnya "sederhana" dalam kasus 2d karena mengurangi ke geometri aljabar, tetapi tidak dalam dimensi yang lebih tinggi.
vzn