20
2.5.3. Proses Perhitungan Saat Pembelajaran
Proses ini melibatkan 2 dua faktor penting, yaitu masukan dan keluaran yang ditentukan. Keluaran tersebut merupakan bagian dari sistem atau metoda
pembelajaran yang dinamakan “Supervised Learning”, dengan demikian setiap masukan memiliki keluaran yang nantinya akan dijadikan sebagai acuan pembelajaran.
Hal inilah yang membuat Neural Network melakukan penganalisaan, selain banyaknya masukan yang diberikan, proses pembelajaran yang dilakukan secara
berulang pun akan menunjang kemampuan Neural Network saat menganalisa.
2.5.4. Output Keluaran
Bagian ini merupakan proses yang digunakan untuk mengetahui seberapa besar pengaruh pembelajaran terhadap keluaran yang diinginkan. Jika hasil yang diinginkan
kurang sesuai, maka kemungkinan yang terjadi adalah: Variabel masukan informasi yang diberikan kurang menunjang
Kurangnya layer pada rancangan keseluruhan Jumlah neuron yang terlalu sedikit
Namun tidak menutup kemungkinan karena ketidaksesuaian penerapan saat proses pembelajaran dilakukan juga dapat mempengaruhi proses pembelajaran.
2.6. Algoritma Hopfield
Terdapat beberapa versi algoritma dari jaringan Hopfield. Pada penjelasan pertama Hopfield 1982 menggunakan input vektor biner. Untuk menyimpan suatu pola biner
Sp, p = 1,…, p, dimana
Sp = S
1
p,…, S
i
p, …, S
n
p,
untuk matriks bobotnya W = {w
ij
} diperoleh dengan
Zulkarnain Harun : Pengenalan Pola Angka Dengan Menggunakan Algoritma Hopfield, 2008. USU Repository © 2009
21 untuk i ≠ j
dan
Pada penjelasan lainnya Hopfield 1984 menggunakan input bipolar. Untuk menyimpan pola bipolar, matriks bobot yang digunakan W = {w
ij
}, diperoleh dengan
dan
Proses pembelajaran terjadi pada saat neuron yang saling terhubung aktif pada saat yang bersamaan. Jika ini terjadi, maka nilai bobot harus berubah. Dalam proses
perubahan bobot Hopfield menggunakan aturan Hebb, yang mana:
Aplikasi dari algoritma jaringan Hopfield dapat dilihat: Langkah 1. Inisialisasi bobot untuk menyimpan pola dengan menggunakan aturan
Hebb. Jika aktivasi jaringan belum mencapai konvergen ulangi langkah 2 sampai 8.
Langkah 2. Untuk setiap input vektor x, lakukan langkah 3 sampai 7. Langkah 3. Tentukan aktivasi awal jaringan sama dengan input eksternal
vektor x.
Langkah 4. Lakukan langkah 5 sampai 7 untuk setiap Y
i
, perubahan unit adalah acak.
Zulkarnain Harun : Pengenalan Pola Angka Dengan Menggunakan Algoritma Hopfield, 2008. USU Repository © 2009
22 Langkah 5. Hitung jaringan input:
Langkah 6. Tentukan aktivasi sinyal output
Untuk ambang, , biasanya bernilai nol.
Langkah 7. Masukkan nilai y
i
ke dalam unit-unit lainnya. terjadi perubahan vektor aktivasi.
Langkah 8. Uji apakah terjadi konvergensi Analisa pada fungsi Lyapunov biasa juga disebut sebagai fungsi energi untuk
jaringan Hopfield adalah bagian penting yang akan menunjukkan bahwa telah terjadi konvergensi, dimana sebelumnya bobot telah berubah secara asinkron dan nilai 0 pada
diagonalnya Fausett, L, 1994.
Adapun Algoritma Hopfield dalam penerapan pola angka 0 sampai angka 9 adalah sebagai berikut:
1. Menciptakan vektor pola yang ke – p, yang merupakan himpunan n simpul untuk
pola yang ke- p. Sp = S
1
p, S
2
p, …, S
i
p, …, S
n
p Keterangan: P = Jumlah Pola Angka
2. Menciptakan matriks koneksi sebagai tempat pola contoh yaitu angka 0 sampai pola angka 9 yang disimpan dalam suatu konstanta.
Zulkarnain Harun : Pengenalan Pola Angka Dengan Menggunakan Algoritma Hopfield, 2008. USU Repository © 2009
23 Koneksi pada jaringan syaraf Hopfield dapat dilihat pada tabel berikut:
Tabel 1. Koneksi pada jaringan syaraf Hopfield
Neuron 1 N1 Neuron 2 N2
Neuron 3 N3 Neuron 4 N4 Neuron 1 N1
Tidak Ada N2N1
N3N1 N4N1
Neuron 2 N2 N1N2
Tidak Ada N3N2
N4N2
Neuron 3 N3
N1N3 N2N3
Tidak Ada N4N3
Neuron 4 N4
N1N4 N2N4
N3N4 Tidak Ada
3.
Keterangan: P = jumlah bobot W
ij
= bobot koneksi dari simpul i ke simpul j S
i
p = elemen in dari pola s yang hanya memiliki nilai +1 atau -1 S
j
p = elemen in dari pola s yang hanya memiliki nilai +1 atau -1
Untuk membentuk matriks bobot dimulai dengan matriks koneksi bobot kosong:
Misalkan ingin menerima nilai 0101, untuk ini terlebih dahulu dibentuk matriks koneksi dari 0101. Matriks koneksinya kemudian ditambahkan ke dalam matriks
koneksi bobot. Saat nilai dimasukkan, matriks koneksi bobot berada dalam proses pengenalan pola baru.
Zulkarnain Harun : Pengenalan Pola Angka Dengan Menggunakan Algoritma Hopfield, 2008. USU Repository © 2009
24 Langkah berikutnya adalah mengubah nilai 0101 menjadi bipolar, sehingga
menjadi: 0 = -1
1 = 1 0 = -1
1 = 1
Sehingga diperoleh sebuah array -1, 1, -1, 1. Array ini kemudian digunakan untuk membangun matriks kontribusi 0101 dengan cara mengalikan dengan transposenya.
Hasilnya dapat dilihat sebagai berikut:
Langkah selanjutnya adalah membuat 0 secara diagonal nilai dari sudut kiri atas sampai sudut kanan bawah. Hal ini dilakukan karena neuron pada jaringan Hopfield
tidak terhubung pada dirinya sendiri, sehingga matriks diatas menjadi:
Matriks di atas dapat ditambahkan ke dalam matriks koneksi bobot yang sudah ada. Jika pola yang ingin dikenali hanya 0101, maka matriks di atas menjadi matriks
bobotnya.
4. Kerjakan langkah-langkah ini selama pola belum konvergen. Langkah a: Untuk tiap vektor x x
1
, x
2
, …, x
n
. Langkah b: Inisialisasi pola input yang tidak diketahui.
Y
i
= X
i
dengan i = 1 … n Langkah c: Kerjakan langkah b sampai semua pola diuji.
Zulkarnain Harun : Pengenalan Pola Angka Dengan Menggunakan Algoritma Hopfield, 2008. USU Repository © 2009
25 Langkah d:
Langkah e: Determinitive Activation Sinyal Output.
y
i
=
Keterangan: 0
i
selalu berharga 0
Langkah f: Hasil dari output Y
i
berlaku untuk semua pola lain. Langkah g: Uji pola sampai konvergen.
1 untuk y_in
i
0 -1 untuk y_in
i
Zulkarnain Harun : Pengenalan Pola Angka Dengan Menggunakan Algoritma Hopfield, 2008. USU Repository © 2009
26
2.7. Flowchart Algoritma Hopfield