ski 2010 uajy - jaringan_syaraf_tiruan

Post on 30-May-2018

221 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • 8/14/2019 SKI 2010 UAJY - Jaringan_Syaraf_Tiruan

    1/15

    INTEGRAL,Vol. 9 No. 3, November 2004

    JARINGAN SARAF TIRUAN PROPAGASI BALIK

    UNTUK KLASIFIKASI DATAGiri Dhaneswara1) dan Veronica S. Moertini2)

    Jurusan Ilmu Komputer, Universitas Katolik Parahyangan, Bandung

    Email: 1)[email protected], 2)[email protected]

    IntisariData yang tersimpan di basisdata dapat dianalisis dengan teknik klasifikasi

    data jaringan saraf tiruan (JST) propagasi balik dan dimanfaatkan untuk

    mengambil keputusan. Makalah ini akan membahas JST ini, analisis-

    perancangan-implementasi dari JST ini, eksperimen-eksperimen untuk

    mendapatkan konfigurasi JST yang terbaik dan penggunaannya untuk

    mengklasifikasi data aplikasi kredit di sebuah bank.

    Kata kunci: propagasi balik, jaringan saraf tiruan, klasifikasi data

    AbstractData strored in databases could be analized using a classification technique

    of back-propagation neural networks (BP NN) and utilized in supporting

    decission making processes. This paper discusses BP NN, the experiments

    conducted to discover the best configuration of the NN and its use in

    classifying banking credit application data.

    Keywords: backpropagation, neural network, data classification

    Diterima : 6 Agustus 2004

    Disetujui untuk dipublikasikan : 18 Agustus 2004

    1. PendahuluanBanyak data yang tersimpan di

    basisdata yang dapat dianalisis dan

    dimanfaatkan untuk membantu proses

    pengambilan keputusan. Misalnya: (a)

    Untuk menentukan apakah sebuah

    aplikasi kredit di bank akan diterimaatau tidak. (b) Untuk memilih jenis

    servis asuransi yang paling sesuai

    untuk seorang kustomer. (c) Di

    lingkungan perguruan tinggi: untuk

    memprediksi calon mahasiswa apakah

    kelak akan berprestasi atau drop-out.

    Salah satu teknik yang digunakan

    untuk menganalisis data untuk keperluan ini

    adalah teknik klasifikasi data.

    Klasifikasi data terdiri dari dua langkah yang

    utama, yaitu: (1) Pembangunan model dari

    set data pelatihan. Pada jaringan saraf tiruan

    (JST), ini dilakukan dengan pembentukan jaringan dan penghitungan nilai-nilai

    parameter jaringan (bobot, bias, dll.,). (2)

    Penggunaan model untuk mengklasifikasi

    data baru. Di sini, sebuah rekord

    diumpankan ke model, dan model akan

    memberikan jawaban kelas hasil

    perhitungannya.

    117

    mailto:[email protected]:[email protected]
  • 8/14/2019 SKI 2010 UAJY - Jaringan_Syaraf_Tiruan

    2/15

    INTEGRAL,Vol. 9 No. 3, November 2004

    Makalah ini akan membahas JST

    propagasi balik(backpropagation),analisis-perancangan-implementasi

    sistem JST ini, eksperimen-eksperimen

    untuk mendapatkan konfigurasi JST

    yang terbaik dan penggunaannya untuk

    mengklasifikasi data aplikasi kredit

    bank, serta kesimpulan dan arah

    penelitian lanjutan.

    2. Jaringan Saraf Tiruan (JST)

    Propagasi Balik

    JST propagasi balik adalah JST dengan

    topologi multi-lapis (multilayer) dengan satu

    lapis masukan (lapisX), satu atau lebih lapis

    hidden atau tersembunyi (lapis Z) dan satu

    lapis keluaran (lapis Y). Setiap lapis memiliki

    neuron-neuron (unit-unit) yang dimodelkan

    dengan lingkaran (lihat Gambar 1). Di antara

    neuron pada satu lapis dengan neuron pada

    lapis berikutnya dihubungkan dengan model

    koneksi yang memiliki bobot-bobot

    (weights), w dan v. Lapis tersembunyi dapat

    memiliki bias, yang memiliki bobot sama

    dengan satu [1].

    Gambar 1. Jaringan saraf propagasi balikdengan satu lapis tersembunyi.

    2.1. Algoritma Pelatihan JST

    Propagasi balikAlgoritma pelatihan JST Propagasi

    balik pada dasarnya terbagi menjadi 2

    langkah, yaitu: langkah maju

    (feedforward)) dan propagasi balik(back propagation). Pada langkah

    maju, perhitungan bobot-bobot neuron

    hanya didasarkan pada vektor

    masukan, sedangkan pada propagasi

    balik, bobot-bobot diperhalus dengan

    memperhitungkan nilai target atau

    keluaran. Algoritma pelatihan maju dan

    propagasi balik ini ditunjukkan pada

    Algoritma 1 [1].

    Nilai mean square error (MSE) pada satu

    siklus pelatihan (langkah 2 10, dimanaseluruh rekord dipresentasikan satu kali)

    adalah nilai kesalahan (error = nilai keluaran

    - nilai masukan) rata-rata dari seluruh rekord

    (tupple) yang dipresentasikan ke JST dan

    dirumuskan sebagai:

    118

  • 8/14/2019 SKI 2010 UAJY - Jaringan_Syaraf_Tiruan

    3/15

    INTEGRAL,Vol. 9 No. 3, November 2004

    MSE = (rekordjumlah

    error2

    )

    Semakin kecil MSE, JST semakin kecilkesalahannya dalam memprediksi

    kelas dari rekord yang baru. Maka,

    pelatihan JST ditujukan untuk

    memperkecil MSE dari satu siklus kesiklus berikutnya sampai selisih nilai

    MSE pada siklus ini dengan siklus

    sebelumnya lebih kecil atau sama

    dengan batas minimal yang diberikan

    (epsilon).

    2.2. Pengembangan Algoritma

    Pelatihan dengan MenggunakanMomentum

    Salah satu pengembangan algoritma

    pelatihan propagasi balik dilakukan

    dengan penggunaan momentum pada

    perhitungan perubahan bobot-bobot. Tujuan

    dari pengembangan ini adalah untuk

    melancarkan pelatihan dan mencegah agar bobot tidak berhenti di sebuah nilai yang

    belum optimal. Perubahan bobot pada

    Algoritma 1 diubah menjadi [1]:

    )()1( twztw jkjkjk +=+ dan

    )()1( tvxtv ijijij +=+ , dimana

    merupakan konstanta dari momentum

    dengan rentang [0,1].

    2.3. Klasifikasi Data

    Setelah pelatihan selesai dilakukan, maka

    model JST siap digunakan untukmengklasifikasi rekord baru. Klasifikasi ini

    cukup dilakukan langkah feedforward dan

    hasilnya adalah berupa kelas yang diprediksi

    JST untuk rekord yang baru ini.

    119

  • 8/14/2019 SKI 2010 UAJY - Jaringan_Syaraf_Tiruan

    4/15

    INTEGRAL,Vol. 9 No. 3, November 2004

    Algoritma 1. Algoritma pelatihan pada JST Propagasi balik.

    Narasi: Melatih JSTdengan data pelatihan (berupa vektor atau rekord-rekord tabel)yang diberikan sampaibobot-bobot tidak berubah lagi (atau dicapai kondisi konvergen).

    Input: Set data pelatihan , jumlah lapis, jumlah neuron, learning rate, epsilon

    Output: Model JSTyang siap untuk mengklasifikasi data (vektor) baru.Algoritma:(1) Menginisialisasi bobot awal dengan nilai acak yang sangat kecil, hitung MSE dan MSE inisialisasi.(2) Selama MSE > epsilon lakukan:(3) Untuk setiap tupple pada set data pelatihan lakukan

    Feedforward:

    (4)Setiap unit masukan (Xi, i=1..n) menerima vektor masukan Xi dan mengirimkan vektor ini keseluruh unit pada lapisdiatasnya (hidden layer).

    (5)Setiap unit hidden (Zj, j=1..p) menjumlahkan bobot dari vektor masukan:

    Hitung keluaran fungsi aktivasi:=

    +=n

    i

    ijijj vxvinz1

    0_ )_( jj inzfz =

    Kirimkan vektor ini ke unit-unit pada lapis diatasnya (lapis keluaran)(6)Setiap unit keluaran (Yk, k=1..m) menjumlahkan vektor masukan:.

    =

    +=

    p

    j

    jkjkk wzwiny1

    0_

    Hitung keluaran dari fungsi aktivasi: )_( kk inyfy = Propagasi balik dari error:

    (7)Setiap unit keluaran(Yk, k=1..m) menerima vektor hasil yang diinginkan (tk) untuk data masukan

    tersebut, hitung error-nya ( :)kk yt )_(')( kkkk inyfyt =

    Hitung nilai koreksi bobotnya dengan sebagai learning ratenya: jkjk zw =

    Hitung nilai koreksi biasnya: kkw = 0Kirimkan kke unit pada lapis dibawahnya.(8)Setiap unit hidden (Zj, j=1..p) menjumlahkan delta masukannya (dari unit-unit pada lapisdiatasnya):

    =

    =m

    k

    jkkj win1

    _

    Kalikan dengan turunan dari fungsi aktivasinya untuk menghitung errornya:

    )_('_ jjj inzfin = Hitung nilai koreksi bobotnya: ijij xv = Hitung nilai

    koreksi biasnya: jjv = 0 Perbaharui bobot danbias:

    (9)Setiap unit keluaran (Yk, k=1..m) memperbaharui bias dan bobotnya (j=0..p).

    jkjkjk woldwneww += )()( Setiap unit tersembunyi (Zj, j=1..p) memperbaharui bias dan bobotnya (i=0..n).

    ijijij voldvnewv += )()( MSEold = MSE. Hitung MSE, MSE = MSE MSEold.

    (10) Uji kondisi berhentinya

    120

  • 8/14/2019 SKI 2010 UAJY - Jaringan_Syaraf_Tiruan

    5/15

    INTEGRAL,Vol. 9 No. 3, November 2004

    Keterangan Notasi untuk Algoritma 1: x = vektor masukan = ,),...,,...,( 1 ni xxx

    t = vektor keluaran= .),...,,...,( 1 mk ttt k = nilai koreksi bobot erroruntuk jkwyang disebabkan oleh errorpada unit keluaran .kY j = nilai koreksi bobot erroruntuk

    yang disebabkan oleh informasi propagasi balik dari errorpada lapis keluaran ke unit

    tersembunyi .

    ijv

    jZ = konstanta laju pembelajaran (learning rate). =unit masukan i. =

    bias pada unit tersembunyi j. =unit tersembunyi j. =bias pada unit keluaran k. =

    unit keluaran k. Fungsi aktivasi yang dapat digunakan pada propagasi balik antara lain

    adalah: Binary sigmoid:

    iX jv0

    jZ kw0 kY

    xexf

    +

    =1

    1)( , arc tangen: )arctan(

    2)( xxf

    = , radial

    basis:x

    exf =)( .

    3. Analisis, Perancangan dan

    Implementasi JST Propagasi

    Balik

    3.1. Analisis Sistem JST

    Sistem JST Propagasi balik yang

    dibangun dimaksudkan untuk

    mengklasifikasi data (apa saja) yang

    tersimpan di tabel-tabel basisdata.

    Agar sistem ini berfungsi dan

    berperformansi dengan baik, ada

    beberapa isu dan solusi yang perludipertimbangkan yang terkait dengan

    set data pelatihan dan performansi

    sistem.

    a. Set Data PelatihanIsu: (a) Bebas. (b) Jumlah, tipe kolom

    tabel, dan jumlah kelas pada kolom