RNN atau Recurrent Neural Network
Pernahkah Sahabat DQ memperhatikan ketika Sahabat DQ mulai mengetik sesuatu, Google secara otomatis melengkapi kalimat untuk Sahabat DQ! Sekarang, jika Sahabat DQ memikirkan cara kerjanya, rahasianya adalah RNN.
Recurrent Neural Networks telah mengarahkan siklus di antara node yang saling berhubungan. Mereka menggunakan memori mereka untuk memproses urutan input berikutnya untuk mengimplementasikan jenis fungsi fitur pelengkapan otomatis. RNN dapat mengambil serangkaian input tanpa batasan ukurannya, menjadikannya unik.
Google, Mesin Pencari, dan Peramban Web secara ekstensif menggunakan RNN untuk melengkapi kata dan kalimat secara otomatis. Aplikasi lain adalah Deteksi dan Pengenalan Teks, Menganalisis bingkai video, dll.
Modifikasi dan Optimasi
Ada beberapa cara untuk memodifikasi dan mengoptimalkan Selection Sort. Salah satu optimasi sederhana adalah dengan menghentikan algoritma jika tidak ada pertukaran yang terjadi dalam satu iterasi, meskipun ini tidak memberikan banyak manfaat karena Selection Sort memang dirancang untuk selalu mencari elemen terkecil pada setiap iterasi.
Di dunia di mana hampir semua tugas manual diotomatisasi, definisi manual berubah. Algoritma machine learning dapat membantu komputer bermain catur, melakukan operasi, dan menjadi lebih pintar dan lebih pribadi. Kita hidup di era kemajuan teknologi yang konstan, dan melihat bagaimana komputasi telah berkembang selama bertahun-tahun, kita dapat memprediksi apa yang akan terjadi di hari-hari mendatang.
Salah satu fitur utama dari revolusi ini yang menonjol adalah bagaimana alat dan teknik komputasi telah di demokratisasi. Dalam lima tahun terakhir, para ilmuwan data telah membangun mesin pengolah data yang canggih dengan mengeksekusi teknik-teknik canggih dengan mulus. Hasilnya sangat mencengangkan.
Algoritma Reinforcement Learning menggunakan hasil atau hasil sebagai patokan untuk memutuskan langkah tindakan selanjutnya. Dengan kata lain, algoritme ini belajar dari hasil sebelumnya, menerima umpan balik setelah setiap langkah, dan kemudian memutuskan apakah akan melanjutkan langkah berikutnya atau tidak.
Sistem mempelajari apakah ia membuat pilihan yang benar, salah, atau netral dalam prosesnya. Sistem otomatis dapat menggunakan Reinforcement Learning karena dirancang untuk membuat keputusan dengan intervensi manusia yang minimal.
Misalnya, Sahabat DQ mendesain mobil self-driving dan bermaksud melacak apakah mobil tersebut mengikuti peraturan lalu lintas dan memastikan keselamatan di jalan. Dengan menerapkan Reinforcement Learning , kendaraan belajar melalui pengalaman dan taktik penguatan.
Algoritme memastikan bahwa mobil mematuhi undang-undang lalu lintas dengan tetap berada di satu jalur, mengikuti batas kecepatan, dan berhenti bertemu pejalan kaki atau hewan di jalan.
Lalu, apa saja algoritma dengan deep learning reinforcement learning ini? Yuk simak selengkapnya sekarang!
Long Short-Term Memory Networks (LSTMs)
LSTM adalah jenis khusus dari RNN dan sangat mampu mempelajari dependensi jangka panjang. Mari kita coba memahami ketergantungan jangka panjang dengan sebuah contoh.
Misalkan Sahabat DQ telah membangun model untuk memprediksi kata berikutnya berdasarkan yang sebelumnya. Asumsikan Sahabat DQ mencoba memprediksi kata terakhir dalam kalimat, "matahari terbit di timur," kita tidak memerlukan konteks lebih lanjut, dan jelas istilah berikutnya adalah timur.
Dalam kasus seperti ini, di mana tidak ada banyak kesenjangan antara informasi yang relevan dan tempat yang membutuhkannya, RNN dapat mempelajari dan memprediksi output dengan mudah. Tetapi jika kita memiliki kalimat seperti, “Saya lahir di India. Saya berbicara bahasa Hindi dengan lancar”.
Prediksi semacam ini membutuhkan beberapa konteks dari kalimat sebelumnya tentang di mana seseorang dilahirkan, dan RNN mungkin tidak dapat mempelajari dan menghubungkan informasi dalam kasus seperti itu.
Deteksi anomali dalam data lalu lintas jaringan atau IDS (sistem deteksi intrusi), Peramalan deret waktu, Penyelesaian otomatis, analisis teks dan video, dan Pembuatan teks.
Baca juga : Kenali Algoritma Klasifikasi Machine Learning Terpopuler di Tahun 2021
Belajar memulai karir sebagai praktisi data science dengan menggunakan Python, R dan SQL sederhana dengan sign up dan login melalui DQLab Academy! Yuk nikmati kemudahan belajar tanpa ribet melalui live code editor DQLab. Belajar sambil buat portfolio dengan modul DQLab!
Signup sekarang atau isi form dibawah ini ya Sahabat DQ!
Struktur data dan algoritma pada python merupakan dua konsep mendasar dalam dunia computer science. Kedua konsep tersebut merupakan tools yang paling diperlukan oleh programmer di seluruh dunia. Struktur data pada python berhubungan dengan penyimpanan database sedangkan algoritma python merupakan serangkaian instruksi rinci yang membantu dalam pemrosesan data untuk tujuan tertentu. Struktur data adalah serangkaian cara untuk mengatur dan menyimpan data serta berisi hubungan data dan berbagai operasi logis yang bisa diterapkan pada data. Struktur data dibagi menjadi dua, yaitu struktur data primitif dan non primitif. Data yang termasuk kedalam tipe primitif adalah integer, float, strings, dan boolean, sedangkan yang termasuk data non primitif adalah array, list, tuple, dictionary, sets, dan files, Beberapa tipe data non primitif seperti list, tuple, dictionary, dan sets sudah ada di dalam python.
Algoritma python merupakan sekumpulan instruksi yang dijalankan untuk mendapatkan solusi dari masalah yang ada. Algoritma tidak hanya dikhususkan untuk bahasa, oleh karena itu algoritma dapat diimplementasikan dalam beberapa bahasa pemrograman. Tidak ada aturan standar untuk menulis algoritma. Algoritma ini bergantung pada sumber daya dan masalah yang akan dipecahkan. Namun, ada konstruksi kode umum yang bisa digunakan, seperti flow control (if-else) dan loop (do, while, for). Pada artikel kali ini DQLab akan membahas struktur data dan algoritma pada python. Penasaran? Yuk simak artikel ini sampai akhir!
Berikut ini implementasi algoritma selection sort dalam Bahasa pemrograman Python:
Struktur Data Primitif
Struktur data primitif merupakan struktur data dasar pada python yang berisi nilai data murni, sederhana, dan berfungsi sebagai blok untuk memanipulasi data. Ada empat variabel pada struktur data primitif, yaitu integer (bilangan bulat), float, string, dan boolean. Tipe data string digunakan untuk mewakili data numerik, yaitu bilangan bulat positif atau negatif tanpa titik desimal, contohnya -2, 1, atau 10. Data float menandakan bilangan real floating point. Data ini digunakan untuk mewakili bilangan rasional, biasanya berisi titik desimal seperti 1,5 atau 5,32. Karena python merupakan bahasa pemrograman yang diketik secara dinamis, tipe data yang disimpan oleh objek bisa berubah dan tidak perlu mendefinisikan tipe variabel secara eksplisit. Tipe data string menunjukkan kumpulan huruf, kata, maupun karakter alfanumerik. Tipe ini dibuat dengan memasukkan serangkaian karakter dan dipisahkan dengan tanda petik satu maupun dua. Contoh penulisan tipe data string pada python adalah "kucing", "meja", ataupun "kelinci". Tipe data boolean berguna dalam perbandingan bersyarat dan dapat mengambil nilai TRUE maupun FALSE.
Baca juga : 3 Jenis Algoritma Machine Learning yang Dapat Digunakan di Dunia Perbankan
Ketika program tersebut dijalankan, berikut ini hasil outputnya:
Multidimensional Array
Salah satu fitur menarik dari NumPy adalah library ini mampu membuat multidimensional array dan melakukan manipulasi array dengan mudah dan cepat. Multidimensional array adalah array yang berbentuk lebih dari 1 dimensi seperti 2D, 3D, 4D dan seterusnya. Cara membuat multidimensional array sama dengan membuat array 1 dimensi, perbedaannya hanya pada parameter yang digunakannya saja. Berikut ini adalah contohnya membuat array 2 dimensi:
Array diatas adalah berbentuk (2,5) artinya mempunyai 2 baris dan 5 kolom. Kita bisa melihat jumlah elemen di setiap dimensi dengan menggunakan fungsi shape.
3. Operasi Aritmatika
Operator aritmatika adalah operator yang biasa ditemukan untuk operasi matematika. Aritmatika sendiri merupakan cabang ilmu matematika yang membahas perhitungan sederhana, seperti kali, bagi, tambah dan kurang (kabataku). Kita bisa menggunakan operasi aritmatika seperti penjumlahan, pengurangan, perkalian, pembagian dan perpangkatan. Operator yang digunakan adalah +, -, *, / dan **
Berikut contoh operasi aritmatika pada array,
Baca juga : Belajar Data Science: Pahami Penggunaan Machine Learning pada Python
Apa itu Algoritma Quick Sort?
Algoritma Sorting merupakan algoritma yang menempatkan elemen list pada urutan tertentu. Urutan yang paling sering digunakan ialah urutan numerikal dan urutan lexicographical (Dalam matematika, urutan leksikografik, biasa dikenal sebagai urutan leksikal atau urutan alfabet, adalah bentuk umum dari urutan alfabet kata yang berdasarkan pada pengurutan huruf depan). Sorting yang efisien sangat dibutuhkan untuk mengoptimisasi penggunaan dari algoritma lain seperti pencarian dan penggabungan yang membutuhkan list terurut untuk berjalan dengan sempurna, yang juga sering digunakan untuk Canonicalisisasi (membakukan) data dan menghasilkan output yang dapat dibaca manusia.
Salah satu jenis algoritma sorting adalah Quick Sort. Quick Sort adalah salah satu algoritma pengurutan data yang paling cepat, yaitu dengan membagi list menggunakan sebuah pivot. Quick Sort juga menggunakan rekursif dalam algoritmanya. Data yang kurang dari pivot sudah ditentukan ditaruh disebelah kirinya pivot sedangkan data yang lebih besar dari pivot maka ditaruh disebelah kanan pivot.
#berikut adalah nilai” dari anak” di kelas LB01 urutkanlah dari yang terkecil hingga terbesar (70,55,45,50,30,68,100,98,42,12,54)
array=[70,55,45,50,30,68,100,98,42,12,54]
lbK = [] smD = [] lbB = [] if len(array) > 1: pivot = array[0] for x in array: if x < pivot: lbK.append(x) elif x == pivot: smD.append(x) elif x > pivot: lbB.append(x) a = lbK.sort() b = lbB.sort() print(lbK+smD+lbB)
[12, 30, 42, 45, 50, 54, 55, 68, 70, 98, 100]
Mengenal NumPy Array
NumPy merupakan salah satu library terpenting dalam bahasa pemrograman python. Fungsi NumPy array mirip dengan manipulasi data pada python. Beberapa manipulasi array dasar adalah atribut array, pengindeksan array, pembentukan baris, dan penggabungan-pemisahan array. Manipulasi array yang biasanya banyak digunakan adalah menggabungkan beberapa array menjadi satu atau memisahkan satu array menjadi beberapa bagian.
Langkah pertama saat ingin menggunakan library numpy adalah melakukan import dengan menggunakan coding library numpy as np. Penggunaan as disini, artinya kita menggantikan pemanggilan numpy dengan prefix np untuk proses berikutnya.
Untuk melakukan pengecekan tipe pada array menggunakan fungsi type() seperti gambar di bawah ini
Array df memiliki tipe data int32 dan int64 yang keduanya sama-sama bertipekan integer. Perbedaan keduanya pada kapasitas penyimpanan data.
Baca juga : 3 Jenis Algoritma Machine Learning yang Dapat Digunakan di Dunia Perbankan
Jaringan Fungsi Radial (RBFNs)
Seperti namanya, ini didasarkan pada fungsi aktivasi Radial basis function (RBF). Proses pelatihan model membutuhkan waktu yang sedikit lebih sedikit menggunakan RBFN daripada MLP. Jenis RBFN langsung adalah jaringan saraf umpan maju tiga lapis dengan lapisan input, lapisan tersembunyi yang terdiri dari beberapa unit aktivasi nonlinier RBF, dan lapisan keluaran linier yang bertindak sebagai unit penjumlahan untuk memberikan keluaran akhir.
RBFN digunakan untuk menganalisis harga pasar saham dan juga memperkirakan harga jual di industri Ritel karena kemampuannya untuk bekerja pada data berbasis deret waktu. Aplikasi lain termasuk pengenalan ucapan, analisis deret waktu, pengenalan gambar, pemerataan adaptif, diagnosis medis, dll.