PEMBELAJARAN MESIN STMIK AMIKOM PURWOKERTO

Slides:



Advertisements
Presentasi serupa
(Jaringan Syaraf Tiruan) ANN (Artificial Neural Network)
Advertisements

JARINGAN SYARAF TIRUAN
Yanu Perwira Adi Putra Bagus Prabandaru
Perceptron.
JaRINGAN SARAF TIRUAN (Neural Network)
Ir. Endang Sri Rahayu, M.Kom.
Out Come Setelah mengikuti pertemuan ini mahasiswa diharapkan dapat mngerti dan menjelaskan: struktur jaringan biologi dan JST, pemakaian matematika untuk.
Aplikasi Model Jaringan Syaraf Tiruan dengan Radial Basis Function untuk Mendeteksi Kelainan Otak (Stroke Infark) Yohanes Tanjung S.
Jaringan Syaraf Tiruan (JST)
JST BACK PROPAGATION.
Jaringan Syaraf Tiruan
Jaringan Syaraf Tiruan (JST)
Create By: Ismuhar dwi putra
PENGENALAN JARINGAN SYARAF TIRUAN (JST)
Jaringan Syaraf Tiruan
Konsep dasar Algoritma Contoh Problem
MULTILAYER PERCEPTRON
JARINGAN SARAF TIRUAN LANJUTAN
MODEL JARINGAN PERCEPTRON
PENGANTAR JARINGAN SYARAF TIRUAN (JST)
Jaringan Syaraf Tiruan (JST) stiki. ac
Pertemuan 10 Neural Network
JST BACK PROPAGATION.
Jarringan Syaraf Tiruan
Pertemuan 3 JARINGAN PERCEPTRON
SISTEM CERDAS Jaringan Syaraf Tiruan
Week 2 Hebbian & Perceptron (Eka Rahayu S., M. Kom.)
Artificial Intelligence Oleh Melania SM
BACK PROPAGATION.
Pengenalan Jaringan Syaraf Tiruan
JARINGAN SYARAF TIRUAN (ARTIFICIAL NEURAL NETWORK)
Pertemuan 12 ARTIFICIAL NEURAL NETWORKS (ANN) - JARINGAN SYARAF TIRUAN - Betha Nurina Sari, M.Kom.
Perceptron Algoritma Pelatihan Perceptron:
Pelatihan BACK PROPAGATION
JST (Jaringan Syaraf Tiruan)
Week 3 BackPropagation (Eka Rahayu S., M. Kom.)
Fungsi Aktivasi JST.
Jaringan Syaraf Tiruan
JST PERCEPTRON.
Ir. Endang Sri Rahayu, M.Kom.
JARINGAN SYARAF TIRUAN SISTEM BERBASIS PENGETAHUAN
Aplikasi Kecerdasan Komputasional
Anatomi Neuron Biologi
Jaringan Syaraf Tiruan Artificial Neural Networks (ANN)
Jaringan Syaraf Tiruan
Jaringan Syaraf Tiruan (Artificial Neural Networks)
Jaringan Syaraf Tiruan (JST)
Jaringan Syaraf Tiruan (Artificial Neural Networks)
MLP Feed-Forward Back Propagation Neural Net
Artificial Intelligence (AI)
Jaringan Syaraf Tiruan Artificial Neural Networks (ANN)
Struktur Jaringan Syaraf Tiruan
Jawaban Tidak harus bernilai = 1. tergantung kesepakatan
Jaringan Syaraf Tiruan: Ikhtisar Singkat
Jaringan Syaraf Tiruan
Artificial Neural Network
Neural Network.
JARINGAN SYARAF TIRUAN
Pelatihan BACK PROPAGATION
Pertemuan 12 ARTIFICIAL NEURAL NETWORKS (ANN) - JARINGAN SYARAF TIRUAN - Betha Nurina Sari, M.Kom.
Jaringan Syaraf Tiruan
JARINGAN SYARAF TIRUAN
Pengenalan Pola secara Neural (PPNeur)
JARINGAN SYARAF TIRUAN
Single-Layer Perceptron
JARINGAN SYARAF TIRUAN
Jaringan Syaraf Tiruan
Arsitektur jaringan Hebb Jaringan syaraf tiruan
Teori Bahasa Otomata (1)
This presentation uses a free template provided by FPPT.com Pengenalan Pola Sinyal Suara Manusia Menggunakan Metode.
Transcript presentasi:

PEMBELAJARAN MESIN STMIK AMIKOM PURWOKERTO NEURAL NETWORKS PEMBELAJARAN MESIN STMIK AMIKOM PURWOKERTO

Mengapa Neural Networks Perlu Dipelajari? Banyak algoritma yang telah tersedia dengan teknik arsitektur yang beragam dan canggih Adanya komputer digital yang berkecepatan tinggi sehingga mempermudah simulasi Aplikasinya yang sangat luas

Bidang-bidang Aplikasi Neural Network: Aeroscape Simulasi komponen pesawat, sistem kendali pesawat, perbaikan autopilot, simulasi jalur penerbangan, dll Otomotif Sistem kendali otomatis mobil Keuangan dan perbankan Deteksi uang palsu, identifikasi pola data pasar saham, evaluasi aplikasi kredit

Bidang-bidang Aplikasi Neural Network: Pertahanan (militer) Pengendalian senjata, deteksi bom, penelusuran target, pengendali sensor dan radar, pengolahan sinyal citra, dll Keamanan Mengenali benda atau wajah oknum Medis Deteksi kanker Pengenalan Pola Pengenalan tulisan, klasifikasi suara, dll

Bidang-bidang Aplikasi Neural Network: Elektronik Pembuatan perangkat keras, pengontrol gerakan robot, sintesis suara dll Matematika Membuat pemodelan variable yang tidak diketahui dll

NEURAL NETWORKS dibentuk sebagai generalisasi model matematika dari jaringan syaraf biologi manusia, dengan asumsi bahwa: Pemrosesan informasi terjadi pada banyak elemen sederhana (neuron) Sinyal dikirimkan di antara neuron-neuron melalui penghubung-penghubung Penghubung antara neuron memiliki bobot yang akan memperkuat atau memperlemah sinyal Untuk menentukan output, setiap neuron menggunakan fungsi aktivasi yang dikenakan pada jumlahan input yang diterima

Susunan Syaraf Manusia Gambaran sebuah neuron (satuan unit pemroses terkecil pada otak): Dendrit : menerima informasi Soma (badan sel): mengolah informasi Akson (neurit) : mengirimkan impuls ke syaraf lainnya

Analogi Jaringan Syaraf Tiruan dengan Jaringan Syaraf Biologis Jaringan Syaraaf Tiruan Jaringan Syaraf Biologis Node Badan sel (soma) Input Dendrit Output Akson Bobot Myelin

Neural Network /JST ditentukan oleh 3 hal berikut ini: Pola hubungan antar neuron (disebut arsitektur jaringan) Metode untuk menentukan bobot penghubung (disebut metode training / learning jaringan / algoritma Fungsi aktivasi

Istilah-istilah dalam JST Neuron: sel saraf tiruan yang merupakan elemen pengolahan JST untuk menerima dan memroses input Jaringan: kumpulan neuron yang saling terhubung dan membentuk lapisan Input: Berhubungan dengan atribut dari pola atau data dari luar. Sinyal input kemudian diteruskan ke lapisan selanjutnya Output: Solusi atau hasil pemahaman jaringan terhadap data input Lapisan tersembunyi (hidden layer): lapisan yang secara tak langsung berinteraksi dengan data dari luar

Istilah-istilah dalam JST Bobot: nilai matematis dari koneksi untuk mentransfer data antar lapisan. Bobot digunakan untuk mengatur jaringan sehingga menghasilkan output yang diinginkan Summation Function: Fungsi yang digunakan untuk mencari rata-rata bobot dari semua elemen input

Model Dasar JST Struktur Neuron pada JST:

Arsitektur Jaringan Syaraf Tiruan Jaringan dengan lapisan tunggal (single layer): Hanya memiliki satu lapisan dengan bobot-bobot terhubung. Jaringan ini hanya menerima input kemudian secara langsung akan mengolahnya menjadi output melalui lapisan tersembunyi

Lapisan input memiliki 3 neuron yaitu X1, X2, X3 Lapisan output memiliki 2 neuron yaitu Y1 dan Y2. Neuron pada kedua lapisan saling berhubungan. Seberapa besar hubungan antara 2 neuron ditentukan oleh bobot yang bersesuaian

Arsitektur Jaringan Syaraf Tiruan b. Jaringan dengan banyak lapisan (multilayer): Hanya memiliki satu atau lebih lapisan yang terletak di antara lapisan input dan lapisan output. Umumnya terdapat lapisan bobot-bobot yang terletak antara 2 lapisan yang bersebelahan. Multilayer dapat menyelesaikan permasalahan yang lebih sulit namun dengan proses learning yang lebih rumit

Inisialisasi Bobot Prosedur yang umum untuk menginisialisasi bobot dan bias adalah dengan membuat nilai acak dengan range -0,5 sd 0,5 atau -1 sd 1 atau interval lain yang sesuai. Nilai bobot mungkin saja positif atau negatif karena nilai akhirnya setelah pelatihan dapat berubah tanda

Fungsi Aktivasi Dipakai untuk menentukan keluaran suatu neuron Merupakan fungsi yang menggambarkan hubungan antara tingkat aktivasi internal (summation function) yang mungkin berbentuk linerar atau non linear

- Fungsi penjumlahan terbobot Neuron akan menghitung net-input ynet sebagai hasil penjumlahan terbobot input inputnya. ynet = w11 x1 + w21 x2 + w31 x3 +... + wn1 x1 Hasil dot-product vektor X dan vektor W - Fungsi aktivasi Besarnya output (atau aktivasi) sebuah neuron dihitung berdasarkan fungsi aktivasi F( . ) y = F(ynet ) lts05

Contoh Fungsi fungsi aktivasi dalam perhitungan output y. 1, bila ynet > q F(.) adalah fungsi ambang y = 0, bila ynet < q q adalah nilai ambang Bila nilai ambang diperlakukan sebagai bobot (disebut bobot prasikap, maka model neuronnya menjadi S F(.) x1 x2 x3 xn w11 w21 w31 wn1 y q -1

Fungsi Aktivasi Fungsi undak biner (hard limit) Fungsi undak biner (threshold) 

Fungsi Aktivasi Fungsi bipolar Fungsi bipolar dengan threshold

Fungsi Aktivasi Fungsi Linier (identitas) Fungsi Sigmoid biner

Himpunan data pelatihan KLASIFIKASI PEMBELAJARAN 1. Belajar Terbimbing (supervised) NN input output t|2 X|2 2 t|K X|K K t|1 X|1 1 vektor target vektor input k Himpunan data pelatihan 1 epoch 1 eksemplar - X|k y|k t|k error error digunakan untuk menyesuai- kan bobot jaringan (berdasarkan suatu algoritma belajar). Data pelatihan di- berikan per-eksem- plar, diulang ulang per-epoch, sampai dicapai har- ga error mendekati nol untuk seluruh vektor pelatihan.

Himpunan Data Pelatihan 2. Belajar Tak-terbimbing (Unsupervised) NN X|1 1 X|2 2 X|K K vektor input k Himpunan Data Pelatihan X|k Y|k Vektor input pelatihan diberikan per- eksemplar, diulang ulang per-epoch, sampai jaringan menghasilkan harga output yang konsisten (tidak berubah- ubah lagi) untuk setiap input pelatihan. Dalam proses belajar, jaringan akan mengenali ciri ciri atau kesamaan ciri diantara vektor vektor input yang di- berikan, dan akan memberikan output yang sama untuk vektor vektor input yang memiliki kesamaan/kemiripan ciri.

3. Belajar Reinforcement Belajar reinforcement pada umumnya digunakan untuk melatih NN secara online dalam aplikasinya sebagai pengendali sebuah plant. Kelas belajar ini merupakan kombinasi kelas belajar terbimbing dan tak-terbimbing. Target tidak dinyatakan secara eksplisit, penyesuaian bobot dilakukan berdasarkan hasil penilaian kinerja obyek yang dikendalikan X NN Y plant misal : suhu plant misal : pengendali putaran kipas NN dilatih mengenali dinamika plant penilai kinerja plant Pertanyaan : Bagaimana data pelatihannya ? misal: suhu terlalu tinggi, rendah, cukup, ...

McCulloch Pitts Fungsi aktivasi biner Besar bobotnya sama Memiliki threshold yang sama Contoh buat fungsi logika “and”, input X1 dan X2, dan Y = 1 jika dan hanya jika inputan 1 X1 X2 Y 1 1 1 1 0 0 0 1 0 0 0 0

Contoh Sederhana

Jawab X1 X2 net Y, 1 jika net >=2, 0 jika net < 2 1 1 1.1+1.1=2 1 1 0 1.1+0.1=1 0 0 1 0.1+1.1=1 0Z 0 0 0.1+0.1=0 0 Ternyata BERHASIL mengenali pola X1 X2 Y 2 1

Contoh Program

Problem “OR” X1 X2 net Y, 1 jika net >=1, 0 jika net < 1 1 1 1.1+1.1=2 1 1 0 1.1+0.1=1 1 0 1 0.1+1.1=1 1 0 0 0.1+0.1=0 0 Ternyata BERHASIL mengenali pola X1 X2 Y 1

Contoh Simple Network

Contoh Program

Soal Latihan Buatlah JST untuk logika NOT & Programnya dalam bahasa C Tabel Kebenaran Gerbang NOT

Perceptron dan Klasifikasi pola

Perceptron dasar : Jaringan lapisan tunggal (lapisan input tidak dihitung), dengan N buah neuron input (vektor N-elemen) dan satu neuron output. Nilai elemen input (output) sebuah neuron : Biner [0, 1] atau Bipolar [-1, 1] Fungsi aktivasi neuron input : fungsi linear (tidak mengubah harga input dari luar) Fungsi aktivasi neuron output : fungsi ambang (step) x0 x1 x2 x3 contoh untuk N = 4 y w1 w2 w3 w4 Vektor input : X|i = { , , , , 1 } Vektor bobot : W = { , , , , wq } w0 xq = 1 wq Net input : å = n i x w net + xq.wq bias

Fungsi Aktivasi Undak Biner (Hard Limit)

1 , bila ynet > 0 Output : y = 0 , bila ynet < 0 Keterbatasan : Aturan belajar Perceptron akan konvergen (mencapai 1 set harga bobot yang akan membuat jaringan dapat melakukan klasifikasi dengan benar) bila “ Data input pelatihannya dapat dipisahkan secara linear (linearly separable)” Dengan satu neuron output , Perceptron sederhana hanya dapat melakukan klasifikasi dikotomis (dua kelas) untuk input- input yang dilatihkan. Contoh output dikotomis : “Benar” atau “Salah”, “Panas” atau “Dingin”, “Merah” atau “Bukan Merah” dikodekan secara biner ( 0,1 ) atau bipolar ( -1, 1 )

Linearly Separable (LS) Data yang linearly separable : terdapat garis atau bidang atau bidang banyak (hyperplane) linear yang dapat memisahkan data ter- sebut kedalam dua kelas (kelompok). x1 x2 + - Linearly Separable (LS) Data Set x1 x2 y w1 w2 1 Contoh 1 : Perceptron ini dilatih untuk melakukan klasifikasi berda- sarkan logika (AND) 3 2 target input k topologi Himpunan data pelatihan wq xq

X|0 = {0, 0} X|1 = {0, 1} = kelas “0” x2 X|2 = {1, 0} {1, 1} vektor vektor dua elemen (terletak dalam ruang 2-dimensi) Dalam proses belajar, NN akan mencari harga harga bobot yang dapat meng- klasifikasikan vektor vektor input ke- dalam kelas yang benar . Bobot tersebut dinamakan bobot- konvergen (bobot akhir pelatihan). lakhir adalah garis pemisah yang ter- bentuk oleh bobot akhir pelatihan. x2 x1 {1, 1} {0, 0} {0, 1} lakhir

Contoh klasifikasi dikotomis berdasarkan logika OR output input y x2 x1 1 -1 representasi biner representasi bipolar Himpunan pola pelatihan untuk klasifikasi dikotomis : { 0 0 } { 0 } { 0 1 } { 1 } { 1 0 } { 1 } { 1 1 } { 1 } 1 epoch pola pelatihan = 4 eksemplar pasangan {input} {target} {-1 -1 } { -1 } { -1 1 } { 1 } { 1 -1 } { 1 } { 1 1 } { 1 }

Dari ynet = wq + ∑ xi wi Garis pemisah : dan 1 jika ynet > 0 f(ynet) = -1 jika ynet < 0 , maka garis pemisah l adalah garis ynet = wq + ∑ xi wi = 0 atau wq + x1w1 + x2 w 2 = 0 Dalam pelatihan, dicari harga2 wᶿ , w1 , w2 yang membuat NN dapat melakukan klasifikasi dengan benar Contoh salah satu garis pemisah untuk klasifikasi berdasarkan logika OR bipolar persamaan garis : x2 = -x1 - 1 w0 = 1, wi = 1, w2 = 1 x2 x1 +1 -1 lakhir o Garis pemisah :

Soal : Sebuah Perceptron sederhana dua input dilatih untuk klasifikasi pola bipolar berdasarkan logika AND. Tunjukkan dengan gambar bahwa salah satu bobot solusinya adalah t = 2, wi =1, w2 =1

x1 x2 y w1 w2 1 Contoh 2 : Perceptron ini dilatih untuk melakukan klasifikasi berdasar- kan logika EXOR 3 2 target input k topologi Himpunan data pelatihan wq xq {1, 1} {0, 0} {0, 1} Tidak ada satupun garis linear yang dapat mengklasifikasikan vektor vektor input dengan benar ! Data pelatihan untuk logika EXOR tersebut non-linearly separable karena : lts05

Algoritma belajar Perceptron ( = algoritma penyesuaian bobot) wi baru = wi lama + Dwi Dwi = txi

Algoritma LMS - Least Mean Square atau ATURAN DELTA Selain dilatih dengan algoritma belajar Perceptron (Gradient Descend sederhana -Rosenblatt), jaringan lapis tunggal dapat dilatih dengan aturan belajar Delta (delta rule). Dasar aturan Delta adalah minimisasi galat kuadrat dalam pelatihan. Fungsi galat E adalah jumlah error kuadrat, merupakan fungsi bobot- bobot jaringan. Dalam proses belajar, bobot bobot disesuaikan kearah perubahan-harga-galat (gradient E) yang paling tajam (terjal) dalam ruang Bobot-Galat. Galat E untuk vektor bobot n-dimensi, E(w1,w2) w1 w2 Eab Ecd c d a b . [ ] ú û ù ê ë é ¶ º Ñ n 1 w E , K r Gradient E, untuk vektor bobot n-dimensi E(w1,w2, ... , wn) = S ( t |k – y |k ) k = jumlah vektor pelatihan (input dan target) k=1 Ruang Bobot-Galat, untuk vektor bobot 2-dimensi

S [( t |k–y |k ) ( - wi xi ) ] = S wi xi i=1 2 S k = [( t |k–y |k ) ( - wi xi ) ] Dengan demikian perubahan galat E akibat perubahan bobot wI adalah, = - wI [ ( t |k– y |k ) ( xI ) ] d E d wI untuk fungsi aktivasi linear : y|k = ynet|k N = S wi xi i=1 Gradient, Aturan penyesuaian bobotnya: = h [ ( t |k– y |k ) ( xI ) ] pada arah sumbu wi

D wi = h [ ( t |k– y |k ) ( xi ) ] Aturan Delta : Proses Pelatihan : Inisialisasi seluruh bobot wi ke harga acak yang kecil. Sampai jaringan konvergen, kerjakan : - Berikan satu vektor input pelatihan x|k. - Hitung net-input ynet|k= + + . . . + - Hitung output y|k = ynet|k (fungsi aktivasi = fungsi linear) - Hitung penyesuaian bobotnya, untuk i = 1, 2, ... , N, q wi baru = w i lama + Dwi Bila Dwi|k  0 untuk semua input dalam 1 epoch, hentikan pelatihan. w2 x2 w1 x1 wq syarat penghentian pelatihan h : konstante pesat belajar

S (t|k –y|k) 2 Contoh Kurve pembelajaran (learning curve), menunjukkan penurunan error (RMS=Root Mean Square) dalam proses belajar. Setiap pemberian satu epoch pola pelatihan disebut Satu iterasi pelatihan Pada setiap iterasi dihitung errornya : RMS = S (t|k –y|k) 2 1/2 Error = 0 (atau cukup kecil) pada iterasi pelatihan ke 5 Dikatakan jaringan konvergen pada iterasi ke 5.

Aturan belajar Perceptron vs aturan Delta/LMS Dengan data pelatihan yang linearly separable, Perceptron dapat melakukan klasifikasi sempurna (Gb.(a)) Dengan data pelatihan yang non-linearly separable, - Perceptron tidak dapat melakukan klasifikasi dengan benar (Gb.(b)). - Aturan Delta dapat melakukan klasifikasi pendekatan (Gb.(c)). Persentase kesalahan klasifikasi yang cukup kecil masih dapat diterima . Gb.(a) + - x1 x2 Gb.(b) - x1 x2 Gb.(c) x1 x2 + - +

ADALINE & MADALINE jaringan ADALINE (Adaptive Linear Element). Jaringan lapis tunggal yang dilatih dengan aturan Delta adalah jaringan ADALINE (Adaptive Linear Element). Jaringan ADALINE tidak mempersyaratkan data pelatihan yang harus linearly separable. M buah ADALINE yang dikombinasikan akan menghasilkan jaringan lapis- tunggal dengan M neuron output, disebut Multiple ADALINE (MADALINE) x1 w1 w2 x2 y ADALINE wN xN vektor bobot W = ( , , . . . , ) lts05 w1 w2 wN

MADALINE vektor bobot WM = ( , , . . . , ) Matriks bobot w12 w22 WNM = x1 x2 xN y1 y2 yM w21 wN1 w1M w2M wNM vektor bobot WM = ( , , . . . , ) Matriks bobot WNM = w12 w22 wN2 lts05

MADALINE Dengan M buah neuron output maka klasifikasi dengan MADALINE tidak hanya klasifikasi dikotomis. Misal : Jaringan MADALINE dilatih untuk Mengenali huruf huruf A, B, C, ... ADALINE merah : melakukan klasifikasi dikotomis “A” dan “bukan-A”. ADALINE biru: melakukan klasifikasi dikotomis “B” dan “bukan-B”. ADALINE hijau: melakukan klasifikasi dikotomis “C” dan “bukan-C”. x1 x2 xN y1 y2 yM

Latihan : 1. Enam buah pola berupa matriks 2x2. Horisontal vertikal Diagonal Rencanakan himpunan vektor pelatihannya Gambarkan arsitektur jaringannya Latih jaringan untuk mengenali jenis pola vertikal, horisontal dan diagonal yang diberikan pada inputnya. (d) Bagaimana output jaringan bila diberikan input pengujian sebagai berikut :