Langsung ke konten utama

Jaringan Saraf Tiruan layer tunggal : Perceptrons


Jaringan saraf tiruan (JST), selanjutnya disebut Jaringan Saraf, (Bahasa Inggris: artificial neural network (ANN), atau juga disebut simulated neural network (SNN), atau umumnya hanya disebut neural network (NN)), adalah model matematik penyelesaian permasalahan yang didasarkan jaringan saraf manusia. JST merupakan model adaptif yang dapat mengubah strukturnya untuk memecahkan masalah berdasarkan informasi eksternal maupun internal yang mengalir melalui model tersebut. Jaringan Saraf terdiri dari sekelompok neuron (seperti pada jaringan saraf manusia) tiruan yang saling berhubungan dan memproses informasi secara komputasi menggunakan pendekatan saling-hubungan tersebut. Jaringan Saraf menggunakan model hubungan komplek antara input dan output atau mencari pola dari suatu data.


Artificial Neuron Model

Gambar 1 Artificial Neuron

Model neuron yang ditunjukkan gambar 1 merupakan model yang banyak digunakan pada pembahasan Jaringan Saraf (ANN), tanpa banyak mengalami penambahan atau perubahan. Model tersebut mempunyai N input yang dinyatakan dala U1, U2, … Uj ..UN. Setiap hubungan antara input dengan neuron diberikan nilai bobot (weight) yang dinotasikan dengan w1, w2, … wj .. wN. q merupakan representasi dari threshold dari neuron, yaitu merupakan fungsi step biner 0 dan 1. Input dan weigh merupakan nilai real (bilangan biner untuk jika digunakan dalam kepentingan komputasi).
Untuk melakukan aktivasi pada model neuron diberikan persamaan :
Apabila w bernilai negatif itu berarti terjadinya hubungan antara input dan neuron akan dihalangi (indentik dengan nilai 0 pada logika konvensional), sedangkan apabila w bernilai positif (identik dengan 1) maka stimulus input diijinkan.

Aktivasi neuron

Pada neuron biologispun jika q bernilai negatif, akan dianggap bernilai positif pada model neuron. Sedangkan jika q bernilai positif maka akan dianggap sebagai bias. Pada persamaan aktivasi, digunakan simbol (+) untuk menyatakan kondisi tersebut.
Kadangkala nilai threshold dikombinasikan dengan cara mengasumsikan input imajiner u0 = +1 dan w0 = q. Hal ini bertujuan agar penyajian akhirnya menjadi lebih mudah. Sehingga rumus aktivasinya menjadi :
Dengan menggunakan notasi vektor, dapat ditulis :
Notasi tersebut sangat berguna untuk menunjukkan cara aktivasi neuron. Dalam hal ini elemen jth dari input vektor u adalah uj, sedangkan elemen jth dari weigh w adalah wj. Kedua vektor tersebut adalah nilai dari N.
Perhatikan bahwa wTu merupakan perkalian dalam vektor u dan w yang menghasilkan nilai skalar. Perkalian dalam adalah operasi yang dilakukan pada ukuran vektor yang sama. Pada kasus ini vektor mempunyai nilai panjang dan perkalian dalam mengukur / melihat kesamaan nilai vektor tersebut.

Neuron Output

Nilai output neuron adalah fungsi dari aktivasinya yang di-analogi-kan dari firing frequency pada neuron biologis. Pada neuron biologis, firing (pulses) terjadi ketika penurunan polarisasi pada neuron cukup untuk mencapai nilai threshold pada axon hillock. Output neuron dinyatakan dalam :
Pada awalnya, fungsi output neuron f(a) dibuat oleh McMulloch-Pitts yang didasarkan pada fungsi threshold (yang linier), ditunjukkan gambar 2. Output fungsi lainnya yaitu fungsi linier, ramp, sigmoid dan gaussin. Fungsi – fungsi ini digunakan secara luas sebagai fungsi output.
Gambar 2 Beberapa fungsi output neuron
a) thershold, b) ramp, c) sigmoid, d) gaussian

Perceptrons


Algoritma perceptrons dipublikasikan pada 1957 di  the Cornell Aeronautical Laboratory oleh Frank Rosenblatt. Perceptron biasa digunakan untuk pemodelan persepsi visual, meniru cara kerja retina manusia. Perceptron merupakan salah satu metode pembalajaran (learning) yang diterapkan pada suatu model Jaringan Saraf. Pada perceptron digunakan jaringan feedforward dengan tiga layer yaitu Sensory, Assosiation dan Response.

Pembelajaran hanya terjadi pada pembobotan (weight) antara unit A dan unit R, sedangkan w antara unit S dan A bernilai tetap (fixed). Setiap unit R akan menerima input sebanyak n dari unit A.
Untuk setiap pembalajaran yang diberikan, perubahan weight wAR hanya terjadi jika hasil perhitungan output y berbeda dengan output yang ditargetkan t, dengan kata lain menggunakan mode mengandalian error, error driven. Perhitungan akan terus diulang (iterasi) sampai tidak ada selisih antara output sebelumnya dengan output yang diharapkan.

simple perceptron

 Simple perceptron mempunyai struktur output tunggal sebagai fungsi dari threshold. Simple perceptron juga mempunyai node input sebanyak n, dengan weight wi, yang mana i = 1 - n. Simple perceptron digunakan untuk  mengelompokkan pola input yang diterima kedalam dua kelompok (tergantung dari apakah outputnya 0 atau 1).
Contoh :
Pola input diasumsikan sebagai (x1, x2). Misalkan ada dua pola input sebagai berikut :
1        (0, 0) (0, 1) (1, 0) (-1, -1);    
2        (2.1, 0) (0, -2.5) (1.6, -1.6)  
Pola input tersebut dapat dibagi dengan garis (x1, x2) pada bidang x1 – x2 = 2.
Peng-clasifikasian menggunakan perceptron dapat dilakukan dengan syarat : w1 = 1, w2 = -1, threshold = 2. Dari permasalahan tersebut dapat digambarkan :

Gambar 3 Simple perceptron

Jika node x0 di-implementasikan sebagai threshold, dengan output konstan, dan w = - threshold, maka diperoleh gambaran :

Gambar 4 implementasi threshold

Simple perceptron dengam mengimplementasikan threshold merupakan penerapan umum dalam perancangan Jaringan Saraf.

Linear separability


Hasil pengelompokan input (D, training set) dari pola (x1, x2) , yang menghasilkan 2 kelas, dikatakan linier (Linear separability) jika ada garis lurus pada bidang (x1,x2),  yang mana
w0 + w1 x1 + w2 x2 = 0

dan garis tersebut memisahkan satu kelas pola dengan  pola kelas lainnya.
Sebuah perceptron dapat dibangun menggunakan 3 input x0 = 1, x1, x2 dengan weights w0, w1, w2, serta n dimensi pola (x1,…, xn). Hyperplane w0 + w1 x1 + w2 x2 +…+ wn xn = 0 membagi bidang menjadi dua region. Kita bisa mendapatkan nilai w dari sekumpulan contoh pola jika permasalahannya dapat dipisahkan secara linier. Cara mendapatkan nilai w (weight) dilakukan melalui pembelajaran preceptron  (perceptron learning).
Contoh kasus yang dapat dikatakan terpisah secara linier (Linear separability) adalah Operasi Logika AND dan logika OR.
Pada logika AND pola input (2 input, bipolar) dapat dituliskan sebagai berikut :

x1      
x2
output

-1
-1
1
1
-1
1
-1
1
-1
-1
-1
1
w2 = 1
w1=1
w0 = -1 
-1 + x1 + x2 = 0

Pembelajaran Perceptron (Perceptron Learning)

Untuk single layer perceptron dapat digunakan algortima pembelajaran yang merupakan turunan dari stochastic gradient descent (SGD). Sedangkan untuk multilayer perceptron dapat digunakan algoritma yang lebih komplek seperti backpropagation maupun delta rule, yang akan dibahas kemudian.
Model jaringan mempunyai vektor input i (termasuk input threshold = 1), vektor bobot w = (w0, w1,…, wn), sehingga jaringan dapat ditulis :
Output adalah bipolar (-1, 1) dan menggunakan fungsi :
Sampling pembelajaran diperoleh dari pasangan (ij, class(ij), dimana class(ij) adalah koreksi dari pengelompokan ij sebelumnya.
Pembelajaran dilakukan dengan tahapan pokok sebagai berikut :
1        Update nilai w sampai semua sampling input dikelompokkan secara tepat (jika memungkinkan)
2        Jika input ij salah pengelompokan dengan w yang digunakan saat ini, maka :
                                                              i.      class(ij) · w · ij < 0
                                                            ii.      ubah  w menjadi  w + Δw sampai (w + Δw) · ij mendekati class(ij)

Algoritma pembelajaran perceptron

Untuk melakukan pembelajaran pada sistem cerdas menggunakan perceptron maka dapat dilakukan dengan algoritma sebagai berikut:
Mulai dengan memilih secara acak nilai vektor bobot w0, misal k=1
While beberapa vektor input masih salah pengelompokan (misclassified) do
            Misal ij adalah misclassified input vector;
            Misalkan xk=class(ij),ij ; nyatakan bahwa wk-1.xk<0;
            Ubah nilai vektor weigh menjadi wk = wk-1 + h.xk;
            Naikkan nilai k;
End-while
η adalah learning rate,  dimana  η > 0
Pembuktian :
Sebuah nilai Jaringan baru (net) bergerak menuju class(ij)
…continued

created by : Setiyo Budi

posted at : areatekno

Reference :
Ben Krose, Petrick, an introduction to Neural Network, Amsterdam, 1996
Mr. M. Aziz Muslim, Ph.D, presentation at SKI class of 2012, Wednesday, 25 September 2012






Komentar

Postingan populer dari blog ini

Dasar teknik instalasi listrik untuk teknisi komputer – bagian 1

Oleh : Setiyo Budi Tidak dapat dipungkiri bahwa komputer adalah sebuah perlatan listrik yang membutuhkan sumber daya yang sesuai agar dapat beroperasi dengan baik / maksimal. Salah satu syarat agar daya listrik dari sumber (PLN) dapat mengoperasikan komputer dengan baik maka diperlukan prosedur pengkabelan atau instalasi kabel yang sesuai dengan standar. Simbol – simbol listrik Sebelum melakukan instalasi kelistrikan pada suatu ruang atau laboratorium komputer, maka yang pertama perlu dilakukan adalah melakukan perancangan pengkabelan pada ruang tersebut. Manfaat perencanaan ini diantaranya adalah untuk pengembangan dan troubleshooting di kemudian hari. Perancangan dilakukan dengan menggambar diagram skematik yang menggambarkan semua peralatan yang akan dihubungkan. Untuk itu perlu diketahui simbol – simbol kelistrikan yang digunakan untuk keperluan tersebut. Diagram skematik adal...

Perawatan Stavolt / AVR

Sampai saat ini banyak pengguna PC yang mempercayakan urusan stabilisasi tegangan yang mencatu komputernya kepada perangkat stavolt (stabilisator voltase) atau AVR (Automatic Voltage Regulator). Meskipun jika dirunut dua istilah itu bisa jadi dua perangkat yang berbeda. Kebanyakan pengguna PC menggangap istilah itu sama. Fungsi utama stavolt / AVR memang menjaga agar tegangan AC yang digunakan untuk mencatu unit PC tetap / stabil pada tegangan kerja (220 Volt).

Menentukan Spesifikasi dan Jenis – jenis Aplikasi Server

Materi TKJ keles XII Administrasi Server Dalam suatu jaringan komputer, server merupakan sebuah komputer yang bertugas melayani permintaan tertentu dari komputer lain (client). Server merupakan suatu layanan terintegrasi pada jaringan komputer yang menggunakan sistem operasi tertentu ditambah dengan beberapa aplikasi tertentu dengan tujuan tertentu pula. Aplikasi – aplikasi ini perlu dipilih (baik jenis maupun versi yang digunakan) untuk keperluan yang sesuai dengan tujuan perancangan server tersebut. Disamping itu, karena PC server mempunyai tugas yang lebih berat jika dibandingkan dengan PC lain dalam jaringan tersebut, maka spasifikasi hardware perlu ditentukan dengan tepat. Menetapkan spesikasi server Setiap orang memiliki alasan sendiri untuk memilih dedicated server yang digunakan untuk bekerja dan membandingkan dengan piliha...