Bahan Presentasi Ini Dibuat Untuk Memenuhi
Tugas Mata Kuliah Jaringan Syaraf Tiruan
Dosen : Darwison, M.T
Oleh :
Siti Sarah Fitrianisa
1610951017
Jurusan Teknik Elektro
Fakultas Teknik
Tujuan [Kembali]
Tujuan dari presentasi mata kuliah ini adalah untuk mengetahui dan memahami Jaringan saraf Counter PropagationLandasan Teori [Kembali]
- Pengantar [Kembali]
Jaringan saraf Counter Propagation, karena Hecht {Nielsen (1987), lebih cepat sekitar faktor 100 dari propagasi balik, tetapi lebih terbatas dalam kisaran aplikasi. Ini menggabungkan jaringan Self-Organizing (Instar) dari Kohonen (1984) dan jaring Oustar Grossberg (1969, 1974, 1982) yang terdiri dari satu lapisan masing-masing. Ini memiliki sifat yang baik dari Generalisasi (penting, dalam beberapa derajat, untuk semua saraf jaringan) yang memungkinkannya untuk menangani dengan baik dengan sebagian tidak lengkap atau sebagian salah masukan vektor. Jaringan Counter Propagation berfungsi sebagai jaringan pengelompokan yang sangat cepat. Strukturnya seperti pada Gambar 1, di mana lapisan K (tersembunyi) diikuti oleh output G-layer.
- Lapisan Peta Susun Kohonen [Kembali]
Lapisan Kohonen [Kohonen 1984, 1988] adalah lapisan “Winner-take-all” (WTA). Jadi, untuk vektor input yang diberikan, hanya satu output layer Kohonen adalah 1 sedangkan yang lainnya adalah 0. Tidak diperlukan vektor pelatihan untuk mencapai kinerja ini. Maka nama: Lapisan Peta Susun Sendiri (SOM-Layer). Biarkan output bersih dari neuron lapisan Kohonen dilambangkan sebagai kj
- Lapisan Grossberg [Kembali]
output bersih dari lapisan Grossberg [Grossberg, 1974] sebagai gj :
-
Pelatihan Lapisan Kohonen [Kembali]
Lapisan Kohonen bertindak sebagai penggolong di mana semua vektor input yang serupa, yaitu
mereka yang berasal dari kelas yang sama menghasilkan keluaran persatuan di Kohonen yang sama
neuron.
Selanjutnya, lapisan Grossberg menghasilkan output yang diinginkan untuk kelas yang diberikan seperti yang telah diklasifikasikan dalam lapisan Kohonen di atas. Dengan cara ini, generalisasi kemudian tercapai.
- Proses Awal Input Lapisan Kohonen [Kembali]
Biasanya diperlukan untuk menormalkan input layer Kohonen, sebagai berikut
Pelatihan lapisan Kohonen sekarang berlanjut sebagai berikut:- Normalkan vektor input x untuk mendapatkan x0
- Lapisan neuron Kohonen yang
adalah yang tertinggi, dinyatakan sebagai pemenang dan bobotnya disesuaikan untuk menghasilkan satu kesatuan output kh = 1, dimana
- Proses Awal Input Lapisan Kohonen [Kembali]
- Proses Awal Input Lapisan Kohonen [Kembali]
- Lapisan Grossberg [Kembali]
Aset utama lapisan Grossberg adalah kemudahan pelatihannya. Pertama hasilnya lapisan Grossberg dihitung seperti di jaringan lain, yaitu :
Kj menjadi output layer Kohonen dan vij yang menunjukkan berat lapisan Grossberg. Jelas, hanya bobot dari neuron Kohonen non-nol (bukan nol Grossberg input layer) disesuaikan. Penyesuaian berat mengikuti hubungan yang sering digunakan sebelumnya, yaitu:
Ti menjadi output (target) yang diinginkan, dan untuk beta iterasi n +1 yang awalnya ditetapkan sekitar 1 dan secara bertahap dikurangi. Awalnya Vij secara acak diatur untuk menghasilkan vektor norma 1 per setiap neuron. Oleh karena itu, bobot akan menyatu dengan nilai rata-rata dari output yang diinginkan untuk paling cocok dengan pasangan input-output (x-T) - Jaringan Propagasi Counter Gabungan [Kembali]
lapisan Grossberg dilatih untuk menyatu dengan keluaran (T) yang diinginkan sedangkan lapisan Kohonen dilatih untuk menyatu dengan input rata-rata. Oleh karena itu, lapisan Kohonen pada dasarnya adalah sebuah pra-klasifikasi untuk memperhitungkan input yang tidak sempurna, lapisan Kohonen tidak diawasi sementara lapisan Grossberg diawasi.
Jika vektor target m Tj (dari dimensi p) secara bersamaan diterapkan pada output m x p di sisi output dari lapisan Grossberg untuk memetakan neuron Grossberg maka setiap set neuron Grossberg p akan menyatu dengan input target yang sesuai, mengingat x input terdekat sedang diterapkan pada input layer Kohonen pada saat itu. Istilah Counter-Propagation (CP) disebabkan oleh aplikasi input dan target ini di masing-masing ujung jaringan.
8.A Studi Kasus Jaringan Propagasi Counter:Pengenalan Karakter
8.A.1. Pengantar
Studi kasus ini berkenaan dengan mengenali tiga digit "0", "1", "2" dan "4". Dengan menggunakan jaringan saraf Counter Propagation (CP). Ini melibatkan merancang jaringan CP, melatihnya dengan set data standar (8-oleh-8); menguji jaringan menggunakan data uji dengan kesalahan 1, 5, 10, 20, 30, 40-bit dan mengevaluasi kinerja pengenalan.
8.A.2. Struktur jaringan
Struktur CP umum diberikan pada Gambar. 8.A.1:
A MATLAB-based design was established to create a default network:
Example: For creating a CP network with 64-input-neuron, 4-Kohonen-neuron, and 3-Grossberg-neuron:
%% Example:
% neuronNumberVector = [64 4 3]
%% use:
%% cp = createDefaultCP(neuronNumberVector);
%
_Computed by Yunde Zhong, ECE Dept., University of Illinois, Chicago, 2005.
Counter Propagation 167
8.A.3. Network training
(a) Training data set
The training data set applied to the CP network is as follows:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% 2
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
classID = 0;
classID = classID + 1;
trainingData(1).input = [. . .
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 1 1; : : :
1 1 1 1 1 1 1 1; : : :
1 1 1 1 1 1 1 1 : : :
];
trainingData(1).classID = classID;
trainingData(1).output = [0&1 0];
trainingData(1).name = `2';
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% 1
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
classID = classID + 1;
trainingData(2).input = [. . .
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 1 1; : : :
1 1 1 1 1 1 1 1; : : :
1 1 1 1 1 1 1 1 : : :
];
trainingData(2).classID = classID;
trainingData(2).output = [0 0 1];
trainingData(2).name = `1';
168 Principles of Arti_cial and Neural Networks
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% 4
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
classID = classID + 1;
trainingData(3).input = [. . .
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 1 1; : : :
1 1 1 1 1 1 1 1; : : :
1 1 1 1 1 1 1 1 : : :
];
trainingData(3).classID = classID;
trainingData(3).output = [1 0 0];
trainingData(3).name = `4';
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% 0
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
classID = classID + 1;
trainingData(4).input = [. . .
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 1 1; : : :
1 1 1 1 1 1 1 1; : : :
1 1 1 1 1 1 1 1 : : :
];
trainingData(4).classID = classID;
trainingData(4).output = [0 0 0];
trainingData(4).name = `0';