AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
Kohonen SOM dan Learning Vector Quantization (LVQ)
1. Pascasarjana Matematika/ITS Page 1
Exploratory Data Analysis
JST-Kohonen SOM dan Learning Vector Quantization (LVQ)
Abstrak
Pada makalah ini dibahas aplikasi jaringan syaraf tiruan Kohonen SOM dan Learning Vector Quantization (LVQ) untuk pengelompokan atau clustering berdasarkan kesamaan atribut yang dimiliki bersama. Banyaknya atribut yang sama akan menggambarkan kedekatan kelompok daerah.
Sistem ternyata mampu menghasilkan kelompok daerah yang terbentuk dari kesamaan dan kemiripan atribut, sehingga dapat diketahui keseesuaian pengalokasian subsidi dan sumbangan untuk setiap daerah tingkat II.
1. Pendahuluan
Dalam suatu komputasi yang lebih kompeks, sangat tidka mungkin untuk membentuk suatu model karena kurang mencukupinya pengetahuan eksplisit tentang factor-faktor yang mempengaruhi time series atau pengetahuan tersebut perlu coast besar dalam memperolehnya. Dalam keadaan seperti ini metode exploratory data analysis (EDA) masih tetap dapat digunakan.
Metode EDA dapat digunakan untuk mengilustrasikan struktur dalam sehimpun data statistik. Tujuan utama dari EDA adalah menampilkan agar mudah dipahami tetapi pada waktu yang bersamaan menyediakan informasi se-esensial mungkin dari himpunan data aslinya. Cluster analysis biasanya didasarkan kepada jarak ultrametic yang didefinisikan sepanjang graph hierarki clustring melalui perbandingan langsung dari simiaritas setiap dua data set yang terlihat membingungkan.
Algoritma Kohonen-SOM adalah suatu metode yang unik dan dapat mengkombinasikan proyeksi dan algoritma clustering. Pada saat ang sama Kohonen SOM dapat digunakan untuk memvisualisasi cluster dalam sehimpunan data set dan untuk mempresentasikan data set dalam pemetaan dua-dimensi dengan tetap menjaga kedidaklinearan item-item data.
Learning Vector Quantization (LVQ) adalah sebuah metode klasifikasi dimana setiap unit output mempresentasikan sebuah kelas. LVQ digunakan untuk pengelompokkan dimana jumlah kelompok sudah ditentukan arsitekturnya (target/kelas sudah ditentukan).
2. Pascasarjana Matematika/ITS Page 2
LVQ salah satu jaringan syaraf tiruan yang merupakan algoritma pembelajaran kompetitif terawasi versi dari algoritma Kohonen Self-Organizing Map (SOM). Tujuan dari algoritma ini adalah untuk mendekati distribusi kelas vektor untuk meminimalkan kesalahan dalam pengklasifikasian.
Berikut akan dilakukan pengelompokan atau clustering wilayah jawa timur yang membaginya ke dalam 4 kelompok berdasarkan kesamaan atribut yang dimiliki bersama dengan menggunakan algoritma Kohonen SOM dan Learning Vector Quantization (LVQ)
2. Clustering
Analisis Cluster adalah upaya menemukan sekelompok obyek yang mewakili suatu karakter yang sama atau hampir sama (similar) antar satu obyek dengan obyek lainnya pada suatu kelompok dan memiliki perbedaan (not similar) dengan obyek–obyek pada kelompok lainnya. Tentunya persamaan dan perbedaan tersebut diperoleh berdasar informasi yang diberikan oleh obyek–obyek tersebut beserta hubungan (relationship) antar obyek.
Berdasarkan tipe pembelajarannya, jaringan syaraf tiruan (JST) dapat dibagi menjadi dua macam tipe JST, JST supervised dan JST unsupervised. Perbedaan kedua macam JST tersebut didasarkan pada sifat data dan kemampuan pembelajaran JST. Pada JST supervised data pelatihannya terdapat data masukan dan data pembimbing, proses pembelajaran adalah penyesuaian bobot JST agar dengan keluaran proses data masukan akan menyerupai data bimbingan. Sedangkan yang dimaksud JST unsupervised adalah JST yang mempunyai kemampuan penyesuaian bobot JST hanya didasarkan data masukannya (tanpa data pembimbing).
3. Algoritma SOM (Self-Organizing Map) Kohonen
Jaringan SOM Kohonen merupakan salah satu model jaringan syaraf yang menggunakan metode pembelajaran unsupervised.
Gambar 1. Struktur Jaringan Syaraf Tiruan SOM Kohonen
3. Pascasarjana Matematika/ITS Page 3
Jaringan SOM Kohonen terdiri dari dua layer, yaitu layer input dan layer output. Setiap neuron dalam lapisan input terhubung dengan setiap neuron pada lapisan output. Setiap neuron dalam lapisan output merepresentasikan kelas dari input yang diberikan. Berikut ini adalah tahapan algoritma JST kohonen sebagai berikut:
Langkah 0 Inisialisasi bobot 푤푖푗 dengan nilai random. Atur parameter learning rate dan parameter tetangga (R)
Langkah 1 Apabila kondisi selesai belum terpenuhi, lakukan langkah 2-8
Langkah 2 Untuk setiap vector input x, lakukan langkah 3-5
Langkah 3 Untuk setiap j, Hitung:
퐷(푗)= Σ(푤푖푗 푖 −푥푖)2
Langkah 4 Mencari indeks j dengan 퐷(푗) adalah minimum
Langkah 5 Melakukan perbaikan nilai 푤푖푗 dengan nilai tertentu yaitu :
푤푖푗(푛푒푤)=푤푖푗(표푙푑)+∝[푥푖−푤푖푗(표푙푑)]
Langkah 6 Learning rate diperbarui
Langkah 7 Mereduksi radius dari fungsi tetangga pada waktu tertentu (epoch).
Langkah 8 Menentukan kondisi STOP
4. Algoritma Learning Vector Quantization (LVQ)
Learning vector quantization (LVQ) adalah metode pengelompokan polayang mana setiap output mewakili suatu kelas atau kategori. Vector referensi maupun vector pelatihan dapat berupa data riil biner atau bipolar. Arsitektur dari suatu LVQ neural network ditunjukkan pada gambar2. Algoritma dari metode ini sebagai berikut:
Langkah 0 Inisialisasi vector referensi dan learning rate
Langkah 1 Selama kondisi berhenti salah, kerjakan langkah 2-6
Langkah 2 Untuk setiap vector input x, kerjakan langkah 3-4
Langkah 3 Dapatkan J sehingga ‖푥− 푤푗‖ minimum
Langkah 4 Perbaiki wj menurut:
Jika T = Cj, maka
wj (new) = wj (old) + a[x – wj (old)]
if T ≠ Cj, maka
wJ(new) = wJ(old) – _[x – wj(old)]
4. Pascasarjana Matematika/ITS Page 4
Langkah 5 Reduksi learning rate
Langkah 6 Uji kondisi berhenti
Dapat menggunakan jumlah iterasi yang tetap atau learning rate mendekati nilai yang sangat kecil.
Keterangan notasi :
x vector training (x1, . . .,xi, . . ., xn)
T kategori yang benar untuk vector training
w vector bobot unit output ke-j (x1j, . . .,xij, . . ., xnj)
Cj kategori yang diwakilkan oleh unit output ke-j.
‖푥− 푤푗‖ jarak Euclidean antara vector input dan vector bobot untuk unit output ke-j
Gambar 2. LVQ Neural Net
8. Pascasarjana Matematika/ITS Page 8
Klasifikasi=vec2ind(output);%hasil dr outpu dujadkan vektor 2 dimensi
figure(5)
plotsom(net.layers{1}.positions);
hold off
figure(3)
plotsom(net.iw{1,1},net.layers{1}.distances);%jarak
figure(2)
plotsomnd(net);%jaringan
figure(4)
plotsomhits(net,data');%
xlswrite('DataJawaTimur.xlsx',Klasifikasi',1,'P2');
[o NamaKota]=xlsread('DataJawaTimur.xlsx',1,'A2:A38');%
delete('DataKelas.xlsx')
listKelas=[];
for k=1:4
for i=1:37
if Klasifikasi(i) == k
kelas=NamaKota(i);
listKelas=[listKelas kelas];
end
end
if isempty(listKelas)%jika kosong dlm kelompok
listKelas='kosong';
end
x=[64+k];
Range = char(x);%menentukan di exel kolom A,B,C,D berdasarkan asci
xlswrite('DataKelas.xlsx',listKelas',2,Range);
listKelas=[];
end
[o datakelas]=xlsread('DataKelas.xlsx',2,'A1:z37');%plot pengelompokan
set(handles.uitable5,'data',datakelas);
10. Pascasarjana Matematika/ITS Page 10
Klasifikasi=vec2ind(output);
Output=Klasifikasi'
xlswrite('DataJawaTimur.xlsx',Klasifikasi',1,'Q2');
[o NamaKota]=xlsread('datatraining.xlsx',1,'A2:A34');
delete('DataKelas.xlsx')
listKelas=[];
for k=1:4
for i=1:33
if Klasifikasi(i) == k
kelas=NamaKota(i);
listKelas=[listKelas kelas];
end
end
if isempty(listKelas)
listKelas='kosong';
end
x=[64+k];
Range = char(x);
xlswrite('DataKelas.xlsx',listKelas',3,Range);
listKelas=[];
end
[o datakelas]=xlsread('DataKelas.xlsx',3,'A1:z37');
set(handles.uitable5,'data',datakelas);