Dokumen tersebut membahas konsep jaringan saraf tiruan (Artificial Neural Network/ANN), meliputi penjelasan tentang neuron, layer input, hidden dan output, algoritma pelatihan ANN seperti backpropagation, serta penerapan ANN dalam berbagai bidang seperti pengenalan pola dan klasifikasi.
3. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Capaian Pembelajan
Mahasiswa mampu menjelaskan konsep klasifier dengan fungsi diskriminan linear
maupun non-linear.
20. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Neuron
• Unit pemrosesan informasi dasar dari Neural Network
• Satu set link, menjelaskan input neuron, dengan bobot 𝑤1, 𝑤2, … , 𝑤𝑚
• Fungsi penambah, adder function, (penggabung linier) untuk menghitung
jumlah bobot input:
𝑓 =
𝑖=1
𝑖=𝑚
𝑤𝑖𝑥𝑖
• Activation function 𝑎(∙)
𝑦 = 𝑎(𝑓)
26. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Activation Function
• Linear function
𝑎 𝑓 = 𝑓
• Step function
otherwise
0
if
1
)
(
t
f
f
a
27. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Activation Function
• Sigmoid function
)
exp(
1
1
)
(
f
f
a
2
2
1
exp
2
1
)
(
f
f
a
• Gaussian function
28. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Activation Function
• Tanh • ReLU
tanh 𝑥 = 2𝜎 2𝑥 − 1 𝑓 𝑥 = max(0, 𝑥)
29. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Algoritma Single Layer Perceptron vs. Multi Layer Perceptron
. . .
. . .
. . .
. . .
x1 x2 xm
y1 y2 yn
Hidden Layer
Input Layer
Output Layer
. . .
x1 x2 xm
y
Input Layer
Output Layer
Single Layer Perceptron Multi Layer Perceptron
30. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Algoritma untuk Pelatihan ANN
• Inisialisasi bobot (w0, w1, …, wk)
• Sesuaikan bobot sedemikian rupa sehingga keluaran ANN konsisten
dengan label kelas dari contoh pelatihan
Fungsi objektif
y – keluaran yang diamati
t – keluaran target
Temukan bobot wi yang meminimalkan fungsi objektif di atas
2
1
)
)
(
)
(
(
2
1
)
(
K
k
k
k x
t
x
y
x
E
31. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Algoritma backpropagation untuk Single-Layer Perceptron
• Langkah 0 – Inisialisasi weights (w0, w1, …, wn), m = 0, learning rate , dan threshold t
• Langkah 1 – Lakukan m = m + 1
• Langkah 2 – Pilih pola Xm
• Langkah 3 – Hitung keluaran
• Langkah 4 – Hitung error atau delta = d – o, di mana
• Langkah 5 – Perbarui nilai tiap bobot
• Langkah 6 – Ulangi sampai w konvergen
• Langkah 7 – Kembalikan nilai w
t
X
w
X
w
f
i
i
i
i
i
)
,
(
)
( f
a
o
i
i
old
new X
w
w
)
(
)
(
32. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Algoritma backpropagation untuk Multi-Layer Perceptron
• Langkah 0 – Inisialisasi weights (w0, w1, …, wn), m = 0, learning rate , threshold t, dan
variabel sigmoid
• Langkah 1 – Lakukan m = m + 1
• Langkah 2 – Pilih pola Xm
• Langkah 3 – Hitung keluaran oj and ok
• Langkah 4 – Hitung error atau delta k and j
• Langkah 5 – Perbarui nilai tiap bobot dan
• Langkah 6 – Ulangi sampai w konvergen
• Langkah 7 – Kembalikan nilai w
)
( f
a
o
i
j
old
ij
new
ij X
w
w
)
(
)
(
j
k
old
kj
new
kj o
w
w
)
(
)
(
33. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Desain ANN
Jumlah layer
Jumlah neuron di hidden layer
Jumlah neuron di output layer
34. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Desain ANN
Jumlah layer
Lebih sedikit jumlah layer, lebih cepat dalam eksekusi dan pelatihan
35. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Desain ANN
Jumlah neuron di hidden layer
Hidden node yang lebih banyak memungkinkan untuk mempelajari pola yang
lebih rumit
Untuk menghindari overtraining, lebih baik menggunakan hidden node dengan
jumlah yang rendah dan kemudian meningkatkan jumlahnya
36. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Pelatihan ANN
Overtraining
Training set
Test set
Performance
Training time
37. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Desain ANN
Jumlah neuron di hidden layer
Antara ukuran input layer dan ukuran output layer
2/3 dari ukuran input layer, ditambah ukuran output layer
Kurang dari dua kali ukuran input layer
38. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Desain ANN
Jumlah neuron di output layer
Regresi
Satu neuron
Klasifikasi
Binary class: satu neuron
Multi class: lebih dari satu neuron
40. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Pelatihan ANN
1. Apakah akan berhenti?
2. Ke arah mana untuk melanjutkan?
3. Berapa lama langkah yang harus diambil?
Apakah kriterianya memuaskan?
Contoh dengan gradient descent.
: learning rate
41. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Rangkuman
• Konsep ANN
• Single-layer perceptron
• Multi-layer perceptron
• Algoritma packpropagation
• Penerapan ANN
46. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Contoh #2 – Forward dan Back Propagation (2/17)
𝑛𝑒𝑡ℎ1
= 𝑤1 × 𝑖1 + 𝑤2 × 𝑖2 + 𝑏1 × 1
= 0.15 × 0.05 + 0.2 × 0.1 + 0.35 × 1
= 0.3775
Gunakan fungsi logistik untuk mendapatkan output
𝑜𝑢𝑡ℎ1
=
1
1 + 𝑒−𝑛𝑒𝑡ℎ1
=
1
1 + 𝑒−0.3775
= 0.5933
dan melakukan proses yang sama untuk ℎ2, kita mendapatkan
𝑜𝑢𝑡ℎ2
= 0.5969
47. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Contoh #2 – Forward dan Back Propagation (3/17)
𝑛𝑒𝑡𝑜1
= 𝑤5 × 𝑜𝑢𝑡ℎ1
+ 𝑤6 × 𝑜𝑢𝑡ℎ2
+ 𝑏2 × 1
= 0.40 × 0.5933 + 0.45 × 0.5969 + 0.6 × 1
= 1.1059
Gunakan fungsi logistik untuk mendapatkan output
𝑜𝑢𝑡𝑜1
=
1
1 + 𝑒−𝑛𝑒𝑡𝑜1
=
1
1 + 𝑒−1.1059
= 0.7514
dan melakukan proses yang sama untuk 𝑜2, kita mendapatkan
𝑜𝑢𝑡𝑜2
= 0.7729
59. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Contoh #2 – Forward dan Back Propagation (15/17)
𝜕𝐸𝑡𝑜𝑡𝑎𝑙
𝜕𝑤1
=
𝛿𝐸𝑡𝑜𝑡𝑎𝑙
𝛿𝑜𝑢𝑡ℎ1
×
𝛿𝑜𝑢𝑡ℎ1
𝛿𝑛𝑒𝑡ℎ1
×
𝛿𝑛𝑒𝑡ℎ1
𝛿𝑤1
= 0.03635 × 0.24130 × 0.05
= 0.00044
60. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Contoh #2 – Forward dan Back Propagation (16/17)
Sekarang kita dapat melakukan update pada 𝑤1
𝑤1
+
= 𝑤1 − 𝜂 ×
𝜕𝐸𝑡𝑜𝑡𝑎𝑙
𝜕𝑤1
= 0.15 − 0.5 × 0.00044 = 0.14978
𝑤2
+
= 0.19956
𝑤3
+
= 0.24975
𝑤4
+
= 0.29950
61. www.its.ac.id INSTITUT TEKNOLOGI SEPULUH NOPEMBER, Surabaya - Indonesia
Contoh #2 – Forward dan Back Propagation (17/17)
• Akhirnya, kita telah memperbarui semua bobot!
• Ketika kita memasukkan input 0,05 dan 0,1 melalui forward
propagation, kesalahan adalah 0,2984
• Setelah putaran pertama melalui back propagasi mundur, total
kesalahan turun menjadi 0,2910
• Ini mungkin tidak terlihat banyak, tetapi setelah mengulangi proses
ini sebanyak 10.000 kali, misalnya, kesalahannya merosot menjadi
0,0000351085
Editor's Notes
Selamat pagi, siang, sore, dan malam rekan-rekan. Apa kabar hari ini?
Semoga kesehatan dan kebahagiaan selalu Bersama kita. Dan pastinya, tetap bersemangat belajar kecerdasan komputasional. Bukankah begitu?
https://www.youtube.com/watch?v=bfmFfD2RIcg
https://www.youtube.com/watch?v=ZzWaow1Rvho&list=PLxt59R_fWVzT9bDxA76AHm3ig0Gg9S3So&index=1
https://medium.com/@opam22/menilik-activation-functions-7710177a54c9
https://medium.com/artifical-mind/particle-swarm-optimization-an-interactive-introduction-8db8ed4d56ca
Pada kesempatan ini kita akan mempelajari tentang artificial neural network atau yang juga dikenal dengan jaringan saraf tiruan.
(klik)
Setelah mempelajari materi ini, mahasiswa diharapkan…
(klik)
Mari kita mulai pembahasan materi ini.
Selama 8.5 tahun saya bertempat tinggal di Taiwan.
Meskipun saya tidak bisa membaca dan menulis Mandarin, saya tidak mempunyai kesulitan di sana.
Semua itu berkat aplikasi google translate (klik) yang secara real time dapat menerjemahkan tulisan mandarin maupun suara yang diucapkan dalam Bahasa mandarin.
(klik)
Real-time translation, seperti google translate, merupakan salah satu contoh aplikasi yang memanfaatkan neural network.
(klik)
Dua contoh lain pemanfaatan nn adalah facial recognition,
(klik)
fashion recommendation, dan masih banyak yang lainnya
Lalu, apakah yang dimaksud dengan artificial neural networks,
(klik)
atau yang juga dikenal dengan nama jaringan saraf tiruan?
(klik)(klik)
NN merupakan dasar dari deep learning,
(klik)
yang merupakan subfield dari machine learning
(klik)(klik)
Sedangkan NN ini terinspirasi dari struktur otak manusi
Mari kita ingat lagi mata pelajaran biologi tentang struktur otak manusia.
Sebuah neuron terdiri dari badan sel
(klik),
soma,
(klik)
sejumlah fiber yang disebut dendrit,
(klik)
dan satu fiber panjang yang disebut akson.
Sementara dendrit bercabang menjadi jaringan di sekitar soma, akson membentang ke dendrit dan soma neuron lain.
(klik)
Berikut ini adalah ilustrasi perbedaan antara jaringan saraf biologis dan jaringan saraf tiruan, sedangkan perbedaan istilah yang digunakan pada keduanya diberikan pada tabel.
(klik)
Secara garis besar, cara kerja jaringan saraf tiruan adalah sebagai berikut
(klik)
NN menerima inputan berupa data,
(klik)
kemudian melakukan training untuk mengenali pola pada data tersebut,
(klik)
dan selanjutnya memprediksi output untuk dataset baru yang serupa dengan data training
(klik)
(klik)
Mari kita mempelajari secara lebih detail bagaimana proses yang terjadi.
(klik)
Pada contoh ini, kita akan membuat sebuah NN yang mampu membedakan antara persegi, lingkaran, dan segitiga.
NN terdiri dari beberapa layer neuron,
(klik)
di mana neuron-neuron tersebut merupakan unit pemrosesan utama dari jaringan.
Kita punya input layer,
(klik)
yang fungsinya menerima input.
(klik)
Ada output layer untuk menprediksi final output.
(klik)
Dan di antara input layer dan output layer terdiri dari hidden layer yang menjalankan sebagian besar komputasi yang dibutuhkan oleh jaringan.
Anggap kita punya sebuah gambar lingkaran
(klik)
gambar lingkaran ini berukuran 28x28 piksel
(klik)
sehingga total keseluruhan ada 784 piksel.
(klik-1)
Tiap piksel dimasukkan ke tiap neuron yang ada di layer pertama sebagai input.
(klik-2)
Neuron pada masing-masing layer dihubungkan ke neuron pada layer berikutnya melalui channel.
(klik-3)
Pada setiap channel diberikan suatu nilai yang disebut dengan bobot atau weight.
(klik-4)
Input pada setiap neuron dikalikan dengan bobot yang bersesuaian, dan hasil penjumlahannya dijadikan input pada neuron hidden layer.
(klik-5)
Tiap neuron di hidden layer mempunyai satu nilai numerik yang disebut dengan bias.
(klik-6)
Nilai bias selanjutnya ditambahkan ke penjumlahan input yang kita punya tadi untuk selanjutnya dilewatkan pada suatu threshold function yang disebut activation function.
(klik-7)
Hasil dari activation function menentukan apakah suatu neuron perlu diaktifkan atau tidak.
(klik-8)
Neuron yang teraktivasi mengirimkan data ke neuron pada layer selanjutnya melalui channel.
(klik-9)
Melalui cara ini, data disebarkan melalui jaringan, sehingga disebut forward propagation.
(klik-10)
Pada output layer, neuron dengan nilai tertinggi menentukan nilai output berupa probabilitas.
(klik-11)
Sebagai contoh, probabilitas untuk persegi adalah yang tertinggi. Sehingga ini adalah output yang diprediksi oleh NN.
(klik-12)
Tentu saja, dengan melihat ini kita tahu kalau NN kita melakukan prediksi yang salah.
Pelu diingat kita akan melakukan training jaringan kita.
(klik-13)
Selama proses pelatihan ini, bersama dengan input pada network juga output yang diumpankan, output yang diprediksi dibandingkan dengan output aktual sehingga dapat diketahui kesalahan dalam prediksi.
Besarnya error menunjukkan betapa salahnya kita.
tanda positif atau negative menunjukkan jika nilai prediksi kita lebih tinggi atau lebih rendah dari yang diharapkan.
(klik-14)
Tanda panah di sini memberikan indikasi arah dan besaran perubahan untuk mengurangi kesalahan.
(klik-15)
Informasi ini ditransfer mundur melalui jaringan. Ini dikenal sebagai back propagation.
(klik-16)
Berdasarkan informasi ini, bobot selanjutnya diselaraskan.
Siklus propagasi maju dan propagasi mundur ini, atau istilah asingnya forward and back propagation ini, dilakukan secara berulang dengan banyak input.
Proses ini berlanjut hingga bobot yang ditetapkan, sehingga jaringan dapat memprediksi bentuk dengan benar di sebagian besar kasus. Dan ini selanjutnya mengakhiri proses training.
Sekarang kita bahas yang dimaksud dengan neuron.
Neuron adalah unit pemrosesan informasi dasar dari Neural Network. Terdiri dari:
(klik)
…
(klik)
…
(klik)
…
(klik)
Lalu, apa yang bisa dilakukan oleh neuron?
(klik)
Yang pertama adalah sebagai hard limiter,
(klik)
kemudian sebagai binary threshold unit,
(klik)
dan sebagai Hyperspace separation
(klik)
Misal kita punya suatu ANN seperti ini, ada 2 input dengan masing-masing bobotnya, dan ada bias
(klik)
Ini adalah definisi fungsi yang digunakan
(klik)
Dan fungsi tersebut diilustrasikan dengan kurva ini, dengan garis merah merupakan pembagi kelas 0 dan 1.
Misal di sini kita punya dua kelas, 0 dan 1, neuron dapat melakukan pembagian daerah untuk tiap kelas. garis merah menjadi pembatas region kelas yang berbeda tersebut.
Apabila data jatuh di sini, maka ia termasuk kelas 0. Pun begitu bila data jatuh di sini, maka ia termasuk kelas 1.
Ketika kita membicarakan tentang neural network atau artificial neural network, activation functions merupakan bagian penting yang tidak bisa kita lewatkan. Pertanyaan selanjutnya adalah kenapa activation function merupakan bagian penting dalam neural network? lalu sebenarnya apa sih peranannya sehingga membuat dirinya begitu penting?
(klik)
Jawabannya adalah untuk membuat neural network menjadi non-linear.
Perlu dicatat, neuron pada input layer tidak memiliki activation function, sedangkan neuron pada hidden layer dan output layer memiliki activation function.
Activation function ini kadang berbeda tergantung daripada data atau problem yang kita miliki.
secara “default” activation function dari sebuah neuron adalah Linear
Sebelum kita bahas tentang activation function secara mendetail, kita bahas dulu yang dimaksud dengan linear dan non-linear.
Dua gambar di sisi kiri adalah contoh dua macam data yang dapat dipisahkan oleh sebuah garis linear, sedangkan di sebelah kiri adalah contoh bila dua macam data yang tidak dapat dipisahkan oleh sebuah garis linear.
Pada data yang persebarannya tidak linear, kadang kita menemui hal seperti berikut.
(klik)
Data ini, sebut saja data merah dan data biru, bukanlah data yang dapat dipisahkan secara liner. Padahal, kita ingin membagi data tersebut sedemikian rupa sehingga antara data merah dan data biru terpisah.
Cara paling naif adalah dengan membuat garis sebagai berikut
(klik)
Namun tentu saja tidak mudah membuat garis seperti itu melalui suatu pemodelan matematika.
(klik)
Cara lain adalah dengan melakukan partisi menggunakan beberapa garis, atau yang disebut dengan hyperspace partition.
Garis pertama… garis kedua… dan garis ketiga
Nah, ANN dapat melakukan partisi dengan cara ini.
Sekarang mari kita bahas beberapa activation function yang biasa atau umum digunakan.
(klik)
Ada linear function dengan bentuk formula a(f) = f
(klik)
Kemudian ada step function yang memiliki ketentuan seperti di ini misalnya
Jika output dari sigmoid lebih besar atau sama dengan t, di mana t adalah sebuah nilai, maka class-nya 1, dan class 0 jika tidak.
(klik)
Berikunya ada sigmoid. Sigmoid akan menerima angka tunggal dan mengubah nilai f menjadi sebuah nilai yang memiliki range mulai dari 0 sampai 1.
(klik)
Ada gaussian function, dengan rumus gaussian berikut.
(klik)
Activation function selanjutnya yang kita bahas yakni tanh.
Tanh akan mengubah nilai input x nya menjadi sebuah nilai yang memiliki range mulai dari -1 sampai 1.
Sama seperti Sigmoid, Tanh memiliki kekurangan yaitu bisa mematikan gradient, tetapi kelebihannya adalah output yang dimiliki Tanh merupakan zero-centered. Dalam praktiknya Tanh lebih menjadi pilihan jika dibandingkan dengan Sigmoid. Yang perlu dicatat adalah tanh hanyalah merupakan Sigmoid yang dikembangkan
(klik)
ReLU atau Rectified Linear Unit menjadi salah satu activation function yang popular belakangan ini.
ReLU merupakan activation function favorit para engineer yang malas, kenapa engineer yang malas?
Karna ReLU pada intinya hanya membuat pembatas pada bilangan nol, artinya apabila x ≤ 0 maka x = 0 dan apabila x > 0 maka x = x
Pada ANN, jenis perceptron digolongkan menjadi 2 berdasarkan jumlah layernya, yaitu single layer perceptron dan multi layer perceptron.
(klik)
(klik)
Single Layer Perceptron memetakan output dengan hasil dari kombinasi linear semua perkalian feature vector / input value terhadap ‘weight’, bobot.
(klik)
Sedangkan MLP merupakan Supervised Machine Learning yang dapat mengatasi permasalahan yang tidak lineary separable, tidak terpisah secara linear. Sehingga kelebihan ini dapat digunakan untuk menyelesaikan permasalahan yang tidak dapat diselesaikan oleh Single Layer Perceptron
Algoritma untuk melakukan training ANN secara umum adalah sebagai berikut
(klik)
Pertama, kita Inisialisasi bobot, pada penjelasan ini kita notasikan bobot sebanyak k dengan masing-masing w0, w1, hingga wk
(klik)
Selanjutnya, Sesuaikan bobot sedemikian rupa sehingga keluaran ANN konsisten dengan label kelas dari contoh pelatihan
(klik)
Dalam pelatihan kita punya sebuah objective function, yang dirumuskan sebagai berikut
(klik)
Dengan y merupakan keluaran yang diamati dan t merupakan keluaran target
(klik)
Pekatihan ini dilakukan secara iterative, berulang-ulang, hingga kita temukan bobot yang meminimalkan fungsi objektif yang kita miliki
Algoritma back propagation untuk Single-Layer Perceptron dan Multi-Layer Perceptron memiliki beberapa perbedaan.
Kita akan bahas dulu Algoritma back propagation untuk Single-Layer Perceptron
(klik-1)
…
(klik-2)
…
(klik-3)
…
(klik-4)
…
(klik-5)
…
(klik-6)
…
(klik-7)
…
Kini kita akan bahas dulu Algoritma back propagation untuk Multi-Layer Perceptron
(klik-1)
…
(klik-2)
…
(klik-3)
…
(klik-4)
…
(klik-5)
…
(klik-6)
…
(klik-7)
…
Beberapa pertanyaan yang muncul saat mendesain ANN, mungkin sekarang Anda telah memiliki pertanyaan berikut dalam benak Anda.
(klik)
Untuk mendapatkan performa yang baik, berapakah jumlah layer, jumlah neuron di hidden layer, dan jumlah neuron di output layer?
Untuk pertanyaan pertama, berapakah sebainya jumlah layer?
Nah, lebih sedikit jumlah layer maka eksekusi dan pelatihan bisa lebih cepat.
Namun perlu kita perlu memperhatikan bagaimana efeknya pada performa sistem.
Lalu pertanyaan berikutnya, bagaimanakah dengan jumlah neuron di hidden layer?
...
Sebagai tips, ...
Dalam melatih network yang kita miliki, kita perlu menghindari adanya
(klik)
overtraining.
(klik)
Overtraining terjadi apabila Sebuah ANN dapat bekerja dengan baik pada training set, tapi performanya kurang baik pada test set
Beberapa rule-of-thumb methods untuk menentukan jumlah neuron di hidden layer adalah berikut
(klik)
…
(klik)
Tips kedua
(klik)
…
Penentuan jumlah neuron di output layer didasari oleh tujuan kita dalam memanfaatkan ANN,
(klik)
Apakah untuk regresi ataukah klasifikasi
(klik)
Bila untuk regresi, kita hanya butuh satu neuron
(klik)
Namun bila untuk klasifikasi, kita perlu memperhatikan jumlah kelas prediksi
Untuk binary class, hanya ada 1 neuron, sedang untuk multi class maka ada lebih dari satu neuron
Untuk mengukur efektivitas pelatihan, kita butuh training set dan test set
(klik)
Lebih baik tidak ada interaksi antara training set dan test set
Contoh Kesalahan:
Latih ANN dengan training set
Uji JST pada test set
Hasilnya buruk
Kembali ke pelatihan ANN
Setelah ini, tidak ada jaminan bahwa JST akan bekerja dengan baik dalam praktiknya
Untuk mendesain algoritma pembelajaran, kita menghadapi masalah berikut:
Apakah akan berhenti?
Ke arah mana untuk melanjutkan?
Berapa lama langkah yang harus diambil?
(klik)
Untuk menjawab pertanyaan pertama, kita harus mendapat jawaban, Apakah kriterianya sudah memuaskan? Jika ya, maka berhentu.
(klik)
Lalu...
Ke arah mana untuk melanjutkan?
Ada beberapa Teknik yang dapat digunakan, contohnya gradient descent.
Gradient descent adalah algoritma yang digunakan untuk melakukan optimisasi dari suatu fungsi dengan menggunakan turunan dari fungsi itu sendiri.
(klik)
Pertanyaan selanjutnya,
Berapa lama langkah yang harus diambil?
Ini tergantung pada learning rate yang digunakan. Learning rate merupakan salah satu parameter training untuk menghitung nilai koreksi bobot pada waktu proses training. Learning rate yang besar akan melakukan perubahan terhadap variabel secara besar dan sebaliknya.
Perlu dicatat bahwa penggunaan learning rate yang terlalu besar akan menyebabkan perubahan yang besar pula, sehingga menyebabkan dilewatkannya solusi optimal yang diinginkan. Namun, learning rate yang terlalu kecil juga akan menyebabkan proses mencapai solusi optimal menjadi sangat lambat. Jadi kita harus benar-benar menentukan nilai learning rate yang tepat dalam melakukan training modelneural network.
Itu tadi pembahasan kita mengenai ANN.
Kita telah membahas konsep ANN, (klik)
single-layer perceptron, (klik)
multi-layer perceptron, (klik)
algoritma backpropagation untuk masing-masing single-layer perceptron maupun multi-layer perceptron, (klik)
serta contoh penerapan ANN. (klik)
Terima kasih atas perhatian rekan-rekan. Jangan lupa untuk tetap semangat!
Terima kasih atas perhatian Anda. Jangan lupa, tetap semangat!