2
KATA PENGANTAR
3
DAFTAR ISI
4
BAB III SINGLE LAYER PERCEPTRON ....................... 101
3.1 Pergertian Perceptron ..................................................... 102
3.2 Aturan Pembelajaran ...................................................... 104
3.3 Arsitektur Perceptron .................................................... 105
3.4 Latihan soal perhitungan Algoritma Perceptron ............ 120
3.5 Latihan soal perceptron logika AND dengan matlabs ... 132
BAB IV MULTI LAYER PERCEPTRON ...................... 170
4.1 Pengertian Multilayer Perceptron .................................. 171
4.2 Mekanisme Kerja Multilayer Perceptron
Neural Network .............................................................. 181
4.3 Backpropagation ............................................................ 190
4.4 Arsitektur Backpropagation ........................................... 192
4.5 Fungsi Aktivasi Backpropagation .................................. 193
4.6 Pelatihan Standar Backpropagation ............................... 195
4.7 Algoritma Backpropagation ........................................... 197
4.8 Optimalitas Arsitektur Backpropagation ....................... 207
4.9 Jumlah Unit Tersembunyi .............................................. 210
4.10 Aplikasi Multilayer Perceptron in Matlab ................... 212
DAFTAR PUSTAKA
PROFIL PENULIS
5
DAFTAR GAMBAR
8
Gambar 3.27 SOM Topology............................................... 165
Gambar 3.28 Tmapilan Hasil hits ........................................ 166
Gambar 3.29 Hasil SOM Neighbor Connections................. 167
Gambar 3.30 SOM Topology............................................... 168
Gambar 3.31 Tampilan Weights .......................................... 169
Gambar 4.1 Arsitektur Multilayer Perceptron ..................... 172
Gambar 4.2 Ilustrasi maksimisasi algoritma ........................ 178
Gambar 4.3 Penggunaan Single Layer Neural Network ...... 181
Gambar 4.4 Single layer neural network ............................. 182
Gambar 4.5 Pengenalan pola serta pemrosesan gambar ...... 183
Gambar 4.6 Multilayer Perceptron Neural Network 3 Layer 185
Gambar 4.7 Jaringan backpropagation................................. 191
Gambar 4.8 Arsitektur backpropagation .............................. 193
Gambar 4.9 Grafik sismoid biner ......................................... 194
Gambar 4.10 Grafik sismoid bipolar.................................... 195
Gambar 4.11 Arsitektur Backpropagation
1 layer tersembunyi ........................................ 201
10
DAFTAR TABEL
11
DAFTAR RUMUS
12
4.2 Rumus metoda penggunaan Momentum........................ 188
4.3 Rumus update nilai weight ............................................. 189
4.4 Rumus nilai konvigurasi ................................................ 190
4.5 Rumus fungsi sigmoid biner .......................................... 194
4.6 Rumus fungsi sigmoid bipolar ....................................... 194
13
BAB I
ARTIFICIAL INTELLIGENCE
KECERDASAN BUATAN
DAFTAR ISI
14
1.1. Pengertian Artificial Intelligence
Artificial Intelligence (AI) atau di kenal dengan
Kecerdasan Buatan adalah sesuatu buatan/tiruan yang membuat
computer menjadi cerdas seperti layaknya manusia. Cerdasnya
berfikir layaknya seperti manusia dalam menyelesaikan suatu
masalah, mengambil keputusan dalam hal melakukan tindakan.
System ini juga dikenal sebagai system cerdas yang berasal dari
pengetahuan manusia dan sumber penambahan informasi lain
seperti buku, dokumentasi, dan data-data refensi yang
mendukung pada basis pengetahuan kecerdasan buatan.
Kecerdasan buatan (Artificial Intelligence), kadang-
kadang disebut juga kecerdasan mesin yaitu kecerdasan yang
ditunjukkan oleh mesin, berbeda dengan kecerdasan alami yang
ditampilkan oleh manusia dan hewan lainnya. Banyak penelitian
dibidang Artificial Intelligence didefinisikan sebagai studi
tentang "agen cerdas". Perangkat apa pun yang merasakan
lingkungannya dan mengambil tindakan yang memaksimalkan
peluangnya untuk berhasil mencapai tujuannya. Dalam bahasa
sehari-hari, istilah "kecerdasan buatan" diterapkan ketika mesin
meniru fungsi "kognitif" yang dikaitkan manusia dengan pikiran
manusia lainnya, seperti "belajar" dan "pemecahan masalah".
(Russell et all 1009)
Ruang lingkup Artificial Intelligence masih dalam
15
perdebatan para ahli karena mesin menjadi semakin mampu,
tugas-tugas yang dianggap membutuhkan "kecerdasan" sering
dihapus dari definisi, sebuah fenomena yang dikenal sebagai
efek Artificial Intelligence, yang mengarah ke quip dalam
Teorema Tesler. Artificial Intelligence adalah apa pun yang
belum telah dilakukan. Misalnya, pengenalan karakter optik
sering tidak tidak dimasukkan dari kecerdasan buatan, yang
telah menjadi teknologi rutin. Kemampuan mesin modern
umumnya diklasifikasikan sebagai Artificial Intelligence
termasuk berhasil memahami ucapan manusia, bersaing
ditingkat tertinggi dalam sistem permainan strategis seperti catur
dan Go, mobil yang beroperasi secara otonom, dan jalur cerdas
dalam jaringan pengiriman konten dan simulasi militer.
Kecerdasan buatan didirikan sebagai disiplin akademis
pada tahun 1956, dan pada tahun-tahun setelah mengalami
beberapa gelombang optimisme, diikuti oleh kekecewaan dan
hilangnya dana yang dikenal sebagai "Artificial Intelligence
musim dingin", yang diikuti oleh pendekatan baru, kesuksesan
dan pendanaan baru. Untuk sebagian besar sejarahnya,
penelitian Artificial Intelligence telah dibagi menjadi sub bidang
yang sering gagal berkomunikasi satu sama lain. Sub-bidang ini
didasarkan pada pertimbangan teknis, seperti tujuan tertentu
misalnya "robotika" atau "pembelajaran mesin", penggunaan
16
alat-alat tertentu "logika" atau jaringan saraf tiruan, atau
perbedaan filosofis yang mendalam. Sub bidang juga didasarkan
pada faktor sosial lembaga tertentu atau karya peneliti tertentu
(McCorduck 2004).
Masalah masalah tradisional atau tujuan penelitian
Artificial Intelligence termasuk penalaran, representasi
pengetahuan, perencanaan, pembelajaran, pemrosesan bahasa
alami, persepsi dan kemampuan untuk memindahkan dan
memanipulasi objek. Kecerdasan umum adalah salah satu tujuan
jangka panjang bidang ini. Pendekatan termasuk metode
statistik, kecerdasan komputasi, dan Artificial Intelligence
simbolik tradisional. Banyak alat yang digunakan dalam
Artificial Intelligence, termasuk versi pencarian dan
pengoptimalan matematis, jaringan syaraf tiruan, dan metode
berdasarkan statistik, probabilitas dan ekonomi. Bidang
Artificial Intelligence mengacu pada ilmu komputer, teknik
informasi, matematika, psikologi, linguistik, filsafat, dan banyak
lainnya.
Bidang ini didasarkan pada pendapat bahwa kecerdasan
manusia dapat dideskripsikan secara tepat sehingga sebuah
mesin dapat dibuat untuk mensimulasikannya. Hal ini
menimbulkan argumen filosofis tentang sifat pikiran dan etika
menciptakan makhluk buatan yang dikaruniai kecerdasan mirip
17
manusia yang merupakan isu yang telah dieksplorasi oleh mitos,
fiksi dan filsafat sejak jaman dahulu. Beberapa orang juga
menganggap Artificial Intelligence sebagai bahaya bagi manusia
jika ia terus berlanjut. Lainnya percaya bahwa Artificial
Intelligence, tidak seperti revolusi teknologi sebelumnya, akan
menciptakan risiko pengangguran massal. Namun Google
menjadi tuan kontes global untuk mengembangkan Artificial
Intelligence yang bermanfaat bagi kemanusiaan.
Pada abad ke 21, teknik Artificial Intelligence telah
mengalami kebangkitan menyusul kemajuan konkuren dalam
kekuatan komputer, sejumlah besar data, dan pemahaman
teoritis; dan teknik Artificial Intelligence telah menjadi bagian
penting dari industri teknologi, membantu menyelesaikan
banyak masalah yang menantang dalam ilmu komputer,
rekayasa perangkat lunak dan riset operasi (Russell et all 2003).
Beberapa tujuan dari Aritificial Intelligence adalah:
1. Untuk Membuat mesin menjadi lebih pintar
2. Memahami apa itu kecerdasan
3. Membuat mesin lebih bermanfaat
4. Membuat mesin dapat belajar
18
pencerita pada zaman kuno, dan telah umum dalam fiksi, seperti
dalam Mary Shelley's Frankenstein atau Karel Čapek's R.U.R.
yaitu Robot Universal Rossum. Karakter-karakter ini mereka
mengangkat banyak masalah yang sama yang sekarang dibahas
dalam etika kecerdasan buatan.
Studi tentang penalaran mekanis atau formal dimulai
dengan para filosofi dan ahli matematika di zaman kuno. Studi
tentang logika matematika langsung mengarah pada teori
komputasi Alan Turing, yang menyarankan bahwa sebuah
mesin, dengan mengocok simbol sesederhana "0" dan "1", dapat
mensimulasikan segala tindakan deduksi matematis yang
mungkin. Wawasan ini, bahwa komputer digital dapat
mensimulasikan proses pemikiran formal apa pun, dikenal
sebagai tesis Church-Turing. Seiring dengan penemuan
bersamaan dalam neurobiologi, teori informasi dan sibernetika,
ini mengarahkan para peneliti untuk mempertimbangkan
kemungkinan membangun otak elektronik. Turing mengusulkan
bahwa jika seorang manusia tidak dapat membedakan antara
tanggapan dari mesin dan manusia, mesin itu dapat dianggap
cerdas. Pekerjaan pertama yang sekarang dikenal sebagai
Artificial Intelligence adalah McCullouch dan Pitts '1943 desain
formal untuk Turing-complete artificial neurons.
Bidang penelitian Artificial Intelligence lahir di sebuah
19
lokakarya di Dortmouth College pada tahun 1956. Dihadiri
Allen Newell (CMU), Herbert Simon (CMU), John McCarthy
(MIT), Marvin Minsky (MIT) dan Arthur Samuel (IBM)
menjadi pendiri dan pemimpin penelitian Artificial Intelligence.
Mereka menghasilkan program program yang sangat
menakjubkan yaitu komputer bisa belajar strategi main catur,
dan tahun 1959 dilaporkan bermain lebih baik daripada rata-rata
manusia, memecahkan kata masalah dalam aljabar,
membuktikan teorema logis (Logic Theorist, pertama dijalankan
yang dapat berbicara bahasa Inggris pada tahun 1959 (Crevier,
Daniel (1993).
Pada pertengahan 1960-an, penelitian di AS didanai
oleh Departemen Pertahanan dan laboratorium telah didirikan di
seluruh dunia. Pendiri Artificial Intelligence optimis tentang
masa depan seperti Herbert Simon memperkirakan, mesin akan
mampu dalam dua puluh tahun, melakukan pekerjaan apa pun
yang dapat dilakukan oleh manusia. Marvin Minsky setuju dan
menulis, dalam satu generasi masalah menciptakan kecerdasan
buatan akan terpecahkan.
Kenyataannya mereka gagal mengenali kesulitan dari
beberapa tugas. Kemajuan melambat pada tahun 1974, sebagai
tanggapan terhadap kritik terhadap Sir James Lighthill dan
tekanan berkelanjutan dari Kongres AS untuk mendanai proyek-
20
proyek yang lebih produktif, baik pemerintah AS dan Inggris
memotong penelitian eksplorasi di Artificial Intelligence.
Beberapa tahun kemudian akan disebut "Artificial Intelligence
musim dingin", periode ketika mendapatkan pendanaan untuk
proyek Artificial Intelligence sulit.
Pada awal 1980-an, penelitian Artificial Intelligence
dihidupkan kembali oleh keberhasilan komersial sistem pakar,
suatu bentuk program Artificial Intelligence yang
mensimulasikan pengetahuan dan keterampilan analitis para ahli
manusia. Pada 1985, pasar untuk Artificial Intelligence telah
mencapai lebih dari satu miliar dolar. Pada saat yang sama,
proyek komputer generasi kelima Jepang menginspirasi
pemerintah AS dan Inggris untuk memulihkan dana untuk
penelitian akademis. Namun, dimulai dengan runtuhnya pasar
Mesin Lisp pada tahun 1987, Artificial Intelligence sekali lagi
jatuh ke dalam keterpurukan.
Pada akhir 1990-an dan awal abad 21, Artificial
Intelligence mulai digunakan untuk logistik, penggalian data,
diagnosis medis dan area lainnya. Keberhasilannya adalah
karena meningkatnya kekuatan komputasi, penekanan yang
lebih besar pada pemecahan masalah khusus, hubungan baru
antara Artificial Intelligence dan bidang lain seperti statistik,
ekonomi dan matematika, dan komitmen oleh peneliti untuk
21
metode matematika dan standar ilmiah. Deep Blue menjadi
sistem catur komputer pertama yang mengalahkan juara catur
dunia, Garry Kasparov, pada 11 Mei 1997.
Pada tahun 2011, sebuah Jeopardy dalam pertunjukan
pameran kuis, sistem penjawab pertanyaan IBM, Watson,
mengalahkan dua Jeopardy terbesar juara, Brad Rutter dan Ken
Jennings, dengan selisih yang signifikan. Komputer yang lebih
cepat, peningkatan algoritmik, dan akses ke sejumlah besar data
memungkinkan kemajuan dalam pembelajaran dan persepsi
mesin, metode pembelajaran mendalam data dapat dimulai
mendominasi benchmark akurasi sekitar 2012. Kinect, yang
menyediakan antarmuka gerak tubuh 3D untuk Xbox 360 dan
Xbox One, menggunakan algoritma yang muncul dari penelitian
Artificial Intelligence yang lama seperti halnya asisten pribadi
cerdas dalam ponsel cerdas.
Pada bulan Maret 2016, AlphaGo memenangkan 4 dari
5 game Go dalam pertandingan dengan juara Go Lee Sedol,
menjadi komputer pertama sistem Go-playing untuk
mengalahkan pemain Go profesional tanpa cacat. Dalam Future
Summit Go 2017, AlphaGo memenangkan pertandingan tiga
pertandingan dengan Ke Jie, yang pada saat itu terus memegang
peringkat No. 1 dunia selama dua tahun. Ini menandai selesainya
tonggak penting dalam pengembangan Artificial Intelligence
22
sebagai Go adalah permainan yang sangat kompleks, lebih dari
Catur.
23
8. Soft computing: system cerdas yang memiliki keahlian
seperti manusia. Metodologi-metodologi yang
digunakan pada soft computing: Logika fuzzy, Jaringan
syaraf tiruan, Probabilistic reasoning, Algoritma
genetika.
24
berita secara lebih efektif dan menghasilkan volume yang lebih
tinggi. lalu lintas. Berikut bidang bidang penerapan Artificial
Intelligence yang sudah sukses:
A. Kesehatan
25
Kecerdasan buatan menembus industri perawatan
kesehatan dengan membantu dokter. Menurut Bloomberg
Technology, Microsoft telah mengembangkan Artificial
Intelligence untuk membantu dokter menemukan perawatan
yang tepat untuk kanker. Ada banyak penelitian dan obat-obatan
yang dikembangkan berkaitan dengan kanker. Secara detail, ada
lebih dari 800 obat dan vaksin untuk mengobati kanker. Ini
berdampak negatif pada dokter, karena ada terlalu banyak
pilihan untuk dipilih, sehingga lebih sulit untuk memilih obat
yang tepat untuk pasien. Microsoft sedang mengerjakan proyek
untuk mengembangkan mesin yang disebut "Hanover".
Tujuannya adalah untuk menghafal semua kertas yang
diperlukan untuk kanker dan membantu memprediksi kombinasi
obat mana yang paling efektif untuk setiap pasien. Satu proyek
yang sedang dikerjakan saat ini adalah memerangi leukemia
myeloid, kanker fatal di mana pengobatannya belum membaik
dalam beberapa dekade. Studi lain dilaporkan telah menemukan
bahwa kecerdasan buatan sama baiknya dengan dokter terlatih
dalam mengidentifikasi kanker kulit. Penelitian lain
menggunakan kecerdasan buatan untuk mencoba dan memantau
beberapa pasien berisiko tinggi, dan ini dilakukan dengan
mengajukan pertanyaan kepada banyak pasien berdasarkan data
yang diperoleh dari dokter langsung ke interaksi pasien.
26
Gambar 1.2 X-ray tangan, dengan perhitungan otomatis
usia tulang
Menurut CNN, para ahli bedah di Children's National
Medical Centre di Washington berhasil menunjukkan operasi
dengan robot otonom. Tim ini mengawasi robot saat melakukan
operasi jaringan lunak, menyatukan usus babi selama operasi
terbuka, dan melakukannya lebih baik daripada ahli bedah
manusia, kata tim tersebut. IBM telah menciptakan komputer
kecerdasan buatannya sendiri, IBM Watson, yang telah
mengalahkan kecerdasan manusia (pada beberapa level).
Watson tidak hanya menang di game show Jeopardy melawan
mantan juara, tetapi dinyatakan sebagai pahlawan setelah
berhasil mendiagnosis seorang wanita yang menderita leukemia.
27
B. Otomotif
Kemajuan dalam Artificial Intelligence telah
berkontribusi pada pertumbuhan industri otomotif melalui
penciptaan dan evolusi kendaraan self driving. Pada 2016 ada
lebih dari 30 perusahaan yang memanfaatkan Artificial
Intelligence kedalam penciptaan mobil tanpa pengemudi.
Beberapa perusahaan yang terlibat dengan AI termasuk Tesla,
Google, dan Apple.
Banyak komponen berkontribusi pada fungsi mobil self
driving. Kendaraan-kendaraan ini menggabungkan sistem
seperti pengereman, perubahan jalur, pencegahan tabrakan,
navigasi dan pemetaan. Bersama-sama, sistem ini, serta
komputer berkinerja tinggi, terintegrasi ke dalam satu kendaraan
yang rumit.
28
Perkembangan mobil otonom baru baru ini telah
membuat inovasi truk penggerak sendiri menjadi mungkin,
meskipun mereka masih dalam tahap pengujian. Pemerintah
Inggris telah meloloskan undang-undang untuk memulai
pengujian peleton truk self driving pada tahun 2018. Peleton truk
yang mengemudi sendiri adalah armada truk yang mengemudi
sendiri setelah memimpin satu truk yang tidak mengemudi
sendiri, sehingga peleton truk belum sepenuhnya mandiri.
Sementara itu, Daimler, sebuah perusahaan mobil Jerman,
sedang menguji Freightliner Inspiration yang merupakan truk
semi-otonom yang hanya akan digunakan di jalan raya (Davies,
Alex, 2017).
Salah satu faktor utama yang memengaruhi kemampuan
mobil tanpa pengemudi untuk berfungsi adalah pemetaan.
Secara umum, kendaraan akan diprogram dengan peta daerah
yang sedang dikendarai. Peta ini akan mencakup data tentang
perkiraan lampu jalan dan ketinggian pinggir jalan agar
kendaraan menjadi sadar lingkungannya. Namun, Google telah
bekerja pada algoritma dengan tujuan menghilangkan kebutuhan
untuk peta yang sudah diprogram dan sebagai gantinya,
menciptakan perangkat yang akan dapat menyesuaikan dengan
berbagai lingkungan baru. Beberapa mobil self driving tidak
dilengkapi dengan roda kemudi atau pedal rem, jadi ada juga
29
penelitian yang berfokus pada penciptaan algoritma yang
mampu menjaga lingkungan yang aman untuk penumpang di
dalam kendaraan melalui kesadaran kecepatan dan kondisi
mengemudi.
Faktor lain yang mempengaruhi kemampuan mobil
tanpa pengemudi adalah keselamatan penumpang. Untuk
membuat mobil tanpa pengemudi, para insinyur harus
memprogramnya untuk menangani situasi berisiko tinggi.
Situasi ini bisa termasuk tabrakan dengan pejalan kaki. Tujuan
utama mobil harus membuat keputusan yang akan menghindari
memukul pejalan kaki dan menyelamatkan penumpang didalam
mobil. Tetapi ada kemungkinan mobil akan perlu membuat
keputusan yang akan membahayakan seseorang. Dengan kata
lain, mobil perlu memutuskan untuk menyelamatkan pejalan
kaki atau penumpang. Pemrograman mobil dalam situasi ini
sangat penting untuk mobil tanpa pengemudi yang sukses.
30
National Bank di AS membentuk sebuah gugus Tugas Penipuan
Fraud untuk melawan penggunaan kartu debit yang tidak sah.
Program seperti Kasisto dan Moneystream menggunakan AI
dalam layanan keuangan.
31
Penggunaan mesin Artificial Intelligence di pasar dalam
aplikasi seperti perdagangan online dan pengambilan keputusan
telah mengubah teori ekonomi utama. Sebagai contoh, platform
pembelian dan penjualan berbasis Artificial Intelligence telah
mengubah hukum penawaran dan permintaan dimana sekarang
mungkin untuk dengan mudah memperkirakan permintaan
individual dan kurva penawaran dan dengan demikian harga
individual. Selain itu, mesin Artificial Intelligence mengurangi
asimetri informasi di pasar dan dengan demikian membuat pasar
lebih efisien sambil mengurangi volume perdagangan.
Selanjutnya, Artificial Intelligence di pasar membatasi
konsekuensi perilaku pasar akan membuat pasar lebih efisien.
Teori-teori lain dimana Artificial Intelligence memiliki dampak
termasuk dalam pilihan rasional, ekspektasi rasional, teori
permainan, titik putar Lewis, optimalisasi portofolio dan
pemikiran kontrafaktual.
D. Video Game
Dalam video game, kecerdasan buatan secara rutin
digunakan untuk menghasilkan perilaku yang dinamis dan
dinamis dalam karakter non-pemain (NPC). Selain itu, teknik
Artificial Intelligence yang dipahami dengan baik secara rutin
digunakan untuk mencari jejak. Beberapa peneliti menganggap
32
NPC Artificial Intelligence dalam game sebagai masalah
terpecahkan untuk sebagian besar tugas produksi. Game dengan
Artificial Intelligence yang lebih banyak termasuk AI director
Left 4 Dead (2008) dan pelatihan neuroevolutionary dari pleton
di Supreme Commander 2 pada tahun 2010.
E. Militer
Perlombaan senjata intelijen buatan, senjata otonom
mematikan, dan kendaraan udara tempur tak berawak.
Pengeluaran militer tahunan di seluruh dunia untuk robotika
meningkat dari 5,1 miliar dolar AS pada 2010 menjadi 7,5 miliar
dolar AS pada 2015. Drone militer yang mampu bertindak
secara otonom secara luas dianggap sebagai aset yang berguna.
33
Pada 2017, Vladimir Putin menyatakan bahwa "Siapapun yang
menjadi pemimpin (kecerdasan buatan) akan menjadi penguasa
dunia". Banyak peneliti kecerdasan buatan berusaha
menjauhkan diri dari aplikasi militer Artificial Intelligence.
F. Audit
Untuk audit laporan keuangan, Artificial Intelligence
memungkinkan dilakukannya audit berkelanjutan. Alat
Artificial Intelligence dapat menganalisis banyak kumpulan
informasi yang berbeda dengan segera. Manfaat potensial adalah
risiko audit secara keseluruhan akan berkurang, tingkat jaminan
akan ditingkatkan dan durasi waktu audit akan berkurang.
34
G. Iklan
Sebuah laporan oleh surat kabar Guardian di Inggris
pada tahun 2018 menemukan bahwa perusahaan perjudian
online menggunakan Artificial Intelligence untuk memprediksi
perilaku pelanggan untuk menargetkan mereka dengan promosi
yang dipersonalisasi. Pengembang platform Artificial
Intelligence komersial juga mulai mengajukan banding lebih
langsung ke operator kasino, menawarkan berbagai layanan
yang ada dan potensial untuk membantu mereka meningkatkan
keuntungan mereka dan memperluas basis pelanggan mereka.
H. Seni
Artificial Intelligence telah menginspirasi banyak
aplikasi kreatif termasuk penggunaannya untuk menghasilkan
seni visual. Pameran "Mesin Berpikir Seni dan Desain di Era
Komputer, 1959-1989". Memberikan gambaran yang baik
tentang aplikasi historis Artificial Intelligence untuk seni,
arsitektur, dan desain. Pameran terbaru yang menunjukkan
penggunaan Artificial Intelligence untuk menghasilkan karya
seni termasuk manfaat dan lelang yang disponsori Google di
Grey Area Foundation di San Francisco, dimana seniman
bereksperimen dengan algoritma deep blue dan pameran tidak
manusiawi Seni di Era Artificial Intelligence, yang berlangsung
35
di Los Angeles dan Frankfurt pada musim gugur 2017. Pada
musim semi 2018, Asosiasi Mesin Komputasi mendedikasikan
edisi majalah khusus untuk subjek komputer dan seni menyoroti
peran pembelajaran mesin dalam seni.
36
Artificial Intelligence telah menjadi permasalahan yang
kompleks di dalam dunia modern, Setidaknya ada lima jenis
algoritma kecerdasan buatan yang sering kita temui, yaitu
adalah:
37
Contoh penerapannya aplikasi jaringan syaraf tiruan adalah
sebagai berikut:
1. Pengenalan Pola (pattern Recognition)
Jaringan syaraf tiruan dapat dipakai untuk mengenali
pola (misal huruf, angka, suara atau tanda tangan) yang
sudah sedikit berubah. Hal ini mirip dengan otak
manusia yang masih mampu mengenali orang yang
sudah beberapa waktu tidak dijumpainya (mungkin
wajah/bentuk tubuhnya sudah sedikit berubah).
2. Signal Processing
Jaringan syaraf tiruan (model ADALINE) dapat dipakai
untuk menekan noise dalam saluran telepon.
3. Prediksi/Peramalan
Jaringan syaraf tiruan dapat dipakai untuk
memprediksikan yang sudah terjadi di masa yang akan
datang berdasarkan pola kejadian yang ada dimasa
lampau. Ini dapat dilakukan mengingat kemampuan
jaringan syaraf tiruan untuk mengingat dan membuat
generalisasi dari apa yang sudah ada sebelumnya.
38
dilakukan oleh jaringan syaraf tiruan juga memiliki beberapa
keterbatasan umum, Pertama adalah ketidak akuratan hasil yang
diperoleh. Jaringan syaraf tiruan bekerja berdasarkan pola yang
terbentuk pada inputnya.
39
3 Algoritma Genetik (Genetic Algorithms)
Algoritma Genetik biasanya digunakan dibidang kedokteran,
misal untuk menganalisis DNA.
4 Robotika (Robotics)
Artificial Intelligence ini banyak digunakan di pabrik.
Biasanya dibuat untuk melakukan kegiatan otomatisasi, misal
dalam PLC (Programmable Logic Control
40
Gambar 1.10 Robotics
5 Permainan Komputer (Games)
Artificial Intelligence jenis ini yang paling disukai oleh anak-
anak, misal untuk memainkan game Age of Mythology atau
Counter Strike.
6 Kelemahan dan kelebihan Artificial Intelligence
Kelemahan Artificial Intelligence adalah mesin bertindak
seakan-akan mempunyai kecerdasan (contoh smartphone-
call by voice, seacrh by voice, find & replace)
41
Gambar 1.11 Kelemahan AI dan kelebihan AI
42
Contoh aplikasinya adalah:
• MYCIN : Diagnosa penyakit
• DENDRAL : Mengidentifikasi struktur molekular
campuran yang tak dikenal
• XCON & XSEL: Membantu konfigurasi sistem
komputer besar
• SOPHIE : Analisis sirkit elektronik
• Prospector : Digunakan di dalam geologi untuk
membantu mencari dan menemukan
deposit
• FOLIO : Menbantu memberikan keutusan bagi
seorang manajer dalam hal stok
broker dan investasi
• DELTA Pemeliharaan lokomotif listrik disel
43
A. LISP, Dikembangkan awal tahun 1950-an, bahasa
pemrograman pertama yang diasosiasikan dengan
Artificial Intelligence. Lisp adalah bahasa pemrograman
yang masuk dalam bahasa pemrograman fungsional
yang inti programnya adalah berupa fungsi-fungsi. LISP
sendiri diciptakan oleh John McCarty pada tahun 1958
ketika ia berada di Massachusets Institute of Technology
(MIT) Amerika Serikat. John McCarty menerbitkan
sebuah makalah desain Communication in ACM pada
tahun 1960 berjudul "Recursive Functions of Symbolic
Expressions and Their Computation by Machine, Part I",
namun bagian ke 2 dari artikel tersebut tidak pernah
diterbitkan. Dia menunjukkan bahwa dengan operator
sederhana dan notasi fungsi, seseorang dapat membuat
Turing-Complete untuk bahasa algoritma. Bahasa
Pengolahan Informasi adalah bahasa AI pertama, dari
tahun 1955 - 1956, dan sudah termasuk banyak konsep
seperti daftar pengolahan dan rekursi yang kemudian
digunakan dalam lisp.
44
P,Roussel di Universitas Marseilles Prancis tahun 1972.
Selama tahun 70an, prolog populer di Eropa untuk
aplikasi Artificial Intelligence. Pada awalnya, Prolog dan
LISP sangat lambat dalam eksekusi program dan
memakan memori yang besar sehingga hanya kalangan
tertentu yang menggunakannya. Dengan adanya
Compiler Prolog, kecepatan eksekusi program dapat
ditingkatkan, namun Prolog masih dipandang sebagai
bahasa yang terbatas (hanya digunakan di kalangan
perguruan tinggi dan riset).
Jadi Artificial Intelligence adalah sebuah studi tentang
bagaimana membuat komputer melakukan hal-hal yang pada
saat ini dapat dilakukan lebih baik oleh manusia, serta
mempunyai wawasan penelitian, aplikasi dan instruksi yang
terkait dengan pemrograman komputer untuk melakukan
sesuatu hal yang dalam pandangan manusia adalah cerdas.
45
BAB II
ARTIFICIAL NEURAL NETWORK
JARINGAN SYARAF TIRUAN
DAFTAR ISI
46
2.1 Pergertian Jaringan Saraf Tiruan
Jaringan saraf adalah representasi buatan dari otak
manusia yang selalu mencoba mensimulasikan proses
pembelajaran otak manusia tersebut. Istilah tiruan atau buatan
digunakan karena jaringan saraf di implementasikan dengan
menggunakan program komputer agar computer dapat cerdas
layaknya manusia yang mampu menyelesaikan sejumlah proses
perhitungan selama proses pembelajaran.
Jaringan Saraf Tiruan merupakan sistem pemrosesan
informasi yang memiliki karakteristik kemampuan yang secara
umum mirip dengan jaringan saraf biologi. Jaringan saraf tiruan
telah dikembangkan sebagai turunan model matematika dari
kesadaran manusia atau saraf biologis, karena berdasar pada
asumsi bahwa:
1. Pemrosesan informasi terjadi pada beberapa elemen
sederhana yang disebut neuron.
2. Sinyal lewat diantara neuron menciptakan jaringan
koneksi.
3. Setiap koneksi penghubung memiliki bobot yang
terhubung, yang dalam jaringan saraf tertentu
mengalikan sinyal yang ditransmisikan.
47
4. Setiap neuron mempunyai fungsi aktrivasi (biasanya
nonlinier) pada jaringan inputnya (jumlah dari bobot
sinyal input) untuk menentukan sinyal outputnya.
Pengertian Artificial Neural Network atau jaringan saraf
tiruan adalah system komputasi dimana arsitektur dan
komputasi diilhami dari pengetahuan tentang sel saraf dalam
otak. Artificial Neural Network (ANN) merupakan model yang
meniru cara kerja jaringan neural biologis.
Artificial Neural Network merupakan cabang ilmu multi
disiplin yang meniru cara kerja otak manusia. Salah satu struktur
yang ditiru adalah bentuk neuronnya (sel saraf). Jaringan saraf
tiruan ANN dapat menyelesaikan persoalan rumit/tidak
mungkin jika diselesaikan dengan menggunakan komputasi
kovensional.
Dengan melakukan proses belajar jaringan saraf tiruan
dapat mengatur dirinya untuk menghasilkan suatu respon yang
konsisten terhadap rangkaian masukkan. Jaringan saraf tiruan
dirancang dan dilatih untuk memiliki kemampuan seperti
manusia.
Setiap neuron dapat memiliki beberapa masukan dan
mempunnyai satu keluaran. Jalur masukan pada suatu neuron
bisa berisi data mentah atau data hasil olahan neuron
sebelumnya. Sedangkan hasil keluaran suatu neutron dapat
48
berupa hasil akhir atau berupa bahan masukkan bagi neutron
berikutnya. Jaringan neuron buatan terdiri atas kumpulan grup
neuron yang tersusun dalam lapisan yaitu:
1. Lapisan Input (Input Layer).
2. Lapisan Tersembunyi (Hidden Layer).
3. Lapisan Output (Output Layer).
Kerugian:
1. Artificial Neural Network (ANN) membutuhkan
“pelatihan” terlebih dahulu sebelum beroprasi.
49
2. Arsitektur dari Artificial Neural Network (ANN)
berbeda dari arsitektur kebanyakan microprocessor,
sehingga membutuhkan proses emulasi.
3. Membutuhkan waktu processing yang tinggi untuk
Artificial Neural Network (ANN) dengan ukuran yang
besar.
50
Bidang-bidang penelitian yang memanfaatkan jaringan saraf
tiruan diantaranya;
1. Pendeteksian uang palsu, evaluator aplikasi kredit,
pengidentifikasian pola-pola data pasar saham.
2. Pertahanan (Militer).
3. Pengendali senjata, pendeteksi bom, penelusuran target,
pembedaan objek, pengendali sensor, sonar, radar, dan
pengolahan sinyal citra yang meliputi kompresi data,
ektrasksi bagian istimewa dan penghilangan derau,
pengenalan sinyal atau citra.
4. Elektronik, Pembuatan perangkat keras yang bias
mengimplementasikan jaringan saraf tiruan secara efisien
(pendesainan VLSI), machine vision, pengontrol gerakan
dan penglihatan robot, sintesis suara.
5. Broadcast, Pencarian klip berita melalui pengenalan wajah.
51
terdiri atas elemen pemroses (yang memiliki memori lokal
dan beroperasi dengan informasi lokal) yang diinterkoneksi
bersama dengan alur sinyal searah yang disebut koneksi.
Setiap elemen pemroses memiliki koneksi keluaran tunggal
yang bercabang (fan out) ke sejumlah koneksi kolateral yang
diinginkan (setiap koneksi membawa sinyal yang sama dari
keluaran elemen pemroses tersebut).
52
digunakan. Hal ini menyerupai kerja otak dalam dua hal
yaitu:
1. Pengetahuan diperoleh oleh jaringan melalui suatu
proses belajar.
2. Kekuatan hubungan antar sel saraf yang dikenal dengan
bobot sinapsis digunakan untuk menyimpan
pengetahuan.
53
jaringan, kekuatan hubungan, dan pegolahan dilakukan pada
komputasi elemen atau nodes.
3. Sejarah Jaringan syaraf tiruan
54
Gambar 2.1 Struktur jaringan otak manuasi
Sebuah syaraf atau neuron memiliki 3 tipe komponen
yaitu dendrites (bagian yang menerima rangsang dari axon), cell
body atau soma (badan sel saraf) dan axon (bagian sel yang
berhubungan dengan dendrites sel saraf lain dan membentuk
simpul yang disebut synapse). Dendrites dapat menerima
banyak sinyal dari neuron lain. Sinyal adalah impuls listrik yang
dipancarkan menlintasi celah synapse yang disebabkan proses
kimia. Tindakan dari pancaran proses kimia mengubah sinyal
yang datang (secara khas, dengan penskalaan frekuensi sinyal
yang diterima). Proses tersebut sama dengan sifat bobot dalam
jaringan saraf tiruan.
Cell body atau Soma, untuk menjumlahkan sinyal yang
datang. Ketika masukan cukup diterima, sel menjadi aktif, saat
itulah sel mengirimkan sinyal melaui axonnya ke sel lainnya.
55
Kejadian ini menimbulkan anggapan bahwa setiap sel saraf
berada dalam keadaan aktif atau tidak aktif, pada setiap satuan
waktu. Sehingga pengiriman sinyal dikenali sebagai kode biner.
Kenyataannya, frekuensi dari keadaan aktif bervariasi, sesuai
dengan kekuatan sinyal yakni kuat atau lemah magnitudenya.
Pencocokan dengan kode biner ini dilakukan untuk
menentukan tahapan dalam tiap waktu yang diskrit dan
menjumlahkan semua aktivitas (sinyal diterima atau dikirim)
pada tahap tertentu berdasarkan satuan waktu. Transmisi sinyal
dari neuron tertentu disempurnakan dengan hasil kerja energi
potensial neuron yang disebabkan perbedaan konsentrasi ion-ion
dari setiap sisi sarung pelindung axon neuron (sumsum otak
manusia). Ion-ion kebanyakan secara langsung melibatkan zat-
zat potassium, sodium dan klorida.
Struktur pada gambar diatas tersebut adalah bentuk
standard dasar satuan unit jaringan otak manusia yang telah
disederhanakan. Bentuk standard ini mungkin dikemudian hari
akan berubah bila ada ilmuwan yang dapat menciptakan bentuk
standard yang lebih baik ataupun memperbaiki bentuk standard
yang digunakan saat ini. Jaringan otak manusia tersusun tidak
kurang dari 1013 buah neuron yang masing-masing terhubung
oleh sekitar 1015 buah dendrites. Sebagaimana Fungsi dendrites
adalah sebagai penyampai sinyal dari neuron tersebut ke neuron
56
yang terhubung dengannya. Sebagai keluaran setiap neuron
memiliki axon, sedangkan bagian penerima sinyal disebut
synapse. Penjelasan lebih rinci tentang hal ini dapat diperoleh
pada disiplin ilmu biology molecular.
Secara umum jaringan saraf terbentuk dari jutaan
(bahkan lebih) struktur dasar neuron yang terinterkoneksi dan
terintegrasi antara satu dengan yang lain sehingga dapat
melaksanakan aktifitas secara teratur dan terus menerus sesuai
dengan kebutuhan.
Beberapa attribute atau fitur penting dalam proses
elemen dari jaringan saraf tiruan yang berasal dari cara kerja
jaringan saraf biologi:
a. Elemen pemroses menerima beberapa sinyal.
b. Sinyal memungkinkan dimodifikasi oleh bobot pada
synapse penerima.
c. Elemen pemroses menjumlahkan bobot input.
d. Dalam lingkungan yang sesuai (jumlah input yang
sesuai), neuron mengirimkan output tunggal.
e. Output dari neuron khusus memungkinkan dipindahkan
kebeberapa neuron lain (melalui cabang axon).
Beberapa jenis fitur jaringan saraf tiruan yang dipelajari
dari neuron biologi:
57
1. Pemrosesan informasi bersifat lokal (meskipun cara
berbeda dalam proses transmisi, seperti aksi beberapa
hormon, memungkinkan penganjuran cara control proses
yang bersifat keseluruhan).
2. Memori terdistribusi:
a. Memori yang berjangka panjang berada dalam
synapse neuron atau bobot.
b. Memori jangka pendek merespon sinyal kiriman
oleh neuron.
c. Kekuatan synapse dapat dimodifikasi oleh
pengalaman.
d. Neuron pengirim untuk synapse mungkin bersifat
pengeksitasi atau penghambat.
Hal hal yang penting dalam jaringan saraf tiruan yang
merupakan bagian dari sistem saraf biologi memiliki toleransi
kesalahan/kekurangan data. Sistem jaringan saraf biologi
memiliki toleransi kesalahan dalam 2 aspek:
a. Dapat mengenali banyak input sinyal yang beberapa
diantaranya berbeda dengan yang pernah dikenali
sebelumnya. Sebagai contoh kemampuan manusia untuk
mengenali seseorang dari suatu gambaran atau
mengenali seseorang setelah periode yang lama.
58
b. Dapat menerima kerusakan kedalam sistem jaringan
saraf itu sendiri.
Manusia memiliki lebih dari 100 trilyun neuron.
Kebanyakan diantaranya berada di otak. Jika terjadi kerusakan
pada salah satu bagian, maka akan memungkinkan bagian lain
akan menjalankan fungsi dari neuron yang rusak.
59
Gambar 2.2 Arsitektur jaringan Syaraf Tiruan
Keterangan:
• Aj : Nilai aktivasi dari unit j
63
• G : Fungsi aktivasi
• ai : Nilai aktivasi dari unit i
Kumpulan dari neuron dibuat menjadi sebuah jaringan
yang akan berfungsi sebagai alat komputasi. Jumlah neuron dan
struktur jaringan untuk setiap problema yang akan diselesaikan
adalah berbeda.
65
a. Fungsi Undak Biner (Hard Limit)
Fungsi Undak Biner merupakan jaringan lapisan
tunggal yang menggunakan fungsi undak (step function)
untuk mengkonversikan input dari suatu variabel yang
bernilai kontinyu ke suatu output biner (0 atau 1).
66
Gambar 2.9 Fungsi Undak Biner Thershold
67
d. Fungsi Bipolar (dengan threshold)
Fungsi bipolar dengan threshold sebenarnya hampir
sama dengan fungsi undak biner, hanya saja output yang
dihasilkan berupa 1, 0 atau -1. Fungsi bipolar dengan nilai
ambang 0 dirumuskan gambarnya sebagai berikut: hanya saja
output yang dihasilkan berupa 1, 0, atau –1. Fungsi ini
dirumuskan sebagai berikut:
68
Gambar 2.12. Fungsi Linear (Identitas)
f. Fungsi Saturating Linear
Fungsi ini akan bernilai 0 jika inputnya kurang dari –
½, dan akan bernilai 1 jika inputnya lebih dari ½. Sedangkan
jika nilai input terletak antara -½ dan ½, maka outputnya akan
bernilai sama dengan nilai inputnya ditambah ½. Fungsi
saturating linear ini dirumuskan sebagai berikut:
70
yang membutuhkan nilai output yang terletak pada interval 0
sampai dengan 1, juga pada jaringan saraf yang nilai
outputnya 0 atau 1. Fungsi ini dirumuskan sebagai berikut:
71
Fungsi ini hampir sama dengan fungsi hyperbolic
tangent. Keduanya memiliki range antara -1 sampai 1. Secara
matematis, fungsi hyperbolic tanget dituliskan sebagai berikut.
72
2.7 Proses Pembelajaran/Learning
Pada otak manusia, informasi yang dilewatkan dari satu
neuron ke neuron yang lainnya berbentuk rangsangan listrik
melalui dendrit. Jika rangsangan tersebut diterima oleh suatu
neuron, maka neuron tersebut akan membangkitkan output ke
semua neuron yang berhubungan dengannya sampai neuron
tersebut sampai ke tujuannya yaitu terjadinya suatu reaksi. Jika
rangsangan yang diterima terlalu halus, maka output yang
dibangkitkan oleh neuron tersebut tidak akan direspon. Tentu
sangatlah sulit memahami bagaimana otak manusia itu belajar.
Selama proses pembelajaran, terjadi perubahan yang
cukup berarti pada bobot–bobot yang menghubungkan antar
neuron. Apabila ada rangsangan yang sama yang diterima oleh
neuron, maka neuron akan memberikan reaksi dengan cepat.
Tetapi, apabila nantinya ada rangsangan yang berbeda dengan
apa yang diterima oleh neuron, maka neuron akan beradaptasi
untuk memberikan reaksi yang sesuai.
Jaringan saraf akan mencoba mensimulasikan
kemampuan otak manusia untuk belajar. Jaringan saraf tiruan
juga tersusun atas neuron dan dendrit. Tidak seperti model
biologis, jaringan saraf memiliki struktur yang tidak dapat
73
diubah, dibangun oleh sejumlah neuron, dan memiliki nilai
tertentu yang menunjukkan seberapa besar koneksi antar neuron
(dikenal dengan nama bobot).
JST mampu mengenali, dan meniru pola pemetaan dari
pasangan sinyal input dan output yang diberikan. Proses
memberikan pasangan input dan output, pada sistem Jaringan
Syaraf Tiruan (Neural network) disesbut sebagai proses
pembelajaran. Umumnya, jika menggunakan Jaringan Syaraf
Tiruan (Neural network), hubungan antara input dan output
harus diketahui, secara pasti dan jika hubungan tersebut telah
diketahui maka dapat dibuat suatu model. Hal lain yang penting
adalah proses belajar hubungan input/output dilakukan dengan
pembelajaran. Ada dua tipe pembelajaran pada Jaringan Syaraf
Tiruan (Neural network) yang dikenal yaitu: pembelajaran
terawasi dan pembelajaran tak terawasi. Jaringan Syaraf Tiruan
(Neural network), proses pembelajaran, proses pembelajaran
JST, proses pembelajaran neural network, tipe pembelajaran
pada Jaringan Syaraf Tiruan (Neural network), Proses
Pembelajaran Terawasi (supervised learning), supervised
learning, Proses Pembelajaran Tidak Terawasi (unsupervised
learning), unsupervised learning, pembelajaran terawasi,
pembelajaran tak terawasi, Metode pembelajaran terawasi,
74
Metode pembelajaran tidak terawasi dapat kita lihat gambaran
seperti dibawah ini:
76
pada metoode ini pembelajaran dilakukan dengan cara
memperbaiki nilai bobot sedemikian rupa sehingga jika ada 2
neuron yang terhubung, dan keduanya pada kondisi hidup (on)
pada saat yang sama, maka bobot antara kedua dinaikkan.
Apabila data dipresentasiakn secara bipolar, maka perbaikan
bobotnya adalah:
wi (baru) = wi(lama) + xi * y (2.2)
Keterangan:
wi : Bobot data input ke-i;
xi : Input data ke-i;
y : Output data.
Misalkan kita menggunakan pasangan vektor input (s) dan
vektor output sebagai pasangan vektor yang akan dilatih.
Sedangkan vektor yang hendak digunakan sebagai testing
adalah vektor (x).
Algoritma pasangan vektor diatas adalah sebagai berikut:
0. Insialisasi semua bobot dimana:
wij = 0;
i = 1,2……n;
j =1,2…...m
Pertama pasangan input-output(s-t), maka terlebih dahulu
dilakukan langkah-langkah sebagai berikut:
77
2.2 Set input dengan nilai yang sama dengan vektor
inputnya:
xi = si; (I = 1,2…n)
2.3 Set outputnya dengan nilai yang sam dengan vektor
outputnya:
yj = tj; (j = 1,2..,m)
2.4 Kemudian jika terjadi kesalahan maka perbaiki
bobotnya:
wij (baru) = wij (lama) + xi * yj;
(I = 1,2..n dan j = 1,2,….,m)
sebagai catatan bahwa nilai bias selalu 1.
Contoh:
Sebagaimana yang kita ketahui dalam fungsi OR jika A & B = 0
maka “OR” 0, tetapi jika salah satunya adalah 1 maka “OR” 1,
atau dengan kata lain jika angkanya berbeda maka hasilnya 1.
Misalkan kita ingin membuat jaringan syaraf untuk melakukan
pembelajaran terhadap fungsi OR dengan input dan target
bipolar sebagai berikut:
Input Bias Target
1 -1 -1 -1
1 1 -1 1
78
1 -1 1 1
1 1 1 1
Tabel 2.1 Contoh XOR
X= T= Bobot awal=
-1 -1 -1 w=
-1 1 1 0
1 -1 1 0
1 1 1 b=0
Tabel 2.2 Perhitungan XOR
(catatan penting: bobot awal dan bobot bias kita set = 0)
Data ke-1
w1 = 0 + 1 = 1
w2 = 0 + 1 = 1
b = 0 – 1 = -1
Data ke-2
w1 = 1 – 1 = 0
w2 = 1 + 1 = 2
b =0+1=1
Data ke-3
w1 = 0 + 1 = 1
w2 = 2 - 1 = 1
79
b =0+1=1
Data ke-4
w1 = 1 + 1 = 2
w2 = 1 + 1 = 2
b =1+1=2
Kita melakukan pengetesan terhadap salah satu data
yang ada, misal kita ambil x = [-1-1] dan kita masukkan pada
data ke-4 maka hasilnya adalah sebagai berikut:
Y = 2 + (-1 * 2) + (-1 * 2) = -2
Karena nilai yin = -2, maka y=f (yin) = f (-2) = -1 (cocok dengan
output yang diberikan).
80
hebbian, kohonen, LVQ (Learning Vector Quantization),
Neocognitron. Berikut contoh penerapanya unsupervised
learning adalah:
Metode kohenen.
Metode kohonen adalah Jaringan syaraf self organizing
yang sering disebut juga topology preserving maps, yang
mengansumsikan sebuah struktur topologi antar unit-unit
cluster. Jaringan syaraf self organizing ini pertama kali
diperkenalkan oleh Tuevo Kohonen dari University of Helsinki
pada tahun 1981. Jaringan kohonen SOM (Self Organizing Map)
merupakan salah satu model jaringan syaraf yang menggunakan
metode pembelajaran unsupervised. Jaringan kohonen SOM
terdiri dari 2 lapisan (layer), yaitu lapisan input dan lapisan
output. Setiap neuron dalam lapisan input terhubung dengan
setiap neuron pada lapisan output. Setiap neuron dalam lapisan
output merepresentasikan kelas dari input yang diberikan.
Penulisan istilah yang ada pada struktur jaringan kohonen Self
Organizing Map adalah sebagai berikut:
X : Vektor input pembelajaran.
X = (x1, x2, xj,.,xn)
: Learning rate
: Radius neighborhood
81
X1 : Neuron/node input
w0j : Bias pada neuron output ke-j
Yj : Neuron/node output ke-j
C : Konstanta
Berikut ini adalah tahapan Algoritma dari kohonen self
organizing map adalah sebagai berikut:
Langkah 1. Inisialisasikan bobot wij. Set parameter-parameter
tetangga dan set parameter learning rate.
Langkah 2. Selama kondisi berhenti masih bernilai salah,
kerjakan langkah-langkah berikut ini:
a. Untuk masing-masing vektor input x, lakukan:
Titik Pusat
(0,0) x, y
b. Untuk masing-masing j, lakukan perhitungan:
D (j) =)
c. Tentukan J sampai D (j) bernilai minimum.
d. Untuk masing-masing unit j dengan spesifikasi tetangga
tertentu pada j dan untuk semua I, kerjakan:
wij (baru) = (wij) lama + [xi – wij (lama)]
e. Perbaiki learning rate ()
f. Kurangi radius tetangga pada waktu-waktu tertentu.
g. Tes kondisi berhenti.
82
Sebagai contohnya, data yang digunakan adalah penelitian
berupa realisasi penerimaan keuangan daerah tingkat II
suatu propinsi serta jumlah penduduk pertengahan
tahunnya dalam sebuah kabupaten/kota. Atribut-atribut
yang digunakan dalam penelitian ini adalah:
a. X1 = Jumlah penduduk
b. Pendapatan Daerah Sendiri (PDS) yang terdiri dari:
1. Pendapatan Asli Daerah (PDA) yang berupa:
ü X2 = Pajak Daerah
ü X3 = Retribusi Daerah
ü X4 = Bagian laba usaha daerah
ü X4 = Penerimaan lain-lain
83
ü X13= Pinjaman Dari Luar Negeri
Data set yang digunakan sebagai input tersebut
dinormalkan dengan nilai rata-rata sebagai acuan yang analog
dengan persamaan:
f(x)-
Berdasarkan data yang tesebut maka akan terlihat untuk
masing-masing atribut memiliki nilai terendah, nilai tertinggi,
dan nilai rata-rata. Selanjutnya dari nilai rata-rata tersebut maka
akan menjadi acuan untuk menentukan input dari data menuju
ke input pada jaringan saraf tiruan kohonen dengan pengkodean
1 dan 0. Kemudian data-data input tersebut akan diproses oleh
JST sehingga menghasilkan output berupa kelompok daerah
tingkat II berdasarkan penerimaan daerah. Jaringan kohonen
SOM ini akan menghubungkan antara neuron input dan neuron
output dengan koneksi bobot, yang mana bobot ini selalu
diperbaiki pada proses iterasi pelatihan jaringan. Kemudian
aliran informasi system JST ini akan mengelompokan tingkat
kesejahteraan daerah tingkat II, diawali dengan dimasukkannya
data penerimaan daerah. Data-data inilah yang akan berfungsi
sebagai input awal selain parameter input berupa learning rate
(), dan radius neighborhood (R).
Teknik self-organizing map (SOM) dikenalkan pertama
kali oleh Teuvo Kohonen, merupakan proses unsupervised
84
learning yang mempelajari distribusi himpunan pola-pola tanpa
informasi kelas.
Ide dasar teknik ini, dipahami dari bagaimana proses otak
manusia menyimpan gambar/pola yang telah dikenalinya
melalui mata, kemudian mampu mengungkapkan kembali
gambar/pola tersebut. Pada mata kita proses tersebut adalah
realisasi pemetaan mapping dari retina menuju cortex. Oleh
karenanya aplikasi model JST ini banyak digunakan pada
pengenalan obyek/citra visual (visual image).
Proses pemetaan terjadi bila sebuah pola berdimensi bebas
diproyeksikan dari ruang masukan ke posisi pada array
berdimensi satu atau dua. Metoda ekstraksi informasi tersebut
dapat dinyatakan sebagai observasi terhadap sebuah pola
melalui jendela yang terbentuk oleh lokasi unit-unit luasan pola.
Pola yang dikenali hanya pola yang batasan unit lokasinya jelas
berbeda, biasanya observasi hanya dapat dilakukan bila
lokasi pola tersebut mendapat iluminasi/ pencahayaan
yang cukup/normal.
Meskipun SOM adalah proses klasifikasi, namun tidak
seperti teknik klasifikasi atau pengelompokan yang umum
digunakan, hanya menyediakan penataan kelas-kelas
berdasarkan topologinya. Kemiripan pada pola masukan
dipertahankan agar tidak berubah sampai pada keluaran proses.
85
Topologi untuk mempertahankan pola kemiripan pada proses
SOM membuatnya berguna sekali, khususnya pada klasifikasi
data yang memiliki jumlah kelas yang besar. Pada klasifikasi
sampel subcitra, sebagai contoh, mungkin ada sejumlah besar
kelas yang perubahannya dari satu kelas ke kelas selanjutnya
tidak begitu jauh (membuatnya sulit untuk mendefiniskan batas
kelas yang jelas).
Pada jaringan saraf tiruan ini lapisan masukan (pertama)
terhubung secara penuh dengan lapisan kompetitif (kedua). Jadi
setiap unit masukan terhubung ke semua unit keluaran dan pada
hubungan tersebut terdapat nilai penimbang (weight) tertentu.
(2.3)
dimana c adalah indek pemenang.
Menentukan tetangga disekitar pemenang. Memperbarui
penimbang pemenang dan tetangganya
(2.4)
dimana NBc adalah tetangga disekitar pemenang c, dan η
adalah laju pelatihan. Untuk menentukan tetangga dapat
menggunakan fungsi Gaussian:
87
(2.5)
dimana pi dan pc adalah posisi keluaran dan σ adalah cakupan
tetangga
Metoda Hopfield
Metoda ini dikembangkan oleh John Hopfield pada
tahun 1980. Cara pemahaman paling mudah JST Hopfield bila
dinyatakan sebagai sebuah memori asosiatip (associative
memory) yang gambaran umumnya adalah sebagai berikut:
Bila ada sebuah JST yang terbentuk dari N X N neuron dimana
N adalah jumlah variabel dari obyek yang akan dioptimasi.
Setiap neuron terhubung penuh satu sama lainnya. Berikut
gambar ilustrasi metode Hopfield.
88
Gambar 2.20. Layout dari JST Hopfield
89
Jaringan Syaraf Tiruan Hopfield merupakan salah satu
metoda optimasi untuk pencarian nilai minimum dari kombinasi
fungsi obyektif. Sebagai contoh untuk menjelaskan metoda ini
secara rinci digambarkan/dianalogikan sebagai suatu problema
penyelesaian permasalahan rute perjalanan salesman/
pramuniaga. Permasalahan ini dituntut untuk menentukan
rute/jalur terpendek yang bisa ditempuh oleh seorang sales
dengan beberapa ketentuan antara lain:
Setiap kota harus dikunjungi satu kali saja.
Setiap berhenti hanya mungkin untuk mengunjungi satu kota
saia.
Dicari rute dengan total jarak minimum.
Jika terdapat 4 kota, maka dapat didefinisikan matrik 4 x 4
berisikan neuron /elemen biner sebagai berikut:
90
Terlihat bahwa setiap kolom hanya ada 1 neuron yang
bernilai "l" dan setiap baris hanya terdapat neuron yang bernilai
"l,'. Dengan maksud bahwa hanya diperbolehkan mengunjungi
satu kota saja dalam tiap kunjungan, dan setiap kota hanya
diperbolehkan dikunjugi satu kali saja. Contoh kota ke-3
dikunjugi pada urutan ke – 2 setelah kota pertama. Berikutnya
kota ke tiga dan terakhir kota ke - 4.
Dari tetapan tetapan tersebut dapat disusun sebuah persamaan
energi yang merupakan gabungan dari beberapa fungsi obyektif
sebagai berikut:
Dimana:
A, B, C, D, n’ = Konstanta
Vxy = Aktifasi antara neuron x dan neuron y
dxy = Parameter jarak neuron x dan neuron y
Pada setiap notasi penjumlahan tersebut, dimaksudkan
mempunyai batas (range) dari 1 ke n dimana n mengacu pada
indek yang berhubungan dengan permasalahan, untuk problema
perjalanan pramuniaga tersebut adalah jumlah kota. persamaan
91
energi tersebut merupakan implementasi dari tetapan – tetapan
yang digunakan dalam masalah ini. Pada suku pertama
persamaan, jika merupakan rute yang valid menyatakan bahwa
tidak boleh lebih dari satu elemen yang bernilai "1" pada setiap
barisnya, ini berarti bahwa tidak ada satu kota yang dikunjungi
lebih dari satu kali.
Suku kedua jika merupakan rute yang valid menyatakan
bahwa tidak boleh lebih dari satu elemen yang bernilai "1" pada
setiap kolomnya, ini berarti bahwa tidak mungkin dua kota
dikunjungi dalam waktu yang sama.
Pada suku ketiga terdapat variabel dpi ini menunjukkan
jarak kota k ke kota j, atau parameter lainnya sesuai dengan
permasalahan yang dioptimasi.
Sebagai contoh perhitungan berikut matrik jarak antara empat
kota yang ada:
92
Seperti telah dijelaskan bahwa masing-masing suku pada
persamaan energi menggambarkan keadaan dari suatu rute yang
didapat. Kita tetapkan suatu rute perjalanan sebagai berikut, kota
pertama kota 1, diteruskan ke kota 2 kemudian kota 3 dan
terakhir 4 sebelum kembali ke kota 1. Secara jelas ditulis
kembali rute perjalanan adalah: l-2-3-4-1.
Jika rute ini merupakan sebuah rute yang benar maka
suku pertama dan kedua dari persamaan energi akan bernilai nol
(0). Suku ketiga dengan sendirinya akan bernilai nol (0).
Sehingga berapa jarak total yang ditempuh pada rute tersebut
dapat dihitung dengan suku ketiga dari persamaan energi yang
dituliskan kembali berikut ini.
93
Untuk data jarak antar kota seperti tabel x.2 dapat dibuat
matrik jarak sebagai berikut:
94
Sehingga dengan memasukkan nilai dan didapatkan
perhitungan sebagai berikut:
95
Tabel 2.4 Kombinasi rute 4 kota
96
kesatuan antara dua tipe algoritma diatas untuk dapat menutupi
kelemahan pada masing-masing algoritma.
Misalnya sebuah sistem yang dapat menebak umur
seseorang berdasarkan foto orang tersebut. Sistem tersebut
membutuhkan beberapa contoh, misalnya yang didapatkan
dengan mengambil foto seseorang dan menanyakan umurnya
(pembelajaran terarah). Akan tetapi, pada kenyataannya
beberapa orang sering kali berbohong tentang umur mereka
sehingga menimbulkan noise pada data. Oleh karena itu,
digunakan juga pemelajaran tak terarah agar dapat saling
menutupi kelemahan masing-masing, yaitu noise pada data dan
ketiadaan contoh masukan-keluaran.
D. Reinforcement Learning
Reinforment Learning adalah tipe yang mengajarkan
bagaimana cara bertindak untuk menghadapi suatu masalah,
yang suatu tindakan itu mempunyai dampak.
Reinforment Learning memiliki algoritma pembelajaran
yang diterapkan pada agen cerdas agar ia dapat menyesuaikan
dengan kondisi dilingkungannya, hal ini dicapai dengan cara
memaksimalkan nilai dari hadiah ‘reward’ yang dapat dicapai.
Suatu hadiah didefinisikan sebuah tanggapan balik ‘feedback’
dari tindakan agen bahwa sesuatu baik terjadi. Sebagai contoh
97
sangatlah sulit untuk memrogram sebuah agen untuk
menerbangkan sebuah helikopter, tetapi dengan memberikan
beberapa nilai negatif untuk menabrak, bergoyang-goyang, serta
melenceng dari jalur tujuan perlahan-lahan agen tersebut dapat
belajar menerbangkan helikopter dengan lebih baik.
Cara menggunakan algoritma ini adalah mesin dilatih
untuk membuat keputusan tertentu. Ia bekerja dengan cara ini,
mesin terkena lingkungan dimana ia melatih dirinya untuk terus
melakukan trial and error. Mesin ini belajar dari pengalaman
masa lalu dan mencoba untuk menangkap pengetahuan terbaik
untuk membuat keputusan bisnis yang akurat. Contoh
Reinforcement Learning: Markov Decision Process.
98
F. Transduction
Transduction adalah tipe yang hampir mirip dengan
Supervised Learning, tapi tidak secara jelas untuk membangun
suatu fungsi melainkan mencoba memprediksi output baru yang
berdasarkan dari input baru, masukan pelatihan input dan output
G. Learning to Learn
Learning to learn adalah tipe yang menggunakan
algoritma untuk mempelajari yang sebelumnya.
99
2. Multilayer perceptron
3. Radial-basis function networks
4. Higher-order networks
5. Polynomial learning networks
2. Feedback
Sedangkan feedback type merupakan type Artificial
Neural Network dimana neuron pada suatu layer bisa berkoneksi
dengan neuron pada layer lainnya dan juga dengan neuron pada
layer yang sama.
Yang termasuk dalam stuktur recurrent (feedback)
1. Competitive networks
2. Self-organizing maps
3. Hopfield networks
4. Adaptive-resonanse theory models
Algoritma matematis yang digunakan Neural Network untuk
melakukan proses belajar adalah sebagai berikut.
1. Backpropagation, merupakan suatu algoritma belajar
(learning algorithm) yang digunakan oleh Artificial
Neural Network pada metode supervised. Salah satu
bentuknya adalah delta learning rule.
2. Delta learning rule, merupakan algoritma belajar
(learning algorithm) yang digunakan oleh Artificial
100
Neural Network pada metode supervised, dimana
perubahan weight diperoleh dari hasil perkalian antara
input, error dan learning rate.
3. Forwardpropagation, merupakan algoritma dimana
output neuron hanya dipropagasi pada satu arah dari
input ke output.
4. Hebb learning rule, merupakan algoritma yang
digunakan dengan supervised learning, khususnya pada
perceptron, dimana perubahan weight diperoleh dari
perkalian input, output dan learning rate.
(1) Perceptron.
Pertama kali diperkenalkan oleh F. Rosenblatt pada
tahun 1958. Umumnya hanya digunakan untuk operasi logic
sederhana seperti AND atau OR, tidak untuk operasi logic yang
agak kompleks seperti XOR.
101
Gambar 2.21 Perceptron
Type : Feedforward.
Neuron layer : 1 input layer, 1 output layer.
Activation function : Hard limiter.
Learning methode : Supervised.
Learning algorithm : Hebb learning rule.
Penggunaan : Simple logical operations,
pattern classification.
102
nilai perkalian penimbang dan masukan dari parameter
permasalahn yang kemudian dibandingkan dengan nilai
treshold. Bila nilai keluaran lebih besar dari treshold maka
keluarannya adalah satu, sebaliknya adalah nol.
Dimana xi adalah sinyal masukan dan wji adalah penimbangnya.
Bila I>T maka keluaran O = 1 sebaliknya O = 0 dimana T adalah
treshold.
(2) Multi-layer-perception.
Diperkenalkan oleh M. Minsky dan S. Papert pada tahun
1969, merupakan pengembangan dari Perceptron dan
mempunyai satu atau lebih hidden layers yang terletak antara
input dan output layers. Multi-layer-perceptron dapat
digunakan untuk operasi logik termasuk yang kompleks seperti
XOR.
103
Type : Feedforward.
Neuron layers : 1 input layer, 1 atau lebih hidden layers
dan 1 output layer.
Activation function : Hard limiter/sigmoid.
Learning methode : Supervised.
Learning algorithm : Delta learning rule atau
backpropagation
Penggunaan : Complex logical operations,
patten classification.
104
Type : Feedforward.
Neuron layers : 1 input layer, 1 atau lebih hidden layers
dan 1 output layer.
Activation function : Sigmoid.
Learning methode : Supervised.
Learning algorithm : Backpropagation.
Penggunaannya : Complex logical operations,
patten classification, speech analysis.
Algoritma backpropagasi termasuk metode yang di desain untuk
operasi pada jaringan feed foward multi lapis. Metode ini telah
banyak digunakan secara luas, diantaranya diterapkan di bidang
finansial, pengenalan pola tulisan tangan, pengenalan pola suara
sistem kendali, pengolah citra medika, dan masih banyak lagi.
Secara garis besar cara kerja metode ini adlah jika jaringan
diberikan pola masukan maka pola tersebut menuju ke unit-unit
pada lapisan tersembunyi untuk diteruskan ke unit-unit lapisan
keluaran. Kemudian unit-unit lapisan keluaran memberikan
tanggapan yang disebut keluaran jaringan. Jika keluaran
jaringan tidak sama dengan keluaran yang diharapkan, maka
keluaran akan menyebar mundur pada lapisan tersembunyi lalu
ke unit pada lapisan masukan. Sehingga metode ini disebut
backpropagation.
105
(4) Hopfield Net.
Diperkenalkan oleh ahli fisika J.J. Hopfield tahun 1982
dan menjadi tipe Artificial Neural Network yang disebut
“thermodynamical models”. Terdiri dari sekumpulan neurons,
tidak ada perbedaan antara input dan output neurons.
106
Penggunaannya : Patten association,
optimization problems.
Metode dapat dinyatakan sebagai sebuah memori asosiatip
(associative memory). JST Hopfield merupakan salah satu
metode optimasi untuk pencarian nilai minimum dari kombinasi
fungsi obyektif.
107
Type : Feedforward/Feedback.
Neuron layers : 1 input layer, 1 map layer.
Activation function : Sigmoid.
Learning methode : Unsupervised.
Learning algorithm : Selforganization.
Penggunaanya : Patten association, optimization
problems, simulation.
108
BAB III
SINGLE LAYER PERCEPTRON
PERCEPTRON
DAFTAR ISI
109
3.1 Pergertian Perceptron
Perceptron adalah bagian dari metode Jaringan Syaraf
Tiruan training yang paling sederhana, menggunakan prosedur
algoritma training yang pertama kali. Terdiri dari neuron tunggal
dengan bobot synaptic yang diatur menggunakan fungsi aktifasi
hard limit.
Pada tahun 1943 Warren McCulloch dan Walter Pitts
memperkenalkan salah satu artificial neurons. Fitur utama dari
model neuron mereka adalah bahwa jumlah bobot sinyal input
dibandingkan dengan ambang batas untuk menentukan neuron
output. Ketika jumlah lebih besar dari atau sama dengan ambang
batas, output adalah 1. Ketika jumlah kurang dari ambang batas,
keluaran adalah 0. Mereka tetap meneruskan penelitian dengan
menunjukkan bahwa jaringan neuron ini pada prinsipnya bisa
menghitung setiap fungsi aritmetika atau logika. Tidak seperti
jaringan biologis, parameters jaringan mereka harus dirancang,
karena tidak ada metode pelatihan yang tersedia. Namun,
hubungan yang dirasakan antara biologi dan komputer digital
menghasilkan banyak minat
Pada akhir 1950-an, Frank Rosenblatt dan beberapa
peneliti lain mengembangkan suatu kelas jaringan saraf yang
disebut Perceptrons. Neuron dalam jaringan yang mirip dengan
McCulloch dan pitts. Kunci kontribusi Rosenblatt adalah
110
pengenalan aturan belajar untuk pelatihan jaringan perceptron
untuk memecahkan masalah pengenalan pola [Rose58]. Ia
membuktikan bahwa aturan belajarnya akan selalu bertemu
untuk bobot jaringan yang benar, jika bobot yang ada
memecahkan masalah. Pembelajarannya sederhana dan
otomatis. Contoh perilaku yang layak.
Model jaringan perceptron ditemukan Rosenblatt (1962)
dan Minsky-Papert (1969). Model tersebut merupakan model
yang memiliki aplikasi dan pelatihan yang paling baik pada era
tersebut.
diajukan ke jaringan yang belajar dari kesalahan.
Perceptron bahkan bisa belajar ketika diinisialisasi dengan nilai
acak untuk bobot dan bias.
Sayangnya, jaringan perceptron secara inheren terbatas.
Keterbatasan ini dipublikasikan secara luas dalam buku
Perceptrons oleh Marvin Minsky dan Seymour Papert. Mereka
menunjukkan bahwa jaringan perceptron tidak mampu
melaksanakan fungsi dasar tertentu. Hal ini tidak sampai tahun
1980-an, dimana keterbatasan ini diatasi dengan memperbaiki
jaringan perceptron (multilayer) dan aturan belajar yang saling
terkait/berhubungan.
Saat ini perceptron masih dipandang sebagai jaringan
penting. Menyisakan suatu jaringan yang cepat dan handal
111
untuk kelas masalah yang dapat dipecahkan. Selain daripada itu,
pemahaman tentang operasi dari perceptron menyediakan dasar
yang baik untuk memahami jaringan yang lebih kompleks.
112
pembelajaran penguatan tanpa pengawasan (atau dinilai)
(reinforcement learning). Ada 3 mekanisme penting proses
pembelajaran: 1. Hitung selisih keluaran (a) dari target (t) 2. Jika
besarnya selisih dapat ditolerir maka a diterima, tetapi jika
selisih tersebut tidak dapat ditolerir dan banyaknya iterasi belum
N kali maka rubahlah w dan b, lalu lakukan komputasi ulang. 3.
Nilai baru w dan b bergantung kepada nilai α. Segera setelah
jaringan mengalami pembelajaran, jaringan tersebut dapat
digunakan untuk menyelesaikan masalah yang sesuai dengan
konstruksi jaringan tersebut.
Aturan pembelajaran perceptron lebih handal jika
dibandingkan dengan aturan lain seperti Hebbrule, dengan
asumsi yang sesuai prosedur belajar iteratifnya dapat dibuktikan
dengan konvergennya ke bobot yang benar, yaitu bobot yang
memungkinakan jaringan menghasilkan nilai output yang benar
untuk setiap pola input pelatihan.
113
Dengan menggunakan fungsi transfer, bukan hardlim, tapi tidak
mempengaruhi kemampuan jaringan.
Arsitektur perceptron dapat belajar mengenali pola
dengan metode pembelajaran terbimbing/supervised. Perhatikan
gambar berikut ini
114
Gambar 3.2. Jaringan Perceptron
Dalam pengembangan aturan jaringan perceptron dapat dengan
mudah mereferensikan elemen-elemen individu dari output
jaringan. Yang pertama dilakukan dengan mempertimbangkan
matrik bobot jaringan sebagai berikut:
(3.1)
115
(3.2)
(3.3)
(3.4)
116
Gambar 3.3 Fungsi aktivasi hardlim
Perlu diingatkan bahwa fungsi transfer hardlim seperi gambar
atas dapat didefinisikan sebagai:
(3.5)
Oleh karena itu jika produk inner dari baris ke-i dari
matrik bobot dengan vektor input lebih besar dari atau sama
dengan –bi, output akan menjadi 1, sebaliknya output akan
menjadi 0. Jadi setiap neuron dalam jaringan membagi masukan
ruang menjadi dua daerah. Hal ini berguna untuk menyelidiki
batas-batas antara daerah ini. Kita akan mulai dengan kasus
sederhana dari single-neuron perceptron dengan dua input.
117
Single-Neuron Perceptron
Dapat mempertimbangkan dua input perceptron dengan satu
neuron, seperti yang ditunjukkan pada gambar dibawah ini:
(3.6)
(3.7)
118
Untuk membuat contoh yang lebih konret, kita menetapkan
nilai-nilai berikut untuk bobot dan bias seperti dibawah ini:
(3.8)
Batas keputusan adalah
((3.9)
(3.11)
(3.12)
120
orthogonal, seperti yang digambarkan dalam angka yang
berdekatan. Batas didefinisikan oleh
(3.13)
Untuk semua titik diperbatasan, produk inner dari vektor
input dengan bobot vektor adalah sama. Ini menunjukkan bahwa
semua vektor input ini akan memiliki proyeksi yang sama ke
vektor bobot, sehingga mereka harus terletak pada garis
orthogonal dengan bobot vektor. Sebagai tambahan, setiap
vektor di daerah bayangan seperti gambar diatas, akan memiliki
produk inner yang lebih besar dari -b, dan vektor di daerah yang
tidak terarsir memiliki produk inner yang lebih kecil dari -b.
Oleh karena itu vektor bobot 1w akan selalu menunjuk ke arah
dimana neuron output adalah 1.
Setelah memilih salah satu vektor bobot dengan orientasi
sudut yang benar, nilai bias dapat dihitung dengan memilih titik
pada batas dan memenuhi persamaan diatas (3.13).
Marilah kita menerapkan beberapa konsep ini untuk desain
sebuah jaringan perceptron untuk melaksanakan fungsi logika
sederhana: gerbang AND. Pasangan input/target untuk gerbang
AND adalah
(3.14)
121
Gambar 3.6 tampilan ruang input
Gambar diatas adalah menggambarkan masalah secara grafis. Ia
menampilkan ruang input, dengan masing-masing vector input
ditandai sesuai dengan targetnya. Lingkaran gelap
menunjukkan bahwa target adalah 1, dan lingkaran terang
menunjukkan bahwa target adalah 0.
Langkah pertama dari desain adalah untuk memilih batas
keputusan. Kita dapat memiliki garis yang memisahkan
lingkaran hitam dan lingkaran terang. Ada sejumlah solusi yang
tidak terbatas untuk masalah ini. Tampaknya masuk akal untuk
memilih garis yang jatuh “di tengah” antara dua kategori input,
seperti ditunjukkan pada gambar yang berdekatan. Selanjutnya
kami ingin memilih vector bobot yang orthogonal terhadap batas
keputusan. Vektor bobot tersebut dapat berupa sembarang
panjang, sehingga terdapat kemungkinan yang tak terhingga.
Satu pilihan adalah
122
(3.15)
(3.16)
(3.17)
Sekarang dapat menguji jaringan pada salah satu
pasangan input/target. Jika menerapkan p2 ke jaringan, output
akan yang sama dengan output target t2. Lakukan hal yang sama
untuk menguji semua input apakah sudah diklasifikasi dengan
benar. Untuk berekperimen dengan batasan keputusan, gunakan
disain jaringan Neural untuk memperagakan batas keputusan.
123
Cara perceptron memahami proses pembelajaran
Sebelum membahas ke aplikasi, perlu memahami
bagaimana perceptron dalam pembelajaran, berikut ilustrasi
seperti dibawah ini:
Keterangan.
p = Input jaringan
w = Bobot
b = bias
Untuk input jaringan akan diberikan pembobotan (w),
kemudian diproses oleh elemen dimana nilai input akan
dikalikan dengan nilai pembobotannya.
124
Perceptron ditraining dengan menggunakan sekumpulan
pola yang diberikan kepadanya secara berulang ulang selama
latihan. Setiap pola yang diberikan merupakan pasangan pola
masukan dan pola yang diinginkan sebagai target. Perceptron
melakukan penjumlahan terhadap tiap tiap masukannya dan
menggunakan fungsi ambang untuk menghitung keluarannya.
Kemudian keluaran dibandingkan dengan hasil yang diinginkan,
perbedaan yang dihasilkan dari perbandingan ini digunakan
untuk merubah bobot bobot dalam jaringan. Demikian dilakukan
berulang ulang sampai dihasilkan keluaran yang sesuai dengan
hasil yang diinginkan.
Keterpisahan Linier
Berbagai penelitian dilakukan untuk mengetahui
kemampuan perceptron dalam klasifikasi pola. meskipun
perceptron mampu menyelesaikan banyak masalah klasifikasi
pola tetapi kadang kadang konvergensi terjadi dalam waktu yang
sangat lama, kelemahan ini terjadi karena keterbatasan
perceptron yang tidak mengijinkan adanya lapisan hiden layer
diantara lapisan input dan outputnya.
Sehingga didalam pengklasifikasian pola hal ini
menyebabkan perceptron hanya mampu memisahkan pola yang
terpisah secara linier.
125
Konsep keterpisahan linier menyatakan bahwa pola
dikatakan terpisah secara linier jika pola tersebut dapat
dipisahkan oleh sebuah garis lurus.
Langkah pertama.
Inisialisasi Awal dengan mengatur bobot w1, w2, ..., wn interval
[-0.5–0.5], mengatur bias/threshold b, mengatur kec
pembelajaran ŋ, fungsi aktivasi
126
Langkah kedua
Menghitung keluaran dengan mengaktifkan perceptron dengan
memakai masukan p1(k), p2(k), ..., pi(k) dan target yang
dikehendaki t(k). Hitunglah output aktual pada iterasi ke-k = 1
Langkah ke tiga
Menghitung error e(k) = t(k) – a(k) → t(k) = target a (t) =
keluaran perceptron
Langkah ke empat
Mengatur Bobot dengan mengupdate bobot perceptron
wi(k+1) = wi(k) + Δwi(k)
w(k+1) --> bobot baru w(k)--> bobot yg lalu
Δwi(p) adalah pengkoreksian bobot pada iterasi k, yang
dihitung dengan:
Δwi(p) = ŋ x pi(k) x e(k)
Langkah ke lima
Pengulangan dengan menaikkan iterasi k dengan 1 (k=k+1),
kembalilah ke langkah ke dua dan ulangi proses sampai
keluaran=target or mendekati target.
127
Berikut contoh kasus algoritma perceptron dengan logika AND.
Contoh soal.
Data dibawah ini menggunakan data logika AND sebagai
berikut.
x1 x2 Target
0 0 0
0 1 0
1 0 0
1 1 1
128
w1_baru = w1_lama + (learning_rate * error * x1)
= 0 + (1* (-1) * 0)
=0
w2_baru = w2_lama + (learning_rate * error * x2)
= 0 + (1 * (-1) * 0)
=0
bias_baru = bias_lama + (learning_rate*error)
= 0 +(1*(-1)) = -1
Maka didapat bobot baru w = {0,0}, b = -1 → dilanjutkan
untuk data yang ke dua
Data ke dua x = {0,1}, w = {0,0}, b = -1, target = 0
y_in = (x1*w1) + (x2 * w2) + b
= (0 * 0) + (1 * 0) + (-1)
= -1
y = sign (-1) = 0
Karena y = target, tidak perlu dilakukan perbaikan bobot dan
lanjutkan untuk data yang ke tiga
Data ke tiga x = {1,0}, w = {0,0}, b = -1 target = 0
y_in = (x1 * w1) + (x2 * w2) + b
= (1 * 0) + (0 * 0) + (-1)
= -1
y = sign (-1) = 0
129
Karena y = Target, tidak perlu dilakukan perbaikan bobot dan
lanjutkan untuk data yang ke empat
Data ke empat x = {1,1} w = {0,0}, b = -1 target = 1
y_in = (x1 * w1) + (x2 * w2) + b
= (1 * 0) + (1 * 0) + (-1)
= -1
y = sign (-1) = 0
Karena y = target, → hitung error dan update bobot
error = Target - y
=1–0
=1
w1_baru = w1_lama + (learning_rate * error * x1)
= 0 + (1 * (1) * 1)
=1
w2_baru = w2_lama +(learning_rate * error * x2)
= 0 + (1 * (1) * 1)
=1
bias_baru = bias_lama + (learning_rate * error)
= -1 + (1 * 1)
=0
Maka didapat bobot baru w = {1,1}, b = 0 dan lanjutkan untuk
data selanjutnya
130
karena di epoh pertama masih ada yang error, maka perhitungan
di lanjutkan ke epoh berikutnya
Epoh ke dua
Data ke satu dengan x = {0,0}, w = {1,1}, b = 0, target = 0
y_in = (x1 * w1) + (x2 * w2) + b
= (0*1) + (0 * 1) + 0
=0
y = sign (0) = 1
karena y = target, maka hitung error dan update bobot
error = target - y
=0-1
= -1
w1_baru = w1_lama + (learning_rate * error * x1)
= 1 + (1 * (-1) * 0)
=1
w2_baru = w2_lama + (learning_rate * error * x2)
= 1+ (1 * (-1) * 0)
=1
bias_baru = bias_lama + (learning_rate * error)
= 0 + (1 * (-1))
= -1
Didapat bobot baru w = {1,1}, b = -1 dan lanjutkan untuk data
yang ke dua
131
Data ke dua dengan x = {0,1}, w = {1,1}, b= -1, target = 0
y_in = (x1 * w1) + (x2 * w2) + b
= (0 * 1) + (1 * 1) + (-1)
=0
y = sign (0) = 1
karena y ≠ target, maka hitung error dan update bobot
error = target - y
=0-1
= -1
w1_baru = w1_lama +(learning_rate * error * x1)
= 1 + (1 * (-1) * 0)
=1
w2_baru = w2_lama + (learning_rate * error * x2)
= 1+ (1 * (-1) * 1)
=0
bias_baru = bias_lama + (learning_rate * error)
= -1 +(1* (-1))
= -2
Didapat bobot baru w = {1,0}, b = -2 dan lanjutkan untuk data
yang ke tiga
Data ke tiga dengan x = {1,0}, w = {1,0}, b = -2, target = 0
y_in = (x1 * w1) + (x2 * w2) + b
= (1 * 1) + (0 * 0) + (-2)
132
= -1
y = sign (-1) = 0
y = target, maka tidak perlu dilakukan perbaikan bobot dan
lanjutkan untuk data yang ke empat
Data ke empat dengan x = {1,1}, w = {1,0}, b = -2, target = 1
y_in = (x1 * w1) + (x2 * w2) + b
= (1 * 1) + (1 * 0) + (-2)
= -1
y = sign (-1) = 0
y = target, maka hitung error dan update bobot
error = target - y
=1-0
=1
w1_baru = w1_lama + (learning_rate * error * x1)
= 1 + (1 * 1 * 1)
=2
w2_baru = w2_lama + (learning_rate * error * x2)
= 0 + (1 * 1 * 1)
=1
bias_baru = bias_lama + (learning_rate * error)
= -2 + (1 * 1)
= -1
133
Didapat bobot baru w = {2,1}, b = -1. Karena di epoh ke dua
masih ada error, maka di lanjut ke epoh berikutnya.
Epoh ke tiga
Data ke satu dengan x = {0,0}, w = {2,1}, b = -1, target = 0
y_in = (x1 * w1) + (x2 * w2) + b
= (0 * 2) + (0 * 1) + (-1)
= -1
y = sign (-1) = 0
karena y = target, maka tidak perlu dilakukan perbaikan bobot
dan lanjutkan untuk data yang ke dua
Data ke dua dengan x = {0,1}, w = {2,1}, b = -1, target = 0
y_in = (x1 * w1) + (x2 * w2) + b
= (0 * 2) + (1 * 1) + (-1)
=0
y = sign (0) = 1
karena y = target, maka hitung error dan update bobot
error = target - y
=0-1
= -1
w1_baru = w1_lama + (learning_rate * error * x1)
= 2 + (1 * (-1) * 0)
=2
w2_baru = w2_lama + (learning_rate * error * x2)
134
= 1+ (1 * (-1) * 1)
=0
bias_baru = bias_lama + (learning_rate * error)
= -1 + (1 * (-1))
= -2
Didapat bobot baru w = {2,0}, b = -2 dan lanjutkan untuk data
yang ke tiga
Data ke tiga dengan x = {1,0}, w = {2,0}, b = -2, target = 0
y_in = (x1 * w1) + (x2 * w2) + b
= (1*2) + (0 * 0) + (-2)
=0
y = sign (0) = 1
Karena y = target, maka hitung error dan update bobot
error = target - y
=0-1
= -1
w1_baru = w1_lama +(learning_rate * error * x1)
= 2 + (1 * (-1) * 1)
=1
w2_baru = w2_lama + (learning_rate * error * x2)
= 0 + (1 * (-1) * 0)
=0
bias_baru = bias_lama + (learning_rate * error)
135
= -2 + (1 * (-1))
= -3
Didapat bobot baru w = {1,0}, b = -3 dan lanjutkan untuk data
yang ke empat
Data ke empat dengan x = {1,1}, w = {1,0}, b = -3, target = 1
y_in = (x1 * w1) + (x2 * w2) + b
= (1 * 1) + (1 * 0) + (-3)
= -2
y = sign (-2) = 0
karena y = target, maka hitung error dan update bobot
error = target - y
=1-0
=1
w1_baru = w1_lama + (learning_rate * error * x1)
= 1 + (1 * 1 * 1)
=2
w2_baru = w2_lama +(learning_rate * error * x2)
= 0 + (1 * 1 * 1)
=1
bias_baru = bias_lama + (learning_rate * error)
= -3 + (1 * 1)
= -2
136
Didapat bobot baru w = {2,1}, b = -2. Karena di epoh ke dua
masih ada error, maka di lanjut ke epoh selanjutnya.
Epoh ke empat
Data ke satu dengan x = {0,0}, w = {2,1}, b = -2, target = 0
y_in = (x1 * w1) + (x2 * w2) + b
= (0 * 2) + (0 * 1) + (-2)
= -2
y = sign (-2) = 0
karena y = target, maka tidak perlu dilakukan perbaikan bobot
dan lanjutkan untuk data yang ke dua
Data ke dua dengan x = {0,1}, w = {2,1}, b = -2, target = 0
y_in = (x1 * w1) + (x2 * w2) + b
= (0 * 2) + (1 * 1) + (-2)
= -1
y = sign (-1) = 0
karena y = target, maka tidak perlu dilakukan perbaikan bobot
dan lanjutkan untuk data yang ke tiga
Data ke tiga dengan x = {1,0}, w = {2,1}, b = -2, target = 0
y_in = (x1 * w1) + (x2 * w2) + b
= (1 * 2) + (0 * 1) + (-2)
=0
y = sign (0) = 1
karena y ≠ target, maka hitung error dan update bobot
137
error = target - y
=0-1
= -1
w1_baru = w1_lama + (learning_rate * error * x1)
= 2 + (1 * (-1) * 1)
=1
w2_baru = w2_lama + (learning_rate * error * x2)
= 1+ (1 * (-1) * 0)
=1
bias_baru = bias_lama + (learning_rate * error)
= -2 + (1 * (-1))
= -3
Didapat bobot baru w = {1,1}, b = -3 dan lanjutkan untuk data
yang ke empat
Data ke empat dengan x = {1,1}, w = {1,1}, b = -3, target = 1
y_in = (x1 * w1) + (x2 * w2) + b
= (1 * 1) + (1 * 1) + (-3)
= -1
y = sign (-1) = 0
karena y ≠ target, maka hitung error dan update bobot
error = target - y
=1-0
=1
138
w1_baru = w1_lama + (learning_rate * error * x1)
= 1 + (1 * 1 * 1)
=2
w2_baru = w2_lama + (learning_rate * error * x2)
= 1+ (1 * 1 * 1)
=2
bias_baru = bias_lama + (learning_rate * error)
= -3 + (1 * 1)
= -2
139
3.5 Latihan soal perceptron logika AND dengan matlabs
Berikut ini merupakan algoritma pengenalan pola
sederhana dengan algoritma Jaringan Syaraf Tiruan untuk
mengenali pola logika AND.menggunakan matlab
Tabel kebenaran Logika AND
x1 x2 Kelas (y)
0 0 0
0 1 0
1 0 0
1 1 1
3. Melatih jaringan
>> net.trainParam.epochs = 5;
>> net = train(net,input,target);
140
Catatan coding dimatlabs diawali dengan >> dan diakhiri titik
koma
Berikut Proses pelatihan
141
Gambar 3.10 Performance jaringan logika AND
>>output = sim(net,input)
142
Gambar 3.11 Output jaringan logika AND
143
Contoh perceptron dengan logika OR matlabs
Berikut ini merupakan algoritma pengenalan pola
sederhana dengan algoritma Jaringan Syaraf Tiruan untuk
mengenali pola logika OR menggunakan matlab
Tabel kebenaran Logika OR
x1 x2 Kelas (y)
0 0 0
0 1 1
1 0 1
1 1 1
Tabel 3.3 Soal Logika OR in Matlab
Berikut source code dan penjelasannya
1. Mempersiapkan input dan target misalkan x = input, t = target
>> x = [0 0 1 1; 0 1 0 1];
>> t = [0 1 1 1];
3. Melatih jaringan
>> net.trainParam.epochs = 5;
>> net = train(net,x,t);
144
Catatan coding dimatlabs diawali dengan >> dan diakhiri titik
koma
Berikut Proses pelatihan
145
Gambar 3.13 Performance jaringan logika OR
146
Gambar 3.14 Output jaringan logika OR
147
Desain Implementasi Program
Implementasi menggunakan GUI yang didesain pada
MATLAB. Berikut ini adalah tampilan dari Perancangan GUI
yang dibuat.
148
Struktur GUI dan Tag
• Textfield bobot W1:
o String = kosong, Tag = w1atas
• Textfield bobot W2:
o String = kosong, Tag = w2atas
• Textfield bobot W0:
o String = kosong, Tag = w0atas
• Button inisialisasi bobot:
o String = random, tag = random
• Textfiel Rho (alpha - learning rate):
o String = kosong, tag = rho
• Button Training:
o String = Training, tag = training
• Tabel Iterasi:
o Tag = tabel, isi dari kolom tabel = Iterasi,
Missclassifikasi, W1, W2 dan W0
• Textfield bobot akhir W1:
o String = kosong, Tag = w1bawah, Enable = off
• Textfield bobot akhir W2:
o String = kosong, Tag = w2bawah, Enable = off
• Textfield bobot akhir W0:
o String = kosong, Tag = w0bawah, Enable = off
149
• Textfield testing nilai X:
o String = kosong, Tag = x
• Textfield testing nilai Y:
o String = kosong, Tag = y
• Button Test:
o String = Test, Tag = test
• Textfield klasifikasi kelas
o String = kosong, Tag = class, Enable = off
• Axes:
o Tag = axes1
Alur Program
Program Perceptron dimulai dengan masukan input
bobot awal. Terdapat dua cara untuk memberikan input bobot
awal yaitu pertama dengan manual dengan mengetikkan
bobotnya pada masing-masing kolom w1, w2 dan w0. Atau
dengan cara kedua yaitu dengan mengklik button random untuk
input bobot random.
Tahap selanjutnya adalah melakukan training pada inisialisasi
bobot sebelumnya. Kita inputkan nilai Rho (nilai alpha -
learning rate) pada textfield. Kemudian klik button Training
untuk memulai pembelajaran pada algoritma perceptron. Hasil
dari training akan ditampilkan berupa tabel.
150
Kemudian selanjutnya bobot akhir yang didaptkan sari
hasil pembelajaran dan iterasi diletakkan pada textfiel w1, w2
dan w0 yang baru.
Tahap selanjutnya kita melakukan testing pada data nilai
x dan y. Pada program perceptron sederhana yang kita
imlementasikan kita batasi untuk testing data x dan y pada 0,0;
0,1; 1,0; 1,1. Kita input testing datanya dan kemudian kita klik
button Test. Sehingga testing kalsifikasi ditampilkan pada
textfield class dan grafik axes.
Code Program
Tahapan selanjutnya kita sisipkan code program untuk
inputan nilai bobot random. Klik kanan button Random
kemudian view calback. Kemudian sisipkan code berikut untuk
inputan random.
>> w = [rand() rand() rand()];
>> set(handles.w1atas,'String',rand());
>> set(handles.w2atas,'String',rand());
>> set(handles.w0atas,'String',rand());
151
callback dari button Training. Kita sisipkan code berikut.
>> set(handles.tabel,'data',[]);
>> data = get(handles.tabel,'data');
>> x = [ 0 0 1 ; 0 1 1 ; 1 0 1 ; 1 1 1 ]; %buat dataset
[x,y,bias]
>> k = [1; -1; -1; -1];
>> ro = str2num(get(handles.rho,'String'));
>> w(1) = str2num(get(handles.w1atas,'String'));
>> w(2) = str2num(get(handles.w2atas,'String'));
>> w(3) = str2num(get(handles.w0atas,'String'));
>> t = 0; %iterasi
>> miss=4; %missclassifikasi
ro = str2num(get(handles.rho,'String'));.
152
menemukan klasifikasi. Masih dalam callback button Training,
sisipkan code berikut.
while(miss>0)
miss=0;
t=t+1; %iterasi
data{t,1}=t;
disp(t);
temp = zeros(3,1);
for i=1:4
if (((x(i,:)*w')*k(i))<=0)
miss = miss+1;
temp = temp + ro*(-
k(i))*x(i,:)';
end
end
data{t,2}=miss;
w = w - temp';
disp(w);
data{t,3}=w(1);
data{t,4}=w(2);
data{t,5}=w(3);
end
153
Selanjutnya kita tampilkan data hasil training pada
textfield bobot baru. Sisipkan code berikut dibawahnya (masih
dalam callback button training).
set(handles.tabel,'data',data);
set(handles.w1bawah,'String',w(1));
set(handles.w2bawah,'String',w(2));
set(handles.w0bawah,'String',w(3));
w0=str2double(get(handles.w0bawah,'String'));
w1=str2double(get(handles.w1bawah,'String'));
w2=str2double(get(handles.w2bawah,'String'));
154
a1 = -w0/w1;
b1 = -w0/w2;
b1 = -a1/b1;
x = linspace(-2,2,20);
y = a1 + b1*x;
plot(x,y);
hold on
plot(0,0,'-.rs');
plot(0,1,'-.rs');
plot(1,0,'-.rs');
plot(1,1,'-.rs');
hold off
xlabel('x');
ylabel('y');
axis([-1 2 -1 2]);
grid on;
legend('g(x) / hyperplane');
155
Testing Running Program
Untuk testing pertama, kita klik button random. Didapatkan
nilai w1 = 0,9133, w2 = 0.6323 dan w0 = 0.0975. Nilai
learning rate yang digunakan adalah 0.2. didapatkan iterasi
kurang lebih 10 iterasi (dapat discroll pada tabel). Kemudian
untuk nilai bobot baru w1 = -0.2866, w2 = -0.1676 dan w0 =
0.09754
156
Kita coba dengan testing kedua dengan data bobot yang sama
pada testing pertama. namun kita ubah nilai learning ratenya
menjadi lebih kecil yaitu 0.06. didaptkan bobot baru menjadi w1
= -0.046, w2 = -0.087 dan w0 = 0.037.
157
Gambar 3.18 Testing program perceptron ketiga
Demikian untuk testing programnya. Dari contoh diatas
didapatkan iterasi yang berbeda dengan bobot yang berbeda dan
juga dengan learning rate yang berbeda. bobot sama dengan
learning rate berbeda akan memberikan jumlah iterasi yang
berbeda yaitu semakin sedikit ataupun semakin banyak.
Sekian implementasi dari program perceptron dengan
MATLAB, semoga posting kali ini membantu masalah sobat
dalam penerapan algoritma Perceptron dalam pemrograman.
158
Klasifikasi data yang dapat dipisahkan secara linier dengan
perceptron
159
Gambar 3.19 Hasil input and output data
160
Gambar 3.20 Tampilan training perceptron
Menentukan Plot decision boundary
figure(1)
plotpv(x,y);
plotpc(net.IW{1},net.b{1});
161
Gambar 3.21 Hasil Plot decision boundary
Klassifikasi 4 kelas dengan perceptron
Deskripsi masalah adalah jaringan Perceptron dengan 2
masukan (input) dan 2 keluaran (output) sebagai terlatih untuk
vector input klassifikasi kedalam 4 kategori.
Langkah langkah untuk menyelesaikan permasalahan.
1. Menetapkan data
2. Menyiapkan inputs dan outputs untuk training
perceptron
3. Membuat perceptron
162
4. Melatih perceptron
5. Bagaimana menggunakan perceptron yang terlatih
1. Menetapkan data
close all, clear all, clc, format compact
% jumlah contoh pada setiap kelas
K = 30;
% menentukan kelas
q = .6; % offset pada kelas
A = [rand(1,K)-q; rand(1,K)+q];
B = [rand(1,K)+q; rand(1,K)+q];
C = [rand(1,K)+q; rand(1,K)-q];
D = [rand(1,K)-q; rand(1,K)-q];
% plot kelas
plot(A(1,:),A(2,:),'bs')
hold on
grid on
plot(B(1,:),B(2,:),'r+')
plot(C(1,:),C(2,:),'go')
plot(D(1,:),D(2,:),'m*')
% label teks untuk kelas
text(.5-q,.5+2*q,'Class A')
text(.5+q,.5+2*q,'Class B')
text(.5+q,.5-2*q,'Class C')
text(.5-q,.5-2*q,'Class D')
% menentukan code output untuk kelas
a = [0 1]';
b = [1 1]';
c = [1 0]';
d = [0 0]';
% % bagaimana code ini tidak bekerja
% a = [0 0]';
% b = [1 1]';
% d = [0 1]';
163
Gambar 3.22 Hasil menetapkan data
164
3. Membuat perceptron
net = perceptron;
165
Gambar 3.23 Hasil train perceptron
166
% untuk contoh, klasifikasi vector input [0.7;
1.2]
p = [0.7; 1.2]
y = net(p)
% membandingkan respon dengan code output
(a,b,c,d)
167
sehingga kelas-kelas serupa dikelompokkan bersama. Setiap iris
dijelaskan oleh empat fitur:
• Sepal length in cm
• Sepal width in cm
• Petal length in cm
• Petal width in cm
Contoh ini masalah pengelompokan, di mana ingin
mengelompokkan sampel ke dalam kelas berdasarkan kesamaan
antara sampel. Dan membuat jaringan saraf yang tidak hanya
menciptakan definisi kelas untuk input yang diketahui, tetapi
juga mengklasifikasikan input yang tidak diketahui.
Self organizing map (SOMs) sangat bagus dalam
membuat klasifikasi. Selanjutnya, klasifikasi mempertahankan
informasi topologi tentang kelas mana yang paling mirip dengan
yang lain. Peta yang dapat diatur sendiri dan dibuat dengan
tingkat detail sesuai dengan yang diinginkan. Ini sangat cocok
untuk mengelompokkan data dalam banyak dimensi dan dengan
ruang fitur yang berbentuk kompleks dan terhubung, sangat
cocok untuk mengelompokkan bunga iris.
Empat atribut bunga akan bertindak sebagai input ke SOM, yang
akan memetakannya ke lapisan neuron 2 dimensi.
168
Mempersiapkan Data
Data untuk masalah pengelompokan diatur untuk SOM dengan
mengatur data ke dalam matriks input X. Setiap kolom ke-i dari
matriks input akan memiliki empat elemen yang mewakili empat
pengukuran yang diambil pada bunga tunggal.
Ini contoh membuka dataset
x = iris_dataset;
kita dapat menampilkan ukuran dari masukan x.
Catatan: bahwa x memiliki 150 kolom. Ini representasi 150 set
attribute bunga iris. Terdiri dari empat baris, untuk empat
ukuran.
size(x)
ans =
4 150
169
banyak neuron, dan lebih banyak dimensi memungkinkan untuk
memodelkan topologi ruang fitur yang lebih kompleks.
Ukuran input adalah 0 karena jaringan belum dikonfigurasi
untuk mencocokkan data input, ini akan terjadi ketika jaringan
dilatih.
net = selforgmap([8 8]);
view(net)
170
[net,tr] = train(net,x);
nntraintool
y = net(x);
cluster_index = vec2ind(y);
plotsomtop(net)
172
Gambar 3.27 SOM Topology
plotsomhits(net,x)
173
Gambar 3.28 Tmapilan Hasil hits
plotsomnc(net)
174
Gambar 3.29 Hasil SOM Neighbor Connections
Plotsomnd adalah menunjukkan seberapa jauh (dalam hal jarak
Euclidian) setiap kelas neuron dari tetangganya. Koneksi yang
cerah menunjukkan area yang sangat terhubung pada ruang
input. Sementara koneksi gelap menunjukkan kelas yang
mewakili wilayah ruang fitur yang berjauhan, dengan sedikit
atau tanpa bunga di antaranya.
Batas panjang koneksi gelap yang memisahkan daerah besar
ruang input menunjukkan bahwa kelas di kedua sisi perbatasan
mewakili bunga dengan fitur yang sangat berbeda.
plotsomnd(net)
175
Gambar 3.30 SOM Topology
Plotsomplanes adalah menunjukkan bidang bobot untuk masing-
masing dari empat fitur input. Mereka adalah visualisasi dari
bobot yang menghubungkan setiap input ke masing-masing 64
neuron dalam kisi heksagonal 8x8. Warna yang lebih gelap
mewakili bobot yang lebih besar. Jika dua input memiliki bidang
bobot yang sama (gradien warnanya mungkin sama atau
terbalik) itu menunjukkan mereka sangat berkorelasi.
plotsomplanes(net)
176
Gambar 3.31 Tampilan Weights
177
BAB IV
MULTI LAYER PERCEPTRON
BACKPROPAGATION FEEDFORWARD
DAFTAR ISI
178
4.1 Pengertian Multilayer Perceptron
MultiLayer Perceptron adalah jaringan syaraf tiruan
feed-forward yang terdiri dari sejumlah neuron yang
dihubungkan oleh bobot-bobot penghubung.
Neuron-neuron tersebut disusun dalam lapisan-lapisan
yang terdiri dari satu lapisan input (input layer), satu atau lebih
lapisan tersembunyi (hidden layer), dan satu lapisan output
(output layer). Lapisan input menerima sinyal dari luar,
kemudian melewatkannya ke lapisan tersembunyi pertama, yang
akan diteruskan sehingga akhirnya mencapai lapisan output
[Riedmiller, 1994].
Diperkenalkan oleh M. Minsky dan S. Papert pada tahun
1969, merupakan pengembangan dari Perceptron dan
mempunyai satu atau lebih hidden layers yangterletak antara
input dan output layers. Multi-layer-perceptron dapat digunakan
untukoperasi logik termasuk yang kompleks seperti XOR.
179
Gambar 4.1 Arsitektur Multilayer Perceptron
(4.1)
181
adalah nilai bias dari unit i. Untuk membuat representasi
menjadi lebih mudah, seringkali bias digantikan dengan suatu
bobot yang terhubung dengan unit bernilai 1. Dengan demikian
bias dapat diperlakukan secara sama dengan bobot koneksi.
(4.2)
(4.3)
(4.4)
182
(4.5)
183
✓ Penentuan topologi adalah penentuan banyaknya
hidden layer dan penentuan jumlah neuron pada
input layer, hidden layer dan output layer.
4. Simulasi jaringan
✓ Simulasi jaringan dilakukan untuk melihat
keluaran jaringan berdasarkan masukan, bobot
neuron dan fungsi aktivasinya.
5. Pelatihan/training jaringan
✓ Sebelum melakukan pelatihan, dilakukan
penentuan parameter training terlebih dahulu,
seperti penentuan jumlah iterasi, learning rate,
error yang diijinkan. Setelah itu dilakukan
pelatihan yang merupakan proses iteratif untuk
menentukan bobot koneksi antar neuron.
6. Menggunakan jaringan untuk pengenalan pola
✓ Setelah pelatihan dilakukan, jaringan siap untuk
digunakan untuk pengenalan pola. Kemampuan
jaringan dalam mengenal pola sangat bergantung
dari bagaimana jaringan tersebut dilatih.
Gradient Descent
Gradient descent (ascent) adalah algoritma optimasi orde
pertama. Untuk menemukan minimum lokal dari fungsi
184
menggunakan gradien descent, diambil langkah sebanding
dengan negatif dari gradien (atau perkiraan gradien) dari fungsi
pada titik sekarang.
Jika diambil langkah sebanding dengan gradien positif,
maka akan didapatkan maksimum lokal fungsi tersebut;
prosedur ini kemudian dikenal sebagai gradient ascent.
Gradient descent juga dikenal sebagai steepest descent,
sedangkan gradient ascent dikenal dengan steepest ascent.
Algoritma (maksimisasi)
Mulai dari titik awal v0
Bergerak dari v0 ke v1 dengan arah ∇f(v0):
v1 = v0 + t0 ∇f(v0)
dengan t0 adalah solusi dari masalah optimisasi berikut:
max f (v0 + t0 ∇f(v0))
s.t t0 ≥ 0
Langkah – langkah tersebut diulangi sampai didapat nilai vi dan
vi+1 yang cukup dekat
Mulai dari titik awal v0
Bergerak dari v0 ke v1 dengan arah ∇f(v0):
v1 = v0 - t0 ∇f(v0)
dengan t0 adalah solusi dari masalah optimisasi berikut:
min f (v0 - t0 ∇f(v0)) s.t t0 ≥ 0
185
Langkah – langkah tersebut diulangi sampai didapat nilai vi dan
vi+1 yang cukup dekat
Contoh Soal
Gunakan metode steepest ascent untuk aproksimasi solusi dari
Max𝑧 = −𝑥(x1−3)2 – (𝑥2−2)2
s.t (𝑥1, x2) ∈𝑅2
Dengan titik awal v0 = (1,1) Jawab:
∇f (x1, x2) = (– 2(x1 – 3), – 2(x2 – 2))
∇f(v0) = ∇f(1,1) = (4,2)
Pilih t0 yang memaksimumkan
f (v0 + t0 ∇f(v0)) → max f [(1,1) + t0(4,2)]
→ max f [1+4 t0, 1+2 t0]
Max𝑧 = −(1 + 4𝑡0 – 3)2 – (1+2𝑡0−2)2
186
Max𝑧 = −1+4𝑡0−3*−1+2𝑡0−2*
Max𝑧 = −2+4𝑡0*−−1+2𝑡0*
f ‘(t0) = 0 → - 2(-2 + 4t0) 4 -2(-1 + 2t0) 2 = 0
➔ 20 – 40 t0 = 0
➔ t0 = 0.5
v1 = [(1,1) + 0.5(4,2)] = (3,2)
Karena ∇f (3, 2) = (0,0) maka iterasi dihentikan
Karena f (x1, x2) adalah fungsi konkaf, maka (3,2) adalah solusi
yang dicari
Kesimpulan
1. Bila data training cukup banyak dan konsisten, akurasi
jaringan akan tinggi, sebaliknya bila data training tidak
memadai, akurasi jaringan rendah.
2. Selain data training, akurasi jaringan juga ditentukan
oleh pemilihan topologi yang tepat.
3. Proses pembentukan jaringan sangat melelahkan,
dilakukan secara terus menerus hingga diperoleh
jaringan yang paling baik. Tetapi setelah jaringan yang
optimal ditemukan, proses pengenalan pola dapat
dilakukan secara cepat, lebih cepat bila dibandingkan
metoda lainnya.
187
Metode Multilayer Perceptron merupakan salah satu metode
dari Jaringan Syaraf Tirual (JST) sangat cocok untuk
menyelesaikan masalah yang tidak linear dan non deterministik.
Contoh aplikasinya antara lain:
1. Untuk speech recognition
2. Untuk image recognition
3. Untuk software mesin translasi
188
Gambar 4.3 Penggunaan Single Layer Neural Network
189
Pada Gambar 4.1 menunjukkan bahwa dengan
karakteristik Single Layer Neural Network yang hanya mampu
mendeteksi dua daerah saja membuat kasus ini sulit untuk dapat
diselesaikan. Multilayer Perceptron Neural Network adalah
jenis neural network yang memiliki kemamuan untuk
mendeteksi atau melakukan analisa untuk permasalahan yang
sifatnya cukup atau bahkan sangat kompleks, seperti pada
masalah Pemrosesan Bahasa, Pengenalan suatu Pola serta
Pemrosesan suatu Image atau gambar. Adapun Proses yang
terjadi Pada Multilayer Perceptron Neural Network, adalah
sebagai berikut :
190
Masukan
Proses ini merupakan bagian dari sistem kerja secara
keseluruhan, karena proses masukan digunakan untuk
menunjang pada proses pembelajaran serta proses pengujian.
Pada proses ini, masukan diklasifikasikan berdasarkan
keinginan dari pembuat, dimana bentuk masukan dapat berupa
nilai logic atau bilangan biner ( 1 atau 0 ), atau juga bisa berupa
nilai angka atau bilangan real (120.3 atau 100) bahkan dapat
melakukan proses dengan menggunakan bilangan negatif.
Proses Pembelajaran
Pada bagian ini merupakan sisi kelebihan dari metoda
Neural network, dimana setiap permasalahan yang akan
dihadapi dapat dipecahkan dengan melalui tahapan
pembelajaran, seperti halnya otak manusia yang secara sifat
biologis, memiliki kemampuan untuk mempelajari hal-hal yang
baru. Memang pada dasarnya, neural network ini dibuat untuk
dapat mempelajari sesuatu hal yang baru sehingga mampu
melakukan penganalisaan tanpa menggunakan suatu rumusan
yang baku.
Proses pembelajaran ini sangat mempengaruhi
sensitifitas kemampuan dalam melakukan penganalisaan,
semakin banyak bahan atau masukan sebagai pembelajaran
191
maka akan semakin mudah dan sensitif dalam melakukan
analisa. Biasanya untuk membahas hal-hal yang cukup
kompleks, Multilayer Perceptron Neural network memiliki
hidden neuron yang digunakan untuk mengimbangi setiap
permasalahan yang akan dihadapi, umumnya untuk melakukan
penganalisaan pada hal-hal yang rumit, rancangan neural
network yang dibuat minimal memiliki tiga layer seperti pada
gambar dibawah ini, namun hal ini tergantung pada tingkat
kompleksitas yang dihadapi.
Keluaran/ph
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 :
1. Variabel masukan ( informasi yang diberikan ) kurang
menunjang
2. Kurangnya layer pada rancangan keseluruhan
3. Jumlah neuron yang terlalu sedikit
Namun tidak menutup kemungkinan karena ketidaksesuaian
penerapan saat proses pembelajaran dilakukan juga dapat
mempengaruhi proses pembelajaran. Hal lainnya yang dapat
mempengaruhi proses pencapaian target adalah pemilihan
metoda Back Propagation, yang akan dijelaskan pada sub bab
berikut.
193
BackPropagation Multilayer Perceptron Neural Network
Back Propagation adalah istilah dalam penggunaan
metoda MLP Neural Network untuk melakukan proses update
pada nilai vektor weight dan bias. Adapun bentuk metoda weight
ini memiliki beberapa macam, antara lain adalah sebagai
berikut.
1. Gradient Descent Back Propagation (GD)
2. Gradient Descent Back Propagation dengan Momentum
(GDM)
3. Variable Learning Rate Back Propagation dengan
Momentum (GDX)
4. Conjugate Gradient Back Propagation (CGP)
Wk+1 = Wk – α . gk (4.1)
194
Dimana α, merupakan Learning rate serta g, merupakan gradient
yang berhubungan dengan nilai error yang diakibatkan oleh
weight tersebut.
195
Dalam penggunaan metoda ini para peniliti biasanya
menggunakan cara memperbesar nilai dari Variabel Learning
Rate saat hasil yang dicapai jauh dari target, dan sebaliknya saat
hasil yang dicapai dekat dengan nilai target. Secara perhitungan
metoda ini memang tidak begitu jauh dari metoda yang telah
dijelaskan sebelumnya, namun perbedaannya adalah seperti
dibawah ini.
196
dan Δgk-1 = gk - gk-1 (4.3)
4.3 Backpropagation
Dalam backpropagation adalah salah satu metode untuk
menyempurnakan dalam system jaringan syaraf tiruan. Penemu
back propagation adalah Bryson dan Ho (1969) dilanjutkan Paul
Werbos (1974), David E. Rumelhart, Geoffrey E. Hinton,
Richard J. Williams (1986).
Konsep dasar back propagation terdiri dari:
197
Arsitektur : Multilayer Perceptron.
Metode Pembelajaran : Supervised (Terawasi)
Fungsi Aktivasi : Sigmoid, Transig, Purelin
Secara umum pelatihan sebuah jaringan backpropagation
memiliki 3 langkah:
1. Pelatihan pola input secara feedforward
2. Perhitungan dan Propagasi Balik dari kumpulah
kesalahan (error/galat)
3. Penyesuaian bobot
198
Dalam jaringan syaraf tiruan memiliki kelemahan yang
terdiri dari layar tunggal membuat perkembangan JST menjadi
terhenti pada sekitar tahun 1970 an. Penemuan backpropagation
yang terdiri dari beberapa layar membuka kembali wawasan.
Terlebih setelah berhasil ditemukannya berbagai aplikasi yang
dapat diselesaikan dengan backpropagation, sehingga Jaringan
Syaraf Tiruan semakin berkembang dan diminati banyak orang.
Jaringan Syaraf Tiruan dengan layar tunggal memiliki
keterbatasan dalam pengenalan pola. Kelemahan ini bisa
ditanggulangi dengan menambahkan satu atau beberapa layar
tersembunyi diantara layar masukan dan keluaran.
Meskipun penggunaan lebih dari satu layar tersembunyi
memiliki kelebihan manfaat untuk beberapa kasus, tapi
pelatihannya memerlukan waktu yang lama. Jadi umumnya
orang mulai mencoba dengan sebuah layar tersernbunyi lebih
dahulu. Seperti halnya model jaringan syaraf tiruan lainnya,
Backpropagation melatih jaringan untuk mendapatkan
keseimbangan antara kemampuan jaringan untuk mengenali
pola yang digunakan selama pelatihan serta kemampuan
jaringan untuk memberikan respon yang benar terhadap pola
rnasukan yang serupa (tapi tidak sama) dengan pola yang
dipakai selama pelatihan.
199
4.4 Arsitektur Backpropagation
Backpropagation memiliki beberapa unit yang ada dalam
satu atau lebih layar tersembunyi. Garnbar dibawah ini adalah
arsitektou backpropagation dengan n buah masukan (ditambah
sebuah bias), sebuah layar tersembunyi yang terdiri dari p unit
(ditambah sebuah bias), serta m sebuah unit keluaran. vji
merupakan bobot garis dari unit masukan xi ke unit layar
tersembuyi (vj0 merupakan bobot garis yang
menghubungkankan bias di unit masukan ke unit layar
tersembuyi zj). w5 merupakan bobot dari unit layar tersembuyi
zi ke unit keluaran yk (wko merupakan bobot dari bias di layar
tersembunyi ke unit keluaran zk.)
200
4.5 Fungsi Aktivasi Backpropagation
Dalam backpropagation adalah fungsi aktivasi yang
dipakai harus memilikivbeberapa syarat yaitu: kontinu,
terdiferensial dengan mudah dan merupakan fungsi yang tidak
turun. salah satu fungsi yang memenuhi ketiga syarat tersebut,
sehingga sering dipakai adalah fungsi sigmoid biner yang
memiliki range (0, 1).
(4.5)
201
(4.6)
203
Fase II: Propagasi mundur
Berdasarkan kesalahan tk – yk, dihitung factor 𝛿 k (k = 1,2, ..., m)
yang dipakai untuk mendistribusikan kesalahan diunit yk ke
semua unit tersembuyi yang terhubung langsung dengan yk. 𝛿 k
juga dipakai untuk mengubah bobot garis yang berhubungan
langsung dengan unit keluaran.
Dengan cara yang sama, dihitung factor 𝛿 j di setiap unit
layer tersembuyi sebagai dasar perubahan bobot semua garis
yang berasal dari unit tersembunyi di layer dibawahnya.
Demikian seterusnya hingga semua faktor 𝛿 diunit tersembruryi
yang berhubungan langsung dengan unit masukan dihitung.
204
jumlah maksimum iterasi yang ditetapkan, atau jika kesalahan
yang terjadi sudah lebih kecil dari batas toleransi yang diijinkan.
(4.7)
(4.8)
205
(4.9)
(4.10)
(4.11)
(4.12)
206
(4.13)
(4.14)
(4.15)
(4.16)
Perbaiki bobot dan bias
207
(4.17)
(4.18)
Langkah 9: Uji syarat berhenti
Contoh 4.1
Gunakan Backpropagation dengan sebuah layer tersembunyi
(dengan 3 unit) untuk mengenali fungsi logika XOR dengan 2
masukan x1 dan x2. Buatlah iterasi untuk menghitung bobot
jaringan untuk pola pertama (x1 = 1, x2 = 1 dan t = 0). Gunakan
laju pemahaman α = 0,2
208
Penyelesaian
Arsitektur Backpropagation dengan 1layer tersembunyi yang
terdiri dari 3 unit untuk mengenali fungsi XOR tampak pada
garnbar dibawah ini.
Mula-mula bobot diberi nilai acak yang kecil (range [-1, 1])
Misalkan didapat bobot seperti tabel dibawah ini. (bobot dari
layer masukan ke layer tersembunyi = vji) dan tabel berikutnya
(bobot dari layer masukan ke layer tersembunyi = wkj).
Z1 Z2 Z3
X1 0.2 0.3 -0.1
X2 0.3 0.1 -0.1
1 -0.3 0.3 0.3
210
Karena jaringan hanya memiliki sebuah unit keluaran y maka
y_netk
211
Langkah 7: Hitung penjumlahan kesalahan dari unit
tersembunyi (= 𝛿 )
Keluaran maka
212
Z1 Z2 Z3
X1 ∆𝑣11 = (0.2) (- ∆𝑣21 = (0.2) ∆𝑣31 = (0.2)
0.01) (1)=0 (0.01) (1)=0 (0.01) (1)=0
X2 ∆𝑣12 = (0.2) (- ∆𝑣22 = (0.2) ∆𝑣32 = (0.2)
0.01) (1)=0 (0.01) (1)=0 (0.01) (1)=0
1 ∆𝑣10 = (0.2) (- ∆𝑣20 = (0.2) ∆𝑣30 = (0.2)
0.01) (1)=0 (0.01) (1)=0 (0.01) (1)=0
Z1 Z2 Z3
X1 V11 (baru) = 0.2 V21 (baru) = 0.3 V31 (baru) = -0.1
+ 0 = 0.2 + 0 = 0.3 + 0 = -0.1
X2 V12 (baru) = 0.3 V22 (baru) = 0.1 V32 (baru) = -0.1
+ 0 = 0.3 + 0 = 0.1 + 0 = -0.1
1 V10 (baru) = -0.3 V20 (baru) = 0.3 V30 (baru) = 0.3
+ 0 = -0.3 + 0 = 0.3 + 0 = 0.3
213
Kita dapat mencoba membuat iterasi untuk pola kedua (x1 = l, x2
= 0, t = 1)
214
Nguyen dan Widrow (1990) mengusulkan cara membuat
inisialisasi bobot dan bias ke unit tersembunyi sehingga
menghasilkan iterasi lebih cepat
Misalnya
n = Jumlah unit masukan
p = Jumlah unit tersembunyi
𝛽 = Faktor skala 0.7 𝑛√𝑝
Algoritrna inisialisasi Nguyen Widrow adalah sebagai berikut:
a. Inisialisasi semua bobot (vji (lama)) dengan bilangan
acak dalam interval [-0.5, 0.5]
b. Hitung =
Contoh 4.2
Buatlah bobot awal ke unit tersembunyi contoh 4.1
menggunakan modifikasi bobot Ngruyen Widrow
215
Penyelesaian
Dalam contoh 4.1, n = junlah unit masukan = 2 dan p = jumlah
unit tersembunyi = 3. Bobot lama (vji lama) yang didapat
secara acak tampak dalam tabel dibawah ini.
Z1 Z2 Z3
X1 0.2 0.3 -0.1
X2 0.3 0.1 -0.1
1 -0.3 0.3 0.3
Z1 Z2 Z3
X1 (1.21*0.2)/0.36 = (1.21*0.3)/0.32 = (1.21*(-
0.67 1.13 0.1))/0.14
=0.86
X2 (1.21*0.3)/0.36 = (1.21*0.1)/0.32 = (1.21*(-
1 0.38 0.1))/0.14
=0.86
216
4.9 Jumlah Unit Tersembunyi
Hasil teoritis yang didapat menunjukkan bahwa iaringan
dengan sebuah layar tersembunyi sudah cukup bagi
Backpropagation untuk mengenali sembarang perkawanan
antara masukan dan target dengan tingkat ketelitian yang
ditentukan. Akan tetapi penambahan jumlah layar tersembunyi
kadangkala membuat pelatihan lebih mudah. Tidak ada aturan
yang pasti untuk mengetahui seberapa banyak lapisan
tersembunyi yang sebenarnya diperlukan. Ada 2 ide yang bisa
dipakai. Pertama adalah dengan menerapkan jaringan yang besar
kemudian memangkas yang tidak perlu, atau sebaliknya,
bergerak dari jaringan yang kecil kemudian bergerak melakukan
penambahan yang dipandang perlu.
1. Dari jaringan besar ke kecil
Arsitektur jaringan dibangun berdasarkan data,
membentuk jaringan yang besar dan kemudian
memangkas node-node dan koneksi-koneksi sampai
menjadi jaringan terkecil yang bisa melakukan aplikasi.
2. Dari jaringan kecil ke besar
Dimulai dari pembangunan sebuah jaringan kecil
kemudian secara bertahap dilakukan penambahan node-
node tersembunyi
217
Jika jaringan memiliki lebih dari satu layar tersembunyi, maka
algoritrna pelatihan yang dijabarkan sebelumnya perlu direvisi.
Dalam propagasi maju, keluaran harus dihitung untuk tiap layar,
dimulai dari layar tersembunyi paling bawah (terdekat dengan
masukan). Sebaliknya, dalam propagasi mundur, faktor perlu
dihitung untuk tiap layar tersembunyi, dimulai dari layar
keluaran
219
Pertama mari kita inisialisasi semua variabel kita, termasuk
input, output yang diinginkan, bias, koefisien pembelajaran,
iterasi dan bobot acak.
220
untuk pembelajaran, sebagai fungsi aktivasi sigmoid ini terus
dapat dibedakan.
Dapat atur jaringan untuk memiliki 5 neuron total (dapat diubah
ubah, yaitu dapat mengubah jumlah simpul tersembunyi,
mengubah laju pembelajaran, mengubah algoritma
pembelajaran, mengubah fungsi aktivasi sesuai kebutuhan.
Bahkan kotak peralatan jaringan saraf tiruan di Matlab
memungkinkan Anda untuk memodifikasi semua ini juga.)
Ini adalah bagaimana jaringan akan terlihat, dengan nomor
subskrip digunakan sebagai pengindeksan dalam kode Matlab
juga.
221
Padahal sebelum kita menyatakan aturan delta sebagai delta =
(diinginkan keluar) - (output jaringan), kita akan menggunakan
modifikasi, yang dijelaskan dengan baik oleh generasi5.
Perbanyakan kembali dengan aturan delta akan memungkinkan
kita untuk memodifikasi bobot pada setiap node dalam jaringan
berdasarkan kesalahan pada level saat ini n dan pada level n +1.
Sekarang untuk kode dengan backpropagation dalam matlab.
for i = 1:iterations
out = zeros(4,1);
numIn = length (input(:,1));
for j = 1:numIn
% Hidden layer → sebagai layer tersembunyi
H1 = bias(1,1)*weights(1,1)
+ input(j,1)*weights(1,2)
+ input(j,2)*weights(1,3);
223
Cobalah anda jalankan setiap langkah secara sendiri, dan ada
beberapa tutorial online yang bagus, termasuk situs web
generation5.
Adapun hasil akhirnya?
Berikut bobotnya adalah:
weights =
-9.8050 -6.0907 -7.0623
-2.4839 -5.3249 -6.9537
5.7278 12.1571 -12.8941
224
Pemecahan XOR dengan masalah multilayer perceptron
225
close all, clear all, clc, format compact
% number of samples of each class
K = 100;
% define 4 clusters of input data
q = .6; % offset of classes
A = [rand(1,K)-q; rand(1,K)+q];
B = [rand(1,K)+q; rand(1,K)+q];
C = [rand(1,K)+q; rand(1,K)-q];
D = [rand(1,K)-q; rand(1,K)-q];
% plot clusters
figure(1)
plot(A(1,:),A(2,:),'k+')
hold on
grid on
plot(B(1,:),B(2,:),'bd')
plot(C(1,:),C(2,:),'k+')
plot(D(1,:),D(2,:),'bd')
% text labels for clusters
text(.5-q,.5+2*q,'Class A')
text(.5+q,.5+2*q,'Class B')
text(.5+q,.5-2*q,'Class A')
text(.5-q,.5-2*q,'Class B')
226
Gambar 4.14 Hasil menentukan 4 clusters pada input data
227
% define inputs (combine samples from all
four classes)
P = [A B C D];
% define targets
T = [repmat(a,1,length(A))
repmat(b,1,length(B)) ...
repmat(c,1,length(C))
repmat(d,1,length(D)) ];
% view inputs |outputs
%[P' T']
228
Gambar 4.16 Tampilan untuk plots untuk melatih hasil
229
Gambar 4.17 Tampilan hasil terbaik
230
Gambar 4.19 Tampilan hasil training Regression
231
5. Target plot dan respon network untuk melihat bagaimana
yang terbaik pembelajaran jaringan data
figure(2)
plot(T','linewidth',2)
hold on
plot(Y','r--')
grid on
legend('Targets','Network
response','location','best')
ylim([-1.25 1.25])
232
6. Hasil klasifikasi Plot untuk ruang input yang lengkap
% generate a grid
span = -1:.005:2;
[P1,P2] = meshgrid(span,span);
pp = [P1(:) P2(:)]';
% simulate neural network on a grid
aa = net(pp);
% translate output into [-1,1]
%aa = -1 + 2*(aa>0);
% plot classification regions
figure(1)
mesh(P1,P2,reshape(aa,length(span),length(span
))-5);
colormap cool
view(2)
233
Klasifikasi masalah 4-class dengan Multilayer perceptron
234
close all, clear all, clc, format compact
% jumlah contoh setiap kelas
K = 100;
% menentukan 4 clusters pada input data
q = .6; % offset pada kelas
A = [rand(1,K)-q; rand(1,K)+q];
B = [rand(1,K)+q; rand(1,K)+q];
C = [rand(1,K)+q; rand(1,K)-q];
D = [rand(1,K)-q; rand(1,K)-q];
% plot clusters
figure(1)
plot(A(1,:),A(2,:),'k+')
hold on
grid on
plot(B(1,:),B(2,:),'b*')
plot(C(1,:),C(2,:),'kx')
plot(D(1,:),D(2,:),'bd')
% label teks untuk cluster
text(.5-q,.5+2*q,'Class A')
text(.5+q,.5+2*q,'Class B')
text(.5+q,.5-2*q,'Class C')
text(.5-q,.5-2*q,'Class D')
235
Gambar 4.23 Hasil menentukan 4 clusters pada input data
2. Menentukan output coding untuk semua 4 clusters
% koding (+1/-1) dari 4 kelas terpisah
a = [-1 -1 -1 +1]';
b = [-1 -1 +1 -1]';
d = [-1 +1 -1 -1]';
c = [+1 -1 -1 -1]';
237
Gambar 4.25 Tampilan Training Neural network
238
Gambar 4.27 Tampilan Error = Target - output
239
5. Meng-Evaluasi network performance dan plot results
% evaluasi performance: decoding network response
[m,i] = max(T); % target kelas
[m,j] = max(Y); % prediksi kelas
N = length(Y); % jumlah semua contoh
k = 0; % Jumlah contoh missclassified
if find(i-j), % if there exist missclassified samples
k = length(find(i-j)); % get a number of
missclassified samples
end
fprintf('Correct classified samples: %.1f%% samples\n',
100*(N-k)/N)
% plot network output
figure;
subplot(211)
plot(T')
title('Targets')
ylim([-2 2])
grid on
subplot(212)
plot(Y')
title('Network response')
xlabel('# sample')
ylim([-2 2])
grid on
240
Gambar 4.29 Tampilan Evaluate network performance
and plot results
6. Hasil klasifikasi Plot untuk ruang input yang lengkap
241
% generate a grid
span = -1:.01:2;
[P1,P2] = meshgrid(span,span);
pp = [P1(:) P2(:)]';
% simulasi neural network on a grid
aa = net(pp);
% plot classification regions based on MAX
activation
figure(1)
m =
mesh(P1,P2,reshape(aa(1,:),length(span),length(span)
)-5);
set(m,'facecolor',[1 0.2 .7],'linestyle','none');
hold on
m =
mesh(P1,P2,reshape(aa(2,:),length(span),length(span)
)-5);
set(m,'facecolor',[1 1.0 0.5],'linestyle','none');
m =
mesh(P1,P2,reshape(aa(3,:),length(span),length(span)
)-5);
set(m,'facecolor',[.4 1.0 0.9],'linestyle','none');
m =
mesh(P1,P2,reshape(aa(4,:),length(span),length(span)
)-5);
set(m,'facecolor',[.3 .4 0.5],'linestyle','none');
view(2)
242
Gambar 4.30 Tampilan Plot classification result
243
DAFTAR PUSTAKA
244
Algorithms”, Int. Journal of Computer Standards and
Interfaces (16).
http://www.generation5.org/content/2002/bp.asp
https://uk.mathworks.com/help/deeplearning/ug/multilayer-
neural-network-architecture.html
http://lab.fs.uni-lj.si/lasin/wp/IMIT_files/neural/NN-
examples.pdf
http://web.if.unila.ac.id/purmanailuswp/2015/09/13/pengertian-
artificial-intelligence-kecerdasan-buatan/
http://www.firman-its.com/2007/05/17/algoritma-genetika-dan-
contoh-aplikasinya/
http://www.stmikpontianak.ac.id/admin/upload/jaringan_syaraf
_tiruan.pdf
http://yuni-w-p-fst09.web.unair.ac.id/
http://lecturer.eepis-ts.edu/~entin/Kecerdasan%20Buatan
/Buku/Bab%208%20Jaringan%20Syaraf%20Tiruan.pdf
https://en.wikipedia.org/wiki/Machine_learning
245
http://www.csee.umbc.edu/~ypeng/F11NN/NN.html
http://en.wikipedia.org
246