PyBrain - Ikhtisar

Pybrain adalah pustaka sumber terbuka untuk pembelajaran Mesin yang diimplementasikan menggunakan python. Perpustakaan menawarkan kepada Anda beberapa algoritma pelatihan yang mudah digunakan untuk jaringan, kumpulan data, pelatih untuk melatih dan menguji jaringan.

Definisi Pybrain menurut dokumentasi resminya adalah sebagai berikut -

PyBrain adalah Perpustakaan Pembelajaran Mesin modular untuk Python. Sasarannya adalah menawarkan algoritme yang fleksibel, mudah digunakan, namun tetap kuat untuk Tugas Pembelajaran Mesin dan berbagai lingkungan yang telah ditentukan untuk menguji dan membandingkan algoritme Anda.

PyBrain adalah kependekan dari Python-Based Reinforcement Learning, Artificial Intelligence, dan Neural Network Library. Faktanya, kami menemukan nama itu terlebih dahulu dan kemudian merekayasa balik "Backronym" yang cukup deskriptif ini.

Fitur Pybrain

Berikut ini adalah fitur-fitur Pybrain -

Jaringan

Jaringan terdiri dari modul dan dihubungkan menggunakan koneksi. Pybrain mendukung jaringan saraf seperti Feed-Forward Network, Recurrent Network, dll.

feed-forward networkadalah jaringan saraf, di mana informasi antar node bergerak ke arah depan dan tidak akan pernah berjalan mundur. Jaringan Feed Forward adalah yang pertama dan paling sederhana di antara jaringan yang tersedia di jaringan saraf tiruan.

Informasi tersebut diteruskan dari node input, di samping node tersembunyi dan kemudian ke node output.

Recurrent Networksmirip dengan Feed Forward Network; satu-satunya perbedaan adalah ia harus mengingat data di setiap langkah. Sejarah setiap langkah harus disimpan.

Set data

Set data adalah data yang akan diberikan untuk diuji, divalidasi, dan dilatih di jaringan. Jenis kumpulan data yang akan digunakan bergantung pada tugas yang akan kita lakukan dengan Machine Learning. Kumpulan data yang paling umum digunakan yang didukung Pybrain adalahSupervisedDataSet dan ClassificationDataSet.

SupervisedDataSet - Terdiri dari bidang input dan target. Ini adalah bentuk paling sederhana dari kumpulan data dan terutama digunakan untuk tugas pembelajaran yang diawasi.

ClassificationDataSet- Ini terutama digunakan untuk menangani masalah klasifikasi. Dibutuhkaninput, targetlapangan dan juga bidang tambahan yang disebut "kelas" yang merupakan cadangan otomatis dari target yang diberikan. Misalnya, keluarannya akan menjadi 1 atau 0 atau keluaran akan dikelompokkan bersama dengan nilai-nilai berdasarkan masukan yang diberikan, yaitu, apakah itu akan termasuk dalam satu kelas tertentu.

Pelatih

Saat kita membuat jaringan, yaitu jaringan saraf, jaringan itu akan dilatih berdasarkan data pelatihan yang diberikan padanya. Sekarang apakah jaringan dilatih dengan benar atau tidak akan bergantung pada prediksi data pengujian yang diuji pada jaringan itu. Konsep terpenting dalam Pybrain Training adalah penggunaan BackpropTrainer dan TrainUntilConvergence.

BackpropTrainer - Ini adalah pelatih yang melatih parameter modul sesuai dengan kumpulan data yang diawasi atau ClassificationDataSet (berpotensi berurutan) dengan melakukan propagasi balik kesalahan (melalui waktu).

TrainUntilConvergence −Ini digunakan untuk melatih modul pada dataset hingga konvergen.

Alat

Pybrain menawarkan modul alat yang dapat membantu membangun jaringan dengan mengimpor paket: pybrain.tools.shortcuts.buildNetwork

Visualisasi

Data pengujian tidak dapat divisualisasikan menggunakan pybrain. Tetapi Pybrain dapat bekerja dengan kerangka kerja lain seperti Mathplotlib, pyplot untuk memvisualisasikan data.

Keuntungan dari Pybrain

Keuntungan Pybrain adalah -

  • Pybrain adalah perpustakaan gratis sumber terbuka untuk mempelajari Pembelajaran Mesin. Ini adalah awal yang baik untuk setiap pendatang baru yang tertarik dengan Pembelajaran Mesin.

  • Pybrain menggunakan python untuk mengimplementasikannya dan itu membuatnya cepat dalam pengembangan dibandingkan dengan bahasa seperti Java / C ++.

  • Pybrain bekerja dengan mudah dengan pustaka python lainnya untuk memvisualisasikan data.

  • Pybrain menawarkan dukungan untuk jaringan populer seperti Feed-Forward Network, Recurrent Networks, Neural Networks, dll.

  • Bekerja dengan .csv untuk memuat kumpulan data sangat mudah di Pybrain. Ini juga memungkinkan penggunaan kumpulan data dari perpustakaan lain.

  • Pelatihan dan pengujian data mudah dilakukan menggunakan pelatih Pybrain.

Batasan Pybrain

Pybrain menawarkan lebih sedikit bantuan untuk masalah apa pun yang dihadapi. Ada beberapa pertanyaan yang belum terjawabstackoverflow dan seterusnya Google Group.

Alur Kerja Pybrain

Sesuai dokumentasi Pybrain, aliran pembelajaran mesin ditunjukkan pada gambar berikut -

Pada awalnya, kami memiliki data mentah yang setelah preprocessing dapat digunakan dengan Pybrain.

Alur Pybrain dimulai dengan kumpulan data yang dibagi menjadi data terlatih dan data uji.

  • jaringan dibuat, dan kumpulan data serta jaringan diberikan kepada pelatih.

  • pelatih melatih data di jaringan dan mengklasifikasikan keluaran sebagai kesalahan terlatih dan kesalahan validasi yang dapat divisualisasikan.

  • data yang diuji dapat divalidasi untuk melihat apakah keluarannya cocok dengan data yang dilatih.

Terminologi

Ada istilah penting yang harus dipertimbangkan saat bekerja dengan Pybrain untuk pembelajaran mesin. Mereka adalah sebagai berikut -

Total Error- Ini mengacu pada kesalahan yang ditampilkan setelah jaringan dilatih. Jika error terus berubah di setiap iterasi, itu berarti masih perlu waktu untuk menyelesaikannya, hingga mulai menunjukkan error yang konstan antar iterasi. Setelah itu mulai menunjukkan nomor kesalahan konstan, itu berarti bahwa jaringan telah berkumpul dan akan tetap sama terlepas dari pelatihan tambahan apa pun yang diterapkan.

Trained data - Ini adalah data yang digunakan untuk melatih jaringan Pybrain.

Testing data - Ini adalah data yang digunakan untuk menguji jaringan Pybrain yang terlatih.

Trainer- Saat kita membuat jaringan, yaitu jaringan saraf, ia akan dilatih berdasarkan data pelatihan yang diberikan padanya. Sekarang apakah jaringan dilatih dengan benar atau tidak akan bergantung pada prediksi data pengujian yang diuji pada jaringan itu. Konsep terpenting dalam Pybrain Training adalah penggunaan BackpropTrainer dan TrainUntilConvergence.

BackpropTrainer - Ini adalah pelatih yang melatih parameter modul sesuai dengan kumpulan data yang diawasi atau ClassificationDataSet (berpotensi berurutan) dengan melakukan propagasi balik kesalahan (melalui waktu).

TrainUntilConvergence - Digunakan untuk melatih modul pada dataset hingga konvergen.

Layers - Lapisan pada dasarnya adalah sekumpulan fungsi yang digunakan pada lapisan tersembunyi jaringan.

Connections- Koneksi berfungsi mirip dengan lapisan; satu-satunya perbedaan adalah ia menggeser data dari satu node ke node lainnya dalam jaringan.

Modules - Modul adalah jaringan yang terdiri dari buffer input dan output.

Supervised Learning- Dalam hal ini, kita memiliki input dan output, dan kita dapat menggunakan algoritme untuk memetakan input dengan output. Algoritme dibuat untuk mempelajari data latih yang diberikan dan diiterasi di atasnya dan proses iterasi berhenti saat algoritme memprediksi data yang benar.

Unsupervised- Dalam hal ini, kami memiliki masukan tetapi tidak mengetahui keluarannya. Peran pembelajaran tanpa pengawasan adalah mendapatkan pelatihan sebanyak mungkin dengan data yang diberikan.