Mengekspor Bobot dan Bias ke Network JST

Cukup lama juga tulisan saya tentang “Seputar Jaringan Syaraf Tiruan” yaitu enam tahun yang lalu. Salah satu komentar yang cukup menarik adalah tentang bagaimana komponen JST yang berfungsi training mengirimkan hasil trainingnya (bobot dan bias) ke network JST agar bisa dipergunakan oleh aplikasi web-based yang memiliki JST di dalamnya. Sedikit berbeda dengan publikasi saya tentang Web-GIS yang baik training maupun simulating berada di desktop-GIS (Fig.1).

Dengan memanfaatkan fasilitas training JST Matlab, kita dapat mengetahui bobot dan bias hasil training yang telah dilakukan (lihat postingan sebelumnya mengenai cara membaca hasil pelatihan JST). Dengan memanfaatkan cara membaca bias dan bobot, kita dapat mengirimkannya ke JST yang telah dirakit terlebih dahulu. Postingan kali ini bermaksud sama-sama berdiskusi mengenai teknik untuk mengirimkan bias dan bobot hasil training ke JST yang ada.

A. Training JST dengan fungsi newff

Agar lebih gampang, contoh training dapat dilihat di help matlab (ketik saja help newff di command window Matlab). Atau copas script berikut ini:

  • load simplefit_dataset
  • net = newff(simplefitInputs,simplefitTargets,20);
  • net = train(net,simplefitInputs,simplefitTargets);
  • simplefitOutputs = sim(net,simplefitInputs);

Setelah enter ditekan, jendela pelatihan akan muncul seperti gambar di bawah ini. Tunggu sesaat hingga proses pelatihan selesai dijalankan.

B. Latihan Meng-update bobot JST Hasil Pelatihan

Untuk melihat variabel-variabel hasil pelatihan, kita dapat lakukan dengan menekan net di command window (jika variabel JST-nya “net” dan jika tidak, sesuai dengan namanya, biasanya network1 (default) jika dibuat di nntool).

  • sim(net,94)
  • ans =
  • 4.9494
  • Jawaban1=ans

Kode di atas adalah hasil awal JST ketika diberi masukan “94”, yaitu sebesar 4.9494. Berikutnya kita misalnya telah melakukan training lagi dengan data yang lebih baru dan akan meng-update dengan data baru. Sementara data yang lama adalah sebagai berikut:

  • >> net.IW
  • ans =
  • [20×1 double]
    • []
  • >> cell2mat(ans)
  • ans =
  • 28.3617
  • 27.9082
  • -27.8863
  • 26.6165
  • 23.2698
  • -15.0705
  • -20.3582
  • 22.0298
  • 28.3998
  • 28.0369
  • -27.9783
  • 27.8605
  • 27.8120
  • -27.7361
  • 28.0819
  • -28.8486
  • -29.2218
  • 26.3938
  • 26.8540
  • 28.1526
  • IWW=ans;

Di sini kita bisa mencoba melatih JST dengan data latih baru. Tetapi untuk gampangnya, sebagai perbandingan saja, misalnya IW di baris pertama misalnya “nol” (berwarna merah pada IW di atas). Insert dengan kode berikut:

  • IWW(1,1)=0

Sehingga baris pertama IW menjadi nol. Kembalikan variabel “mat” di atas menjadi “cell” mengingat bobot di Matlab adalah dalam bentuk cell.

  • IWWnew=mat2cell(IWW)
  • net.IW(1,1)=IWWnew

Di sini variabel baru IWWnew (konversi mat menjadi cell) disisipkan di net.IW yang merupakan bobot input JST.

  • >> sim(net,94)
  • ans =
  • 4.0079
  • Jawaban2=ans

Di sini kita uji dengan data test yang sama dengan sebelumnya (“94”), hasilnya ternyata berbeda dengan sebelumnya.

  • >> [jawaban1;jawaban2]
  • ans =
  • 4.9494
  • 4.0079

Perhatikan Jawaban1 dan Jawaban2 yang berbeda. Artinya JST sudah berubah karena update bobot di bagian input (net.IW). Untuk bias dan bobot sisi hidden layer dapat dilakukan dengan cara yang sama. Untuk mengirimkannya lewat mekanisme database, ada baiknya membaca buku yang telah kami tulis sebelumnya. Selamat mencoba.

Tentang rahmadya

I'm a simple man .. Lahir di Sleman Yogyakarta, 7 Juni 1976 PENDIDIKAN: TK : - (tidak ada TK di tj Priok waktu itu) SDN : Papanggo, Jakarta 83 - 89 SMPN : 129, Jakarta 89 - 92 SMAN : 8, Yogyakarta 92 - 95 Univ. : Fak. Teknik UGM, Yogyakarta 95 - 2001 Pasca. : Tek. Informatika STMIK Nusa Mandiri, Jakarta 2008 - 2010 Doctoral : Information Management Asian Institute of Technology, Thailand 2013 - 2018 PEKERJAAN: Tek. Komputer AMIK BSI Jakarta : 2002 - 2005 IT Danamon Jakarta : 2005 - 2008 Tek. Informatika STMIK Nusa Mandiri Jakarta : 2005 - 2008 Univ. Darma Persada Jakarta: 2008 - 2013 Fakultas Teknik Universitas Islam "45" Bekasi : 2008 - Skrg ( Homebase) Univ. Bhayangkara Jakarta Raya: 2018 - Skrg Univ. Nusa Putra Sukabumi: 2018 - Skrg
Pos ini dipublikasikan di Artificial Neural Network, Matlab. Tandai permalink.

11 Balasan ke Mengekspor Bobot dan Bias ke Network JST

  1. Joe berkata:

    Pak, saya mau nanya.
    Bisa gak nilai bobot dan bias hasil pelatihan JSR di Matlab dijadikan parameter untuk pemograman di visual studio?
    Jika bisa caranya gimana ya Pak?
    Terima kasih.

  2. Joe berkata:

    Terima Kasih Pak.
    Saya mau nanya lagi, kalau membuat persamaan Yk langsung di Matlab gimana ya Pak? Soalnya saya perlu nilai Yk sampai proses feedforward saja. Terima Kasih Pak.

  3. Joe berkata:

    Yang ini Pak.
    Yk= f(y_net k)=1/1+e^-y_net_k kalau pakai fungsi aktivasi sigmoid biner.
    Atau ada cara lain gak Pak buat nyari atau menghitung keluaran JST yg sesuai dengan fungsi aktivasi sigmoid biner? Soalnya saya bingung, setiap saya coba perkalian untuk output JST selalu gagal.
    Terima kasih Pak.

    • rahmadya berkata:

      coba dulu fungsi Yk nya, test dengan angka tertentu, hasilnya harus benar. Atau kalau pakai Matlab gunakan saja fungsi sigmoid bawaannya.

  4. Ping balik: Melihat Data Network Hasil Training JST – Versi GUI | Rahmadya Trias Handayanto

  5. Ega Evan berkata:

    Assalamualaikum pak.

    Saya ingin bertanya lebih lanjut tentang JST menggunakan matlab pak, ini terkait tugas akhir saya pak. Jadi apakah saya boleh menghubungi bapak via email atau wa pak?

  6. Dian Arianto berkata:

    maaf saya mau tanya untuk struktur jaringan lebih dari 1 lapisan tersembunyi dengan menggunakan nntool, cara menampilkan bobot akhirnya bagaimana ya? terima kasih

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout /  Ubah )

Foto Google

You are commenting using your Google account. Logout /  Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout /  Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout /  Ubah )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.