Anda di halaman 1dari 8

2/17/2016 Hidden Layer Pada Jaringan Syaraf Tiruan | Rahmadya Trias Handayanto

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.

Sengaja nih  saya gunakan image,  biar  Anda belajar  dengan  mengetik langsung  (tidak  copy  –  paste). Baris


pertama  bermaksud  mendefinisikan  matriks  masukan,  dilanjutkan  dengan  keluarannya.  Karena  keluaran
(diistilahkan  dengan  target)  didefinisikan  maka  JST  yang  kita  buat  masuk  kategori  Supervised  Learning
(pembelajaran terpandu). Baris ketiga bermaksud membuat suatu jaringan syaraf tiruan dengan dua buah
hidden  layer,  masing‑masing  30  neurons  dan  input  dengan  10  neurons.  Sebenarnya  parameternya  ada
banyak (lihat baris keempat), goal, epoch, dan lain‑lain. Sebaiknya lihat help pada matlab dengan mengetik
help newff. Di akhir script, JST yang kita buat akan melakukan proses learning.

http://rahmadya.com/2012/01/18/hidden­layer­pada­jaringan­syaraf­tiruan/ 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/hidden­layer­pada­jaringan­syaraf­tiruan/ 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.

Tentang iklan-iklan ini (https://wordpress.com/about-these-ads/)

­74% ­73%
Rp 460.000
Rp 146.000

­70% ­74% ­74%

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/hidden­layer­pada­jaringan­syaraf­tiruan/ 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/hidden­layer­pada­jaringan­syaraf­tiruan/ 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/hidden­layer­pada­jaringan­syaraf­tiruan/ 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/hidden­layer­pada­jaringan­syaraf­tiruan/ 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/hidden­layer­pada­jaringan­syaraf­tiruan/ 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/hidden­layer­pada­jaringan­syaraf­tiruan/ 8/8

Anda mungkin juga menyukai