Contoh Perhitungan Algoritma Backpropagation - Structilmy [PDF]

  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up
File loading please wait...
Citation preview

3/28/2021



Contoh Perhitungan Algoritma Backpropagation - Structilmy



STRUCTILMY (HTTPS://STRUCTILMY.COM/)







TUTORIAL, CATATAN, DOKUMENTASI



MACHINE LEARNING (HTTPS://STRUCTILMY.COM/CATEGORY/MACHINE-LEARNING/)



CONTOH PERHITUNGAN ALGORITMA BACKPROPAGATION  JULY 31, 2019



 BY RIAN ADAM (HTTPS://STRUCTILMY.COM/AUTHOR/RIANADAM/)



 15 MIN READ



 39 COMMENTS (HTTPS://STRUCTILMY.COM/2019/07/CONTOH-PERHITUNGAN-ALGORITMA-BACKPROPAGATION/#COMMENTS)



Beberapa waktu lalu saya dapat kesempatan untuk mengasisteni kegiatan kemkominfo di UGM seputar AI. Salah satu topik yang dibicarakan adalah Backpropagation pada Jaringan Saraf Tiruan (JST). Di postingan ini saya akan mencontohkan perhitungan Backpropagation langkah per langkah, menggunakan arsitektur yang sederhana dan dilanjutkan implementasi menggunakan Python.



ARTIKEL INI DIUPDATE PADA 8 AGUSTUS 2020



https://structilmy.com/2019/07/contoh-perhitungan-algoritma-backpropagation/



1/32



3/28/2021



Contoh Perhitungan Algoritma Backpropagation - Structilmy



Sebelum memulai, sebaiknya kita mengerti terlebih dahulu dasar-dasar untuk: Menghitung turunan satu variabel suatu persamaan (https://kalkulus.mipa.ugm.ac.id/tutorial/penghitungan-derivatif-fungsi-implisitfungsi-satu-peubah/) Memahami cara perkalian matriks (https://id.wikipedia.org/wiki/Perkalian_matriks) Jika masih dirasa banyak yang lupa, silakan refresh kembali materi tersebut.



OVERVIEW



model / arsitektur JST sederhana Sebelum kita mulai, kita ingat kembali beberapa poin penting dalam JST (https://structilmy.com/2019/09/sekilas-tentang-jaringan-saraf-tiruan-dan-deep-learning/) pada ilustrasi di atas. JST yang akan kita buat di atas terdiri dari 1 layer input dan 1 layer output. Layer input biasanya digunakan untuk menerima input berupa tur suatu data. Sedangkan layer output biasanya merepresentasikan prediksi kelas dari data tersebut.



https://structilmy.com/2019/07/contoh-perhitungan-algoritma-backpropagation/



2/32



3/28/2021



Contoh Perhitungan Algoritma Backpropagation - Structilmy



Iklan oleh Kami akan mencoba tidak Iklanuntuk ditutup olehmenampilkan iklan itu lagi Stop lihat iklan ini



Mengapa iklan ini?



Hello to Glow We empower you to go foundation-free. Get tips for healthy radiant skin.



DR's Secret



Open



Contoh, sebuah data X memiliki 3 tur dan 2 kelas. Maka, layer input JST terdiri dari 3 neuron dan layer output terdiri dari 2 neuron. Diketahui sebuah data termasuk pada kelas ke-“2” dengan detail nilai tur input adalah sebagai berikut:



Maka dari data tersebut dapat diketahui representasi dalam JST-nya adalah sebagai berikut: 1. Fitur- tur pada X , dipetakan dengan variabel x sehingga diperoleh x1 =1.0, x2 =2.0, =0.5 2. Label kelas, diubah bentuknya menjadi one-hot encoding. One-hot encoding adalah vektor yang semua isinya bernilai 0, kecuali pada index kelas yang sesuai. Misalnya, untuk data x3



dengan dua kelas, maka vektor representasinya memiliki panjang 2, di mana tiap elemen direpresentasikan dengan variabel t menunjukkan index label kelas. Variabel t1 bernilai 1 jika data berlabel kelas ke-1 dengan vektor one-hot encodingnya adalah [1, 0]. Sebaliknya, variabel t2 bernilai 1 ketika data berlabel kelas ke-2 dengan vektor one-hot encodingnya adalah [0, 1]. Contoh data di atas diketahui termasuk pada kelas ke-2, maka vektornya adalah [0, 1], dengan nilai tiap elemennya adalah t1 =0 dan t2 =1. 3. JST akan menghitung nilai prediksi y1 dan y2 berdasarkan input X . Lalu melalui proses pembelajaran, JST berusaha menghasilkan nilai prediksi y yang sama dengan nilai target t



https://structilmy.com/2019/07/contoh-perhitungan-algoritma-backpropagation/



3/32



3/28/2021



Contoh Perhitungan Algoritma Backpropagation - Structilmy



Ada dua bagian utama pada JST, yakni forward propagation dan backward propagation. pada forward propagation, JST akan mencoba menghasilkan nilai y, sedangkan pada backward propagation, JST akan memperbaiki dirinya (update bobot) sehingga pada forward propagation berikutnya diharap bisa menghasilkan nilai y yang lebih baik atau lebih mendekati label aslinya.



proses forward dan backward pada JST



FORWARD PROPAGATION Forward propagation adalah proses perhitungan secara “maju” dari input (disimbolkan x) hingga diperoleh output model (disimbolkan y). Misal pada ilustrasi di bawah, adalah proses forward propagation dari input x menuju y.



Untuk perhitungannya, nilai y1 diperoleh dengan menghitung nilai z1 terlebih dahulu (perhitungan linier). z1 = w11 x1 + w21 x2 + w31 x3 + b1



https://structilmy.com/2019/07/contoh-perhitungan-algoritma-backpropagation/



4/32



3/28/2021



Contoh Perhitungan Algoritma Backpropagation - Structilmy



Iklan oleh Kami akan mencoba tidak Iklanuntuk ditutup olehmenampilkan iklan itu lagi Stop lihat iklan ini



Mengapa iklan ini?



Hello to Glow We empower you to go foundation-free. Get tips for healthy radiant skin.



DR's Secret



Open



Setelah diperoleh z1 , output prediksi y1 diperoleh dengan menerapkan fungsi aktivasi terhadap z1 . y1 = σ (z1 )



Perhitungan untuk semua y secara umum bisa menggunakan rumus: N



yj = σ



(∑



wij xi + bj



i=1



)



Rumus di atas, sangat penting untuk dipahami, untuk penjelasannya simbol-simbolnya: Simbol bi menunjukkan nilai bias. Nilai bias ini mirip dengan nilai bobot hanya saja tidak dikalikan dengan input. Tujuannya agar garis persamaan bisa lebih kompleks (tidak selalu melewati titik origin). (https://stackover ow.com/questions/2480650/roleof-bias-in-neural-networks) Semua nilai bobot w dan bias b awalnya diberikan nilai random, dan diperbarui nilainya dengan proses backprop untuk meningkatkan kualitas model. Jika diperhatikan kita menamai simbol wij berarti bobot yang menghubungkan neuron input nomor i ke neuron output nomor j. N menunjukkan banyak neuron di layer sebelah kiri (layer input). Simbol σ() (sigma) adalah simbol dari fungsi aktivasi. Artinya, setelah proses perkalian input x dan bobot w lalu dilakukan penjumlahan semua, langkah selanjutnya adalah mengenai hasil perhitungan tersebut dengan fungsi aktivasi. Ada banyak fungsi aktivasi yang dapat dipilih salah satunya fungsi aktivasi sigmoid yang bentuknya seperti ini: 1 σ(x) =



−x



1 + e



CONTOH FORWARD PROPAGATION https://structilmy.com/2019/07/contoh-perhitungan-algoritma-backpropagation/



5/32



3/28/2021



Contoh Perhitungan Algoritma Backpropagation - Structilmy



Misalkan kita memiliki sebuah input seperti tabel di atas X = [1, 2, 0.5] dengan nilai bobot dan bias di awal adalah sebagai berikut (nilai awal bobot dan bias adalah nilai random, saya susun seperti matrix agar mudah): ⎡w ⎢ ⎢



11



= 0.2



w21 = 0.3



⎣ w31 = 0.3



w12 = 0.3 ⎤ w22 = 0.1



⎥ ⎥



w32 = 0.2 ⎦



[b1 = 0, b2 = 0]



Pada contoh di atas simbol wij berarti bobot yang menghubungkan neuron input nomor i ke neuron output nomor j. Misalnya w21 artinya bobot yang menghubungkan neuron input nomor 2 dengan neuron output nomor 1 (bisa diperhatikan pada ilustrasi sebelumnya). Langka pertama forward propagation adalah menghitung nilai z. Pada contoh ini dapat kita hitung nilai z1 adalah:



Iklan oleh Kami akan mencoba tidak Iklanuntuk ditutup olehmenampilkan iklan itu lagi Stop lihat iklan ini



Mengapa iklan ini?



Hello to Glow We empower you to go foundation-free. Get tips for healthy radiant skin.



DR's Secret



Open z1



= w11 x1 + w21 x2 + w31 x3 + b1 = 0.2 ∗ 1 + 0.3 ∗ 2 + 0.3 ∗ 0.5 + 0 = 0.95



Lalu setelah itu kita hitung nilai y1 : y1



= σ(z1 ) = σ(0.95) =



1 −0.95



1 + e = 0.721



Dengan cara perhitungan yang sama dengan di atas dapat diperoleh juga nilai y2 adalah 0.645 . Sampai sini, mungkin sebelum lanjut coba berhenti sebentar dan dipahami lagi prosesnya bagaimana bisa mendapatkan semua nilai y. https://structilmy.com/2019/07/contoh-perhitungan-algoritma-backpropagation/



6/32



3/28/2021



Contoh Perhitungan Algoritma Backpropagation - Structilmy



ERROR Dari perhitungan sebelumnya diperoleh nilai sebagai berikut: [y1 = 0.721, y2 = 0.645]



Nilai tersebut adalah nilai prediksi, atau nilai yang dihasilkan oleh model JST kita. Seperti disebutkan sebelumnya setiap data yang masuk memiliki label kelas atau nilai y yang diharapkan, misalnya untuk data X di atas kita ingin model kita seharusnya bernilai berikut (variabel t adalah nilai target label kelas yang sebenarnya): [t1 = 0, t2 = 1]



Dari sana tampak perbedaan nilai prediksi kita (y) dengan nilai target (t). Kita bisa menghitung seberapa melenceng prediksi kita menggunakan rumus untuk menghitung error. Salah satunya adalah dengan rumus Mean Square Error (MSE): 1 error =



n



n ∑



(targeti – prediksii )



2



i=1



Iklan oleh Kami akan mencoba tidak Iklanuntuk ditutup olehmenampilkan iklan itu lagi Stop lihat iklan ini



Mengapa iklan ini?



CleanMyMac X Disfruta de un Mac X veces más limpio, rápido y protegido. Descárgalo y compruébalo. rumus tersebut menghitung selisih nilai target dan prediksi, mengkuadratkannya, lalu merata-ratanya (dijumlah lalu dibagi n). Nilai n di sana adalah banyak datanya, pada contoh ini kita menggunakan n=2 karena ada 2 node output. Sehingga untuk perhitungan kita di atas, dapat dihitung error E yang dihasilkan adalah sebesar:



https://structilmy.com/2019/07/contoh-perhitungan-algoritma-backpropagation/



7/32



3/28/2021



Contoh Perhitungan Algoritma Backpropagation - Structilmy



E



=



1



2



2 ∑



(targeti – prediksii )



2



i=1



=



1 2



((t1 – y1 )



2



1 =



2



2



+ (t2 – y2 ) )



((0– 0.721)



2



2



+ (1– 0.645) )



= 0.322 



Karena tujuan JST adalah untuk menghasikan nilai prediksi y yang semirip mungkin dengan t, maka dapat disebut juga tujuan dari JST adalah meminimalkan nilai error E.



BACKPROPAGATION Setelah mendapatkan nilai error, kita bisa mulai memperbaiki JST kita dengan backpropagation. Sebenarnya istilah memperbaiki JST ini kurang tepat jika menyebutnya Backpropagation, lebih tepatnya adalah Gradient Descent. (https://stackover ow.com/a/37953898/2147347) Tapi ya di Indonesia lebih umum menyebutnya Backpropagation kadang disingkat Backprop. Rumus utama untuk memperbaiki suatu bobot w berdasarkan error E adalah:



Iklan oleh Kami akan mencoba tidak Iklanuntuk ditutup olehmenampilkan iklan itu lagi Stop lihat iklan ini



Mengapa iklan ini?



Hello to Glow We empower you to go foundation-free. Get tips for healthy radiant skin.



DR's Secret



Open ∂E



wnew = wold – α



∂w



Rumus ini juga berlaku untuk memperbaiki nilai bias: bnew = bold – α



∂E ∂b



Simbol α pada rumus di atas adalah learning rate, sebuah konstanta (biasanya antara 0-1) yang menentukan seberapa cepat proses pembelajaran model dilakukan. Di artikel ini kita akan menggunakan nilai α



= 0.5



. Sedangkan simbol



https://structilmy.com/2019/07/contoh-perhitungan-algoritma-backpropagation/



∂E ∂w



atau dibaca “turunan parsial E 8/32



3/28/2021



Contoh Perhitungan Algoritma Backpropagation - Structilmy



terhadap w ” adalah proses mencari nilai turunan E terhadap variabel yang akan diperbarui, dalam contoh ini w . Proses mencari turunan inilah yang lebih tepat disebut backpropagation. Karena ada banyak nilai w , kita akan spesi kkan untuk mengupdate nilai w11 terlebih dulu. Setelahnya, kita akan coba hitung update nilai untuk b1 .



KONSEP CHAINING Untuk menghitung



∂E ∂w



, pertama-tama kita coba berjalan mundur dulu. Urutan proses



backward chaining digambarkan dengan garis merah pada gambar di bawah ini. Dari mana nilai E didapatkan dan apa hubungannya dengan w11 .



Nilai E diperoleh dari rumus Mean Square Error: E =



1 2



((t1 – y1 )



2



2



+ (t2 – y2 ) )



dari rumus di atas tidak ada variabel w11 tetapi kita bisa coba “jalan mundur” lagi. Kita ingatingat lagi dari mana nilai setiap variabel y berasal. y1 = σ (z1 ) y2 = σ (z2 )



https://structilmy.com/2019/07/contoh-perhitungan-algoritma-backpropagation/



9/32



3/28/2021



Contoh Perhitungan Algoritma Backpropagation - Structilmy



Iklan oleh Kami akan mencoba tidak Iklanuntuk ditutup olehmenampilkan iklan itu lagi Stop lihat iklan ini



Mengapa iklan ini?



Hello to Glow We empower you to go foundation-free. Get tips for healthy radiant skin.



DR's Secret



Open



Variabel y diperoleh dari menerapkan sebuah fungsi aktivasi terhadap variabel z. Sedangkan, variabel z sendiri dihitung dengan: z1 = w11 x1 + w21 x2 + w31 x3 + b1 z2 = w12 x1 + w22 x2 + w32 x3 + b2



dari sini terlihat variabel w11 ada di perhitungan z1 yang secara tidak langsung berpengaruh ke nilai E. Hal ini yang disebut dengan chaining atau rantaian.



DASAR TURUNAN Setelah kita memahami hubungan E dan w11 langkah selanjutnya adalah kita pahami bagaimana dasar menghitung turunannya. Disini kita menggunakan turunan parsial yang bedanya dengan turunan biasa adalah fungsi bisa mengandung lebih dari satu variabel. Selain itu, kita tidak menggunakan simbol d tetapi turunan parsial menggunakan simbol ∂. Dari sekian banyak materi turunan jaman SMA kita cukup mengingat beberapa aturan saja (aturan no. 5 tidak diajarkan di SMA): 1. jika f (x) 2. jika f (x)



= x



n



maka



∂f (x)



= nx



∂x



= u(x) + v(x)



maka



n−1



, sudah cukup jelas, ini adalah rumus dasar turunan.



∂f (x)



∂u(x)



=



∂x



∂x



+



∂v(x) ∂x



, artinya jika ada sebuah fungsi f yang



isinya adalah jumlahan dari fungsi-fungsi lain, kita bisa turunkan masing-masing lalu dijumlahkan. 3. jika f (x, y)



maka



= u(x) + v(y)



∂f (x) ∂x



=



∂u(x) ∂x



+ 0



, sama dengan poin no.2, hanya saja



jadi keliatan ketika ada bagian dari fungsi f yang ternyata tidak mengandung variabel yang ingin diturunkan (yakni x) maka fungsi tersebut bisa dijadikan 0. 4. jika f (x)



= f (g(x))



maka



∂f (x) ∂x



=



∂f (x) ∂g(x)







∂g(x) ∂x



, jika ada fungsi yang di dalamnya ada



fungsi lain, bisa dilakukan turunan untuk masing-masingnya lalu dikalikan 5. jika f (x)



= σ(x)



dengan σ(x) adalah fungsi sigmoid, maka



∂f (x) ∂x



= f (x)(1 − f (x))



.



Contoh: 1. f (x)



= 2x



3



maka turunan



∂f (x) ∂x



= 6x



2



https://structilmy.com/2019/07/contoh-perhitungan-algoritma-backpropagation/



10/32



3/28/2021



Contoh Perhitungan Algoritma Backpropagation - Structilmy



2. f (x)



= 2x



3. f (x, y) 4. f (x) ∂x ∂f (x) ∂x ∂f (x) ∂x



+ x



= 2x 2



= z



∂f (x)



3



=



3



maka turunan



2



2



+ y



∂f (x)



maka turunan



∂f (x,y)



dimana z dihitung dari z



∂f (x) ∂z



= 2z ⋅







= 6x



∂x



2



+ 2x



= 6x



∂x



= 2x



3



2



+ 0



maka turunannya:



∂z ∂x



∂z ∂x



= 2z ⋅ 6x



2



3



= 2(2x ) ⋅ 6x



2



= 24x



5



MENGHITUNG TURUNAN UPDATE NILAI w11 Nah, mari kita menghitung nilai



∂E ∂w



dengan beberapa langkah menggunakan aturan



perhitungan yang disebutkan sebelumnya. Menggunakan aturan no. 4 di atas, kita bisa mencari nilai ∂E dengan 2 langkah berikut: ∂w11



∂E



= (



∂w11



∂E



) ⋅ (



∂y1



∂y1



)



∂w11



Langkah 1 Kita selesaikan bagian pertamanya, menggunakan aturan no. 3 dan no. 4 di atas, maka: 1 E ∂E ∂y1



=



2



((t1 – y1 )



= 2 ∗



1 2



2



2



+ (t2 – y2 ) )



(t1 – y1 )



2−1



− 1 + 0



=– (t1 – y1 )



Iklan oleh Kami akan mencoba tidak Iklanuntuk ditutup olehmenampilkan iklan itu lagi Stop lihat iklan ini



Mengapa iklan ini?



Hello to Glow We empower you to go foundation-free. Get tips for healthy radiant skin.



DR's Secret



Open



Langkah 2 Untuk bagian keduanya kita lihat kembali rumus asli untuk menghitung y1 , yakni dengan menggunakan fungsi sigma terhadap z1 : y1 = σ(z1 )



https://structilmy.com/2019/07/contoh-perhitungan-algoritma-backpropagation/



11/32



3/28/2021



Contoh Perhitungan Algoritma Backpropagation - Structilmy z1 = w11 x1 + w21 x2 + w31 x3 + b1



Variabel w11 tidak langsung ditemukan dalam perhitungan variabel y1 , melainkan perlu mundur lagi ke variabel z1 . Dengan aturan no. 4, maka pada tahap ini kita bisa memecah menjadi 2 bagian lagi: ∂y1



= (



∂w11 ∂y



Kita selesaikan bagian pertama



∂z1 ∂z 1 ∂w11



z1 ∂z1 ∂w11



∂z1



1



∂w11



)



∂w11



dengan aturan no. 5:



1



∂z 1



∂y1



menjadi:



) ⋅ (



∂z1



y1



Kemudian untuk bagian kedua



∂y1



∂y



= σ(z1 ) = y1 (1– y1 )



kita selesaikan menggunakan aturan no. 2 dan no. 3,



= w11 x1 + w21 x2 + w31 x3 + b1 = x1 + 0 + 0 + 0 = x1



Iklan oleh Kami akan mencoba tidak Iklanuntuk ditutup olehmenampilkan iklan itu lagi Stop lihat iklan ini



Mengapa iklan ini?



CleanMyMac X Disfruta de un Mac X veces más limpio, rápido y protegido. Descárgalo y compruébalo. Gabungkan semua Secara ringkas dari perhitungan-perhitungan di atas, maka nilai dari ∂E ∂w11



∂E = (



∂y1



) ⋅ ( (



∂y1 ∂z1



) ⋅ (



∂z1 ∂w11



∂E ∂w11



adalah:



) )



=– (t1 – y1 ) ⋅ y1 (1– y1 ) ⋅ x1



Jika diinputkan dengan angka maka:



https://structilmy.com/2019/07/contoh-perhitungan-algoritma-backpropagation/



12/32



3/28/2021



Contoh Perhitungan Algoritma Backpropagation - Structilmy ∂E ∂w11



=– (t1 – y1 ) ∗ y1 (1– y1 ) ∗ x1 =– (0– 0.721) ∗ 0.721(1– 0.721) ∗ 1 = 0.1587



Sehingga untuk memperbarui bobot w11 nilai yang baru dengan nilai α



= 0.5



(contoh)



adalah: ∂E w11new



= w11old – α



∂w11



= 0.2– (0.5)(0.1587) = 0.1206



UPDATE NILAI b1 Chaining untuk mengupdate nilai bias dilakukan serupa dengan cara mengupdate nilai bobot. Mulai dari paling belakang, telusuri tiap variabel dan pecah menurut perhitungan rumusnya, sampai ditemukan variabel bias yang ingin diupdate. Untuk mengupdate bias b1 , dapat dihitung dengan : ∂E ∂b1



Perhatikan bahwa bagian pertama



∂E ∂y 1



∂E = (



∂y1



) ⋅ (



∂y1 ∂b1



)



, dengan kurung berwarna biru, telah kita hitung



sebelumnya pada contoh update bobot w11 . Bagian ini menghasilkan Selanjutnya kita fokus ke bagian kedua



∂y 1 ∂b1



∂E ∂y



=– (t1 – y1 )



.



1



dengan kurung berwarna hijau. Variabel b1 dapat



diperoleh dengan merunut jalur variabel y1 kemudian ke variabel z1 (perhatikan ilustrasi jalur backward chaning dengan garis merah putus-putus pada gambar sebelumnya). y1 = σ(z1 )



z1 = w11 x1 + w21 x2 + w31 x3 + b1



Perhatikan bahwa jalur ini juga sama dengan yang dilalui untuk mencari update bobot w11 , yakni dengan memecah menjadi dua bagian berikut: ∂y1 ∂b1



Bagian pertama



∂y 1 ∂z 1



update w11 , yakni



= (



∂y1 ∂z1



) ⋅ (



∂z1 ∂b1



)



, tidak perlu dihitung lagi karena sudah pernah kita hitung saat proses



∂y 1 ∂z 1



= y1 (1– y1 )



. Kemudian bagian kedua



https://structilmy.com/2019/07/contoh-perhitungan-algoritma-backpropagation/



∂z 1 ∂b1



adalah:



13/32



3/28/2021



Contoh Perhitungan Algoritma Backpropagation - Structilmy z1



= w11 x1 + w21 x2 + w31 x3 + b1



∂z1



= 0 + 0 + 0 + 1



∂b1 = 1



Gabungkan semua Setelah semua variabel pada jalur chaining dapat dipecah dan berakhir pada bias b1 , maka dapat kita gabungkan menjadi: ∂E



∂E



∂b1



= (



∂y1



) ⋅ ( (



∂y1 ∂z1



) ⋅ (



∂z1 ∂b1



) )



=– (t1 – y1 ) ⋅ y1 (1– y1 ) ⋅ 1



Jika diinputkan dengan angka: ∂E ∂b1



=– (t1 – y1 ) ∗ y1 (1– y1 ) ∗ 1 =– (0– 0.721) ∗ 0.721(1– 0.721) ∗ 1 = 0.1587



Sehingga untuk memperbarui bias b1 yang baru dengan nilai α



= 0.5



(contoh) adalah:



∂E b1new



= b1old – α



∂b1



= 0– (0.5)(0.1587) = −0.0793



MENGUPDATE SEMUA BOBOT INGAT! perhitungan di atas belum selesai memperbarui semua bobot dan bias. Saat backpropagation, proses di atas kita lakukan ke semua bobot w dan bias b.



https://structilmy.com/2019/07/contoh-perhitungan-algoritma-backpropagation/



14/32



3/28/2021



Contoh Perhitungan Algoritma Backpropagation - Structilmy



Tetapi jangan takut, karena sudah dapat rumus turunannya, kita bisa langsung lihat pola rumusnya. Misalnya untuk w21 kita bisa cukup mengubah bagian nilai menghitung turunan (karena w21 masih sama-sama bagian dari y1 ). ∂E ∂w21



∂E =



∂y1







∂y1 ∂z1







∂z 1 ∂w21



ketika



∂z1 ∂w21



=– (t1 – y1 ) ∗ y1 (1– y1 ) ∗ x2 =– (0– 0.721) ∗ 0.712(1– 0.721) ∗ 2 = 0.317



w21new



= w21old – α



∂E ∂w21



= 0.3– (0.5)(0.317) = 0.141



Namun, agak berbeda jika kita ingin memperbarui nilai w12 hal ini karena jika diperhatikan w12 tidak ikut membangun nilai y1 tetapi berada di perhitungan y2 . Berikut ilustrasinya:



Maka untuk menghitung turunannya menjadi sedikit beda: ∂E ∂w12



=



∂E ∂y2







∂y2 ∂z2







∂z2 ∂w12



= −(t2 – y2 ) ∗ y2 (1– y2 ) ∗ x1 = −(0– 0.645) ∗ 0.645(1– 0.645) ∗ 1 = −0.0107



∂E w12new



= w12old – α



∂w12



= 0.3– (0.5)(−0.0799) = 0.3399



EVALUASI https://structilmy.com/2019/07/contoh-perhitungan-algoritma-backpropagation/



15/32



3/28/2021



Contoh Perhitungan Algoritma Backpropagation - Structilmy



Setelah melakukan backpropagation untuk semua bobot dan bias, maka akan diperoleh hasil bobot sebagai berikut: ⎡w ⎢ ⎢



11



= 0.1206



w21 = 0.1412



⎣ w31 = 0.2603



w12 = 0.3399 ⎤ w22 = 0.1799



⎥ ⎥



w32 = 0.2199 ⎦



[b1 = −0.0793, b2 = 0.0399]



Untuk mengevaluasi kita bisa mengecek kembali hasilnya dengan forward propagation (tanpa perlu backpropagation). Jika kita lakukan forward propagation, maka akan diperoleh nilai y sebagai berikut: [y1 = 0.6115, y2 = 0.7005]



Jika kita hitung errornya maka akan terjadi perubahan nilai dari sebelum dilakukan backpropagation. Nilai error telah menjadi lebih kecil dari sebelumnya (error sebelumnya 0.3227): 1 E



=



2



2 ∑



(targeti – prediksii )



2



i=1



=



1 2



((t1 – y1 )



2



1 =



2



2



+ (t2 – y2 ) )



((0– 0.6115)



2



2



+ (1– 0.7005) )



= 0.2318 



Hal tersebut menandakan backpropagation kita telah berhasil Perlu dicatat, bahwa proses di atas adalah proses iterasi 1 kali backpropagation dan untuk 1 data. Jika ada banyak data, maka proses di atas bisa diulang lagi dengan data yang berbeda dan mengupdate bobotnya lagi. Lalu diulang untuk semua data (beberapa epoch) hingga mendapatkan hasil yang optimal dan juga dilakukan untuk banyak data. Proses implementasi akan dibahas di post selanjutnya insyaAllah (https://structilmy.com/2020/08/step-by-step-backpropagation-menggunakan-python/). Sekian, jika ada yang ditanyakan seputar rumus atau perhitungannya, silakan bertanya di kolom komentar



Terima kasih



Sumber gambar: ickr artikel ini terinspirasi dari artikel Matt Mazur (https://mattmazur.com/2015/03/17/a-step-by-stepbackpropagation-example/)



SHARE THIS:



https://structilmy.com/2019/07/contoh-perhitungan-algoritma-backpropagation/



16/32



3/28/2021



Contoh Perhitungan Algoritma Backpropagation - Structilmy



 Twitter (https://structilmy.com/2019/07/contoh-perhitungan-algoritma-backpropagation/?share=twitter&nb=1)  Facebook (https://structilmy.com/2019/07/contoh-perhitungan-algoritma-backpropagation/?share=facebook&nb=1)  MATHEMATICS (HTTPS://STRUCTILMY.COM/TAG/MATHEMATICS/)  NEURAL NETWORK (HTTPS://STRUCTILMY.COM/TAG/NEURAL-NETWORK/)



Tutorial Dasar PyTorch : Tensor dan Autograd (https://structilmy.com/2019/07/tutorialdasar-pytorch-tensor-dan-autograd/)



Review Course Online Premium AI, ML, dan Deep Learning (https://structilmy.com/2019/08/reviewcourse-online-berbayar-tentang-ai-mldeep-learning/)



ABOUT THE AUTHOR Rian Adam Lecturer at Universitas Islam Indonesia; Machine Learning Enthusiast  VIEW ALL POSTS (HTTPS://STRUCTILMY.COM/AUTHOR/RIANADAM/)



 (HTTPS://STRUCTILMY.COM)



39 COMMENTS Roby



December 16, 2019 at 20:32 (https://structilmy.com/2019/07/contoh-perhitunganalgoritma-backpropagation/#comment-113) Untuk one hot encoding itu memang wajib atau gmna mas? Kalo tanpa one hot encoding bisa enggak?  REPLY



https://structilmy.com/2019/07/contoh-perhitungan-algoritma-backpropagation/



17/32



3/28/2021



Contoh Perhitungan Algoritma Backpropagation - Structilmy



Rian Adam



December 19, 2019 at 16:11 (https://structilmy.com/2019/07/contohperhitungan-algoritma-backpropagation/#comment-115) Tidak wajib, itu tergantung dari arsitektur JST yang digunakan. Untuk JST pada kasus klasi kasi biasanya pakai one hot encoding.  REPLY



Roby



January 11, 2020 at 16:54 (https://structilmy.com/2019/07/contohperhitungan-algoritma-backpropagation/#comment-117) Ada contoh implementasi program dalam bahasa PHP gk mas?  REPLY



Roby



January 11, 2020 at 16:56 (https://structilmy.com/2019/07/contoh-perhitunganalgoritma-backpropagation/#comment-118) Contoh simplenya aja mas yg selain di github, mohon bantuannya mas, terimakasih sebelumnya  REPLY



shyfa andiantono



March 23, 2020 at 20:11 (https://structilmy.com/2019/07/contoh-perhitunganalgoritma-backpropagation/#comment-131) maaf mau tanya, untuk nilai bias [b1=−0.19,b2=1.01,b3=1.95] ini di dapat dari hasil mana? atau random saja ya mas?  REPLY



https://structilmy.com/2019/07/contoh-perhitungan-algoritma-backpropagation/



18/32



3/28/2021



Contoh Perhitungan Algoritma Backpropagation - Structilmy



Rian Adam



March 24, 2020 at 18:56 (https://structilmy.com/2019/07/contohperhitungan-algoritma-backpropagation/#comment-132) Itu adalah bias hasil backpropagation, dihitung menggunakan cara yang mirip dengan peng-update-an bobot. Mungkin untuk detailknya saya akan coba tambahkan penjelasannya di artikel  REPLY



Sarang Dewa TV



May 9, 2020 at 12:02 (https://structilmy.com/2019/07/contoh-perhitunganalgoritma-backpropagation/#comment-145) Maaf mau tanya, penerapan adam pada gradient descent bgmn ?  REPLY



Rian Adam (https://structilmy.com)



May 14, 2020 at 17:06 (https://structilmy.com/2019/07/contohperhitungan-algoritma-backpropagation/#comment-148) Adam merupakan pengembangan dari gradient descent standard, khususnya pada pengaturan learning rate yang dapat berubah (adaptive). Mohon maaf untuk saat ini kami belum bisa menjelaskan Adam secara detail, insyaAllah jika ada kesempatan akan kami bahas lebih detail di artikel. Untuk referensi lebih lanjut, kami sarankan ke artikel oleh Sebastien Ruder yang membandingkan semua pengembangan algoritma gradient descent: https://arxiv.org/abs/1609.04747 (https://arxiv.org/abs/1609.04747)  REPLY



Prastyo



May 23, 2020 at 08:49 (https://structilmy.com/2019/07/contoh-perhitunganalgoritma-backpropagation/#comment-152) pada proses Forward Propagation, didalam perhitungan menentukan nilai y, simbol sigma kan berarti fungsi aktivasi sigmoid, dari hasil “sigma(0.95)” bisa menjadi 0.72 itu bagaimana proses hitungnya ? mohon bantuannya https://structilmy.com/2019/07/contoh-perhitungan-algoritma-backpropagation/



19/32



3/28/2021



Contoh Perhitungan Algoritma Backpropagation - Structilmy



 REPLY



Rian Adam (https://structilmy.com)



May 26, 2020 at 20:30 (https://structilmy.com/2019/07/contohperhitungan-algoritma-backpropagation/#comment-155) itu hasil rumus sigmoid, rumusnya juga sudah tertulis di post. Bisa juga cek di sini: https://www.wolframalpha.com/input/?i=1%2F%281%2Be%5E-0.95%29 (https://www.wolframalpha.com/input/?i=1%2F%281%2Be%5E-0.95%29)  REPLY



Arwan Wira Yudha



May 30, 2020 at 23:10 (https://structilmy.com/2019/07/contoh-perhitunganalgoritma-backpropagation/#comment-156) Sangat bermanfaat sekali pak Mau bertanya pak , jika parameter pembelajaran di tambahkan koefesien momentum Rumus untum pengupdate an bobot nya jadi seperti apa yah pak ? Terimakasih pak  REPLY



Fajar



June 11, 2020 at 00:53 (https://structilmy.com/2019/07/contoh-perhitunganalgoritma-backpropagation/#comment-164) Mau bertanya pak, untuk menentukan bobot awal dan bias itu gimana pak saya masih bingung dengan penjelasan di atas, misal input layer 12, hidden layer 10, output layer 1  REPLY



https://structilmy.com/2019/07/contoh-perhitungan-algoritma-backpropagation/



20/32



3/28/2021



Contoh Perhitungan Algoritma Backpropagation - Structilmy



Rian Adam (https://structilmy.com)



June 11, 2020 at 23:11 (https://structilmy.com/2019/07/contohperhitungan-algoritma-backpropagation/#comment-165) Pada contoh di atas, penentuan bobot dan bias awal diberi secara random. Tetapi di luar sana ada banyak penelitian yang mengusulkan metode untuk menentukan nilai awal bobot dan bias.  REPLY



Raka Gemi Ibrahim



June 28, 2020 at 21:54 (https://structilmy.com/2019/07/contoh-perhitunganalgoritma-backpropagation/#comment-168) Mas Rian, bagaimana perhitungan sederhana manual dengan long short-term memory?  REPLY



Rochana Prih Hastuti (https://structilmy.com/)



June 30, 2020 at 19:40 (https://structilmy.com/2019/07/contohperhitungan-algoritma-backpropagation/#comment-169) Halo, secara umum perhitungan dilakukan dengan konsep BPTT (Backpropagation Through Time). Untuk ukuran timestep n, turunan error dihitung untuk tiap timestep t, dari timestep terakhir t=n sampai timestep pertama t=0. Perhitungan turunan error menggunakan chain rule yang melibatkan turunan dari bobot W, U, b pada masingmasing gate f, a, i, o. Setelah perhitungan sampai pada timestep t=0, seluruh bobot pada sel LSTM diupdate dengan mengakumulasi semua perubahan bobot yang telah dihitung di tiap timestep. Insyaallah contoh perhitungan backpropagation pada LSTM akan segera kami bahas di artikel tersendiri. Untuk sementara, kami sarankan membaca artikel oleh Aidan Gomez berikut: https://blog.aidangomez.ca/2016/04/17/Backpropogating-an-LSTM-ANumerical-Example/ (https://blog.aidangomez.ca/2016/04/17/Backpropogating-anLSTM-A-Numerical-Example/)  REPLY



https://structilmy.com/2019/07/contoh-perhitungan-algoritma-backpropagation/



21/32



3/28/2021



Contoh Perhitungan Algoritma Backpropagation - Structilmy



smarttechno88 (http://gravatar.com/smarttechno88)



July 8, 2020 at 11:49 (https://structilmy.com/2019/07/contoh-perhitunganalgoritma-backpropagation/#comment-170) Terimakasih, penjelasannya sangat bagus. sy mw bertanya, Bagaimana cara mendapatkan nilai bias baru, b1=-0.19, b2=1.01, b3=1.95. mohon penjelasannya. terimakasih  REPLY



Rochana Prih Hastuti (https://structilmy.com/)



July 8, 2020 at 23:21 (https://structilmy.com/2019/07/contoh-perhitunganalgoritma-backpropagation/#comment-171) Terima kasih atas pertanyaannya, mohon maaf ada kesalahan perhitungan untuk nilai bias baru dan sudah kami perbaiki di artikel. Cara perhitungan update bias sama persis dengan langkah-langkah untuk mengupdate bobot w (contoh di artikel, w11). Misalnya, rumus update bias b1 new = b1 old – (alfa * delta E/delta b1). Perlu diperhatikan, bahwa saat menghitung nilai turunan delta z/delta b1, tidak ada variabel pengali lain terhadap variabel bias b1, maka nilai turunannya adalah 1. Ini berbeda dengan update bobot w11. Pada saat mencari turunan delta z/delta w11, ada variabel x1 sehingga nilai turunannya adalah x1.  REPLY



Ahmad Habibul Ulum



July 14, 2020 at 00:25 (https://structilmy.com/2019/07/contohperhitungan-algoritma-backpropagation/#comment-172) terimakasih atas penjelasannya, tapi maaf saya kurang faham dengan yg dijelaskan pada update bias | b1 new = b1 old – (alfa * delta E/delta b1). | casenya seperti ini; learning rate/alfa = 0.5, bias = 1, lalu misalkan total data di setiap 1 iterasi/epoch ada 10. yg saya faham disini.. untuk iterasi/epoch pertama jika menggunakan jika menggunakan rumus yg anda jelaskan apakah hasilnya seperti ini :: bias data k1 = 0.5 – (1 – 1) = 0.5, bias data k2 = 0.5 – (0.5 – 1) = 0, bias data k3 = 0 – (0.5 – 1) = -0.5,



https://structilmy.com/2019/07/contoh-perhitungan-algoritma-backpropagation/



22/32



3/28/2021



Contoh Perhitungan Algoritma Backpropagation - Structilmy



bias data k4 = -0.5 – (0 – 1) = -1, bias data k5 = -1 – (-0.5 – 1) = -1.5, dan seterusnya.. apakah seperti itu?  REPLY



Rochana Prih Hastuti (https://structilmy.com/)



August 8, 2020 at 22:24 (https://structilmy.com/2019/07/contoh-perhitunganalgoritma-backpropagation/#comment-179)



Halo, contoh cara menghitung update bias sudah kami tambahkan di artikel ya  REPLY



Kurniawan Corp



August 12, 2020 at 20:17 (https://structilmy.com/2019/07/contoh-perhitunganalgoritma-backpropagation/#comment-182) Tolong kak repost perhitungan manual yg sebelum diupdate ini pada artikel diatas yg memberikan contoh output 3 node  REPLY



nurhasanah



August 17, 2020 at 21:18 (https://structilmy.com/2019/07/contoh-perhitunganalgoritma-backpropagation/#comment-185) terimakasih, penjelasaanya saangat detail dan membantu bagi saya mau tanya pak, kalo untuk penentuan bias dan bobot nya itu kan bapak info diatas “random” ya apakah se random”nya tetep ada ketentuan? contohnya angka bias dan bobot harus kurang dari 1. karena saya liat bapak pakai angka kurang dari 1



https://structilmy.com/2019/07/contoh-perhitungan-algoritma-backpropagation/



23/32



3/28/2021



Contoh Perhitungan Algoritma Backpropagation - Structilmy



 REPLY



Rian Adam (https://structilmy.com)



August 18, 2020 at 08:06 (https://structilmy.com/2019/07/contohperhitungan-algoritma-backpropagation/#comment-186) Penentuan nilai awal bobot dan bias itu aslinya random saja, tetapi banyak penelitian yang mengusulkan metode yang terbaik dalam merandom untuk nilai awalnya. Nantinya ini bisa menentukan performa model ketika pelatihan. Misal random antara -1…1 biasanya lebih cepat untuk dilatih dibanding model dengan bobot awal antara -1000…1000. Ada artikel yang saya rasa cukup lengkap membahasnya: https://towardsdatascience.com/weight-initialization-in-neural-networks-a-journeyfrom-the-basics-to-kaiming-954fb9b47c79 (https://towardsdatascience.com/weightinitialization-in-neural-networks-a-journey-from-the-basics-to-kaiming954fb9b47c79) Kalau saya pribadi seringnya menggunakan metodenya Kaiming untuk merandom nilai awalnya.  REPLY



Kurniawan Qof



September 9, 2020 at 08:31 (https://structilmy.com/2019/07/contoh-perhitunganalgoritma-backpropagation/#comment-190) Tolong repost artikel yg sebelum di up date mas? Yg ada 3 node output, terimakasih  REPLY



Rian Adam (https://structilmy.com)



September 9, 2020 at 12:43 (https://structilmy.com/2019/07/contohperhitungan-algoritma-backpropagation/#comment-191) Sepertinya kami tidak akan merepost versi lama, karena di versi lama terdapat beberapa kesalahan perhitungan. Untuk versi ini apakah ada kesulitan? karena di versi lama perhitungan 3 node output tidak berbeda dengan versi ini  REPLY



https://structilmy.com/2019/07/contoh-perhitungan-algoritma-backpropagation/



24/32



3/28/2021



Contoh Perhitungan Algoritma Backpropagation - Structilmy



Kurniawan Qof



September 9, 2020 at 12:50 (https://structilmy.com/2019/07/contohperhitungan-algoritma-backpropagation/#comment-192) Saya mau tanya, utk menghitung Mean Square Error apabila apabila outpunya 2 node kan seperti ini : 1/2 (y1-t1)^2 + (y2-t2)^2 Tapi bila outputnya ada 3 node apkah akan mjd seperti ini? 1/3 (y1-t1)^2 + (y2t2)^2 + (y3-t3)^2 Atau bgmna?  REPLY



Rian Adam (https://structilmy.com)



September 9, 2020 at 18:40 (https://structilmy.com/2019/07/contoh-perhitunganalgoritma-backpropagation/#comment-193) iya benar, 1/2 di awal itu tujuannya untuk merata-rata (mean). Ketika nodenya 3 maka di kali 1/3. Jadi 1/3((y1-t1)^2 + (y2-t2)^2 + (y3-t3)^2) *perhatikan tanda kurungnya ya  REPLY



Kurniawan Qof



September 9, 2020 at 18:51 (https://structilmy.com/2019/07/contoh-perhitunganalgoritma-backpropagation/#comment-194) Terimakasih kak, saya paham skrg, jarang sekali yg memposting perhitungan manual ANN yg begitu rinci semacam ini, hanya di blog ini dan satu lagi punyanya Matt Mazur. Maaf saya masih n00b tentang ANN, saya mencoba mempelajarinya utk mengaplilasikannya dalam Deep Q Network.



https://structilmy.com/2019/07/contoh-perhitungan-algoritma-backpropagation/



25/32



3/28/2021



Contoh Perhitungan Algoritma Backpropagation - Structilmy



Din



September 23, 2020 at 15:24 (https://structilmy.com/2019/07/contoh-perhitunganalgoritma-backpropagation/#comment-205) Maaf mas saya mau tanya, jika diberikan input baru setelah proses backpro dijalankan. Apakah weight yang digunakan itu langsung dari bobot yang telah diupdate?  REPLY



Kurniawan Qof



September 23, 2020 at 16:57 (https://structilmy.com/2019/07/contohperhitungan-algoritma-backpropagation/#comment-206) Setahu saya sih begitu, tp backprop dilakukan berulang2 hingga max epoch dan/atau min error yg ditentukan telah tercapai, weight akan terupdate setiap 1 epoch, 1 epoch = 1xforwardprop dan 1xbackprop. Pada project yg saya buat algoritma akan mengulang backprop hingga min error tercapai misal 0.0000001, lalu baru saya ijinkan utk membaca input baru. Semoga sdkit menjawab  REPLY



Rochana Prih Hastuti (https://structilmy.com/)



September 26, 2020 at 13:34 (https://structilmy.com/2019/07/contohperhitungan-algoritma-backpropagation/#comment-208) Kalau di artikel ini, ya benar, untuk satu (1) data -> forward -> hitung (1) error -> backprop dan update bobot (disebut SGD / Stochastic Gradient Descent). Tapi implementasinya, ada metode lain misal Batch dan Minibatch Gradien Descent. Batch: semua (N) data diproses forward -> hitung rata-rata (N) error -> backprop dan update bobot Minibatch: beberapa (n < N) data diproses forward -> hitung rata-rata (n) error -> backprop dan update bobot Jadi tergantung menggunakan metode optimisasi apa



https://structilmy.com/2019/07/contoh-perhitungan-algoritma-backpropagation/



26/32



3/28/2021



Contoh Perhitungan Algoritma Backpropagation - Structilmy



 REPLY



rachmatika azizah



October 14, 2020 at 22:31 (https://structilmy.com/2019/07/contoh-perhitunganalgoritma-backpropagation/#comment-214) hallo kak saya mau bertanya tentang estimasi menggunakan metode ini saya punya data X=ukuran rumah dan Y=harga rumah ada 10 data nah kemudian pertanyaannya kita harus estimasi harga rumah dengan ukuran 2000, saya belum paham untuk menentukan bobot dan hiden layer nya, kemudian cara mendapat hasil estimasinya gimana serta menghitung manual iterasi yg dibutuhkan untuk mendapat hasil yg paling baik, terimakasih  REPLY



Rochana Prih Hastuti (https://structilmy.com/)



October 15, 2020 at 13:21 (https://structilmy.com/2019/07/contohperhitungan-algoritma-backpropagation/#comment-215) Y (harga rumah), asumsi saya nilainya seperti harga pada umumnya, bervariasi kan ya? Kalau ya, berarti ini problem prediksi numerik. Berbeda dengan contoh di artikel, problemnya klasi kasi atau prediksi kategorik. Prediksi numerik dengan JST, jumlah neuron output diubah menjadi 1 saja. Proses forward sama seperti pada artikel ini, namun tanpa fungsi aktivasi sigmoid. Error dihitung antara Ypred (hasil forward pada neuron output) dengan Y (harga asli). Penentuan bobot random saja. Jumlah hidden layer bisa dicoba-coba (bagian dari eksperimen). Misal coba 1 hidden layer dulu, lakukan forward dan bakcprop ke semua data, ulangi beberapa epoch. Kemudian coba ulangi dari awal dengan 2 hidden layer, dst. Hasil yang baik, adalah ketika error sudah minimal. Jika belum, bisa lanjutkan pelatihan dengan menambah jumlah epoch. Estimasi harga, diketahui ukuran 2000. Diperoleh dengan menghitung forward sampai neuron output, menggunakan bobot terakhir yang diperoleh dari hasil pelatihan.  REPLY



https://structilmy.com/2019/07/contoh-perhitungan-algoritma-backpropagation/



27/32



3/28/2021



Contoh Perhitungan Algoritma Backpropagation - Structilmy



Citra



October 20, 2020 at 14:02 (https://structilmy.com/2019/07/contoh-perhitunganalgoritma-backpropagation/#comment-216) Hallo kak saya mau bertanya. Saya sedang melakukan penelitian klasi kasi penyakit dengan menggunakan backpropagation. Penyakit yang saya klasi kasikan adalah penyakit dengan gejala demam ke dalam tiga kelas yaitu DBD, Tifoid dan Malaria. Bagaimana cara menentukan skor gejala dari penyakit tersebut? Dan bagaimana juga mende nisikan outputnya? Mohon bantuannya kak.  REPLY



Rian Adam (https://structilmy.com)



October 21, 2020 at 08:32 (https://structilmy.com/2019/07/contohperhitungan-algoritma-backpropagation/#comment-219) maksudnya skor gejala? karena ini kasus klasi kasi dengan 3 kelas, maka bisa menggunakan 3 neuron pada output layer. Lalu cara termudahnya bisa dengan memilih neuron dengan nilai output terbesar di antara 3 neuron tersebut sebagai kelas yang dipilih  REPLY



Citra



October 21, 2020 at 14:45 (https://structilmy.com/2019/07/contohperhitungan-algoritma-backpropagation/#comment-221) Maksudnya skor gejala adalah pendefenisian inputnya kak. Misalnya untuk gejala “demam intermitten (x1)” nilai bobotnya berapa, dan untuk penentuan nilai outputnya bagaimana kak? Misalnya kita buat nilai output -1 adalah DBD, 0 adalah Tifoid dan 1 adalah Malaria. Apakah bisa kiya buat juga untuk nilai -1 Tifoid, 0 Malaria dan 1 DBD? Apa yang mendasari pemberian nilai output tersebut gitu kak? Mohon bantuannya kak  REPLY https://structilmy.com/2019/07/contoh-perhitungan-algoritma-backpropagation/



28/32



3/28/2021



Contoh Perhitungan Algoritma Backpropagation - Structilmy



Rian Adam (https://structilmy.com)



October 21, 2020 at 17:17 (https://structilmy.com/2019/07/contoh-perhitunganalgoritma-backpropagation/#comment-222) Untuk penentuan nilai output 1,-1, atau 0 seperti itu bebas, dibolak-balik tidak masalah karena itu hanya penamaan. Yang penting konsisten.  REPLY



Pelajar



October 21, 2020 at 12:44 (https://structilmy.com/2019/07/contoh-perhitunganalgoritma-backpropagation/#comment-220) Wah penjelasan yg sangat bagus dan mudah dimengerti. Request ANFIS pak.  REPLY



Ardan



February 27, 2021 at 19:52 (https://structilmy.com/2019/07/contoh-perhitunganalgoritma-backpropagation/#comment-266) Mohon maaf Pak apakah perhitungan ERROR pada step terakhir diatas sudah benar soalnya disitu dikali dengan 1/3 padahal error’ sebelumnya dikali dengan 1/2  REPLY



Rian Adam (https://structilmy.com)



February 27, 2021 at 20:11 (https://structilmy.com/2019/07/contohperhitungan-algoritma-backpropagation/#comment-267) Wah iya nice catch! terima kasih sudah diinfokan, seharusnya memang 1/2 hasil akhirnya sudah benar. Sudah kami update



https://structilmy.com/2019/07/contoh-perhitungan-algoritma-backpropagation/



29/32



3/28/2021



Contoh Perhitungan Algoritma Backpropagation - Structilmy



 REPLY



LEAVE A REPLY Enter your comment here...



SUBSCRIBE TO BLOG VIA EMAIL Enter your email address to subscribe to this blog and receive noti cations of new posts by email. Join 6 other subscribers Email Address SUBSCRIBE



Type here to search...







FEATURED POSTS (https://structilmy.com/2020/12/istilah-penting-di-neural-network-dandeep-learning-bagian-2/) Istilah penting di Neural Network dan Deep Learning (bagian 2) (https://structilmy.com/2020/12/istilah-penting-dineural-network-dan-deep-learning-bagian-2/)  DECEMBER 26, 2020



(https://structilmy.com/2019/08/review-course-online-berbayartentang-ai-ml-deep-learning/) Review Course Online Premium AI, ML, dan Deep Learning (https://structilmy.com/2019/08/review-courseonline-berbayar-tentang-ai-ml-deep-learning/)  AUGUST 8, 2019



(https://structilmy.com/2019/07/contoh-perhitungan-algoritma-backpropagation/) Contoh Perhitungan Algoritma Backpropagation (https://structilmy.com/2019/07/contoh-perhitunganalgoritma-backpropagation/) https://structilmy.com/2019/07/contoh-perhitungan-algoritma-backpropagation/



30/32



3/28/2021



Contoh Perhitungan Algoritma Backpropagation - Structilmy



 JULY 31, 2019



(https://structilmy.com/2020/02/implementasi-jaringan-saraf-tiruan-menggunakan-pytorch/) Implementasi Jaringan Saraf Tiruan menggunakan PyTorch (https://structilmy.com/2020/02/implementasi-jaringan-saraf-tiruanmenggunakan-pytorch/)  FEBRUARY 4, 2020



(https://structilmy.com/2020/12/istilah-istilah-di-neural-networkataupun-deep-learning-bagian-1/) Istilah-Istilah di Neural Network ataupun Deep Learning (bagian 1) (https://structilmy.com/2020/12/istilah-istilah-di-neural-networkataupun-deep-learning-bagian-1/)  DECEMBER 14, 2020



ARCHIVES 



February 2021 (https://structilmy.com/2021/02/)







January 2021 (https://structilmy.com/2021/01/)







December 2020 (https://structilmy.com/2020/12/)







October 2020 (https://structilmy.com/2020/10/)







September 2020 (https://structilmy.com/2020/09/)







August 2020 (https://structilmy.com/2020/08/)







July 2020 (https://structilmy.com/2020/07/)







June 2020 (https://structilmy.com/2020/06/)







March 2020 (https://structilmy.com/2020/03/)







February 2020 (https://structilmy.com/2020/02/)







October 2019 (https://structilmy.com/2019/10/)







September 2019 (https://structilmy.com/2019/09/)







August 2019 (https://structilmy.com/2019/08/)







July 2019 (https://structilmy.com/2019/07/)



https://structilmy.com/2019/07/contoh-perhitungan-algoritma-backpropagation/



31/32



3/28/2021



Contoh Perhitungan Algoritma Backpropagation - Structilmy







June 2019 (https://structilmy.com/2019/06/)







May 2019 (https://structilmy.com/2019/05/)







April 2019 (https://structilmy.com/2019/04/)







March 2019 (https://structilmy.com/2019/03/)







February 2019 (https://structilmy.com/2019/02/)







January 2019 (https://structilmy.com/2019/01/)







December 2018 (https://structilmy.com/2018/12/)



COPYRIGHT © 2021. CREATED BY MEKS (HTTP://MEKSHQ.COM). POWERED BY WORDPRESS (HTTP://WORDPRESS.ORG). HOME (HTTP://STRUCTILMY.COM/) ABOUT (HTTP://STRUCTILMY.COM/ABOUT) ENGLISH (HTTPS://STRUCTILMY.COM/CATEGORY/ENGLISH/) RIAN’S BLOG (HTTP://RIAN.STRUCTILMY.COM) NANA’S BLOG (HTTP://NANA.STRUCTILMY.COM)



https://structilmy.com/2019/07/contoh-perhitungan-algoritma-backpropagation/



32/32