Deep Learning: Boltzmann Machines

Deep Learning: Boltzmann Machines

Restricted Boltzmann Machines

Di halaman-halaman sebelumnya kita sudah membahas dasar dari Boltzmann Machines, di mana yang kita pelajari adalah versi lengkapnya (Fully Connected Boltzmann Machines). Teori dari versi lengkap ini memang sangat bagus, namun sangat sulit untuk mengaplikasikannya. Mengapa? Karena semakin banyak nodes, maka hubungan yang muncul antar nodes juga meningkat drastis secara eksponensial.

Lalu bagaimana solusi untuk mengatasi masalah di atas? Solusinya dengan menggunakan Restricted Boltzmann Machines (RBM).

RBM pada dasarnya sama dengan Boltzmann Machines versi lengkap. Hal yang membedakan keduanya adalah pada RBM tidak terdapat hubungan antar sesama visible nodes, begitu pula dengan hidden nodes. Inilah yang menjadikan RBM memiliki nama restricted, yang artinya adalah batasan, di mana nodes yang satu jenis tidak boleh saling terhubung.

Ilustrasi dari arsitektur RBM bisa dilihat sebagai berikut:

arsitektur restricted boltzmann machines
Arsitektur Restricted Boltzmann Machines

Ilustrasi di atas menunjukkan bahwa RBM sama seperti versi lengkap Boltzmann Machines, namun antar nodes dengan tipe yang sama tidak saling terhubung. Lalu bagaimana cara kerjanya?

Kali ini kita akan mencoba mengaplikasikannya untuk merekomendasikan kepada konsumen barang di sebuah toko online. Anggap saja kita menawarkan smartphone, di mana kita memiliki 6 smartphones sebagai visible nodes. Tentu saja di aplikasi nyata akan ada banyak sekali produk smartphones yang bisa kita tawarkan. Namun untuk bisa mudah memahaminya, dan tentunya agar ilustrasinya tetap simple, kita cukup gunakan 6 produk saja. Ilustrasinya sebagai berikut:

Rekomendasi HP
Rekomendasi HP

Sekarang kita memiliki 6 produk HP dan kita memiliki 2 jenis nodes, yaitu visible dan hidden. Pada awalnya, hidden nodes di atas masih kosong, jadi belum ada keterangan seperti kamera, layar, dan lain-lain. Melalui sebuah proses training (mirip dengan analogi CNN), hidden nodes ini akhirnya berhasil menangkap features (fitur-fitur) yang dianggap penting oleh para pengguna. Tentu saja sebenarnya hidden nodes ini tidak benar-benar bertuliskan feature kamera, layar, tapi untuk memudahkan ilustrasi dan pembelajaran, kita anggap saja feature yang tertangkap adalah seperti yang ada di gambar di atas.

Lalu darimana para sistem ini bisa mendapatkan datanya? Biasanya kita pernah ditawari oleh sebuah website (disebut dengan pop-up) untuk memilih apakah sebuah produk menarik bagi Anda atau tidak. Hal ini sangat sering ditemui di aplikasi/website Netflix. Jika pengguna menyukai sebuah film/tayangan maka ia akan memberikan jawaban “Yes” (nilai 1 di sistem), tapi jika tidak ia akan memberikan jawaban “No” (nilai 0 di sistem). Dari situlah sebenarnya proses training sebuah recommender system (dalam pembahasan ini adalah Boltzmann Machines) dimulai. Ilustrasi dari pemberian nilai di website adalah sebagai berikut:

Peilaian HP dari 15 pelanggan
Contoh penilaian HP dari 15 pelanggan

Ada 15 pengguna yang sudah menilai 6 tipe HP yang sedang kita bahas. Nilai 1 merepresentasikan bahwa pelanggan menyukai HP tersebut dan nilai 0 adalah sebaliknya. Kemudian kita juga melihat ada beberapa kolom yang kosong, misal pennguna 1 tidak mengisi untuk HP 2 dan HP 5. Bisa jadi karena pengguna ini belum pernah memiliki produknya, atau memang tidak memiliki pengalaman seperti apa HP tersebut, atau bisa saja ia memang malas untuk mengisinya. Hasil dari sekian banyak pengguna dalam menilai keenam HP berhasil menangkap 5 fitur terpenting sebuah produk HP yaitu kamera, layar, harga, merek Apple dan merek Samsung.


Sekarang kita akan mulai mempraktekkannya jika kita tawarkan 6 HP tertentu ke pelanggan tertentu di website/aplikasi kita, di mana kali ini kita sebutkan merek dan tipe HPnya. Ilustrasinya sebagai berikut:

Perbandingan 6 HP Boltzmann
Ilustrasi perbandingan 6 jenis HP

Ilustrasi di atas adalah hasil respon dari seorang pelanggan, sebut saja namanya Budi. Ia sudah memberikan tanggapan untuk 4 tipe HP namun tidak untuk Oppo A9 dan iPhone 11. Sekarang kita akan mencoba memberikan rekomendasi kepada pelanggan ini terhadap Oppo A9 dan iPhone 11. Pada dasarnya kita memprediksi apakah salah satu dari HP ini cocok untuknya atau tidak.

Apa yang akan saya jelaskan di sini adalah proses penyederhanaannya. Di balik ini semua ada proses yang disebut dengan Contrastive Divergence yang akan dibahas di kesempatan lain.

Sekarang mari kita mulai prosesnya. Kita awali dengan fitur pertama yaitu “double rear kamera” artinya HP tersebut memiliki kamera lebih dari satu di bagian belakangnya. Jika sebuah HP memiliki fitur tersebut dan individu ini menyukainya, maka fitur ini akan menyala, dan menerima pembobotan. Semakin banyak bobot yang diterima oleh sebuah fitur, maka ia akan menjadi penentu senang tidaknya seorang pelanggan dalam mengambil keputusan nantinya.

Fitur kamera HP

Ternyata dari keempat HP yang sudah dinilai, semuanya memiliki fitur ini. Namun Budi hanya memilihnya di HP Samsung Gaalxy A50 dan Xiaomi Pocophone F1 saja. Dengan demikian fitur ini cukup penting bagi Budi. Kita tandai fitur Double rear kamera dengan warna merah untuk menunjukkan bahwa fitur ini menerima bobot dari Budi.


Sekarang kita beralih ke fitur kedua yaitu layar Full HD.

Fitur layar Full HD
Fitur layar Full HD

Sama seperti fitur kamera, keempat HP ini memiliki fitur Full HD, namun Budi hanya menyukainya saat fitur ini berada di HP Samsung dan Xiaomi. Karena fitur ini cukup penting bagi Budi, kita tandai node nya dengan warna merah.


Sekarang kita lanjut ke fitur harga murah (di bawah 300 euro setara 3,7 juta rupiah).

Fitur harga
Fitur harga

Fitur ini ada hanya di HP Xiaomi Pocophone, karena harganya di bawah 300 euro. Namun fitur ini tidak dimiliki Samsung A50. Walau demikian, karena Budi menyukai HP Xiaomi Pocophone dan fitur harga murah ini ada di HP tersebut, maka bagi Budi fitur ini penting (kita lingkari dengan tanda merah).


Sekarang kita lanjut ke fitur merek Apple

Fitur merek Apple
Fitur merek Apple

Ternyata fitur ini tidak dimiliki oleh keempat HP yang sudah dinilai oleh Budi. Dengan demikian, fitur ini tidak begitu penting bagi Budi. Kita beri tanda silang di fitur ini.


Sekarang kita lanjut ke fitur merek Samsung

Fitur merek Samsung
Fitur merek Samsung

Ternyata fitur ini disukai Budi. Hal ini bisa dilihat di mana Budi menyukai HP Samsung Galaxy A50 dan HP ini memang bermerek Samsung. Dengan demikian, kita lingkari merah fitur ini.


Sekarang kita tahu bahwa bagi Budi, ada 4 fitur yang penting: Double rear kamera, Layar Full HD, harga murah, dan merek Samsung. Dengan demikian sekarang kita bisa memprediksi 2 HP yang belum dinilai oleh Budi yaitu Oppo A9 dan iPhone 11. Semakin banyak fitur kesukaan Budi yang dimiliki oleh kedua HP ini, maka semakin besar kemungkinan ia akan disukai oleh Budi. Kurang lebih hasil prediksi dari model Restricted Boltzmann Machines kita adalah sebagai berikut.

Prediksi sistem untuk Budi
Prediksi sistem untuk Budi

Sistem RBM kita memprediksi bahwa Budi akan menyukai HP Oppo A9 karena memang ketiga fitur kesukaan Budi ada di HP ini. Sementara HP iPhone 11 hanya memiliki 2 fitur saja, dan kebetulan bagi Budi merek Apple tidak begitu penting, atau bahkan malah tidak disukainya. Dengan demikian, kita bisa mulai menawarkan HP Oppo A9 untuk Budi, misalnya mulai memunculkan HP ini di bagian produk yang direkomendasikan, mengirimkan melalui email atau metode marketing lainnya.


Sampai di sini saya berharap pembaca bisa memahami konsep tentang Boltzmann Machines, kemudian mengerti juga perbedaanya dengan RBM, dan aplikasi real di dunia nyata.

Di artikel selanjutnya kita akan mengaplikasikan RBM untuk membuat sebuah sistem rekomendasi dengan menggunakan bahasa Python.

Semoga bermanfat, dan tetap semangat belajar AI (kecerdasan buatan) bersama saya!

Bagikan artikel ini:

Pages: 1 2 3

Leave a Reply

avatar
  Subscribe  
Notify of