Jaringan Syaraf Tiruan



Apakah yang dimaksud dengan jaringan syaraf tiruan??

Bagaimana prinsip kerja jaringan syaraf tiruan??

Jaringan syaraf tiruan merupakan algoritma klasifikasi yang meniru prinsip kerja dari jaringan syaraf manusia. Algoritma ini memetakan data masukan pada layer masukan menuju target pada layer keluaran melalui neuron-neuron pada layer tersembunyi.

Data masukan dirambatkan maju, dihubungkan oleh bobot-bobot masukan yang sebelumnya telah diinisialisasi secara acak menuju neuron pada layer tersembunyi

Pada layer tersembunyi, data masukan yang telah dihubungkan dengan bobot tersebut kemudian diproses menggunakan fungsi aktivasi. Selanjutnya data hasil olahan dari layer tersembunyi dihubungkan oleh bobot-bobot tersembunyi menuju neuron pada layer keluaran.

Hasil yang diperoleh kemudian dibandingkan dengan data target sehingga diperoleh tingkat kesalahan (error). Apabila tingkat kesalahan yang diperoleh lebih kecil daripada tingkat kesalahan yang sebelumnya telah ditetapkan (target error), maka proses perambatan akan berhenti. Namun apabila tingkat kesalahan masih lebih besar daripada tingkat kesalahan tetapan maka dilakukan proses perambatan balik dengan melakukan pembaharuan bobot.

Jenis-jenis jaringan syaraf tiruan antara lain: perceptron, backpropagation/ propagasi balik, learning vector quantization, dsb.
Gambar berikut ini merupakan contoh arsitektur jaringan syaraf tiruan propagasi balik:


Perancangan algoritma jaringan syaraf tiruan, umumnya dibagi menjadi dua proses utama yaitu pelatihan dan pengujian. Sebelum kedua proses itu dilakukan, perlu dipersiapkan pembagian data untuk untuk data latih dan data uji terlebih dahulu. Persentase pembagian data latih dengan data uji yang umumnya digunakan yaitu 50:50, 60:40, 70:30, dan 80:20. Proses pelatihan dilakukan menggunakan sekumpulan data latih yang memuat parameter ciri/ feature yang digunakan untuk membedakan antara objek satu dengan objek lainnya (pengenalan pola). Data latih tersebut dirambatkan maju menuju target latih melalui arsitektur jaringan syaraf tiruan yang sebelumnya telah didesain.
Luaran dari proses pelatihan adalah suatu jaringan yang terdiri dari arsitektur beserta bobot-bobot terbaik hasil pembaharuan. Dengan jaringan tersebut, kemudian data latih dirambatkan maju sehingga diperoleh data keluaran yang kemudian dibandingkan dengan target latih sehingga diperoleh tingkat akurasi proses pelatihan.
Pada proses pengujian, dengan menggunakan jaringan syaraf tiruan hasil proses pelatihan, data uji dirambatkan maju sehingga diperoleh data keluaran yang kemudian dibandingkan dengan target uji dan diperoleh tingkat akurasi proses pengujian.
Beberapa parameter yang perlu diperhatikan dalam menyusun/ merancang arsitektur jaringan syaraf tiruan antara lain:
1. Jenis jaringan syaraf tiruan yang akan digunakan
2. Jumlah neuron pada layer masukan, layer tersembunyi, dan layer keluaran
3. Jumlah layer tersembunyi (hidden layer)
4. Fungsi aktivasi pada layer tersembunyi
5. Inisialisasi bobot awal
6. Inisialisasi nilai target kesalahan (error goal)
7. Inisialisasi nilai epoch
8. Inisialisasi nilai momentum

Algoritma jaringan syaraf tiruan dapat diaplikasikan untuk menyelesaikan berbagai macam persoalan komputasi diantaranya untuk kasus klasifikasi, identifikasi, prediksi, deteksi anomali, dll. Algoritma ini digunakan dengan tujuan mencari rumusan untuk memetakan nilai masukan menuju nilai keluaran di mana secara matematis ataupun secara fisis tidak ada persamaan yang menghubungkan kedua nilai tersebut.

Jaringan syaraf tiruan hanya akan bekerja dengan baik apabila nilai masukan dan nilai keluaran memiliki pola yang jelas dan teratur. Sebagai contoh untuk kasus prediksi curah hujan. Secara fisis, tidak ada persamaan yang menghubungkan antara besarnya suhu, kelembaban, kecepatan angin, dan curah hujan pada hari ini dengan besarnya curah hujan pada esok hari. Namun berdasarkan polanya, data-data tersebut memiliki pola yang jelas dan berulang (dilihat dari pola curah hujan dalam selang waktu yang relatif lama misalnya 10 atau 20 tahun terakhir). Pada kasus tersebut, peran jaringan syaraf tiruan dapat diandalkan untuk melakukan prediksi curah hujan dalam beberapa jangka waktu ke depan.

Buku yang direkomendasikan untuk mempelajari Jaringan Syaraf Tiruan lebih lanjut adalah:
1. Judul : Jaringan Syaraf Tiruan dan Pemrogramannya menggunakan MATLAB
penulis : Drs. Jong Jek Siang, M.Sc.
penerbit : Andi
tahun : 2005, 2009
2. Judul : Data Mining Mengolah Data Menjadi Informasi Menggunakan Matlab
penulis : Eko Prasetyo
penerbit : Andi
tahun : 2014

Berikut ini merupakan contoh aplikasi jaringan syaraf tiruan dalam kehidupan sehari-hari:
1. Klasifikasi objek dalam citra digital berdasarkan pola bentuk
2. Klasifikasi citra daun
3. Pengenalan/identifikasi wajah
4. Pengenalan/identifikasi jenis bunga
5. Pengenalan pola logika AND
6. Prediksi curah hujan untuk data time series
7. Prediksi jumlah penduduk untuk data time series

Penerapan algoritma jaringan syaraf tiruan untuk klasifikasi data bisa dilihat pada video tutorial berikut ini:

  1. assalamualaikum, ka saya imma mau tanya diatas kan kaka sebutin parameter yang di perlukan untuk jst nah cara kita menentukan jumlah bobot, neuron, mse, dan epoch ?
    terima kasih sebelumnya

  2. terima kasih ka

  3. Waalaikumsalam Wr. Wb.
    pembuatan jst menggunakan excel atau tidak di matlab, pada prinsipnya sama saja
    perintah yg digunakan untuk membaca data dari excel adalah ‘xlsread’ sedangkan untuk menyimpan menggunakan perintah ‘xlswrite’

  4. Maaf min, kalau yang bahas propagasi balik ada gak ya?

  5. Silvia Nurul Fata

    Assalamu’alaikum..
    Mas, bisa minta contoh program matlab jaringan syaraf tiruan menggunakan LVQ (Learning Vector Quantization)?
    Termakasih sebelumnya.

  6. assalamualaikum, ka saya mau tanya saya tugas akhir saya identifikasi menggunakan jst backpropagation, untuk tahap training saya sudah coba run tapi saat melihat performance hanya ada garis biru tidak ada garis best nya, menurut kaka salahnya dimana ya ?

  7. Terima kasih banyak atas jawaban nya ka

  8. assalamualaikum mas, saya mau tanya..
    cara menentukan 1,2, 3 nya gmna?
    1. Jumlah neuron pada layer masukan, layer tersembunyi, dan layer keluaran?
    2. Jumlah layer tersembunyi (hidden layer)?
    3. Fungsi aktivasi pada layer tersembunyi?

    mohon pencerahannya. terimakasih

  9. assalamualaikum mas, saya sedang melakukan penelitian mengenai prediksi debit, metode jst apa yang sebaiknya saya gunakan? data yang digunakan adalah data debit saja. Dan apakah self organizing maps bisa digunakan untuk memprediksi? terima kasih sebelumnya,

    • Waalaikumsalam ahmed
      Kalau hanya ada data debit saja, maka artinya itu merupakan data time series
      Bisa dicoba dg berbagai macam metode seperti backpropagation, perceptron, som, lvq, atau rbf

  10. Assalamualaikum mas, apakah SOM bisa digunakan untuk prediksi data time series? Soalnya dari kebanyakan referensi yang saya temui, SOM hanya digunakan untuk clustering, mohon pencerahannya, terima kasih

    • Waalaikumsalam ahmed
      Pada umumnya salah satu prinsip dari algoritma SOM adalah mereduksi data berdimensi tinggi sehingga SOM lebih sering digunakan untuk proses clustering
      Untuk sistem prediksi dengan data time series bisa menggunakan algoritma backpropagation

  11. Tanya lagi mas, saya berencana mengkombinasikan SOM dan Backpropagation pada skripsi saya mengenai prediksi debit. Data yang digunakan adalah debit saja. SOM ingin saya gunakan untuk mengurangi data yang tidak mendeskripsikan data latih, lalu output dari SOM tersebut akan saya gunakan sebagai data latih pada Backpropagation. Menurut mas bagaimana step by stepnya? Terimakasih

    • Untuk sistem prediksi, penerapan SOM untuk mereduksi data time series tidak memungkinkan untuk dilakukan karena dalam sistem tersebut, semakin banyak data masukan maka akurasi yang dihasilkan akan semakin baik
      Berbeda dengan sistem klasifikasi, penggunaaan SOM untuk mereduksi data masukan akan menghasilkan proses komputasi yang lebih cepat dan efisien serta akurasi yang tetap tinggi

  12. baik mas, terima kasih banyak atas pencerahannya, sehat dan sukses selalu 🙂

  13. Mas mau bertanya tentang ekstraksi ciri glcm dan juga backpropagation. Nah yang mau saya tanyakan, misalnya kita memiliki 16 data (contrast_0, corr_0, homogenity_0, energy_0, contrast_45, cor_45…..dst) dari 1 gambar, untuk proses pelatihan menggunakan backpropagation bagusnya untuk satu gambar dibagi menjadi 4 data per pattern (setiap pattern mewakili 1 sudut sehingga ada 4 pattern) atau menggunakan 16 data tersebut sebagai inputan backpropagation mas? Terima kasih

  14. Assalamuialaikum,..
    Saya mau bertanya beberapa hal, :
    1. Ada beberapa kasus, dimana JST gagal melakukan prediksi yang baik (MSE rendah). pertanyaannya, pada data-data seperti apa JST bisa meramal dengan baik dan pada data seperti apa contohnya JST kemungkinan tidak bisa meramal dengan baik.
    2.Pada source code matlab tentang JST untuk prediksi yang mas adi tulis,.. ada code :
    data_latih = Data(:,1:12)’;
    target_latih = Data(:,13)’;
    [m,n] = size(data_latih);
    saya kurang paham.
    Mohon penjelasan mas adi.

    • Waalaikumsalam raditya
      1. Prediksi menggunakan algoritma jaringan syaraf tiruan akan menghasilkan akurasi yang tinggi hanya jika pola masukan yang diberikan memiliki keteraturan dan perulangan yang jelas
      Jaringan syaraf tiruan tidak dapat memprediksi kejadian yang bersifat acak
      2. Di dalam matlab, untuk mengakses nilai pada suatu matriks bisa menggunakan perintah sbb
      data(urutan baris,urutan kolom)
      data(:,1:12) artinya mengakses data pada semua baris pada kolom ke-1 s.d kolom ke-12

  15. Selamat malam mas,
    Saya boleh minta email or nomer hp yang bisa saya hubungi mas?
    Soalnya saya lagi kesusahan dengan cara penggunaan matkab untuk skripsi saya mas.
    Seoga mas bisa bantu ya, terimakasih mas.
    Saya tunggu contactnya.

  16. Assalamualaikum mas
    mau nanya mas
    ada referensi buat SOM GUI dimatlab nya ngga mas ?
    saya masih kesulitan membuat mengimplementasikan algoritma ke source code GUI nya
    maksih ^^

  17. ira oktafigara

    assalamualikum Wr Wb
    mau nanya mas
    sy menggunakan jenis JST LVQ untuk pengenalan pola suara
    bagaimana cara menentukan parameter yang di sebutkan diatas seperti jumlah neuron, bobot dan epoch?
    terima kasih sebelumnya

  18. ira oktafigara

    maksudnya trial & error gmn ya?
    kan sebelumnya sy menggunakan metode MFCC sebagai ektraksi cirinya,output dari proses MFCC tersebut apa langung bisa digunakan sebagai input pada jar. LVQ ataukan perlu di proses lagi?

  19. assalamualaikum gan kalo mau melakukan pengenalan huruf dengan deteksi tepi canny lalu untuk klasifikasinya jst backpropagation. maka data yang di hitung dengan rumus jst backpronya data yang mana ya gan? trimakasih

    • adi pamungkas

      waalaikumsalam fitri khoirunnisa
      data yang dijadikan sebagai masukan jst adalah pola biner dari citra hasil segmentasi

  20. assalamualaikum mas.
    apakah penggunaan fungsi linear (purelin) pada keluaran backpropagation itu ada pengaruh dengan inputan bobot awal yang digunakan ?

    satu lagi mas,
    alasan keluaran menggunakan fungsi linear (purelin) itu apa ya mas ?

    • waalaikumsalam arifmudi
      fungsi linear tersebut digunakan untuk memetakan nilai neuron dari layer tersembunyi menuju ke layer keluaran
      jenis fungsi tersebut bisa divariasikan misalnya menjadi fungsi sigmoid biner atau sigmoid bipolar

    • kalau untuk penentuan bobot nya mas. apakah ada aturan nya seperti random antara -0.5 sampai 0,5 . atau random -1 sampai 1 atau sembarang random aja mas.

    • betul arifmudi
      untuk inisialisasi bobot awal diberikan nilai kecil yg bernilai positif dan negatif
      umumnya berkisar antara -0.5 sampai +0.5

  21. Proses hidden layer itu nama lainnya apa ya? saya kurang paham proses yg ada di gambarnya itu.. contohnya x1 itu kan gejala gejala penyakit.. trus ada proses hiden layer, baru dapat kesimpulan kena penyakit apa.. nah proses hidden itu dinamakan apa ya..tolong bantuannya

  22. assalammualaikum mas adi saya ingin bertanya. saya sedang mengambil skripsi tentang implementasi jst. citra saya berupa citra insang yang di crop bagian insangnya kemudian diekstrak dengan ekstraksi rgb dan lalu saya training menggunakan jst. tapi kenapa pas . saya simulasi menggunakan data yang sama terdapat data yang tidak dikenali. mohon bantuannya.

    • waalaikumsalam rachmad
      banyak faktor yang mempengaruhi tingkat akurasi dari suatu sistem identifikasi
      di antaranya adalah metode pada proses segmentasi, ekstraksi ciri, dan identifikasi yang kurang tepat

  23. Artikelnya sangat membantu mas. 😀
    Mohon bantuannya,saya memiliki rencana untuk bahan penelitian skripsi dengan topik “ANC JST” ada kah artikel tentang ANC mas? terimakasih

  24. kak mau tanya, kalo jst untuk pengklasifikasian bagaimana ya

  25. Assalammualaikum mas,
    Saya mau bertanya mengenai gabungan antara wavelet daubechies dan jst. Apakah mas mempunyai contoh code nya? Ini terkait dengan tugas akhir saya mas.
    Terima kasih mas

  26. asalamualaikum mas adi, mau tanya mas rumus/perhitungan yang biasa di pakai untuk metode klasifikasi jst LVQ sama PCA apa ya mas? terimakasih sebelumnya mas

  27. Elyezer Sidabutar

    selamat siang mas, kalau untuk program Fast Fourier Transform di Matlab GUI itu seperti apa yaaa

  28. Mau tanya mas, sy penelitian nya ttg jst propagasi balik, nah pd hasil korelasi pengujian nya sangat bagus sekali mendekati 1,tetapi kenapa ya pada korelasi hsil pelatihan nya malah lebih jelek, kan seharusnya nilai korelasi pelatihan lbh bagus dr pd pengujian. Tolong bantu ya

  29. selamat pagi mas
    saya mau izin bertanya bagaimana langkah langkah membaca dan mengenal karakter dengan metode JST

  30. selamat pagi pak
    saya mau bertanya mengenai cara pelatihan dan pengujian LVQ mengunakan matlab .
    apakah bapak mempunyai score code untuk LVQ ?
    trimakasih

  31. mas kalo saya mau melakukan klasifikasi menggunakan jst backpropagation dengan GLCM itu source codenya bagaimana yah ?
    terimakasih

  32. Selamat sore mas, untuk klasifikasi menggunakan jst backpropagation dengan HSV itu source codenya bagaimana ya ?
    Terimakasih

  33. Assalamu’alaikum, pak. saya mau tanya. Kalau saya lihat untuk pembagian data training dan testing itu caranya bagaimana ya, pak? apa ada ketentuannya? soalnya saya juga sudah cari di jurnal2 juga sama kaya bapak. langsung displit gitu. soalnya saya perlu tau untuk TA saya, pak. takutnya saya langsung bagi datanya kaya gitu tapi enggak ada dasar alasan yang kuat. contoh data TA saya itu prediksi perbulan data time series tahun 2013 s.d. 2019. kalau saya baginya jadi seperti ini gimana pak:
    training : 2013 s.d. 2015, 2016 target
    testing : 2016 s.d. 2018, 20 target
    terima kasih

  34. Terima kasih, pak. Izin tanya lagi jika bapak berkenan. Dalam pembuatan pola/pembagian data training dan testingnya itu kayanya dibuat rotasi ya, pak? maksudnya setiap dataset bisa jadi target. Tapi, kalau misalkan saya enggak buat pola kaya gitu, datanya salah enggak pak jadinya?

  35. Assalamu’alaikum, pak adi. mohon maaf sebelumnya. saya mau tanya tentang code JST peramalan hujan dr website pak adi. kalau boleh tau maksud/cara baca dari code di bawah ini bagaimana ya pak adi?

    bias_hidden = net_output.b{1,1};
    bias_output = net_output.b{2,1};

    yang saya tau dari jurnal code di atas ditulis untuk mencari nilai bias secara random, tp saya tidak paham arti dari {1,1} dan {2,1}. soalnya saya sempat cari dari jurnal, di sana tertulis {1} untuk bias hidden dan {2} bias output.
    mohon penjelasannya pak adi. maaf sebelunya. terima kasih

    wassalamu’alaikum

  36. selamat siang mas adi, sebelumnya terimakasih banyak sudah buat website ini. saya mau tanya urgent buat skripsi mas. bilamana klasifikasi daun dengan data excel itu sourcodenya bagaimana ya?
    terimakasih mas.

  37. assalamualaikum pak, mohon ijin bertanya saya sudah mempraktekkan klasifikasi yg hampir sama dengan klasifikasi biji kopi akan tetapi program saya tentang klasifikasi jenis kulit wajah, itu lvqnya tidak jalan selalu muncul ini ” Error using mean
    Too many input arguments. “. jadi untuk solusinya bagaimana nggeh? terimakasih banyak

  38. Assalamualaikum bang, saya ingin bertanya. Jadi saya itu lagi menghitung perhitungan manual backpropagation. Tetapi saya bingung untuk menentukan jumlah input, hidden layer, sama outputnya. Jadi bang apakah saya harus mengikuti dari jumlah arsitektur terbaik contohnya punya saya 3-7-1, atau random aja gitu bang

  39. Permisi kak, mau tanya untuk pelatihan jst ini apakah sama dengan pelatihan pada rbfnn? Dan apakah ada pembahasan lengkap mengenai peramalan rbfnn?
    Terimakasih sebelumnya

  40. halo pak, saya ingin bertanya. apakah nilai MAPE akan selalu beruba-ubah kalau di running di matlab?

  41. kak mau nanya. untuk penentuan bobot bias pada jst dsni perhitungannya dari mana ya kenapa. bobot 0.1 hasilnya 2,6327. dan kenapa bobot 0.2 hasilnya 1.861 dst. soalnya saya cari perhitungan bobot bias tidak ada kak. ketentuannya dari mana ya kak. mohon bantuannya🙏🏻

  1. Pingback: Rendysaputra_Tugas_011170046

Leave a comment