Artificial Intelligence (AI) Kecerdasan Buatan Artificial Intelligence (AI) 3 SKS Dosen: Muhammad Fachrie, M.Cs. AI - Pertemuan 8
Jaringan Syaraf Tiruan AI - Pertemuan 8
Review: ID3 Pelamar IPK Psikologi Wawancara Diterima P1 Bagus Tinggi Baik Ya P2 Sedang P3 Buruk P4 Rendah Tidak P5 Cukup P6 P7 P8 P9 Kurang P10 P11 AI - Pertemuan 8
Review: ID3 Wawancara Baik Buruk Psikologi Ya Tinggi Sedang Rendah Tidak IPK Tidak Bagus Cukup Kurang Ya Ya Tidak AI - Pertemuan 8
Permasalahan pada ID3 Pelamar IPK Psikologi Wawancara Diterima P1 3,75 85 1 Ya P2 3,25 70 P3 3,93 72 P4 3,12 64 Tidak P5 2,85 87 P6 2,79 77 P7 2,98 P8 2,83 69 P9 2,21 90 P10 2,63 78 P11 2,50 60 AI - Pertemuan 8
? AI - Pertemuan 8
Solusi: Jaringan Syaraf Tiruan IPK X1 Pelamar IPK Psikologi Wawancara Diterima P1 3,75 85 1 Ya P2 3,25 70 P3 3,93 72 P4 3,12 64 Tidak P5 2,85 87 P6 2,79 77 P7 2,98 P8 2,83 69 P9 2,21 90 P10 2,63 78 P11 2,50 60 Z1 Psi X2 Y Ya/Tdk Z2 Wcr X3 Input Layer Hidden Layer Output Layer AI - Pertemuan 8
Teori Dasar JST Jaringan Syaraf Tiruan (JST) merupakan salah satu metode learning yang mampu melakukan proses deteksi, klasifikasi, peramalan (forecasting), bahkan pengenalan (recognition). Arsitektur JST meniru sistem jaringan syaraf pada manusia, dimana setiap satu sel (neuron) saling terhubung dengan sel-sel lain. AI - Pertemuan 8
Teori Dasar JST (2) Pada JST, koneksi antara satu neuron dengan neuron lainnya memiliki sebuah nilai yang biasa disebut bobot (weight). X1 W11 X2 W21 Y … Wn1 Xn AI - Pertemuan 8
Teori Dasar JST (3) Bobot –bobot inilah yang menentukan tingkat akurasi dari suatu JST. Nilai dari bobot-bobot tersebut harus ditentukan sedemikian rupa agar JST memiliki performa yang maksimal. Bagaimana menentukan nilai bobot pada JST? Jawabannya: LEARNING! AI - Pertemuan 8
∑ f(x) Teori Dasar JST (4) Setiap neuron pada hidden layer dan output layer memiliki dua buah sub unit, yakni: Unit penjumlah Unit aktivasi ∑ f(x) AI - Pertemuan 8
Fungsi Aktivasi Threshold Function AI - Pertemuan 8
Fungsi Aktivasi (2) Piecewise-Linear Function AI - Pertemuan 8
Fungsi Aktivasi (3) Sigmoid Function AI - Pertemuan 8
Arsitektur JST Banyak sekali jenis dari arsitektur JST, beberapa di antaranya: Perceptron Multi Layer Perceptron (MLP) Self Organizing Map (SOM) Recurrent Neural Network (RNN) AI - Pertemuan 8
Multi Layer Perceptron 1 b1 1 W11 X1 W12 Z1 b1 V11 W21 b2 Y X2 W22 V21 W31 Z2 X3 W32 Output Layer Input Layer Hidden Layer AI - Pertemuan 8
MLP – Input Layer Input Layer berisi neuron-neuron yang merupakan input untuk JST. Pada kasus rekrutmen pegawai yang dibahas sebelumnya, input untuk JST-nya adalah nilai “IPK”, “Psikologi”, dan “Wawancara”. Jumlah neuron pada input layer ditentukan dari banyaknya atribut/ feature yang ada pada data. AI - Pertemuan 8
MLP – Hidden Layer Hidden Layer merupakan layer intermediet antara input layer dan output layer. Jumlah neuron pada hidden layer tidak dapat ditentukan secara pasti Trial and error . Kecendrungannya, semakin banyak neuron pada input layer, maka semakin banyak pula neuron pada hidden layer yang digunakan. AI - Pertemuan 8
MLP – Hidden Layer (2) Setiap neuron pada hidden layer menghasilkan suatu output yang diperoleh dari perhitungan pada unit penjumlahan dan unit aktivasi: 1 b1 Z1 Z2 Input Layer Hidden X1 X2 X3 W11 W21 W31 W12 W22 W32 b2 AI - Pertemuan 8
MLP – Output Layer Setiap neuron pada output layer menghasilkan keluaran berupa biner (0 atau 1). Jumlah neuron pada layer ini tergantung dari banyaknya kelas target yang ada pada data. Pada contoh kasus rekrutmen pegawai sebelumnya, target kelas hanya ada 2, yakni Diterima: Ya/ Tidak. Oleh karena itu, jumlah neuron pada output layer yang digunakan hanya 1 neuron. AI - Pertemuan 8
MLP – Output Layer (2) Bagaimana jika kelas targetnya lebih dari 2? Tambah saja neuron pada output layer. Satu neuron bisa mewakili dua nilai/ dua kelas (0 atau 1). AI - Pertemuan 8
MLP – Output Layer (3) Setiap neuron pada output layer menghasilkan suatu output yang diperoleh dari perhitungan pada unit penjumlahan dan unit aktivasi: Z1 Z2 Y Hidden Layer Output V11 V21 1 b1 AI - Pertemuan 8
Proses Learning MLP MLP memiliki sebuah algoritma learning yang disebut Backpropagation. Algoritma ini memiliki dua fase utama dalam proses learning, yakni: Proses perhitungan maju (feed forward) Proses perhitungan mundur (backpropagation) Pada tahap inisialisasi, bobot-bobot jaringan ditentukan secara acak dalam rentang nilai [-1,1]. AI - Pertemuan 8
Alur Proses Learning Perhitungan Maju (Feed Forward) Lakukan perhitungan maju dari input layer hingga outpu layer Hitung Error pada output layer Perhitungan Mundur (Backpropagation) Hitung “Faktor Koreksi” pada output layer Hitung “faktor perubahan bobot” antara output layer dan hidden layer Hitung “Faktor Koreksi” pada hidden layer Hitung “faktor perubahan bobot antara” hidden layer dan input layer Update semua bobot jaringan. AI - Pertemuan 8
Data Training Pelamar IPK Psikologi Wawancara Diterima P1 3,75 85 1 Ya 3,25 70 P3 3,93 72 P4 3,12 64 Tidak P5 2,85 87 P6 2,79 77 P7 2,98 P8 2,83 69 P9 2,21 90 P10 2,63 78 P11 2,50 60 AI - Pertemuan 8
Proses Feed Forward Proses ini melakukan perhitungan maju, mulai dari input layer, hingga ke output layer. Z1 Z2 Y X1 X2 X3 W11 W21 W31 W12 W22 W32 V11 V21 1 b1 b2 AI - Pertemuan 8
Perhitungan Error Keluaran dari output layer dihitung selisihnya dengan target yang ada pada data training: dimana E adalah error, y adalah output dari neuron pada output layer, dan t adalah target pada data training. Jika output layer terdiri dari banyak neuron, maka error dihitung untuk setiap neuron. AI - Pertemuan 8
Faktor Koreksi pada Output Layer Faktor koreksi pada output layer dihitung berdasarkan rumus: Faktor koreksi ini dihitung untuk setiap neuron pada output layer AI - Pertemuan 8
Faktor Perubahan Bobot antar OL dan HL Faktor perubahan bobot antara output layer dan hidden layer dihitung berdasarkan rumus: dimana α adalah learning rate yang nilainya berada dalam rentang (0,1]. AI - Pertemuan 8
Faktor Koreksi pada Hidden Layer Faktor koreksi pada hidden layer dihitung berdasarkan rumus: dimana, AI - Pertemuan 8
Faktor Perubahan Bobot antara HL dan IL Faktor perubahan bobot antara hidden layer dan input layer dihitung berdasarkan rumus: AI - Pertemuan 8
Update Semua Bobot Jaringan Perubahan bobot jaringan antara input layer dan hidden layer dihitung berdasarkan rumus: Perubahan bobot jaringan antara hidden layer dan output layer dihitung berdasarkan rumus: AI - Pertemuan 8
Proses Learning Alur proses learning tadi dilakukan untuk setiap satu record/ satu baris data training. Setiap selesai semua record digunakan untuk learning, berarti selesai proses learning untuk 1 iterasi/ epoch. AI - Pertemuan 8
Proses Pengujian JST Setelah JST melalui proses learning, maka dilakukan pengujian terhadap performa JST untuk mengklasifikasikan data testing. Proses testing hanya melibatkan proses perhitungan maju (feed forward), dan pada output layer dilakukan pembulatan nilai keluaran menjadi 0 atau 1. AI - Pertemuan 8
IPK X1 Z1 Psi X2 Y Z2 Wcr X3 AI - Pertemuan 8 Pelamar IPK Psikologi Wawancara Diterima P1 3,75 85 1 Ya P2 3,25 70 P3 3,93 72 P4 3,12 64 Tidak P5 2,85 87 P6 2,79 77 P7 2,98 P8 2,83 69 P9 2,21 90 P10 2,63 78 P11 2,50 60 IPK X1 Z1 Psi X2 Y Z2 Wcr X3 AI - Pertemuan 8
Konfigurasi MLP Jumlah neuron pada hidden layer Jumlah neuron pada output layer Nilai Learning Rate Jumlah iterasi/ epoch AI - Pertemuan 8