• Tidak ada hasil yang ditemukan

Artificial Neural Network - hitungan (1)

N/A
N/A
Jason Susanto

Academic year: 2023

Membagikan "Artificial Neural Network - hitungan (1)"

Copied!
25
0
0

Teks penuh

(1)

Artificial Neural Network

(additional)

(2)

Neural Network

NN terdiri dari 1 layer input

(hijau) dan 1 layer output (biru).

Layer input kita terdiri dari 4 neuron (disimbolkan dengan x) dan layer output kita terdiri dari 3 neuron (disimbolkan dengan y).

(3)

Neural Network

Contoh Data:

dan diketahui data tersebut termasuk pada kelas ke-“2”. Jika data tersebut diinputkan ke dalam NN, maka:

(4)

Neural Network

1. Kita bisa petakan fitur-fitur tersebut pada X, sehingga diperoleh x1=1.0, x2=2.0, x3=0.5, x4=2.0

2. Sedangkan untuk kelas atau label, kita perlu mengubah bentuknya menjadi one-hot encoding, yakni sebuah vektor yang semua isinya bernilai 0 kecuali pada kelasnya. Misalnya untuk data dengan tiga kelas, kelas pertamanya bernilai [1, 0, 0], kelas keduanya bernilai [0, 1, 0], dan kelas ketiganya [0, 0, 1], sehingga diperoleh t1=0, t2=1, t3=0. Variabel t adalah

variabel label.

3. NN akan menghitung nilai y1, y2, dan y3 berdasarkan input X.

Lalu melalui proses pembelajaran, NN berusaha

(5)

Neural Network

Ada dua bagian utama pada NN, yakni forward propagation dan backward propagation. Pada forward propagation, NN akan mencoba menghasilkan nilai y, sedangkan pada backward propagation, NN akan memperbaiki dirinya (update bobot)

sehingga pada forward propagation berikutnya diharap bisa menghasilkan nilai y yang lebih baik atau lebih mendekati label

5

(6)

Neural Network

Forward Propagation

Forward propagation adalah proses perhitungan secara “maju”

dari input (disimbolkan x) hingga diperoleh output model (disimbolkan y). Misal pada ilustrasi di atas, nilai y1, y2, dan y3 diperoleh dengan menghitung:

• y1 = σ(w11x1+w21x2+w31x3+w41x4+b1)

• y2 = σ(w12x1+w22x2+w32x3+w42x4+b2)

• y3 = σ(w13x1+w23x2+w33x3+w43x4+b3) atau bisa juga disingkat menjadi:

(7)

Neural Network

Forward Propagation

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).

Semua nilai bobot w dan bias b awalnya diberikan nilai random, dan

diperbarui nilainya dengan proses backprop untuk meningkatkan kualitas model.

Angka 4 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:

(8)

Neural Network

Forward Propagation: Example

Misalkan diketahui input seperti tabel di atas X=[1,2,0.5,2] dengan nilai bobot dan bias di awal adalah sebagai berikut (nilai random, di susun seperti matriks agar mudah):

Maka dapat kita hitung nilai y1 adalah:

Y1= σ(w11x1+w21x2+w31x3+w41x4+b1)

=σ(0.1×1+0.2×2+0.1×0.5+0.2×2+0)

=σ(0.95)

= 0.72

Dengan cara perhitungan yang sama dapat diperoleh juga nilai y2 adalah 0.89 dan nilai y3 adalah 0.96.

(9)

Neural Network

Error

• Dari perhitungan sebelumnya diperoleh nilai sebagai berikut:

[y1=0.72,y2=0.89,y3=0.96]

• Nilai tersebut adalah nilai prediksi, atau nilai yang dihasilkan oleh model NN kita. Seperti disebutkan sebelumnya setiap data yang masuk memiliki label atau nilai y yang diharapkan, misalnya

untuk data X di atas kita ingin model kita seharusnya bernilai berikut (untuk membedakan dengan y kita beri simbol t):

[t1=0,t2=1,t3=0]

• Dari sana tampak betapa bedanya nilai prediksi kita (y) dengan nilai target (t). Kita bisa menghitung seberapa melenceng prediksi kita menggunakan rumus untuk menghitung error.

(10)

Neural Network

Error Mean Square Error

sederhananya rumus tersebut menghitung selisih nilai target dan prediksi, mengkuadratkannya, lalu merata-rata dari ketiga nilai tersebut (angka “3” diperoleh dari arsitektur NN kita yang akan mengklasifikasikan data ke 3 kelas)

(11)

Neural Network

Error

Sehingga untuk perhitungan kita di atas, dapat dihitung error E yang dihasilkan adalah sebesar:

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

(12)

Neural Network

Backpropagation

Setelah mendapatkan nilai error, kita bisa mulai memperbaiki NN kita dengan backpropagation. Sebenarnya istilah memperbaiki NN ini kurang tepat jika menyebutnya Backpropagation, lebih tepatnya adalah Gradient Descent.

(13)

Neural Network

Backpropagation

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

• Simbol ∂E/∂w atau dibaca “turunan parsial E terhadap w”

adalah proses mencari nilai turunan E terhadap variabel yang akan diperbarui, dalam contoh ini w. Proses mencari turunan inilah yang baru lebih tepat disebut backpropagation.

• Karena ada banyak nilai w, kita akan spesifikkan untuk mengupdate nilai w11 terlebih dulu.

(14)

Neural Network

Backpropagation: Chaining

• Untuk menghitung ∂E/∂w, pertama-tama kita coba berjalan mundur dulu. Dari mana nilai E didapatkan dan apa

hubungannya dengan w11.

• Nilai E diperoleh dari rumus Mean Square Error:

E = 1/3((t –y )2+(t –y )2+(t −y )2)

(15)

Neural Network

Backpropagation: Chaining

• dari rumus tersebut tidak ada variabel w11 tetapi kita bisa coba “jalan mundur” lagi. Kita ingat-ingat lagi dari mana nilai setiap variabel y berasal.

– y1=σ(w11x1+w21x2+w31x3+w41x4+b1) – y2=σ(w12x1+w22x2+w32x3+w42x4+b2) – y3=σ(w13x1+w23x2+w33x3+w43x4+b3)

• dari sini terlihat variabel w11 ada di perhitungan y1 yang secara tidak langsung berpengaruh ke nilai E. Hal ini yang disebut

dengan chaining atau rantaian.

(16)

Neural Network

Backpropagation: Menghitung Turunan Dasar Operasi Turunan

(17)

Neural Network

Backpropagation: Menghitung Turunan Mari kita menghitung nilai ∂E/∂w dengan beberapa langkah menggunakan aturan turunan:

(18)

Neural Network

Backpropagation: Menghitung Turunan

(19)

Neural Network

Backpropagation: Menghitung Turunan

(20)

Neural Network

Backpropagation: Menghitung Turunan

(21)

Neural Network

Backpropagation: Hitung Semua Bobot

Perhitungan di atas belum selesai

memperbarui semua bobot dan bias.

Proses di atas kita lakukan ke semua bobot w dan bias b.

(22)

Neural Network

Backpropagation: Hitung Semua Bobot

Namun, agak berbeda jika kita ingin

memperbarui nilai w12 hal ini karena jika

diperhatikan w12 tidak ikut membangun nilai y1 tetapi berada

dipembentukan y2. Maka untuk

menghitung

turunannya menjadi

(23)

Neural Network

Evaluation

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

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:

(24)

Neural Network

Evaluation

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

Hal tersebut menandakan backpropagation kita telah

(25)

Neural Network

Evaluation

Proses di atas adalah proses iterasi 1 kali backpropagation.

Pada kenyataannya proses ini dilakukan berulang kali untuk mendapatkan hasil yang optimal dan juga dilakukan untuk banyak data.

Selamat Belajar!

Referensi

Dokumen terkait

membuat kita kehilangan kesempatan untuk menemukan artikel yang relevan.. OR

Berdasarkan uraian diatas dapat disimpulkan bahwa menggunakan model pembelajaran kooperatif tipe STAD (Student teams Achievement Division) dengan pendekatan kontekstual