Jaringan saraf tiruan EQUIVALENT to regresi linier dengan fitur polinomial?

11

Saya ingin meningkatkan pemahaman saya tentang jaringan saraf dan manfaatnya dibandingkan dengan algoritma pembelajaran mesin lainnya. Pemahaman saya seperti di bawah ini dan pertanyaan saya adalah:

Bisakah Anda memperbaiki dan menambah pemahaman saya? :)

Pemahaman saya:

(1) Jaringan saraf tiruan = Suatu fungsi, yang memprediksi nilai output dari nilai input. Menurut Teorema Approximation Universal ( https://en.wikipedia.org/wiki/Universal_approximation_theorem ), Anda biasanya dapat memiliki fungsi prediksi yang mungkin (meskipun harus berperilaku baik), dengan diberikan neuron yang cukup.

(2) Hal yang sama berlaku untuk regresi linier, dengan mengambil polinomial dari nilai input sebagai nilai input tambahan, karena Anda dapat memperkirakan (membandingkan ekspansi Taylor) setiap fungsi dengan baik oleh polinomial.

(3) Ini berarti, bahwa (dalam arti, sehubungan dengan hasil terbaik), kedua metode itu setara.

(4) Oleh karena itu, perbedaan utama mereka terletak pada metode mana yang cocok untuk implementasi komputasi yang lebih baik. Dengan kata lain, dengan metode mana Anda dapat menemukan, berdasarkan contoh pelatihan, nilai yang lebih baik untuk parameter yang akhirnya menentukan fungsi prediksi.

Saya menyambut setiap pemikiran, komentar dan rekomendasi untuk tautan atau buku lain untuk meningkatkan pemikiran saya.

tyrex
sumber
2
Harus dipindahkan ke math.stackexchange.com Jaringan saraf dengan aktivasi mendekati sembarang fungsi halus tetapi mereka memiliki satu fitur lagi: kelancaran (penskalaan bobot) tergantung pada intinya, ini adalah kunci menuju global yang baik perkiraan. Anda tidak dapat mencapainya dengan pendekatan polinomial (diberikan fungsi kontinu, bawa konvolusi dengan dan gunakan beberapa istilah pertama ekspansi Taylor di sekitar titik tertentu, yang hanya memberikan pendekatan lokal yang baik )tanhndeπ|nx|2
user1952009
@ user1952009 - bukankah Stone-Weierstrass menyiratkan aproksimasi global yang sewenang-wenang, karena keseragaman aproksimasi dalam teorema?
jbowman
@jbowman Ini melakukan pendekatan lokal yang baik: untuk setiap kontinu, dan ada fungsi halus, analitik atau polinomial (seperti yang Anda inginkan) sedemikian rupa sehingga . Begitu juga jaringan saraf, tetapi fitur ini dapat mengambil banyak pendekatan lokal yang berbeda (sekitar berbeda ) dan mencampurnya untuk mendapatkan semacam pendekatan global. frϵfr,ϵsup|x|r|f(x)fr,ϵ(x)|ϵx0
user1952009
1
Ini berpotensi merupakan duplikat dari stats.stackexchange.com/questions/41289/... Saya akan menandai pertanyaan ini, tetapi dengan hadiahnya, saya kira saya hanya akan berkomentar di sini :)
Hugh Perkins
1
+1 @HughPerkins untuk tautan ke terkait terkait Q. Tapi, meskipun jawaban dalam pertanyaan terkait memberikan wawasan tentang pertanyaan di sini (misalnya, seperti dijelaskan Stephan Kolassa aNN memperhitungkan non-linearitas sebagai default sedangkan regresi hanya melakukannya ketika secara khusus dimodelkan melalui teknik tambahan) Saya tidak akan menandai untuk duplikat . Anda bertanya jenis model mana yang dapat memberikan hasil yang lebih baik, sementara pertanyaan ini secara khusus meminta untuk menjelaskan apakah dua metode memiliki hasil yang sama dan generalisasi.
IWS

Jawaban:

7

Inilah kesepakatannya:

Secara teknis Anda memang menulis kalimat yang benar (kedua model dapat memperkirakan fungsi 'tidak terlalu gila' dengan parameter yang cukup), tetapi kalimat-kalimat itu tidak membuat Anda ke mana pun!

Mengapa demikian? Nah, lihat lebih dekat pada teori aproksimasi universal, atau bukti formal lainnya bahwa jaringan saraf dapat menghitung f (x) jika ada neuron CUKUP.

Semua jenis bukti yang saya lihat hanya menggunakan satu lapisan tersembunyi.

Lihatlah di sini http://neuralnetworksanddeeplearning.com/chap5.html untuk intuisi. Ada karya yang menunjukkan bahwa jumlah neuron yang dibutuhkan tumbuh secara eksponensial jika Anda hanya menggunakan satu lapisan.

Jadi, sementara dalam teori Anda benar, dalam praktiknya, Anda tidak memiliki jumlah memori yang tak terbatas, jadi Anda tidak benar-benar ingin melatih jaring 2 ^ 1000 neuron, bukan? Bahkan jika Anda memang memiliki jumlah memori yang tak terbatas, jaring itu pasti akan sesuai.

Menurut saya, poin terpenting dari ML adalah poin praktis! Mari kita bahas sedikit tentang itu. Masalah besar sebenarnya di sini bukan hanya bagaimana polinomial naik / turun dengan sangat cepat di luar rangkaian pelatihan. Tidak semuanya. Sebagai contoh cepat, piksel gambar apa pun berada dalam kisaran yang sangat spesifik ([0,255] untuk setiap warna RGB) sehingga Anda dapat yakin bahwa sampel baru akan berada dalam kisaran nilai rangkaian pelatihan Anda. Tidak. Masalah besarnya adalah: Perbandingan ini tidak berguna untuk memulai dengan (!).

Saya menyarankan Anda untuk sedikit bereksperimen dengan MNIST, dan mencoba dan melihat hasil aktual yang dapat Anda buat dengan menggunakan hanya satu lapisan.

Jaring praktis menggunakan cara lebih dari satu lapisan tersembunyi, kadang-kadang lusinan (well, Resnet bahkan lebih ...) dari lapisan. Untuk sebuah alasan. Alasan itu tidak terbukti, dan secara umum, memilih arsitektur untuk jaringan syaraf adalah bidang penelitian yang panas. Dengan kata lain, sementara kita masih perlu tahu lebih banyak, kedua model yang telah Anda bandingkan (regresi linier dan NN hanya dengan satu lapisan tersembunyi), untuk banyak set data, tidak berguna sama sekali!

Omong-omong, jika Anda akan masuk ke ML, ada teorema lain yang tidak berguna yang sebenarnya merupakan 'area penelitian' saat ini - PAC (mungkin kira-kira benar) / dimensi VC. Saya akan mengembangkannya sebagai bonus:

Jika perkiraan universal pada dasarnya menyatakan bahwa dengan memberikan jumlah neuron yang tak terbatas, kita dapat memperkirakan fungsi apa pun (terima kasih banyak?), Yang dikatakan PAC dalam istilah praktis adalah, mengingat (secara praktis!) Jumlah tak terbatas contoh berlabel yang bisa kita dapatkan sedekat yang kita bisa ingin hipotesis terbaik dalam model kami. Itu benar-benar lucu ketika saya menghitung jumlah aktual contoh yang diperlukan untuk jaring praktis berada dalam beberapa tingkat kesalahan praktis yang diinginkan dengan beberapa probabilitas okish :) Itu lebih dari jumlah elektron di alam semesta. PS untuk meningkatkannya juga mengasumsikan bahwa sampel adalah IID (itu tidak pernah benar!).

Yoni Keren
sumber
Jadi, apakah jaringan saraf tiruan setara dengan regresi linier dengan fitur polinomial atau tidak? Jawaban Anda tampaknya berfokus pada jumlah lapisan dan neuron yang dibutuhkan, tetapi tidak menjelaskan mengapa kedua analisis ini harus / bisa setara. Apakah menambahkan lebih banyak (tersembunyi) lapisan membuat jaringan saraf mampu menangani (bahkan) lebih banyak fungsi daripada regresi dengan polinomial? Dan, ketika OP bertanya-tanya dalam jawabannya sendiri, bagaimana dengan validitas eksternal / out-of-sample kinerja model-model ini (dan pertukaran antara menggunakan pilihan model yang lebih rumit dan kinerja)?
IWS
Saya merujuk Anda pada kalimat pertama saya: "Secara teknis Anda memang menulis kalimat yang benar".
Yoni Keren
Yah, saya bertanya karena alasan pernyataan Anda bahwa 'OP menulis kalimat yang benar' tidak jelas bagi saya berdasarkan jawaban Anda. Apakah Anda akan berbaik hati menjelaskan hal ini?
IWS
Tentunya. Apakah ini lebih baik, atau apakah Anda menemukan hal lain yang masih belum jelas?
Yoni Keren
7

Memang benar bahwa setiap fungsi dapat didekati secara sewenang-wenang baik oleh sesuatu yang dianggap sebagai jaringan saraf dan sesuatu yang dianggap sebagai polinomial.

Pertama-tama, perlu diingat bahwa ini berlaku untuk banyak konstruksi. Anda dapat memperkirakan fungsi apa pun dengan menggabungkan sinus dan cosinus (transformasi Fourier), atau hanya dengan menambahkan banyak "persegi panjang" (bukan definisi yang tepat, tapi saya harap Anda mengerti maksudnya).

Kedua, sama seperti jawaban Yoni, setiap kali Anda melatih jaringan, atau menyesuaikan regresi dengan banyak kekuatan, jumlah neuron, atau jumlah kekuatan, adalah tetap. Kemudian Anda menerapkan beberapa algoritma, mungkin gradient descent atau sesuatu, dan menemukan parameter terbaik dengan itu. Parameternya adalah bobot dalam jaringan, dan koefisien untuk polinomial besar. Kekuatan maksimum yang Anda ambil dalam polinomial, atau jumlah neuron yang digunakan, disebut hiperparameter. Dalam praktiknya, Anda akan mencoba beberapa di antaranya. Anda dapat membuat case bahwa parameter adalah parameter, tentu saja, tetapi bukan itu yang dilakukan dalam praktiknya.

Intinya, dengan pembelajaran mesin, Anda tidak benar-benar menginginkan fungsi yang sesuai dengan data Anda dengan sempurna. Sebenarnya itu tidak terlalu sulit untuk dicapai. Anda menginginkan sesuatu yang cocok, tetapi mungkin juga cocok untuk poin yang belum Anda lihat. Lihat gambar ini misalnya, diambil dari dokumentasi untuk scikit-learn.

Garis terlalu sederhana, tetapi perkiraan terbaik tidak di kanan, itu di tengah, meskipun fungsi di kanan paling cocok. Fungsi di sebelah kanan akan membuat beberapa prediksi yang cukup aneh (dan mungkin kurang optimal) untuk titik data baru, terutama jika mereka berada di dekat bit gerak di sebelah kiri.

Alasan utama untuk jaringan saraf dengan beberapa parameter bekerja dengan baik, adalah bahwa mereka dapat memuat sesuatu tetapi tidak benar-benar mengenakannya. Ini juga ada hubungannya dengan cara mereka dilatih, dengan beberapa bentuk keturunan gradien stokastik.

Gijs
sumber
2

Karena belum ada jawaban yang diberikan (meskipun saya akan menerima komentar dari pengguna1952009 apakah itu diposting sebagai jawaban), izinkan saya berbagi apa yang telah saya pelajari sementara itu:

(1) Menurut saya, pemahaman saya pada umumnya benar, tetapi iblis ada dalam rinciannya.

(2) Satu hal yang terlewatkan dalam "pemahaman saya": Seberapa baik hipotesis parametri akan digeneralisasikan ke data di luar rangkaian pelatihan? Sifat non-polinom dari prediksi jaringan saraf mungkin lebih baik di sana daripada regresi linier / polinomial sederhana (ingat bagaimana polinomial naik / turun dengan sangat cepat di luar rangkaian pelatihan).

(3) Tautan yang lebih jauh menjelaskan pentingnya kemampuan untuk menghitung parameter dengan cepat: http://www.heatonresearch.com/2017/06/01/hidden-layers.html

tyrex
sumber
2

Mungkin tulisan ini dapat membantu Anda:

Regresi Polinomial Sebagai Alternatif Jaring Saraf Tiruan

Abstrak mengatakan:

Meskipun keberhasilan jaringan saraf (NN), masih ada kekhawatiran di antara banyak orang atas sifat "kotak hitam" mereka. Kenapa mereka bekerja? Di sini kami menyajikan argumen analitik sederhana bahwa NN pada dasarnya adalah model regresi polinomial. Pandangan ini akan memiliki berbagai implikasi untuk NNs, misalnya memberikan penjelasan mengapa masalah konvergensi muncul di NNs, dan itu memberikan panduan kasar tentang menghindari overfitting. Selain itu, kami menggunakan fenomena ini untuk memprediksi dan mengkonfirmasi properti multicollinearity NNs yang sebelumnya tidak dilaporkan dalam literatur. Yang paling penting, mengingat korespondensi longgar ini, seseorang dapat memilih untuk secara rutin menggunakan model polinomial daripada NN, sehingga menghindari beberapa masalah utama yang terakhir, seperti harus mengatur banyak parameter penyetelan dan berurusan dengan masalah konvergensi. Kami menyajikan sejumlah hasil empiris; dalam setiap kasus, keakuratan pendekatan polinom cocok atau melebihi dari pendekatan NN. Tersedia paket perangkat lunak sumber terbuka banyak fitur, polyreg, tersedia.

lucazav
sumber