apa yang membuat jaringan saraf model klasifikasi nonlinier?

18

Saya mencoba memahami makna matematika dari model klasifikasi non-linear:

Saya baru saja membaca sebuah artikel yang berbicara tentang jaring saraf menjadi model klasifikasi non-linear.

Tapi saya baru sadar bahwa:

masukkan deskripsi gambar di sini

Lapisan pertama:

h1=x1wx1h1+x2wx1h2

h2=x1wx2h1+x2wx2h2

Lapisan selanjutnya

y=bwby+h1wh1y+h2wh2y

Dapat disederhanakan menjadi

=b+(x1wx1h1+x2wx1h2)wh1y+(x1wx2h1+x2wx2h2)wh2y

=b+x1(wh1ywx1h1+wx2h1wh2y)+x2(wh1ywx1h1+wx2h2wh2y)

Jaringan neural dua lapis hanyalah regresi linier sederhana

=b+x1W1+x2W2

Ini dapat ditunjukkan ke sejumlah lapisan, karena kombinasi linier dari sejumlah bobot pun linier.

Apa yang benar-benar membuat jaring saraf model klasifikasi non linier?
Bagaimana fungsi aktivasi akan berdampak pada nonlinieritas model?
Bisakah Anda jelaskan?

Alvaro Joao
sumber

Jawaban:

18

Saya pikir Anda lupa fungsi aktivasi dalam node dalam jaringan saraf, yang non-linear dan akan membuat seluruh model non-linear.

Dalam rumus Anda tidak sepenuhnya benar, di mana,

h1w1x1+w2x2

tapi

h1=sigmoid(w1x1+w2x2)

di mana fungsi sigmoid seperti ini,sigmoid(x)=11+ex

masukkan deskripsi gambar di sini

Mari kita gunakan contoh numerik untuk menjelaskan dampak dari fungsi sigmoid, misalkan Anda memiliki lalu . Di sisi lain, misalkan Anda memiliki , dan hampir sama dengan , yang non-linear.w1x1+w2x2=4sigmoid(4)=0.99w1x1+w2x2=4000sigmoid(4000)=1sigmoid(4)


Selain itu, saya pikir slide 14 dalam tutorial ini dapat menunjukkan di mana Anda melakukan kesalahan sebenarnya. Untuk tolong bukan otuput bukan -7.65, tetapi sigmoid ( - 7.65 )H1sigmoid(7.65)

masukkan deskripsi gambar di sini

Haitao Du
sumber
1
Bagaimana fungsi aktivasi akan berdampak pada non linieritas model? Bisakah Anda jelaskan?
Alvaro Joao
3

Anda benar bahwa beberapa lapisan linear dapat setara dengan satu lapisan linear. Seperti jawaban lain mengatakan, fungsi aktivasi nonlinier memungkinkan klasifikasi nonlinier. Mengatakan bahwa sebuah classifier adalah nonlinier berarti bahwa ia memiliki batas keputusan nonlinier. Batas keputusan adalah permukaan yang memisahkan kelas; classifier akan memprediksi satu kelas untuk semua poin di satu sisi batas keputusan, dan kelas lain untuk semua poin di sisi lain.

Mari kita pertimbangkan situasi umum: melakukan klasifikasi biner dengan jaringan yang berisi banyak lapisan unit tersembunyi nonlinear dan unit output dengan fungsi aktivasi sigmoidal. memberikan output, adalah vektor aktivasi untuk lapisan tersembunyi terakhir, adalah vektor bobotnya ke unit output, dan adalah bias unit output. Outputnya adalah:yhwb

y=σ(hw+b)

di mana adalah fungsi sigmoid logistik. Output diartikan sebagai probabilitas bahwa kelasnya adalah . Kelas prediksi adalah:σ1c

c={0y0.51y>0.5

Mari kita pertimbangkan aturan klasifikasi sehubungan dengan aktivasi unit tersembunyi. Kita dapat melihat bahwa aktivasi unit tersembunyi diproyeksikan ke garis . Aturan untuk menetapkan kelas adalah fungsi dari , yang secara monoton terkait dengan proyeksi sepanjang garis. Oleh karena itu, aturan klasifikasi setara dengan menentukan apakah proyeksi sepanjang garis kurang dari atau lebih besar dari beberapa ambang batas (dalam hal ini, ambang batas tersebut diberikan oleh negatif bias). Ini berarti bahwa batas keputusan adalah hyperplane yang ortogonal ke garis, dan memotong garis pada titik yang sesuai dengan ambang batas itu.yhW+by

Saya katakan sebelumnya bahwa batas keputusan adalah nonlinier, tetapi hyperplane adalah definisi batas linear. Tapi, kami telah mempertimbangkan batas sebagai fungsi dari unit tersembunyi tepat sebelum output. Aktivasi unit tersembunyi adalah fungsi nonlinier dari input asli, karena lapisan tersembunyi sebelumnya dan fungsi aktivasi nonliniernya. Salah satu cara untuk berpikir tentang jaringan adalah memetakan data secara nonlinier ke beberapa ruang fitur. Koordinat di ruang ini diberikan oleh aktivasi unit tersembunyi terakhir. Jaringan kemudian melakukan klasifikasi linier dalam ruang ini (regresi logistik, dalam hal ini). Kita juga dapat berpikir tentang batas keputusan sebagai fungsi dari input asli. Fungsi ini akan nonlinier, sebagai konsekuensi dari pemetaan nonlinier dari input ke aktivasi unit tersembunyi.

Posting blog ini menunjukkan beberapa angka bagus dan animasi dari proses ini.

pengguna20160
sumber
1

Ketidaklinieran berasal dari fungsi aktivasi sigmoid, 1 / (1 + e ^ x), di mana x adalah kombinasi linear dari prediktor dan bobot yang Anda rujuk dalam pertanyaan Anda.

Omong-omong, batas-batas aktivasi ini adalah nol dan satu karena penyebutnya menjadi terlalu besar sehingga fraksi mendekati nol, atau e ^ x menjadi sangat kecil sehingga fraksi mendekati 1/1.

Ryan Zotti
sumber