• Tidak ada hasil yang ditemukan

Laporan 1 Kelompok 6 Absen 2, 4, 15

Arfa Erdianto Saputra

Academic year: 2023

Membagikan "Laporan 1 Kelompok 6 Absen 2, 4, 15"

Copied!
10
0
0

Teks penuh

(1)

LAPORAN PRAKTIKUM

MATA KULIAH PRAKTIKUM SISTEM KENDALI CERDAS

“ARTIFICIAL NEURAL NETWORK”

“JARINGAN COUNTERPROPAGATION”

Dosen Pengajar : Mila Fauziyah, S.T., M.T.

Disusun Oleh :

Alfino Septian Dwi Cahyo ( 02 / 2141170019 ) Arfa Erdianto Saputra (04 / 2141170096)

Muhammad Reynaldi Arya Hanafi ( 15 / 2141170148 )

PROGRAM STUDI D-IV TEKNIK ELEKTRONIKA JURUSAN TEKNIK ELEKTRO

POLITEKNIK NEGERI MALANG 2023

(2)

“ARTIFICIAL NEURAL NETWORK”

“JARINGAN COUNTERPROPAGATION”

I. Tujuan

1. Mahasiswa mengerti dan dapat mengoperasikan jaringan Counterpropagation pada Matlab 2. Mahasiswa memiliki keterampilan dasar dalam melakukan pengujian jaringan

Counterpropagation pada Matlab

3. Mahasiswa dapat mengidentifikasi jaringan Counterpropagation pada Matlab

II. Dasar Teori

Counterpropagation adalah salah satu jenis jaringan saraf buatan yang dikembangkan oleh Teuvo Kohonen pada tahun 1982. CPNN adalah pengembangan dari Self-Organizing Map (SOM) yang juga diciptakan oleh Kohonen. CP digunakan dalam tugas klasifikasi data, khususnya dalam konteks pengenalan pola.

Counterpropagation adalah teknik pengklasifikasian data menggunakan jaringan saraf tiruan yang terdiri dari beberapa layer, yaitu layer input, layer kodebook, dan layer output. Layer kodebook merepresentasikan centroid dari setiap kelas yang ingin diklasifikasikan. CPN dilatih menggunakan algoritma pelatihan yang terdiri dari dua tahap, yaitu tahap kompetisi dan tahap kooperasi. Pada tahap kompetisi, neuron pada layer kodebook bersaing untuk merepresentasikan data input. Pada tahap kooperasi, bobot kodebook diperbarui berdasarkan data input yang telah diklasifikasikan. Dalam rangkaian pengembangan jaringan saraf, CPNN adalah salah satu pendekatan yang dapat digunakan untuk mengatasi masalah klasifikasi dengan memanfaatkan pengelompokan data dalam ruang fitur berdimensi tinggi.

Jaringan ini merupakan jaringan multilayer berdasarkan kombinasi lapisan masukan, keluaran, dan pengelompokan. Penerapan jaringan counterpropagation adalah kompresi data, perkiraan fungsi dan asosiasi pola. Jaringan counterpropagation pada dasarnya dibangun dari model instar-outstar. Model ini adalah jaringan saraf tiga lapis yang melakukan pemetaan data input-output, menghasilkan vektor keluaran y sebagai respons terhadap vektor masukan x, berdasarkan pembelajaran kompetitif.

Tiga lapisan dalam model instar-outstar adalah lapisan masukan, lapisan tersembunyi (kompetitif) dan lapisan keluaran. Ada dua tahap yang terlibat dalam proses pelatihan jaringan kontrapropagasi. Vektor masukan dikelompokkan pada tahap pertama. Pada

(3)

pelatihan tahap kedua, bobot dari unit lapisan cluster hingga unit keluaran disesuaikan untuk mendapatkan respon yang diinginkan.

1. Jenis jaringan Counterpropagation:

1. Jaringan counterpropagation penuh

CPN penuh secara efisien mewakili sejumlah besar pasangan vektor x:y dengan membuat tabel pencarian secara adaptif. CPN penuh bekerja paling baik jika fungsi invers ada dan kontinu. Vektor x dan y merambat melalui jaringan secara berlawanan arah untuk menghasilkan vektor keluaran x* dan y*.

- Arsitektur CPN Penuh :

Empat komponen utama model instar-outstar adalah lapisan masukan, lapisan instar, lapisan kompetitif, dan lapisan luar. Untuk setiap node pada lapisan masukan terdapat nilai masukan xi. Semua instar dikelompokkan ke dalam lapisan yang disebut lapisan kompetitif. Masing-masing instar merespons secara maksimal terhadap sekelompok vektor masukan di wilayah ruang berbeda. Model outstar ditemukan memiliki semua node di lapisan keluaran dan satu node di lapisan kompetitif. Outstar tampak seperti penyebaran sebuah node.

(4)

2. Jaringan counterpropagation khusus maju

Versi CPN lengkap yang disederhanakan adalah CPN khusus penerusan.

CPN khusus maju hanya menggunakan vektor x untuk membentuk cluster pada unit Kohonen selama pelatihan fase I. Dalam kasus CPN maju saja, vektor masukan pertama disajikan ke unit masukan. Pertama, bobot antara lapisan input dan lapisan cluster dilatih. Kemudian bobot antara lapisan cluster dan lapisan keluaran dilatih. Ini adalah jaringan kompetitif yang spesifik, dengan target yang diketahui.

- Arsitektur CPN khusus maju :

Ini terdiri dari tiga lapisan: lapisan input, lapisan cluster dan lapisan output. Arsitekturnya menyerupai jaringan propagasi balik, namun pada CPN terdapat interkoneksi antar unit pada lapisan cluster.

2. Algoritma Pelatihan CPN :

Langkah 0 : Tetapkan bobot dan kecepatan pembelajaran awal.

Langkah 1 : Lakukan langkah 2 hingga 7 jika kondisi berhenti salah untuk latihan fase I.

Langkah 2 : Untuk setiap pasangan vektor masukan pelatihan x:y yang disajikan, lakukan langkah 3 hingga .

Langkah 3: Lakukan aktivasi lapisan input X ke vektor X.Lakukan aktivasi

(5)

lapisan masukan Y ke vektor Y.

Langkah 4: Temukan unit cluster pemenang. Jika metode perkalian titik digunakan, carilah unit cluster zj dengan input bersih target; untuk j=1 sampai p, zinj=∑xi.vij + ∑yk.wkj

Jika menggunakan metode jarak Euclidean, carilah unit cluster zj yang kuadrat jaraknya dari vektor masukan paling kecil:

Dj=∑(xi-vij)^2 + ∑(yk-wkj)^2

Jika terjadi seri pada pemilihan unit pemenang, maka unit dengan indeks terkecillah yang menjadi pemenangnya. Ambil indeks unit pemenang sebagai J.

Langkah 5: Perbarui bobot pada unit pemenang yang dihitung zj.

Untuk i=1 sampai n, viJ(baru)=viJ(lama) + α[xi-viJ(lama)]

Untuk k =1 sampai m, wkJ(baru)=wkJ(lama) + β[yk-wkJ(lama)]

Langkah 6: Kurangi kecepatan pembelajaran.

α (t+1)=0,5α(t); β(t+1)=0,5β(t)

Langkah 7: Uji kondisi penghentian untuk pelatihan fase I.

Langkah 8: Lakukan langkah 9 hingga 15 ketika kondisi berhenti salah untuk latihan fase II.

Langkah 9: Lakukan langkah 10 hingga 13 untuk setiap pasangan vektor masukan pelatihan x:y. Di sini α dan β adalah nilai konstanta kecil.

Langkah 10: Lakukan aktivasi lapisan input X ke vektor x. Jadikan aktivasi lapisan masukan Y ke vektor y.

Langkah 11: Temukan unit cluster pemenang (Menggunakan rumus dari langkah 4). Ambil indeks unit pemenang sebagai J.

Langkah 12: Perbarui bobot yang masuk ke unit zJ.

Untuk i=1 sampai n, viJ(baru)=viJ(lama) + α[xi-viJ(lama)]

Untuk k =1 sampai m, wkJ(baru)=wkJ(lama) + β[yk-wkJ(lama)]

Langkah 13: Perbarui bobot dari unit zj ke lapisan keluaran.

Untuk i=1 sampai n, tJi(baru)=tJi(lama) + b[xi-tJi(lama)]

Untuk k =1 sampai m, uJk(baru)=uJk(lama) + a[yk-uJk(lama)]

Langkah 14: Kurangi kecepatan pembelajaran a dan b.

a(t+1)=0,5a(t); b(t+1)=0,5b(t)

Langkah 15: Uji kondisi penghentian untuk pelatihan fase II.

(6)

III. Alat dan Bahan

1. Komputer atau Laptop 2. Software Matlab 2021a

3. Buku Refrensi Artificial Neural Network (CounterPropagation) IV. Hasil dan Pembahasan

1. Syntax Matlab

clc clear all

% Membuat dataset jaringan fiber

n_samples = 1000; % Tingkatkan jumlah sampel n_features = 3;

n_classes = 2;

data_latih = rand(n_samples, n_features);

target = zeros(n_samples, n_classes);

for i = 1:n_samples x = data_latih(i, 1);

y = data_latih(i, 2);

z = data_latih(i, 3);

if (x > 0.5 && y > 0.5) || z > 0.5 % Rubah kondisi ini target(i, 1) = 1; % Kelas 1 (serat)

else

target(i, 2) = 1; % Kelas 2 (non-serat) end

end

competitionSize = 10;

alpha = 0.1;

max_epochs = 100;

W = rand(competitionSize, n_features);

for epoch = 1:max_epochs for i = 1:n_samples x = data_latih(i, :);

distances = sqrt(sum((W - x).^2, 2));

[min_distance, winning_neuron] = min(distances);

W(winning_neuron, :) = W(winning_neuron, :) + alpha * (x - W(winning_neuron, :));

end end

predicted_classes = zeros(n_samples, 1);

for i = 1:n_samples x = data_latih(i, :);

distances = sqrt(sum((W - x).^2, 2));

[~, winning_neuron] = min(distances);

(7)

predicted_classes(i) = winning_neuron;

end

akurasi = sum(predicted_classes == target(:, 1)) / n_samples * 100;

fprintf('Akurasi: %.2f%%\n', akurasi);

% Visualisasi hasil CPN figure;

subplot(1, 2, 1);

scatter3(data_latih(:, 1), data_latih(:, 2), data_latih(:, 3), 100, predicted_classes, 'filled');

title('Hasil Simulasi CPN (3D)');

xlabel('X');

ylabel('Y');

zlabel('Z');

colormap(jet(competitionSize));

colorbar;

h = colorbar;

h.Label.String = 'Neuron Pemenang';

h.Ticks = 1:competitionSize;

h.TickLabels = arrayfun(@num2str, 1:competitionSize, 'UniformOutput', false);

subplot(1, 2, 2);

scatter(data_latih(:, 1), data_latih(:, 2), 100, predicted_classes, 'filled');

title('Hasil Simulasi CPN (2D)');

xlabel('X');

ylabel('Y');

colormap(jet(competitionSize));

colorbar;

h = colorbar;

h.Label.String = 'Neuron Pemenang';

h.Ticks = 1:competitionSize;

h.TickLabels = arrayfun(@num2str, 1:competitionSize, 'UniformOutput', false);

% Tampilkan akurasi pada figure

annotation('textbox', [0.15, 0.8, 0.1, 0.1], 'String', ['Akurasi: ', num2str(akurasi, '%.2f%%')], 'FitBoxToText', 'on');

2. Hasil Command Window dan Workspace Command Window

(8)

Workspace

3. Hasil Figure

V. Analisa

(9)

Cara kerja Counterpropagation Neural Network (CPN) dalam program MATLAB. Pertama, program memulai dengan menghasilkan sebuah dataset berdasarkan parameter yang ditentukan. Dataset ini terdiri dari sejumlah sampel (n_samples), masing-masing dengan tiga fitur (n_features) yang digenerasi secara acak. Selanjutnya, target untuk setiap sampel ditentukan berdasarkan kondisi tertentu. Dalam kasus ini, jika nilai x dan y lebih besar dari 0,5 atau nilai z lebih besar dari 0,5, maka sampel diklasifikasikan sebagai Kelas 1 (serat); jika tidak, diklasifikasikan sebagai Kelas 2 (non-serat). Setelah dataset dan target dibuat, pelatihan CPN dimulai. Dalam pelatihan, jaringan menggunakan algoritma kompetisi dan kooperasi untuk memetakan data ke dalam kelompok atau cluster.

Pada akhir pelatihan, hasil prediksi kelas dihitung berdasarkan neuron Kohonen pemenang, dan akurasi dari prediksi ini dilaporkan.

Selanjutnya, program ini memberikan fleksibilitas dalam mengatur sejumlah parameter yang mempengaruhi pelatihan CPN. Parameter-parameter ini mencakup ukuran kompetisi (competitionSize), laju pembelajaran (alpha), dan jumlah maksimum epoch (max_epochs). Pengguna dapat menyesuaikan parameter-parameter ini sesuai dengan karakteristik dataset atau kebutuhan tugas klasifikasi. Nilai alpha yang lebih besar akan mengakibatkan perubahan bobot yang lebih cepat selama pelatihan, sementara nilai yang lebih kecil akan menghasilkan proses pembelajaran yang lebih lambat. Selain itu, nilai competitionSize mengontrol berapa banyak neuron Kohonen yang digunakan dalam jaringan, yang dapat mempengaruhi kompleksitas model dan hasil akhir.

1. Untuk penjelasan perbagian adalah sebagai berikut Generasi Dataset: Program dimulai dengan membuat dataset yang akan digunakan untuk pelatihan dan pengujian jaringan. Dataset ini terdiri dari sejumlah sampel, di mana setiap sampel memiliki tiga fitur (x, y, dan z) yang dihasilkan secara acak. Jumlah sampel, jumlah fitur, dan kondisi untuk mengklasifikasikan sampel ke dalam dua kelas (serat atau non-serat) dapat disesuaikan dengan parameter.

2. Pelatihan CPN: Selanjutnya, pelatihan CPN dimulai. Dalam tahap ini, jaringan menggunakan algoritma kompetisi dan kooperasi untuk memetakan data ke dalam kelompok atau cluster. Dalam setiap iterasi, jaringan memproses setiap sampel dan mencoba mengelompokkannya ke dalam salah satu cluster berdasarkan karakteristiknya. Pelatihan dilakukan dalam beberapa epoch (maksimum epoch yang dapat diatur oleh pengguna), dan selama pelatihan, bobot neuron Kohonen diperbarui sesuai dengan algoritma pelatihan CPN.

3. Prediksi Kelas: Setelah pelatihan selesai, jaringan digunakan untuk memprediksi kelas dari setiap sampel dalam dataset. Untuk setiap sampel, jarak antara fitur sampel dan bobot neuron Kohonen dihitung, dan sampel diklasifikasikan ke dalam cluster yang memiliki jarak terkecil (neuron Kohonen pemenang). Hasil prediksi kelas disimpan dalam variabel

"predicted_classes."

4. Evaluasi Akurasi: Program juga menghitung akurasi prediksi jaringan dengan membandingkan hasil prediksi (predicted_classes) dengan target yang sesuai dengan dataset. Akurasi dihitung sebagai persentase dari jumlah prediksi yang benar terhadap jumlah total sampel dalam dataset.

(10)

5. Visualisasi Hasil:Hasil dari prediksi CPN divisualisasikan dalam dua format, yaitu tiga dimensi (3D) dan dua dimensi (2D) menggunakan scatter plots. Warna pada scatter plot mencerminkan neuron Kohonen pemenang untuk setiap sampel. Selain itu, program menampilkan akurasi prediksi pada grafik.

Hasil dari program MATLAB ini adalah visualisasi dari prediksi CPN dalam dua format, yaitu tiga dimensi (3D) dan dua dimensi (2D). Scatter plots menunjukkan distribusi data input dengan warna yang mencerminkan neuron Kohonen pemenang untuk setiap sampel. Selain itu, akurasi dari prediksi kelas dilaporkan sebagai persentase keberhasilan prediksi terhadap jumlah total sampel.

Ini membantu dalam memahami sejauh mana jaringan CPN mampu mengklasifikasikan data dengan benar berdasarkan kondisi yang telah ditetapkan.

Dengan demikian, program ini tidak hanya memfasilitasi implementasi CPN, tetapi juga memungkinkan eksplorasi parameter yang berbeda dan visualisasi hasil prediksi dengan cara yang informatif.

VI. Kesimpulan

Referensi

Dokumen terkait

This project aims to feed specifically handwritten English alphabets an input, process the characters, train the characters using neural network algorithm, to recognize

Sebelum mendalami mekanisme tubuh mempertahankan keseimbangan volume cairan ekstraselular perlu diketahui sumber input dan output garam yang ada dalam tubuh kita, karena

This research has designed a software system to detect the abnormalities of pulmonary X-Ray Thorax images based on GLCM using backpropagation neural network.. Chest X-ray of

imageries and reference 1:5000 scale topographic maps in study area Firstly, object-based image analysis results of buildings and road network were derived using

Departemen penggajian harus memberikan time card yang sudah diketik nama pekerja kepada pekerja yang bersangkutan dan dibuat tanda terimanya. - Time card  dikumpulkan setiap pekerja

This significant features vector can be used to identify an unknown face by using the backpropagation neural network that utilized euclidean distance for classification and

Using simple color image preprocessing to create a grayscale input image and a 3 layer neural network architecture consisting of 960 input units, 4 hidden units, and 100 output units,

This research aims to kickstart the development of a modeling tool using Faster Region-based Convolutional Neural Network for single object detection and recognition of hand-drawn iStar