Ann_perceptron.docx

  • Uploaded by: supadma
  • 0
  • 0
  • December 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Ann_perceptron.docx as PDF for free.

More details

  • Words: 2,390
  • Pages: 15
DATA MINING ALGORITMA PERCEPTRON

Oleh: Kadek Alit Sudiyana

1605551044

Imelda Alvionita Tarigan

1605551046

I Made Jaladhi Kori

1605551051

MD. Wira Putra Dananjaya

1605551056

Evan Himawan Saragih

1605551060

I Made Ari Saputra

1605551064

Anak Agung Ketut Krishna Dwipayana

1605551072

I Putu Yoga Pertama Yasa

1605551081

I Kadek Supadma

1605552031

PROGRAM STUDI TEKNOLOGI INFORMASI FAKULTAS TEKNIK UNIVERSITAS UDAYANA 2019

Algoritma Perceptron Perceptron adalah salah satu metode Jaringan Syaraf Tiruan (JST) sederhana yang menggunakan algoritma training untuk melakukan klasifikasi secara linier. Perceptron digunakan untuk melakukan klasifikasi sederhana dan membagi data untuk menentukan data mana yang masuk dalam klasifikasi dan data mana yang missclasifikasi (diluar klasifikasi). Model perceptron terdiri dari beberapa unit input x1, x2, ..., xn (ditambah sebuah bias yang bernilai 1) dan memiliki sebuah unit output Y. Setiap unit input dihubungkan ke unit output dengan bobot masing-masing (b, w1, w2, ..., wn). Selama proses pembelajaran, bobot-bobot tersebut akan dimodifikasi untuk meningkatkan keakuratan hasil.

Gambar 1 Model Perceptron

Model perceptron tersebut dapat digunakan untuk mengklasifikasikan setiap pola input, apakah pola input tersebut berada pada suatu kelas atau tidak. Jika suatu pola input berada pada kelas tertentu maka unit output akan memberikan respon bernilai +1. Sedangkan, jika pola input tidak berada pada kelas tertentu maka nilai respon yang diberikan oleh unit output adalah -1.

Untuk melakukan klasifikasi terhadap suatu pola input, model perceptron menggunakan pembelajaran dengan teknik iterasi. Vektor input yang digunakan dapat bernilai biner (0, 1) atau bipolar (-1, 0, 1). Sedangkan output yang dihasilkan bernilai bipolar. Algoritma pembelajaran perceptron dengan s sebagai vektor input dan t sebagai vektor output adalah sebagai berikut:

1.

Inisialisasi nilai semua bobot dan bias (biasanya b = wi = 0 ) Tentukan laju pemahaman 𝛼(0 < 𝛼 ≀ 1) (biasanya 𝛼 = 1)

2.

Selama ada elemen vektor input yang memiliki nilai respon output yang berbeda dengan target, lakukan langkah 3 – 5

3.

Tetapkan aktivasi dari unit input: π‘₯𝑖 = 𝑠𝑖

4.

Hitung respon dari unit output 𝑦_𝑖𝑛 = 𝑏 + βˆ‘ π‘₯𝑖 𝑀𝑖 𝑖

π‘—π‘–π‘˜π‘Ž 𝑦_𝑖𝑛 1 π‘—π‘–π‘˜π‘Ž πœƒ ≀ 𝑦_𝑖𝑛 ≀ πœƒ (𝑦_𝑖𝑛) 𝑦=𝑓 = {0 βˆ’1 π‘—π‘–π‘˜π‘Ž 𝑦_𝑖𝑛 < πœƒ 5.

Perbarui nilai bobot dan bias pada pola yang mengandung kesalahan 𝐼𝑓 𝑦 β‰  𝑑, 𝑀𝑖 (π‘π‘Žπ‘Ÿπ‘’) = 𝑀𝑖 (π‘™π‘Žπ‘šπ‘Ž) + 𝛼𝑑π‘₯𝑖 𝑏(π‘π‘Žπ‘Ÿπ‘’) = 𝑏(π‘™π‘Žπ‘šπ‘Ž) + 𝛼𝑑 𝑒𝑙𝑠𝑒 𝑀𝑖 (π‘π‘Žπ‘Ÿπ‘’) = 𝑀𝑖 (π‘™π‘Žπ‘šπ‘Ž) 𝑏(π‘π‘Žπ‘Ÿπ‘’) = 𝑏(π‘™π‘Žπ‘šπ‘Ž)

6.

Tes kondisi berhenti: jika tidak terjadi perubahan bobot pada (i) maka kondisi berhenti TRUE, namun jika masih terjadi perubahan maka kondisi berhenti FALSE

Untuk lebih memahami mengenai klasifikasi berbasis ANN dengan menggunakan model perceptron, berikut ini akan diberikan dua buah contoh klasifikasi untuk masalah pengenalan pola. Contoh pertama menggunakan model perceptron dengan output tunggal. Sedangkan contoh kedua menggunakan model perceptron dengan output majemuk.

Contoh 1: Klasifikasi dengan Model Perceptron Output Tunggal Model perceptron berikut akan dilatih untuk mengenali apakah pola input yang diberikan adalah pola karakter β€œ-”.

Gambar 2 Pola 1 Dan Pola 2

Unit input dan unit output yang digunakan bernilai bipolar sehingga kotak yang berwarna hijau akan bernilai +1. Sedangkan kotak berwarna biru bernilai -1. Bobot (w) dan bias (b) awal diinisialisasi dengan 0. Learning rate (Ξ±) diinisialisasi dengan 1 dan threshold (ΞΈ) diinisialisasi dengan 0. Bentuk pola input dan target yang digunakan untuk mengenali pola β€œ-” diberi nilai, untuk target bernilai 1 berarti pola input dikenali sebagai pola β€œ-”. Sedangkan target bernilai -1 berarti pola input tidak dikenali sebagai pola β€œ-”.

Pola Input

Target (t)

Pola 1

1

Pola 2

-1

Iterasi yang dilakukan pada proses pelatihan untuk mengenali pola β€œ-” adalah sebagai berikut. Penyelesaian: 1.

Inialisasi:

b=wi = 0, dengan i=1,2,3,..,9. Ξ±=1; ΞΈ=0

Epoch 1 2.

Hitung respon dari unit output untuk pola input 1: [-1,-1,-1,1,1,1,-1,-1,-1] y_in = 0 + (-1*0)+ (-1*0) + (-1*0) + 1*0 + 1*0 + 1*0 + (-1*0) + (-1*0) + (-1*0) =0 Karena syarat ΞΈ ≀ y_in ≀ ΞΈ, maka y=0

3.

Karena y β‰  t maka menghitung perubahan bobot. If y β‰  t, wi(baru) = wi(lama) + Ξ±*t*xi b(baru) = b(lama) + a*t else wi(baru) = wi(lama) b(baru) = b(lama) b(baru) = 0 + 1*1 = 1 w1(baru) = 0 + 1*1*-1 = -1 w2(baru) = 0 + 1*1*-1 = -1 w3(baru) = 0 + 1*1*-1 = -1 w4(baru) = 0 + 1*1*1 = 1 w5(baru) = 0 + 1*1*1 = 1 w6(baru) = 0 + 1*1*1 = 1 w7(baru) = 0 + 1*1*-1 = -1 w8(baru) = 0 + 1*1*-1 = -1 w9(baru) = 0 + 1*1*-1 = -1

4.

Hitung respon dari unit output untuk pola input 2 dengan b(baru) dan w(baru): [1,1,1,-1,-1,-1,1,1,1] y_in = 1 + (-1*1) + (-1*1) + (-1*1) + 1*-1 + 1*-1 + 1*-1 + (-1*1) + (-1*1) + (-1*1) = -8 Karena syarat y_in Λ‚ΞΈ, maka y= -1 Karena y = t maka tidak perlu dilakukan perubahan bobot. b(baru) = b(lama) w1(baru) = w1(lama) w2(baru) = w2(lama) w3(baru) = w3(lama) w4(baru) = w4(lama) w5(baru) = w5(lama)

w6(baru) = w6(lama) w7(baru) = w7(lama) w8(baru) = w8(lama) w9(baru) = w9(lama) Epoch 2 1.

Hitung respon dari unit output untuk pola input 1: [-1,-1,-1,1,1,1,-1,-1,-1] y_in = 1 + (-1*-1) + (-1*-1) + (-1*-1) + 1*1 + 1*1 + 1*1 + (-1*-1) + (-1*-1) + (-1*1) = 10 Karena syarat y_in Λƒ ΞΈ, maka y=1

2.

Karena y = t maka tidak perlu dilakukan perubahan bobot. b(baru) = b(lama) w1(baru) = w1(lama) w2(baru) = w2(lama) w3(baru) = w3(lama) w4(baru) = w4(lama) w5(baru) = w5(lama) w6(baru) = w6(lama) w7(baru) = w7(lama) w8(baru) = w8(lama) w9(baru) = w9(lama)

3.

Hitung respon dari unit output untuk pola input 2 dengan b(baru) dan w(baru): [1,1,1,-1,-1,-1,1,1,1] y_in = 1 + (-1*1) + (-1*1) + (-1*1) + 1*-1 + 1*-1 + 1*-1 + (-1*1) + (-1*1) + (-1*1) = -8 Karena syarat y_in Λ‚ΞΈ, maka y= -1 Karena y = t maka tidak perlu dilakukan perubahan bobot. b(baru) = b(lama) w1(baru) = w1(lama) w2(baru) = w2(lama) w3(baru) = w3(lama) w4(baru) = w4(lama) w5(baru) = w5(lama) w6(baru) = w6(lama) w7(baru) = w7(lama) w8(baru) = w8(lama) w9(baru) = w9(lama)

Pada epoch ke-2, ternyata setiap vektor input telah mampu menghasilkan nilai respon output yang sesuai dengan target yang diharapkan dan tidak terjadi lagi perubahan bobot. Sehingga proses pelatihan tidak perlu dilanjutkan ke epoch ke-3. Hal ini menandakan bahwa perceptron telah mampu mengklasifikasikan mana pola yang berada di kelas β€œ-” dan yang bukan di kelas β€œ-”.

Bias akhir yang dihasilkan = 1 Bobot akhir yang dihasilkan adalah sebagai berikut. [-1,-1,-1,1,1,1,-1,-1,-1]

Langkah-langkah bawah ini merupakan pelatihan pada contoh perceptron diatas tetapi ditampilkan dalam bentuk tabel. Penyelesaian: 1. Inialisasi:

b=wi = 0, dengan i=1,2,3,..,9. Ξ±=1; ΞΈ=0 Epoch 1 Table 1 Pola 1 Epoch 1

Input Target

y_in

Output

(t) xi

Ξ±

t

𝑏

y

+ βˆ‘ π‘₯𝑖 𝑀𝑖 𝑖

1

0

0

Perubahan

Perubahan

Bias

Bobot

Bias

Bobot

Baru

Baru

b(baru) =

wi(baru) =

b(lama) +

wi(lama) +

Ξ±*t

Ξ±*t* xi

1

-1

b(baru) wi(baru)

-1

1

1

-1

-1

1

-1

-1

-1

1

-1

-1

1

1

1

1

1

1

1

1

1

1

1

1

-1

1

-1

-1

-1

1

-1

-1

-1

1

-1

-1

Pada tabel 1 terlihat bahwa y β‰  target sehingga perlu dilakukan perubahan bobot.

Table 2 Pola 2 Epoch 1

Input Target

y_in

Output

(t) xi

Ξ±

t

𝑏

y

+ βˆ‘ π‘₯𝑖 𝑀𝑖 𝑖

-1

-8

-1

Perubahan

Perubahan

Bias

Bobot

Bias

Bobot

Baru

Baru

b(baru) =

wi(baru) =

b(lama) +

wi(lama) +

Ξ±*t

Ξ±*t* xi

b(baru) wi(baru)

1

1

1

-1

1

1

-1

1

1

-1

-1

1

1

-1

1

1

-1

1

1

1

1

-1

1

1

-1

1

1

-1 Pada tabel 2 terlihat bahwa y = target. Sehingga perubahan bobot tidak perlu

dilakukan.

Epoch 2 Table 3. Pola 1 Epoch 2

Input Target

y_in

Output

(t) xi

Ξ±

t

𝑏

y

+ βˆ‘ π‘₯𝑖 𝑀𝑖 𝑖

1

10

Perubahan

Perubahan

Bias

Bobot

Bias

Bobot

Baru

Baru

b(baru) =

wi(baru) =

b(lama) +

wi(lama) +

Ξ±*t

Ξ±*t* xi

1

b(baru) wi(baru)

-1

1

1

-1

-1

1

-1

-1

1

-1

1

1

1

1

1

1

1

1

1

-1

1

-1

-1

1

-1

-1

1

-1

Pada tabel 3 terlihat bahwa y = target. Sehingga perubahan bobot tidak perlu dilakukan.

Table 4. Pola 2 Epoch 2

Input Target

y_in

Output

(t) xi

Ξ±

t

𝑏

y

+ βˆ‘ π‘₯𝑖 𝑀𝑖 𝑖

-1

-8

-1

Perubahan

Perubahan

Bias

Bobot

Bias

Bobot

Baru

Baru

b(baru) =

wi(baru) =

b(lama) +

wi(lama) +

Ξ±*t

Ξ±*t* xi

b(baru) wi(baru)

1

1

1

-1

1

1

-1

1

1

-1

-1

1

1

-1

1

1

-1

1

1

1

1

-1

1

1

-1

1

1

-1

Pada tabel 4 terlihat bahwa y = target. Sehingga perubahan bobot tidak perlu dilakukan. Contoh ini berhenti pada epoch ke-2 karena pada kedua pola input tidak terdapat perubahan lagi. Sehingga proses pelatihan tidak perlu dilanjutkan ke epoch ke-3. Hal ini menandakan bahwa perceptron telah mampu mengklasifikasikan mana pola yang berada di kelas β€œ-β€œ. Bias akhir yang dihasilkan adalah 1. Bobot akhir yang dihasilkan adalah [-1,-1,1,1,1,1,-1,-1,-1].

Contoh 2: Klasifikasi dengan Model Perceptron Output Majemuk Model perceptron berikut akan dilatih untuk mengenali apakah pola input yang diberikan adalah pola karakter β€œ-” atau β€œ=”..

Gambar 3. Pola 1 Dan Pola 2

Unit input dan unit output yang digunakan bernilai bipolar sehingga kotak yang berwarna hijau akan bernilai +1. Sedangkan kotak berwarna biru bernilai -1. Bobot (w) dan bias (b) awal diinisialisasi dengan 0. Learning rate (Ξ±) diinisialisasidengan 1 dan threshold (ΞΈ) diinisialisasi dengan 0.

Bentuk pola input dan target yang digunakan untuk mengenali pola β€œ-” diberi nilai, untuk target bernilai 1 berarti pola input dikenali sebagai pola β€œ-”. Sedangkan target bernilai -1 berarti pola input tidak dikenali sebagai pola β€œ-”.

Pola Input

Target (t) β€œ-β€œ

Target (t) ”=”

Pola 1

1

-1

Pola 2

-1

1

Iterasi yang dilakukan pada proses pelatihan untuk mengenali pola β€œ-” adalah sebagai berikut. Perbedaan arsitektur perceptron yang digunakan dengan arsitektur perceptron pada contoh sebelumnya hanya berbeda pada jumlah unit output (jumlah kelas yang dihasilkan).

Gambar 4 Arsitektur Perceptron Majemuk

Langkah-langkah yang dilakukan pada pelatihan sama dengan di Contoh 1. Namun pada contoh berikut iterasi ditampilkan dalam bentuk tabel karena prosesnya tidak jauh berbeda dengan iterasi pada Contoh 1:

Penyelesaian: 1.

Inialisasi:

b=wi = 0, dengan i=1,2,3,4..,25. Ξ±=1; ΞΈ=0 Epoch 1 Table 5 Pola 1 Epoch 1 Input

Target

y_in

Output

Perubahan Bias

Perubahan Bobot

Bias Baru

Bobot Baru

y1

b(bar

b(baru)

W1(bar

W2(bar

b1(ba

b2(ba

W1(ba

W2(

ru)

ru)

ru)

bar

(t) X1

Ξ±

t1

t2

y_

y_

y2

in

in

u) =

=

u) =

u) =

1

2

b(lam

b(lama)

wi(lama

wi(lama

a) +

+ Ξ±*t

) + Ξ±*t*

) + Ξ±*t*

xi

xi

-1

1

Ξ±*t -1

1

1

-1

0

0

0

0

1

-1

-1

1

-1

-1

1

1

u)

1

-1

-1

1

1

-1

1

-1

1

-1

1

1

1

-1

1

-1

1

1

1

-1

1

-1

1

1

1

-1

1

-1

-1

1

-1

1

-1

1

-1

1

-1

1

-1

1

-1

1

-1

1

-1

1

Pada tabel 5 terlihat bahwa y1 β‰  target 1 dan y2 β‰  target 2 sehingga perlu dilakukan perubahan bobot. Bobot baru terletak pada kolom w1 (baru), w2(baru), b1(baru), dan b2(baru).

Table 6 Pola 2 Epoch 1 Input

Target

y_in

Output

Perubahan Bias

Perubahan Bobot

Bias Baru

Bobot Baru

y1

b(bar

b(baru)

W1(bar

W2(bar

b1(ba

b2(ba

W1(ba

W2(

ru)

ru)

ru)

bar

(t) X1

Ξ±

t1

t2

y_

y_

y2

in

in

u) =

=

u) =

u) =

1

2

b(lam

b(lama)

wi(lama

wi(lama

+ Ξ±*t

u)

1

1

1

-1

1

-8

8

-1

a) +

) + Ξ±*t*

) + Ξ±*t*

Ξ±*t

xi

xi

1

1

-1

-1

1

1

-1

1

1

1

-1

1

-1

1

1

-1

-1

1

1

-1

-1

1

1

-1

1

1

-1

1

1

1

-1

1

1

1

-1

1

Pada tabel 6 terlihat bahwa y1 = target 1 dan y2 = target 2. Sehingga perubahan bobot tidak perlu dilakukan.

Epoch 2 Table 7 Pola 1 Epoch 2 Input

Target

y_in

Output

Perubahan

Ξ±

t1

Bias Baru

Bobot Baru

Bias

(t) X1

Perubahan Bobot

t2

y_

y_in

in

2

y1

y2

1

b(b

b(baru)

W1(bar

W2(bar

b1(ba

b2(ba

W1(ba

W2(

aru)

=

u) =

u) =

ru)

ru)

ru)

bar

=

b(lama)

wi(lama

wi(lama

b(la

+ Ξ±*t

) + Ξ±*t*

) + Ξ±*t*

xi

xi

ma)

u)

+ Ξ±*t -1

1

-1

1

-1

10

-10

1

-1

1

-1

-1

1

1

-1

1

-1

1

-1

1

1

1

1

-1

1

1

1

-1

1

1

1

-1

-1

1

-1

1

-1

1

-1

1

-1

1

-1

1

Pada tabel 7 terlihat bahwa y1 = target 1 dan y2 = target 2. Sehingga perubahan bobot tidak perlu dilakukan.

Table 8 Pola 2 Epoch 2 Input

Target

y_in

Output

Perubahan Bias

Perubahan Bobot

Bias Baru

Bobot Baru

y1

b(bar

b(baru)

W1(bar

W2(bar

b1(ba

b2(ba

W1(ba

W2(

ru)

ru)

ru)

bar

(t) X1

Ξ±

t1

t2

y_

y_

y2

in

in

u) =

=

u) =

u) =

1

2

b(lam

b(lama)

wi(lama

wi(lama

a) +

+ Ξ±*t

) + Ξ±*t*

) + Ξ±*t*

xi

xi

Ξ±*t 1

1

1 1

1

-1

-8

8

-1

1

u)

1

-1

-1

1

1

-1

1

1

-1

1

-1

1

1

-1

-1

1

1

-1

-1

1

1

-1

1

1

-1

1

1

1

-1

1

1

1

-1

1

Pada tabel 8 terlihat bahwa y1 = target 1 dan y2 = target 2. Sehingga perubahan bobot tidak perlu dilakukan.

Contoh ini berhenti pada epoch ke-2 karena pada kedua pola input tidak terdapat perubahan lagi. Sehingga proses pelatihan tidak perlu dilanjutkan ke epoch ke-3. Hal ini menandakan bahwa perceptron telah mampu mengklasifikasikan mana pola yang berada di kelas β€œ-β€œ dan yang berada di kelas β€œ=”.

Kelas Bias akhir yang dihasilkan = 1 Bobot akhir yang dihasilkan adalah sebagai berikut. [-1,-1,-1,1,1,1,-1,-1,-1]

Kelas = Bias akhir yang dihasilkan = -1 Bobot akhir yang dihasilkan adalah sebagai berikut. [1,1,1,-1,-1,-1,1,1,1] Soal:

Buatlah jaringan perceptron untuk mengenali apakah pola input yang diberikan adalah pola karakter β€œ/”. Dengan Kotak Hitam akan bernilai +1. kotak Putih bernilai -1. (w) dan (b) = 0. (Ξ±) = 1 dan (ΞΈ) = 0. Dengan target pola input di bawah ini Pola Input

Target (t)

Pola 1

1

Pola 2

-1

More Documents from "supadma"

Resume_1605552031.docx
December 2019 2
Ann_perceptron.docx
December 2019 1
Data Mining 1.pptx
December 2019 4
1605552031_statistik.docx
December 2019 3
1040-4179-1-sm.pdf
December 2019 3