Untuk mengilustrasikan pertanyaan saya, anggaplah saya memiliki perangkat pelatihan di mana input memiliki tingkat kebisingan tetapi hasilnya tidak, misalnya;
# Training data
[1.02, 1.95, 2.01, 3.06] : [1.0]
[2.03, 4.11, 5.92, 8.00] : [2.0]
[10.01, 11.02, 11.96, 12.04] : [1.0]
[2.99, 6.06, 9.01, 12.10] : [3.0]
di sini output adalah gradien dari array input jika tidak bersuara (bukan gradien yang sebenarnya).
Setelah melatih jaringan, hasilnya akan terlihat seperti ini untuk input yang diberikan.
# Expected Output
[1.01, 1.96, 2.00, 3.06] : 95% confidence interval of [0.97, 1.03]
[2.03, 4.11, 3.89, 3.51] : 95% confidence interval of [2.30, 4.12]
Pertanyaan saya adalah bagaimana jaringan saraf dapat dibuat sehingga akan mengembalikan nilai prediksi dan ukuran kepercayaan, seperti varian atau interval kepercayaan?
Jawaban:
Kedengarannya seperti Anda mencari interval prediksi , yaitu interval yang berisi persentase yang ditentukan sebelumnya dari realisasi masa depan. (Lihatlah tag wiki untuk interval prediksi dan interval kepercayaan untuk perbedaannya.)
Taruhan terbaik Anda kemungkinan akan bekerja secara langsung dengan arsitektur NN yang tidak menghasilkan prediksi titik tunggal, tetapi seluruh distribusi prediksi . Anda kemudian dapat secara langsung mengekstrak interval prediksi yang diinginkan (atau rata-rata, atau prediksi titik tengah) dari distribusi ini. Saya dan yang lainnya berpendapat bahwa distribusi prediktif jauh lebih berguna daripada prediksi titik , tetapi jujur saja, saya belum melihat banyak pekerjaan pada distribusi prediktif dengan jaring saraf, meskipun saya tetap membuka mata. Makalah ini sepertinya bermanfaat. Anda mungkin ingin mencari sedikit, mungkin juga menggunakan kata kunci lain seperti "perkiraan distribusi" atau "kepadatan prediksi" dan semacamnya.
Yang mengatakan, Anda mungkin ingin melihat ke dalam algoritma NeuroBayes Michael Feindt , yang menggunakan pendekatan Bayesian untuk memperkirakan kepadatan prediksi.
sumber
Saya tidak yakin Anda dapat menghitung interval kepercayaan untuk satu prediksi, tetapi Anda memang bisa menghitung interval kepercayaan untuk tingkat kesalahan dari seluruh dataset (Anda dapat menyamaratakan akurasi dan ukuran apa pun yang Anda nilai).
Jika adalah tingkat kesalahan Anda saat mengklasifikasikan beberapa data S ukuran n , interval kepercayaan 95% untuk tingkat kesalahan Anda diberikan oleh: e ± 1,96 √e S n .
(lihat buku "Pembelajaran Mesin" dari Tom Mitchell, bab 5.)
EDIT
Kira saya harus menyatakan kasus yang lebih umum, yaitu: mana pilihan umum untukzNtercantum dalam tabel berikut:
sumber
Interval prediksi (PI) dalam regresi non parametrik & masalah klasifikasi, seperti jaring saraf, SVM, hutan acak, dll. Sulit dibangun. Saya ingin mendengar pendapat lain tentang ini.
Namun, sejauh yang saya tahu, Conformal Prediction (CP) adalah satu-satunya metode berprinsip untuk membangun PI yang dikalibrasi untuk prediksi dalam masalah regresi dan klasifikasi nonparametrik. Untuk tutorial tentang CP, lihat Shfer & Vovk (2008), J. Machine Learning Research 9 , 371-421 [pdf]
sumber
Saya tidak tahu metode apa pun untuk melakukannya dengan cara yang tepat.
sumber
Saya belum pernah mendengar metode apa pun yang memberikan interval kepercayaan untuk prediksi jaringan saraf. Meskipun kurangnya metodologi formal, sepertinya layak untuk membangunnya. Saya belum pernah mencoba ini karena daya hitung yang akan dibutuhkan dan saya tidak mengklaim ini bekerja dengan pasti, tetapi satu metode yang mungkin bekerja untuk jaringan saraf yang kecil (atau dengan kekuatan GPU yang sangat cepat, ia dapat bekerja untuk jaring berukuran sedang ) adalah untuk menguji ulang set pelatihan dan membangun banyak jaringan yang serupa (katakan 10.000 kali) dengan parameter dan pengaturan awal yang sama, dan bangun interval kepercayaan berdasarkan prediksi untuk masing-masing net bootstrap Anda.
Misalnya, dalam 10.000 jaringan yang dilatih seperti dibahas di atas, seseorang mungkin mendapatkan 2,0 (setelah membulatkan prediksi regresi jaringan saraf) 9.000 kali, sehingga Anda akan memprediksi 2,0 dengan CI 90%. Anda kemudian dapat membangun array CI untuk setiap prediksi yang dibuat dan memilih mode untuk dilaporkan sebagai CI utama.
sumber
Dalam hal langsung menghasilkan interval prediksi, ada makalah 2011 ' Tinjauan Komprehensif Interval Prediksi Berbasis Jaringan Neural '
Mereka membandingkan empat pendekatan:
1: Metode Delta 2: Metode Bayesian 3: Estimasi varians rata-rata 4: Bootstrap
Penulis yang sama kemudian mengembangkan Metode Estimasi Batas Atas Bawah untuk Pembangunan Interval Prediksi Berbasis Jaringan Saraf yang secara langsung mengeluarkan batas bawah dan atas dari NN. Sayangnya itu tidak bekerja dengan backprop, tetapi pekerjaan baru-baru ini memungkinkan Interval Prediksi Berkualitas Tinggi untuk Pembelajaran Jauh .
Alternatif untuk langsung menghasilkan interval prediksi, Bayesian neural networks (BNNs) memodelkan ketidakpastian dalam parameter NN, dan karenanya menangkap ketidakpastian pada output. Ini sulit dilakukan, tetapi metode populer termasuk berjalan dropout MC pada waktu prediksi, atau ansambel .
sumber
Sebenarnya ada cara untuk melakukan ini menggunakan dropout. Jalankan evaluasi dengan dropout diaktifkan (biasanya dinonaktifkan untuk evaluasi tetapi dihidupkan saat pelatihan), dan jalankan evaluasi beberapa kali.
Distribusi hasil dari beberapa proses yang berbeda dapat digunakan sebagai interval kepercayaan.
Lihat makalah " Putus Sekolah sebagai Perkiraan Bayesian: Mewakili Ketidakpastian Model dalam Pembelajaran Mendalam " Tonton presentasi youtube Andrew Rowan - Bayesian Pembelajaran Dalam dengan Edward (dan trik menggunakan Dropout)
sumber
Tidak mungkin, semua model ML bukan tentang pemahaman fenomenal, ini metode interpolasi dengan harapan "berhasil". Mulailah dengan pertanyaan seperti itu, percaya diri hingga tidak ada jawaban.
Jadi untuk mendapatkan sesuatu, silakan gunakan berbagai ilmu terapan dan fundamental:
Gunakan kontrol (dan buat asumsi tentang dinamika)
Gunakan optimasi cembung (dengan beberapa kondisi tambahan berfungsi)
Gunakan statistik matematika (dengan asumsi awal tentang distribusi)
Gunakan pemrosesan sinyal (dengan beberapa asumsi sinyal terbatas pita)
Ilmuwan menggunakan beberapa asumsi awal (disebut aksioma) untuk mendapatkan sesuatu.
Tidak ada cara untuk memberikan kepercayaan apa pun tanpa asumsi awal, jadi masalah bukan pada DL mehtod, tapi itu masalah dalam metode apa pun yang mencoba melakukan interpolasi tanpa asumsi awal APAPUN - tidak ada cara untuk mendapatkan aljabar sesuatu dengan cerdas tanpa asumsi.
NN dan berbagai metode ML adalah untuk prototyping cepat untuk membuat "sesuatu" yang tampaknya berfungsi "entah bagaimana" diperiksa dengan validasi silang.
Bahkan lebih dalam lagi, regresi pas E [Y | X] atau perkiraannya bisa menjadi masalah yang benar-benar salah untuk dipecahkan (mungkin pdf dalam poin Y = E [Y | X] memiliki minimum, tidak maksimal), dan ada banyak hal halus seperti itu. sesuatu.
Juga izinkan saya mengingatkan dua masalah yang tidak terpecahkan dalam AI / ML, yang bisa karena beberapa alasan dilupakan, di balik slogan-slogan kecantikan:
(1) Ini metode interpolasi, bukan ekstrapolasi - tidak memiliki kemampuan untuk menangani masalah baru
(2) tidak ada yang tahu bagaimana model apa pun akan berperilaku pada data yang bukan dari distribusi yang sama (pria berkostum pisang untuk lokalisasi pejalan kaki)
sumber
Artikel ini adalah presentasi menarik dari teknik berdasarkan dropout:
http://mlg.eng.cam.ac.uk/yarin/blog_3d801aa532c1ce.html
sumber