Clustering (Season 2) Self-Organizing Map

Slides:



Advertisements
Presentasi serupa
Kohonen Self Organizing Feature Map
Advertisements

Self Organizing Map.
JARINGAN KOMPETISI dg BOBOT TETAP
Pengelompokan Jenis Tanah Menggunakan Algoritma Clustering K-Means
(Jaringan Syaraf Tiruan) ANN (Artificial Neural Network)
Self Organizing Maps Tim Asprak Metkuan
Yanu Perwira Adi Putra Bagus Prabandaru
Computer Vision Materi 8
Klasifikasi (Season 2) Nearest Neighbor
Klasifikasi (Season 1) Naive Bayes
Aplikasi Matlab untuk Jaringan Syaraf Tiruan
JaRINGAN SARAF TIRUAN (Neural Network)
Ir. Endang Sri Rahayu, M.Kom.
Dr. Benyamin Kusumoputro
Aplikasi Model Jaringan Syaraf Tiruan dengan Radial Basis Function untuk Mendeteksi Kelainan Otak (Stroke Infark) Yohanes Tanjung S.
JST BACK PROPAGATION.
Jaringan Syaraf Tiruan
Konsep dasar Algoritma Contoh Problem
Fuzzy Clustering Logika Fuzzy Materi Kuliah Prodi Teknik Informatika
Fuzzy Clustering Materi Kuliah (Pertemuan 13 & 14) LOGIKA FUZZY
JARINGAN SARAF TIRUAN LANJUTAN
Pengolahan Citra Digital Materi 6
MODEL JARINGAN PERCEPTRON
Jaringan Syaraf Tiruan (JST) stiki. ac
JST BACK PROPAGATION.
Fuzzy Clustering Materi Kuliah (Pertemuan 13 & 14) LOGIKA FUZZY
Perceptron.
Jarringan Syaraf Tiruan
Artificial Intelligence Oleh Melania SM
Sistem Berbasis Fuzzy Materi 4
Pertemuan 12 ARTIFICIAL NEURAL NETWORKS (ANN) - JARINGAN SYARAF TIRUAN - Betha Nurina Sari, M.Kom.
Perceptron Algoritma Pelatihan Perceptron:
K-SUPPORT VECTOR NEAREST NEIGHBOR UNTUK KLASIFIKASI BERBASIS K-NN
Pelatihan BACK PROPAGATION
Sistem Berbasis Fuzzy Materi 5
Fuzzy Clustering Materi Kuliah (Pertemuan 13 & 14) LOGIKA FUZZY
JST (Jaringan Syaraf Tiruan)
Jaringan Syaraf Tiruan
Pengenalan Pola Materi 1
Segmentasi Citra Materi 6
JST PERCEPTRON.
Aplikasi Kecerdasan Komputasional
Jaringan Syaraf Tiruan Artificial Neural Networks (ANN)
Jaringan Syaraf Tiruan
SOM – KOHONEN Unsupervised Learning
K-Nearest Neighbor dan K-means
Jaringan Syaraf Tiruan (JST)
Jaringan Syaraf Tiruan (Artificial Neural Networks)
Clustering (Season 1) K-Means
MLP Feed-Forward Back Propagation Neural Net
Artificial Intelligence (AI)
Jaringan Syaraf Tiruan Artificial Neural Networks (ANN)
Struktur Jaringan Syaraf Tiruan
D. Backpropagation Pembelajaran terawasi dan biasa digunakan perceptron dengan banyak lapisan untuk mengubah bobot-bobot yang terhubung dengan neuron-neuron.
Artificial Neural Network
JARINGAN SYARAF TIRUAN
Clustering (Season 2) Self-Organizing Map
Analisis Klastering K-Means Model Datamining Kelompok 1 Eko Suryana
Pelatihan BACK PROPAGATION
Pertemuan 12 ARTIFICIAL NEURAL NETWORKS (ANN) - JARINGAN SYARAF TIRUAN - Betha Nurina Sari, M.Kom.
Self-Organizing Network Model (SOM) Pertemuan 10
Klasifikasi Nearest Neighbor
Metode Data Mining “ Self-Organizing Map [SOM] ” Taskum Setiadi ADVANCE MACHINE LEARNING STMIK Nusa Mandiri Jakarta2016 ADVANCE MACHINE LEARNING.
JARINGAN SYARAF TIRUAN
JARINGAN SYARAF TIRUAN
JARINGAN SYARAF TIRUAN BERBASIS KOMPETISI
Segmentasi Citra Materi 6
Implementasi clustering K-MEANS (dengan IRIS dataset)
Universitas Gunadarma
Teori Bahasa Otomata (1)
Transcript presentasi:

Clustering (Season 2) Self-Organizing Map Pengenalan Pola Materi 4 Eko Prasetyo Teknik Informatika UPN “Veteran” Jawa Timur 2012

Self-Organizing Map Self-Organizing Map (SOM) pertama kali diperkenalkan oleh Kohonen (Kohonen, 1989) Memperkenalkan teknik pelatihan ANN yang berbasis winner take all, dimana hanya neuron yang menjadi pemenang yang akan dilakukan pembaruan pada bobotnya. Meskipun berbasis ANN, SOM tidak menggunakan nilai target kelas, tidak ada kelas yang ditetapkan untuk setiap data Karakteristik inilah yang membuat SOM dapat digunakan untuk keperluan clustering (berbasis ANN) Arsitektir SOM dapat digambarkan secara topografi untuk dapat memberikan visualisasi clustering

Topografi SOM Linear neighborhood Rectangular neighborhood Hexagonal neighborhood

Self-Organizing Map Ada K neuron yang disusun dalam larik satu atau dua dimensi Sinyal masukan untuk setiap neuron dilewatkan pada bobot dengan jumlah elemen bobot yang sama dengan N fitur (Kohonen, 1989) Sehingga untuk arsitektur SOM akan memerlukan NK bobot Neuron dengan nilai terkecil dianggap sebaga neuron pemenang Kemudian akan memperbarui bobotnya bersama dengan tetangga-tetangga yang didefinisikan dalam arsitekturnya Komputasi sinyal keluaran tidak menggunakan inner- product seperti pada perceptron Tetapi menggunakan Euclidean kuadrat (square Euclidean) antara data masukan dengan bobot pada setiap neuron pemroses.

Self-Organizing Map Akumulasi sinyal yang didapat tidak perlu diaktivasi (fungsi aktivasi linear) Karena fungsi aktivasi tidak memberikan pengaruh pada pemilihan neuron pemenang yang akan memperbarui bobotnya dan bobot tetangganya. Cluster yang diikuti oleh sebuah data sebagai hasil proses clustering ditunjukkan oleh indeks neuron dalam layernya Untuk K neuron maka ada cluster 1 sampai K yang diberikan sebagai hasil clustering Tidak adalah error yang dihitung pada setiap iterasi pelatihan Kriteria berhentinya proses pelatihan dalam SOM (sebagai proses clustering) menggunakan jumlah iterasi tertentu

Self-Organizing Map Pada setiap iterasi untuk setiap data yang diproses, neuron dengan nilai keluaran terkecil akan mengalami perbaruan bobot bersama dengan tetangga yang didefinisikan. Misalnya, untuk ketetanggaan linear, tetangga pada radius R disekitar neuron J yang terdiri dari semua unit j yaitu max(1,J-R)  j  min(J+R,K), dimana K adalah jumlah neuron (cluster). Arsitektur ANN SOM

Algoritma Pelatihan SOM Yang perlu ditekankan adalah bobot yang terhubung tidak dikalikan dengan sinyal (data masukan) untuk neuron pemroses tetapi menggunakan kuantisasi perbedaan (atau ketidakmiripan) antara data masukan dengan K neuron pemroses (kecuali jika menggunakan metrik inner-product untuk mengukur perbedaan/ketidakmiripan). Algoritma Clustering dengan Self-Organizing Map: Inisialisasi bobot wij. Tentukan parameter topologi ketetanggaan. Tentukan parameter laju pembelajaran. Tentukan jumlah maksimal iterasi pelatihan Selama jumlah maksimal iterasi belum tercapai, lakukan langkah 3 – 7. Untuk setiap data masukan X, lakukan langkah 4 – 6. Untuk setiap neuron j, hitung , i = 1, …, N, N adalah dimensi data (N). Cari indeks dari sejumlah neuron yaitu Dj, yang mempunyai nilai terkecil. Untuk neuron j dan semua neuron yang menjadi tetangga J (yang sudah didefinisikan) dalam radius R, dilakukan perbaruan bobot: . Perbarui nilai laju pembelajaran.

Algoritma Pelatihan SOM Nilai laju pembelajaran () yang digunakan disini sama dengan ANN perceptron, menggunakan jangkauan nilai 0 sampai 1 Tetapi nilai ini akan terus diturunkan setiap kali kenaikan iterasi dengan sebuah fungsi pembelajaran (learning function); penurunan geometrik akan memberikan hasil yang sama. Misal, penurunan (fungsi pembelajaran) sebesar 0.6, maka jika pada iterasi pertama menggunakan =0.5 maka pada iterasi kedua akan menjadi =0.6, pada iterasi ketiga akan menjadi =0.60.6. Inisialisasi bobot awal, bisa menggunakan nilai acak dengan jangkauan -0.5 sampai +0.5 atau menggunakan nilai acak dengan jangkauan nilai seperti pada data masukan

Contoh Data asli Data X Y 1 2 4 3 5 Akan dilakukan clustering pada 5 buah data dengan jumlah dimensinya 2: X dan Y. Parameter yang digunakan: Jumlah cluster 3 Jumlah iterasi pelatihan maksimal 5 Laju pembelajaran 0.5 dan akan menjadi 0.6 (fungsi pembelajaran) darinya pada iterasi berikutnya. Inisialisasi bobot, karena jumlah fitur ada 2 dan jumlah cluster ada 3 maka matrik bobot w berukuran 23, secara acak digunakan bobot awal sebagai berikut:

Iterasi 1 (data 1) Bobot lama: Untuk data 1 [1 1], hitung jarak ke setiap neuron: terkecil Jarak terkecil (terdekat) adalah neuron ke-1, maka neuron 1 diperbarui bobotnya: Bobot baru menjadi: Data berikutnya…

Iterasi 1 (data 2) Bobot lama: Untuk data 2 [4 1], hitung jarak ke setiap neuron: terkecil Jarak terkecil (terdekat) adalah neuron ke-1, maka neuron 1 diperbarui bobotnya: Bobot baru menjadi: Data berikutnya…

Iterasi 1 (data 3) Bobot lama: Untuk data 3 [1 2], hitung jarak ke setiap neuron: Jarak terkecil (terdekat) adalah neuron ke-2, maka neuron 2 diperbarui bobotnya: terkecil Bobot baru menjadi: Data berikutnya…

Iterasi 1 (data 3) Bobot lama: Untuk data 4 [3 4], hitung jarak ke setiap neuron: Jarak terkecil (terdekat) adalah neuron ke-3, maka neuron 3 diperbarui bobotnya: terkecil Bobot baru menjadi: Data berikutnya…

Iterasi 1 (data 3) Bobot lama: Untuk data 5 [5 4], hitung jarak ke setiap neuron: Jarak terkecil (terdekat) adalah neuron ke-3, maka neuron 3 diperbarui bobotnya: terkecil Bobot baru menjadi: Iterasi berikutnya…

Hasil Iterasi 1 Bobot baru setelah iterasi 1: Laju pembelajaran yang baru menjadi: Indeks cluster yang diikuti data: Lanjut ke Iterasi berikutnya…

Pembaruan Cluster Terdekat Iterasi 1 - 2 Iterasi Data D Cluster Terdekat  Pembaruan Cluster Terdekat Bobot Inisialisasi bobot 2 2 2 2 3 5 a b c = b*(a-dprev) d = a+c 1 1 1 2 5 17 0.5 -0.5 1.5 2 2 1.5 3 5 4 1 6.5 8 20 1.25 -0.25 2.75 2 2 1.25 3 5 1 2 3.625 2 10 2 2.75 1.5 2 1.25 2.5 5 3 4 7.625 4.5 2 3 2.75 1.5 2.5 1.25 2.5 4.5 5 4 12.625 14.5 6.5 2.75 1.5 3.75 1.25 2.5 4.25 3.125 2.5 18.125 0.3 -0.15 -0.45 2.75 1.35 3.75 1.25 2.05 4.25 1.625 8.125 10.625 0.375 -0.075 3.125 1.35 3.75 1.175 2.05 4.25 5.1962 0.125 12.625 -0.105 -0.015 3.125 1.245 3.75 1.175 2.035 4.25 7.9962 6.9412 0.625 -0.2250 -0.0750 3.125 1.245 3.525 1.175 2.035 4.175 11.4962 17.9612 2.2062 0.4425 -0.0525 3.125 1.245 3.9675 1.175 2.035 4.1225

Pembaruan Cluster Terdekat Iterasi 3 - 5 Iterasi Data D Cluster Terdekat  Pembaruan Cluster Terdekat Bobot a b c = b*(a-dprev) d = a+c 3 1 1 2 0.18 4 1 1 1 2 3 4 5 4 3.2825 1.1647 4.0105 1.1435 1.8759 4.0824 4 0.108 3.3600 1.1311 4.0201 1.1280 1.8049 4.0655 5 0.0648 3.4015 1.1146 4.0217 1.1197 1.7688 4.0573 Indeks (nomor) cluster yang diikuti data Bobot akhir setelah 5 iterasi pelatihan

Fungsi SOM di matlab sintaks penggunaan sebagai berikut: [Idx, w, C, D] = somtrain(X,C,Iterasi,lr,lf) Fungsi tersebut digunakan untuk melakukan clustering pada data set X pada sejumlah cluster C. Penjelasan parameter yang digunakan sebagai berikut: Parameter Keterangan X X adalah matrik MN, dimana M menyatakan jumlah data, N menyatakan jumlah fitur. C C menyatakan jumlah cluster (neuron pemroses). Iterasi Jumlah maksimal iterasi, default=100. lr Laju pembelajaran (), default = 0.5. lf Fungi pembelajaran, default = 0.6. Idx Matrik M1 yang menyatakan indeks cluster, setiap barisnya menyatakan cluster yang diikuti data pada baris tersebut di matrik X. Nilainya berturut-turut mulai 1, 2, .... sesuai indeks cluster. w Matrik NC yang menyatakan bobot untuk setiap neuron (cluster), N menyatakan jumlah fitur, C menyatakan jumlah neuron (cluster). D Matrik MC, baris menyatakan data, kolom menyatakan jarak data ke neuron (cluster).

Contoh Program data = [ 1 4 1 3 5; 1 1 2 4 4; ]'; C = 3; Iterasi = 5; lr = 0.5; lf = 0.6; [idx, w, C, D] = somtrain(data,C,Iterasi,lr,lf); figure('Position',[300 300 250 200]); plot(data(idx==1,1),data(idx==1,2),'ko',data(idx==2,1),data(idx==2,2),'k+',data(idx==3,1),data(idx==3,2),'k^','MarkerSize',6); axis([0 6,0 6]); display('bobot: w1 | w2 | w3'); w display(' X | Y | C | D1 | D2 | D3 '); [data idx D]

Contoh Program Hasil clustering data set dengan SOM >> contoh_som bobot: w1 | w2 | w3 w = 3.4015 1.1146 4.0217 1.1197 1.7688 4.0573 X | Y | C | D1 | D2 | D3 ans = 1.0000 1.0000 2.0000 5.5859 0.6651 18.5183 4.0000 1.0000 1.0000 0.4260 8.8462 9.3979 1.0000 2.0000 2.0000 6.5419 0.0761 13.3872 3.0000 4.0000 3.0000 8.4573 8.5328 1.0448 5.0000 4.0000 3.0000 10.8514 20.0742 1.0980 Hasil clustering data set dengan SOM

To Be Continued … Clustering (Season 3) ANY QUESTION ?