29
Rahmadya Trias Handayanto
Just for a little kindness
JAN 18 2012
Hidden Layer Pada Jaringan Syaraf Tiruan
Dari dua jenis cara membuat Jaringan Syaraf Tiruan (JST), cara pembuatan dengan command window
sebaiknya dilakukan jika Anda ingin membuat JST dengan beberapa hidden layer karea cara GUI (dengan
nntool) (http://rahmadyatrias.wordpress.com/2011/05/24/membuat‑jaringan‑syaraf‑tiruan‑jst‑di‑matlab/)
tidak menyertakan hidden layer di dalamnya.
Sesuai dengan namanya, JST bermaksud membuat sistem yang mirip syaraf biologis dengan suatu
algoritma (ingat, syaraf tiruan dengan “y”, bukan saraf, itu lain lagi artinya J ). Jika kita punya data
masukan dengan keluaran tertentu maka kita dapat mengajarkan ke JST sehingga apabila ada masukan
yang berbeda, sistem akan mampu memprediksi keluarannya berdasarkan aturan yang dipelajari lewat
mekanisme learning/training.
Misal kita ingin mengajari JST pemangkatan. Tentu saja jika pemangkatan tidak perlu dengan JST, hard
computing pun bisa. Tapi ini kita jadikan percobaan karena mudah dalam memverifikasikan hasilnya.
Kenyataan di lapangan terkadang kita tidak menjumpai kasus yang memiliki formula matematis dalam
menghitungnya misalnya tanda tangan, kita tidak dapat membuat formula matematis suatu tanda tangan.
Buat suatu input = [1 2 3 4 5 6 7 8 9 10]; dan output = [1 4 9 16 25 36 49 64 81 100]; yang merupakan
pangkat dari input. Untuk membuat JST dengan katakanlah dua hidden layer dengan masing‑masing layer
memiliki 30 neuron. Banyak istilah asing ya .. emang bikin pusing, neuron itu merupakan analogi yang
dalam hal ini fungsi alih yang fungsinya meneruskan sinyal atau sebaliknya mematikan sinyal. Saatnya
meramu JST, misal kita butuh neuron input sebanyak data masukan, 10 buah dan keluaran 10 buah.
http://rahmadya.com/2012/01/18/hiddenlayerpadajaringansyaraftiruan/ 1/8
2/17/2016 Hidden Layer Pada Jaringan Syaraf Tiruan | Rahmadya Trias Handayanto
Perhatikan gambar di atas, tampak dua buah hidden layer. Apakah hasilnya akurat? Tentu saja tidak, saya
dan siswa‑siswa saya terkadang berkali‑kali meramu JST sehingga dihasilkan hasil yang optimal. Untuk
mengujinya, lakukan perintah “sim”.
Lihat simulasi yang terakhir, ngaco kan? Masak 3 kwadrat = 61? Tambahkan jumlah Neuron di lapis
tersembunyi (Hidden Layer). Menurut riset di jurnal‑jurnal, hidden layer yang optimal itu satu saja, perlu
diingat, makin banyak hidden layer, proses menjadi sangat lambat dan terkadang komputer Anda tidak
sanggup memprosesnya sehingga muncul pesan “Out of Memory
(http://rahmadyatrias.wordpress.com/2011/05/23/seputar‑jaringan‑syaraf‑tiruan/) “. Coba ramu lagi, Cao ..
Rahmadya Trias Handayanto
Update: 26 Nov 2015
Ada yg bertanya jumlah hidden yang terbaik, apa patokannya. Referensi yg jelas‑jelas mengatakan bahwa
jumlah hidden optimal satu saja cukup adalah karangan Laurent Fausett judulnya: Fundamental of Neural
Network: Architecture, Algorithms, and Applications, hal 299.
http://rahmadya.com/2012/01/18/hiddenlayerpadajaringansyaraftiruan/ 2/8
2/17/2016 Hidden Layer Pada Jaringan Syaraf Tiruan | Rahmadya Trias Handayanto
Sementara kalo mau tau alasan detilnya mengapa harus ada hidden layer, baca bukunya Hagan (Neural
network Design). Katanya untuk mengatasi problem logika XOR yang bikin JST sempat mengalami masa
suram krn ga bisa menyelesaikannya.
74% 73%
Rp 460.000
Rp 146.000
By rahmadya • Posted in Artificial Neural Network, Fuzzy Logic, Matlab
29 comments on “Hidden Layer Pada Jaringan Syaraf Tiruan”
Moch Arun Bin Hafidz
20 DESEMBER 2013 @ 8:25 AM
pusing aku pak… dapet tugas dsuruh bikin makalah bagaimana cara identifikasi sidik jari dengan
MATLAB , sementara pelajaran tersebut asing bagi saya.
BALAS
rahmadya
http://rahmadya.com/2012/01/18/hiddenlayerpadajaringansyaraftiruan/ 3/8
2/17/2016 Hidden Layer Pada Jaringan Syaraf Tiruan | Rahmadya Trias Handayanto
24 DESEMBER 2013 @ 3:50 PM
Biasanya pake minute detection
BALAS
djokedjack
7 FEBRUARI 2014 @ 12:04 PM
terima kasih pak, ada pelajaran baru yang saya dapat
btw sebenarnya fungsi utama hidden layer apa pak??
dan cara kerja hidden layer seperti apa??
BALAS
rahmadya
13 FEBRUARI 2014 @ 7:56 PM
kalo memisahkan dua kelas yang terpisah secara garis lurus prinsipnya ga perlu hidden layer. tetapi
jika tidak bisa dilakukan dengan garis lurus mau tidak mau harus menambah hidden layer. hidden
layer secara logika fungsinya menambah instruksi logika. misalnya logika xor jika dibentuk pemisah
dengan sebuah garis lurus kan tidak bisa (ini yg menyebabkan riset jst terhenti tahun 60‑an) maka
diperlukan satu tahap lagi and/or untuk menambah satu garis pemisah lagi.
BALAS
raja
17 APRIL 2014 @ 11:13 PM
sudah saya coba Pak, listing code diatas dengan menggunakan Matlab 2013, tapi malah keluar tulisan
seperti ini
>> input = [1 2 3 4 5 6 7 8 9 10];
>> output = [1 4 9 16 25 36 49 64 81 100];
>> net=newff(input,output,[10 30 30]);
Attempt to execute SCRIPT newff as a function:
C:\Users\MATERIAL\Documents\MATLAB\newff.m
>> net.trainParam.goal=0.001;
>> net=train(net,input,output);
Undefined function ‘train’ for input arguments of type ‘struct’.
apa yang salah Pak? mohon sekali pencerahannya..
thx a lot n best regards
BALAS
rahmadya
18 APRIL 2014 @ 1:47 AM
saya copas script anda, jalan kok di matlab saya (R2008b). mungkin matlabnya barangkali.
>> input = [1 2 3 4 5 6 7 8 9 10];
>> output = [1 4 9 16 25 36 49 64 81 100];
>> net=newff(input,output,[10 30 30]);
>> net.trainParam.goal=0.001;
>> net=train(net,input,output);
trus keluar jendela training seperti biasa ..
BALAS
raja
18 APRIL 2014 @ 7:40 AM
sudah sya coba lagi di matlab 2012, ternyata bisa Pak… trimakasih bxk..
Pak, paragraf kedua dari bawah bapak berkata :
“Perhatikan gambar di atas, tampak dua buah hidden layer. Apakah hasilnya akurat? Tentu saja
tidak, saya dan siswa‑siswa saya terkadang berkali‑kali meramu JST sehingga dihasilkan hasil
yang optimal.”
tapi kalau saya hitung hiden layernya ada kok ada 4 pak?
http://rahmadya.com/2012/01/18/hiddenlayerpadajaringansyaraftiruan/ 4/8
2/17/2016 Hidden Layer Pada Jaringan Syaraf Tiruan | Rahmadya Trias Handayanto
lalu dengan melakukan pengujian menggunakan “sim” darimana kita bisa tahu kalau hasilnya
akurat atau tidak? untuk contoh soal diatas kan gampang, fungsi kuadrat, jadi kita bisa tahu kalau
tidak akurat,,, kalau nanti sudah menggunakan permasalahan yang jauh lebih rumit dari fungsi
kuadrat bagaimana kita bisa tahu itu akurat atau tidak Pak?
thank you very much and best regards
ajeng
9 JUNI 2014 @ 10:19 AM
asslammualaikum pak, mau tanya mengenai JST..
saya kebetulan sedang mengerjakan tugas akhir berkaitan dengan jst. menggunakan 3 buah neuron
input, 5 neuron hidden layer, dan 5 neuron output layer. saat dilakukan pembelajaran grafik sudah
konvergen. akan tetapi ketika dilakukan identifikasi, hasilnya jauh dr harapan, selalu menghasilkan nilai
yang tak sesuai target. dari 18 macam target, hanya 3 yang tepat. kira‑kira setau bapak letak
kesalahannya ada dimana ya?
sebelumnya terima kasih banyak
BALAS
rahmadya
10 JUNI 2014 @ 1:58 PM
3 input menghasilkan 5 output sepertinya sulit kalau datanya kurang bagus. coba matlab 2007 siapa
tahu bagus .. soalnya pernah saya coba matlab 2007 lebih baik dari 2008 hasilnya
BALAS
ajeng
10 JUNI 2014 @ 7:53 PM
kebetulan saya tidak menggunakan matlab pak.. ngedevelop sendiri programnya untuk tugas
akhir..
data yang bagus itu seperti apa ya pak?
terimakasih
ratna
14 JULI 2014 @ 5:22 PM
pak saya mau tanya, sebenernya lebih baik memakai nntool atau langsung pake comand windows?
BALAS
rahmadya
15 JULI 2014 @ 12:32 PM
Nntool lebih mudah, hasilnya sepertinya sama. Terkadang permintaan dosen untuk membuat
training dengan gui sendiri, mau tidak mau menggunakan fungsi command window
BALAS
we
25 DESEMBER 2014 @ 3:12 PM
bagaimana cara menentukan nilai epoch, fungsi sigmoid dan pembelajaran dalam command window?
terimakasih
BALAS
rahmadya
26 DESEMBER 2014 @ 7:46 AM
Coba jalankan instruksi di bawah ini (cek lagi simbol petik ketika di command window)
:> Epoch tampak dengan perintah betitik (50 kali iterasi/epoch)
:> matriks bobot hidden dan output serta bias (iw, lw dan bias b)
:> kalo sigmoid backpropagation biasanya dengan sigmoid karena jika diturunkan hasilnya
sederhana (‑1)
>> p = [‑2:0.1:2]
>> t = 1+sin(pi*p/4)
>> plot(p, t)
>> sample = newff([‑2 2], [2 1], {‘logsig’, ‘purelin’})
>> sample.iw{1,1}
>> sample.lw{2,1}
http://rahmadya.com/2012/01/18/hiddenlayerpadajaringansyaraftiruan/ 5/8
2/17/2016 Hidden Layer Pada Jaringan Syaraf Tiruan | Rahmadya Trias Handayanto
>> sample.b{1,1}
>> sample.b{2,1}
>> y = sim(sample,p)
>> plot(p,t,p,y,’o’)
>> sample.trainParam.epochs = 50;
>> sample = train(sample,p,t)
>> sample.iw{1,1}
>> sample.lw{2,1}
>> sample.b{1,1}
>> sample.b{2,1}
>> y1 = sim(sample,p)
>> plot(p,t,p,y1,’o’)
BALAS
aan
23 AGUSTUS 2015 @ 10:21 PM
1. apa hubungan antara input,neuron,hidden layer dan output?
2. apa pengaruh neuron terhadap hidden layer dan output ?
BALAS
rahmadya
24 AGUSTUS 2015 @ 12:19 PM
penjelasan gampangnya, misal kita ingin misahin jenis kelamin cowok apa cewek dengan
variabel/ciri tertentu, neuron itu fungsi memisahkan jika ada sinyal cewek masuk maka diperkuat
jika cewek kita label 1. sementara jika ada sinyal bercirikan cowok diperlemah krn kita label 0. kalo
cirinya banyak dan kelamin lebih dari 2 (di thailand kabarnya ada 7), maka butuh lebih dari satu
neuron dan hidden layer (non linear, garisnya belak belok)
BALAS
ferdiana
27 SEPTEMBER 2015 @ 7:37 PM
Pak, mohon bantuannya.. saya ingin analisis dgn Backpropagation neural network dengan input node=6,
output node=6, hidden node=12.. aq run script aq tapi selalu muncul error tentang output size..
kesalahan nya ada dimana y pak?
p=[I1 I2 I3 I4 I5 I6];
t=[T1 T2 T3 T4 T5 T6];
net=newff(p,t,[6,12,6],{‘logsig’ ‘logsig’},’trainlm’);
net.trainParam.show = 50;
net.trainParam.lr = 0.05;
net.trainParam.epochs =1e+6;
net.trainParam.goal = 1e‑3;
net1=train(net,p,t);
BALAS
rahmadya
27 SEPTEMBER 2015 @ 8:55 PM
I1,dst .. T1,dst saya ganti angka, dirunning jalan tuh. banyak amat hiden layernya (2 hidden)
BALAS
ferdiana
6 OKTOBER 2015 @ 6:50 PM
satu hidden layer kok pak,, jumlah node di hidden layernya 12..
kok aq run error y Pak?
6 node input dan 6 node output..
Help me, please.. terima kasih
>> p=[I1 I2 I3 I4 I5 I6];
t=[T1 T2 T3 T4 T5 T6];
net=newff(p,t,[6,12,6],{‘logsig’ ‘logsig’},’trainlm’);
http://rahmadya.com/2012/01/18/hiddenlayerpadajaringansyaraftiruan/ 6/8
2/17/2016 Hidden Layer Pada Jaringan Syaraf Tiruan | Rahmadya Trias Handayanto
net=newff(p,t,[6,12,6],{‘logsig’ ‘logsig’},’trainlm’);
net.trainParam.show = 50;
net.trainParam.lr = 0.05;
net.trainParam.epochs =1e+6;
net.trainParam.goal = 1e‑3;
net1=train(net,p,t);
net=newff(p,t,[6,12,6],{‘logsig’ ‘logsig’},’trainlm’);
|
Error: The input character is not valid in MATLAB statements or
expressions.
yudi
27 OKTOBER 2015 @ 3:40 PM
pak saya kan sedang TA tentang JST kohonen pak, bisa minta bantuan manual nya untuk membangun
arsitekturnya ?? variabel yang saya gunakan 4 variabel pak. Terimakasih
BALAS
rahmadya
27 OKTOBER 2015 @ 11:26 PM
kohonen saya sudah agak lupa, dulu pernah ambil kuliah ini
http://www.asdu.ait.ac.th/Students/CourseDetailInfo.cfm?CCode=AT74.05 kohonen kayaknya masih
dasar2nya ya? donlot aja buku neural network design by M.T. Hagan, bagus itu, cuma agak advance
matematikanya.
BALAS
guntur
25 NOVEMBER 2015 @ 4:17 PM
saya mau tanya bagaimana menentukan jumlah hidden layer yang terbaik? adakah rujukannya.
BALAS
guntoro
25 NOVEMBER 2015 @ 4:37 PM
bagaimana menentukan jumlah hidden layer, apakah ada ketentuan yang optimum dalam menentukan
hidden layer agar mendapatkan presentase yang optimal.
BALAS
rahmadya
26 NOVEMBER 2015 @ 10:18 PM
satu sudah cukup, kenapa?
saya sisipkan di postingan alasan dan referensinya, semoga bisa membantu
BALAS
Guntoro
27 NOVEMBER 2015 @ 6:15 AM
terima kasih pak. saya mau tanya lagi, dalam JST ada output layer. kalau saya punya 2 kelas, apakah
outputnya harus 2 atau bisa cukup satu saja.
BALAS
rahmadya
27 NOVEMBER 2015 @ 10:00 PM
satu saja. kan jawabannya kalo ga kelas pertama ya kelas kedua
BALAS
guntoro
27 NOVEMBER 2015 @ 6:19 AM
bolehkah saya minta kontaknya pak, facebook atau yg lainnya
BALAS
rahmadya
27 NOVEMBER 2015 @ 10:03 PM
ada di menu ‘tentang saya’
http://rahmadya.com/2012/01/18/hiddenlayerpadajaringansyaraftiruan/ 7/8
2/17/2016 Hidden Layer Pada Jaringan Syaraf Tiruan | Rahmadya Trias Handayanto
BALAS
Guntoro
29 NOVEMBER 2015 @ 10:35 AM
kalau untuk jumlah neuron hidden ada referensinya gak pak berapa jumlah neuron terbaik. apakah
tergantung jumlah input neuronnya, terus dilakukan sesuai dg optimasi.
BALAS
Buat situs web atau blog gratis di WordPress.com. | Tema iTheme2.
http://rahmadya.com/2012/01/18/hiddenlayerpadajaringansyaraftiruan/ 8/8