Algoritma Hopfield Output Keluaran

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