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) 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.
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 “. 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.
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.
Update: 31 Juli 2018
Berkembangnya piranti hardware saat ini memungkinkan JST untuk memproses jumlah neuron dan hidden layer yang lebih banyak. Akibatnya, dalam perkembangannya JST dioptimalkan dengan menambah jumlah neuron dan hidden layer. Istilah JST dengan jumlah hidden layer yang banyak dikategorikan sebagai deep learning. Saat ini deep learning banyak diriset. Jadi JST dengan jumlah hidden layer lebih dari satu belum tentu tidak optimal. Beberapa trik diperlukan, salah satunya adalah memodifikasi fungsi transfer.
pusing aku pak… dapet tugas dsuruh bikin makalah bagaimana cara identifikasi sidik jari dengan MATLAB , sementara pelajaran tersebut asing bagi saya.
Biasanya pake minute detection
terima kasih pak, ada pelajaran baru yang saya dapat 🙂
btw sebenarnya fungsi utama hidden layer apa pak??
dan cara kerja hidden layer seperti apa??
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.
maksudnya “memisahkan dua kelas yang terpisah secara garis lurus” itu maksudnya apa yah pak? apakah itu seperti ingin memisahkan dua kelas antara perempuan atau laki-laki?
ya, tetapi kalau ada kelas lain selain laki dan perempuan sepertinya garisnya tidak lurus lagi
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
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 ..
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?
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
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
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
kebetulan saya tidak menggunakan matlab pak.. ngedevelop sendiri programnya untuk tugas akhir..
data yang bagus itu seperti apa ya pak?
terimakasih
pak saya mau tanya, sebenernya lebih baik memakai nntool atau langsung pake comand windows?
Nntool lebih mudah, hasilnya sepertinya sama. Terkadang permintaan dosen untuk membuat training dengan gui sendiri, mau tidak mau menggunakan fungsi command window
bagaimana cara menentukan nilai epoch, fungsi sigmoid dan pembelajaran dalam command window? terimakasih
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}
>> 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’)
1. apa hubungan antara input,neuron,hidden layer dan output?
2. apa pengaruh neuron terhadap hidden layer dan output ?
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)
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);
I1,dst .. T1,dst saya ganti angka, dirunning jalan tuh. banyak amat hiden layernya (2 hidden)
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’);
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.
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
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.
saya mau tanya bagaimana menentukan jumlah hidden layer yang terbaik? adakah rujukannya.
bagaimana menentukan jumlah hidden layer, apakah ada ketentuan yang optimum dalam menentukan hidden layer agar mendapatkan presentase yang optimal.
satu sudah cukup, kenapa?
saya sisipkan di postingan alasan dan referensinya, semoga bisa membantu
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.
satu saja. kan jawabannya kalo ga kelas pertama ya kelas kedua
bolehkah saya minta kontaknya pak, facebook atau yg lainnya
ada di menu ‘tentang saya’
kalau untuk jumlah neuron hidden ada referensinya gak pak berapa jumlah neuron terbaik. apakah tergantung jumlah input neuronnya, terus dilakukan sesuai dg optimasi.
Pak saya mau tanya kan kalo pakai nntool bisa d lihat nilai bias di training nah kalo klo pakai command window gimana caranya?
Trus kalo pakai nntool cara buat nambahin hidden layer nya gmn?
nntool hidden layer hanya satu tetapi jumlah neuron dapat diubah. nah command window lebih lengkap dengan pilihan berapa jumlah hidden layernya (hasil riset kebanyakan menunjukan > satu hidden tidak berpengaruh signifikan terhadap kinerja JST). tiap versi sepertinya berbeda format command window untuk JST, ikuti saja dengan mengetik di command window > help newff (atau liat help)
Assalamualaikum. Mau bertanya, apakah pemilihan nilai layer hidden tergantung dari jumlah data atau bagaimana? Terimakasih
sudah ada yang melakukan riset (lihat JST: faucett), hidden layer satu saja sudah mencukupi. hidden layer muncul dulu untuk menyelesaikan problem XOR yang jika tanpa hidden layer tidak bisa dikerjakan. biasanya makin banyak klasifikasi, butuh neuron yang banyak di hidden.
Terikamaksih atas jawabnnya sangat membantu. saya kan menggunakan traincgb kenapa hasil dari outputnya itu tidak liniear? apakah kalau menggunakan JST memang hasil outputnya tidak liniear?
JST memang untuk kasus-kasus nonlinear. kalau misal memisahkan dua kelas tidak berupa garis lurus, bisa meliuk-liuk. maksudnya tidak linear kayak itu apa bagaimana? (output tidak linear?)
Jadi nilai outputnya itu kadang berubah pak. Tidak pasti setiap di train dengan parameter yang sama
assalamualaikum pak, saya sedang malakukan tugas akhir dengan judul Jaringan Syaraf Tiruan untuk prediksi jumlah produksi dengan algoritma bckpropogation. disini saya menggunakan x1,x2, x3, dan x4. kemuadian saya mempunyai data sebanyak 10 buah. saya sudah membagi data menjadi dua yaitu data pelatihan dan pengujian , data tersebut juga sudah saya normalisasikan. saya menggunakan 5 input, 2 hidden, dan 1 output. yang ingin saya tanyakan bagaimana cara menentukan neuron pada hidden layer, momentum, learing rate, maximal epoch, dan toleransi error? mohon bantuannya pak. terima kasih
assalamualaikum, pak bila boleh tahu, sebenarnya bagaimana cara dalam menentukan target keluran pda jst? apakah boleh random ?
sesuai kriteria, jangan random. seperti memberi nilai akhir a,b,c,d,e pada mahasiswa kan ada kriteria2nya.
assalamualaikum pak, saya ingin tanya, sebenarnya bagaimana cara menentukan jumlah iterasi (epoch) yang akan digunakan? hanya kita tebak-tebak saja atau ada cara perhitungannya? terimakasih
Utk akurasi n stop condition (dgn kombinasi gradien)
Selamat sore pak, saya mahasiswi dari Institut Teknologi Del ingin menanyakan bagaimana cara menentukan jumlah hidden layer, target error dan learning rate untuk prediksi nilai akhir mahasiswa dengan 15 inputan pak ? dan apa kegunaan dari ketiganya pak ? terimakasih pak
Hidden layer berdasatkan buku yg optimal satu.target error utk stop condition, learning rate utk kecepatan training (lambat akurat atau cepat tapi kadang miss)
Selamat siang pak. Saya mau bertanya, perbedaannya antara Feed forward Neural Network dan Backpropagation Neural Network apa ya pak? Lalu untuk akurasi lebih besar mana antara Feed forward dengan Backpropagation? Lalu program di halaman ini termasuk jenis backpropagation atau feed forward ? Terima kasih pak.
ga bisa dibandingkan. feedforward itu jenis network sementara backpropagation itu jenis learning. mungkin feedforward bisa dibandingkan dengan cascade-feedforward atau dengan LVQ, RBF, dll
Malam Pak.
Saya mau tanya soal ini :
net = newff(minmax(data_latih),[100 100 1],{‘tansig’,’tansig’,’purelin’},’traingdx’);
saya udah baca blog bpk.
Apakah benar arti yang saya buat ini :
Untuk pelatihan, dirancang sebuah jaringan syaraf tiruan terdiri dari 100 neuron pada lapisan tersembunyi dan 1 neuron pada lapisan output. Fungsi aktivasi yang digunakan adalah fungsi aktivasi tansig untuk lapisan input dan fungsi aktivasi purelin untuk lapisan output serta traindx untuk fungsi pelatihan jaringan.
Terima kasih sebelumnya pak.
YuYu
ya, traingdx, gradient descent. coba view(namanetwork) untuk lihat formasinya.
berarti benar ya pak dari syntax ini : net = newff(minmax(data_latih),[100 100 1], artinya :
terdapat 100 nueron pada input layer dan 100 neuron pada hidden layer dan 1 neuron pada output layer
makasih atas penjelasannya pak
takut salah jawab, bisa dilihat di help (ketik help newff di command window). Sepertinya ya.
ok pak, makasih atas bantuannya. jazakallah
assalammualaikum, mas rahmadya
saya ada permasalahan dalam menghitung jarak antara data referensi dengan data kueri. dimana data kueri bisa berubah-rubah matriknya . Ini formulanya
jarak = jarak + sqrt(ZRef{j,1:8}) – ZQuery({j,1:8}).^2;
dimana ZRef = 36×9 tapi data yang diambil hanya 1:8 saja, sementara ZQuery= 3×8.
Pesan kesalahannya pada saat di running adalah : Cell contents reference from a non-cell array object.
Solusinya gimana ya mas untuk pemencahan masalah saya ini
makasih sebelumnya
wassalam
dolly indra
Masalah tipe data. Cell.
solusinya bagaimana mas, apa bisa saya kirimkan source codenya
atau boleh saya minta nomer telp mas atau WA buat diskusi
saya ga begitu yakin, cuma coba konversikan data bertipe cell menjadi mat sebelum diproses Zref, jika mau disimpan lagi, konversi kembali ke cell. bagaimana mengkonversi tipe cell ke mat atau sebaliknya bisa lihat di help, atau: https://rahmadya.com/2016/03/16/basis-data-di-matlab/
ini nomer kontak dan wa saya mas rahmadya 081343720253
Pak, saya mencoba pakai Backpropagation JST untuk klasifikasi citra. Pada saat pelatihan saya deklarasikan 4 kelas target yaitu “1”,”2″,”3″,”4″. Tapi kenapa ketika pengujian, muncul kelas “0” pada hasil klasifikasi salah satu data ? Padahal saya ga deklarasikan kelas tsb. Bagaimana solusinya ya pak ? Terima kasih banyak pak.
karena bukan tipe network lvq dan sejenisnya, bisa saja diperoleh 1,.. 2,.. 0,.. atau “0”. oiya, apakah matrix trainingnya seperti postingan saya ini? https://rahmadya.com/2015/09/14/mengidentifikasi-pola-citra-dengan-jaringan-syaraf-tiruan/
Sepertinya beda pak. Jadi kalo saya itu sedang membuat klasifikasi citra berdasarkan ciri teksturnya. Jadi masukan kedalam jstnya berupa ciri tekstur masing2 citra. 1 citra diambil 10 ciri tekstur. Jumlah dataset ada 90. Jadi pas pelatihan dibuat matriks 10×90. Pas pelatihan normal aja, semua citra masuk kedalam kelas target yang udh ditentukan sebelumnya. Hanya pas pengujian saja, ada beberapa data yg masuk kedalam kelas yg tidak ditentukan, jadi misalnya saya punya 4 kelas terdiri dari kelas 1 2 3 4 tapi ternyata ada data yg masuk ke kelas 0 bahkan ada data yg masuk ke kelas -1. Padahal saya ga pernah deklarasikan kelas 0 dan -1 sebelumnya. 😦 Bagaimana ya pak kira-kira solusinya.? Mohon sarannya pak. Makasih pak Rahmadya
selama dia JST biasa, backpropagation, bisanya ada error. makanya data training harus bagus, sebisa mungkin mewakili seluruh kelas yang dispesifikasikan. misalnya data persetujuan kredit, tentu harus ada yang ditolak dan diterima ketika training. selain itu, rentangnya juga melingkupi kemungkinan yang ada. karena kalau jangkauannya tidak seluruh kemungkinan, saat testing, hasilnya kurang akurat bahkan bisa minus. biasanya backpropagation tidak pas dengan kelas di target, kecuali tipe LVQ. Oiya, beberapa literatur menyarankan untuk menormalisasi data (euclidean) ketika training dan testing.
Pak, bapak bilang diatas bahwa “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”, berarti kalau kita mau klasifikasi tanda tangan, matriks targetnya diisi apa ya pak ? Karna kan kita ga tau nilai pasti untuk tanda tangan. Makasih pak
Targetnya angka 0, 1, 2, dst. Nanti kalau hasil simulasi 0.135 maka dia masuk kelas 0 dst
Oh berarti angka targetnya hanya formalitas ya pak ? Jadi kalo saya kasih targetnya 100 ga masalah ya ?
ya, tapi jangan terlalu jauh dengan angka di data
Pak Rahmadya, sebenarnya apa ada paper/buku yg bilang untuk jenis fungsi aktivasi yg terbaik digunakan untuk backpropagation NN itu apa ? Soalnya saya baca di internet dan termasuk di forum Mathworks, katanya fungsi aktivasi terbaik di Hidden Layer adalah Tansig sementara di Output Layer adalah Purelin. Kalo memang benar begitu, saya butuh bukti sumber berupa buku/paper untuk dicantumkan di tugas akhir saya. Terima kasih pak.
pertanyaan yang menarik. harusnya ada buku yang menyebutkan itu. biasanya saya buka help matlab dan di bawah ada buku referensi / jurnal yang dijadikan rujukan matlab.Sebenarnya dari logika saja, hidden layer itu mengarahkan input ke output dengan besar tertentu, aktif atau tidak aktif, jadi yg paling masuk akal adalah tansig (dari nol hingga jenuh satu), walaupun ada yg lain yg kurang akurat yaitu tangga (nol atau satu). sementara output harus sesuai dengan angka real, yang logis adalah purelin krn kalo tansig nanti mentok di satu.
Pak, yg range 0-1 itu logsig, kalo tansig -1 sampai 1, hehe.. Sebenarnya di dokumentasi resmi Matlabnya juga bilang kalo yang paling sering dipakai itu logsig di hidden layer, tapi di forum tanya jawab Mathworks banyak juga yg bilang tansig. Hmm tapi logika yg bapak berikan benar juga ya hehe. Terima kasih pak jawabannya
oiya, sorry, maksudnya ga melebar (lebih dari satu .. juga -1)
pak saya mau nanya, untuk menentukan jumlah node di hidden layer gimana pak? apa ada syarat2 tertentu? trus jumlah node yang optimal di hidden layer brapa pak? terimakasih
Makin banyak training lama. Biasanya sih lebih dari jlh input. Saat ini banyak yg riset optimasinya dgn GA
Pak, saya mau tanya, maksudnya “gradient” di algoritma backpropagation itu apa ya pak ? Karena yg saya baca untuk algoritma backpropagation itu memakai prinsip gradient descent. Saya masih kurang paham di teorinya. Makasih pak.
kemiringan. maksudnya garis antara hasil saat ini dengan sebelumnya, jika sudah tidak miring dan cenderung datar/horizontal berarti tidak ada perubahan signifikan dan sistem menganggap training sudah cukup.
Oh begitu pak. Kalau gradient nya makin besar, itu semakin miring atau semakin datar ya pak ? Soalnya setelah training di matlab ada keterangan nilai gradient yg didapat seberapa besar
kayanya sih y/x, nol berarti datar, coba cek di result matlab
malam pak, saya mau tanya, program saya outputnya ada 21×20312, tapi kok hasilnya dari baris pertama hinggah akhir sama semua ? makasih sebelumnya pak
Assalammualaikm pak, saya kebetulan sedang mengerjakan skripsi tentang deteksi wajah menggunakan extreme learning machine (ELM), tetapi deteksinya masih belum pas, saya dpt saran dr dosen pembimbing untuk menambahkan hidden layer, tp saya belum tau hidden layer penempatan nya dimana, dan apakah hidden layer dpt ditambahkan pada metode extreme learning machine (ELM) itu sendiri? mohon penjelasannya ya pak, terimakasih
kalau extreme learning masuk kategori JST ya bisa aja. hidden layer fungsinya menambah akurasi ketika memisahkan antar satu kelas dgn kelas yg lain
Pak Rahmadya, saya mau bertanya tentang output layer di neural network. Kalau misalnya saya mau melakukan klasifikasi ke dalam 4 kelas, apa saya harus mempunyai 4 neuron output ? Atau bisa pakai 1 neuron output aja ?
satu saja tapi data training harus lengkap, seluruh target kelas harus ada
Maksudnya gimana ya pak ? Soalnya saya baca di beberapa buku kalo untuk klasifikasi lebih dari 2 kelas, output neuronnya harus lebih dari 1. Kalo neuron output cuma 1 berarti jadinya regresi. Tapinya contoh koding di internet untuk klasifikasi pada make 1 output neuron saja. Heheu bingung saya jadinya. Terima kasih pak atas responnya
masukan/input itu variabel. variabel bisa banyak, output hasil olah neuron, biasa banyak tapi biasanya satu. kelas itu keluaran hasil olahnya. contoh 2 kelas: lulus, tidak lulus, 3 penjurusan: ipa, ips, bahasa, dll. jadi istilahnya sepakat dulu
Assalamu’alaikum pak.
Bolehkan saya meminta jurnal atau buku untuk rujukan dalam menentukan klasifikasi yg lebih dari 1 tetapi kita menggunakan 1 outlet neuron. Seperti yg di tanyakan di atas.
wa’alaikum salam w.w
klasifikasi minimal dua kelas: ya/tidak, lulus/tidak, ok/tdk ok, dll. kalau lebih dari 2 kelas biasanya orang SVM nyebutnya multi-class: lulus/tdk-lulus/cadangan, baik/cukup/kurang, dll. Tetap satu kanal keluaran. Untuk yg lebih dari satu kanal keluaran, hasil bukan hanya satu variabel (lulus/tidak lulus) ada variabel lainnya. Jarang jurnal yg outputnya lebih dari satu kanal, kebanyakan ada di bidang kontroler/mekatronika (misal output: arah, speed, dan percepatan). (Mudah2an bidang mas mechantronic).
Pak Rahmadya, bapak bilang istilah yang benar pada jaringan syaraf tiruan (pakai “y”), tapi saya cari di internet, istilah yang sesuai EYD itu “saraf” bukan “syaraf”. Jadi istilah indonesia yang baku untuk ANN apa ya pak? Soalnya untuk keperluan penulisan skripsi harus pakai bahasa indonesia yg baku hehe. Terima kasih pak.
iya, ikuti saja EYD. soalnya dulu waktu sma kalau nulis saraf ditegur guru biologi, katanya itu artinya otaknya kongslet
selamat pagi pak..
saya mau tanya..bagaimna menentukan atau langkah2 penyelesaian untuk mencari nilai bobot awal lapisan input ke lapisan tersembunyi??
bobot awal ya dengan random number. berikutnya di-adjust lewat mekanisme backpropagation (perambatan balik) pada training, hingga diperoleh output sama dengan target pembelajaran.
contohnya bagaimana ya pak??
disini saya kesulitan untuk mencari bobot awal tersebut..
Maaf pak mau tanya, kalo inisialisasi bobot itu dengan acak ya, itu langkahnya gimana ya pak pake sig biner. Apa dengan nguyen widrow. Enak mana pak? Terimakasih
pak mau tanya pembuktian dengan neural network itu dilihat dari apanya yah?
klo fuzzykan dari nilai rentang !
apakah ada sebuah rumus untuk pembuktian jst khususnya dengan multilayer perceptron !
pembuktian itu maksudnya apa? mungkin perhitungan manualnya ya?
iyah pak betul sekali, tapi menggunakan metode MLP.
kalau untuk jumlah layer input dan output sebaiknya berapa yah pak? apakah kita yang tentukkan?
kalau bobot dan bias sudah ketemu dari pelatihan, tinggal makai saja. saya pernah nulis masalah itu (coba search hitung manual jst). pakai yg biasa aja 1 layer input, 1 layer hidden, 1 layer output. jumlah neuron input=jlh input, jumlah neuron output satu (kalau satu keluaran), hidden sesuaikan aja (minimal = jlh input)
jadi jumlah neuron itu = jumlah input / output yah pak?
jumlah neuron input=jumlah input, jumlah neuron output= jumlah berapa yg ingin dikeluarkan. [5 10 1] berarti 5 neuron input, 10 neuron hidden, 1 neuron output.
pak mau tanya MLP bisa tidak mendeteksi objek berbentuk lingkaran? seperti misalnya iris mata
kalau bisa apa yang harus dilakukan untuk melakukan pelatihan jaringan tersebut !
harus tidak menerapkan metode CHT juga atau MLP saja sudah cukup?
bisa saja, tapi riset biasanya membandingkan MLP dengan metode lain atau setingan tertentu (optimasi). MLP biasanya untuk standar awal yg cukup.
saya sedang melaksanakan tugas akhir pak, melihat kebohongan seseorang dari mata nya.
nah yang saya gunakan hanya 1 parameter seperti gerakkan bola mata.
yang saya ingin tanyakan. apakah 1 parameter saja bisa menghasilkan output yang baik dengan metode JST?
karena yang saya baca dari banyak jurnal kebanyakan mereka memakai 2 parameter seperti misalnya gerakkan dan kedipan mata !
kalo satu diperbolehkan ya mendingan satu. gerakan itu posisi ya (image) bukan video?
dibolehkan sih pak tapi saat kami ditanya alasan kenapa 1 kenapa gak 2 atau 3. alasannya apa jika 1 lebih baik dari 2. saya tak bisa jawab.
dari video real time pak.
berarti dengan MLP bisa mendeteksi objek berupa lingkaran yah pak. tanpa harus ada CHT?
kalau ditanya kenapa tidak 2 dan 3 repot kalo ga punya referensi yang pernah riset sebelumnya, terpaksa pakai 1 dan 2 terus dibandingkan
Assalamualaikum.. perkenalkan pak saya novia kumala sari salah satu mahasiswa yang sedang mengerjakan tugas akhir.. pak saya ingin bertanya tentang codingnya pak..
sebelumnya alhamdulillah codingan yang bapak publish bisa di matlab saya.. yang ingin saya tanyakan, bagaimana pak kalau kita memasukkan data trainingnya sekali banyak dengan 7 kolom pak?? karena saat saya mencoba otak atik dengan codingan bapak langsung error pak dan keluar komentar “you have must 7 columns”..
mohon bantuan dan sarannya pak.. terimakasih atas waktu yang bapak berikan.. wassalamualaikum…
7 kolom itu variabel input kan? jadi di Matlab untuk command window, 7 kolom dirubah menjadi 7 baris, misal masing2 data ada 10 yg dilatih, matrix input 7 baris 10 kolom dan target satu baris 10 kolom.
selamat pagi bapak, saya ingin bertanya. saya sedang mengerjakan program terkait dengan prediksi, dengan tipe data input yg berbeda beda seperti ratusan, puluhan, angka koma, jutaan, dll. fungsi aktivasi yg sebaiknya saya gunakan pada hidden layer dan output layer apakah ya? terimakasih
fungsi aktivasi yg biasanya dipakai, tansig/logsig. sepertinya krn range data yg besar, masalahnya di situ. gunakan saja normalisasi (euclidean atau minmax) supaya JST tidak terlalu sulit saat training.
selamat malam bapak, saya ingin bertanya, yg mana lebih bagus, antara RMSE atau MSE ? dan alasannnya apa ya pak? karena saya baca+ tidak ada yg menjelaskan terkait kenapa menggunakan rmse atau mse. terimakasih
bedanya cuma R, alias di akar kwadrat. kalo MSE misal 0.04 RMSE ya 0.2, 0.09 RMSE jadi 0.3. lihat aja sendiri enak yang mana. Makin ke 0 baik RMSE dan MSE makin bagus performa
Pak Rahmadya,, saya membuat jst…tetapi waktu di coba sim kok keluar nya seperti ini ya…
Error using network/sim (line 266)
Input data sizes do not match net.inputs{1}.size.
Error in Pengujian (line 98)
output = round(sim(net,data_uji));
Mohon Petunjuknya
Terimakasih
waktu pelatihan, ukuran matriks input dan target berapa? ketika sim ukuran data_uji berapa?
waktu pelatihan ukuran matriks input dan target latih = 20 baris x 7 kolom.
ukuran data uji dan target uji = 10 baris x 7 kolom.
saya menggunakan pelatihan berikut source code nya :
% performance goal (MSE)
error_goal = 1e-6;
% choose a spread constant
spread = 1;
% choose max number of neurons
K = 5;
% number of neurons to add between displays
Ki = 20;
% create a neural network
net = newrb(data_latih,target_latih,error_goal,spread,K,Ki);
% Proses training
net.trainFcn = ‘traingdx’;
[net,tr,~,E] = train(net,data_latih,target_latih);
save net net
pagi pak. saya dita sedang membuat tugas akhir
pengolahan citra digital deteksi karies pada gigi menggunakan jst
untuk prosessnya citra untuk mendeteksi agar kebaca kariesnya menggunakan ekstraksi apa ya? normalisasi atau menghilangkan noise atau apa ya? terimakasih
mungkin: warna, bentuk, gigi dan permukaannya yg dibandingkan dengan kondisi normalnya
pak saya kan sedang TA tentang JST Learning Vektor Kuantisasi , boleh minta bantuan manual nya untuk membangun arsitekturnya ?? variabel yang saya gunakan 13 variabel pak. Terimakasih
gunakan fungsi di Matlab untuk lvq, ketik saja di command window “help lvq”, lihat: https://rahmadya.com/2014/10/06/learning-vector-quantization-lvq/
kan disana ada nilai hidden layernya, nah cara nentuin nilai hidden layernya itu bagaiman yapak? ada aturan atau kita yang tentuin sendiri. mohon bantuannya pak..
selamat sore. mohon pencerahannya. saya sedang mengerjakan program prediksi dengan backpropagation. hasil trening nya cukup bagus. tapi hasil testing nya tidak memuaskan. mohon pencerahannnya itu penyebab nya apa dan bagaimana solusinya. terimakasih
data training harus bagus, kalau tidak maka akurasi ketika testing jatuh. gunakan pre-processing yg tepat. Terkadang fiture reduction perlu, mengingat JST harus bisa menggeneralisasi. Saat ini sudah mulai bisa diterapkan “deep learning” dengan hidden layer yang banyak karena laptop sudah pada kencang.
siang pak, saya disuruh buat struktur backpropagation neural network untuk deteksi website phising, datanya didapat dari uci machine learning. tapi sebelumnya saya blm prnh diajarin NN. belum masuk ke aplikasinya, baru diminta buat strukturnya saja, untuk nentuin input layer, hidden layer, dan output layer itu gmn ya pak? makasih
input dan output(target) harus tepat, berdasarkan variabel2 deteksi. nah kalo hidden fleksibel (biasanya dicari yg optimal – tidak berat tetapi masih akurat). coba ketik “jst” di search pada blog ini
pak, mau tanya, kalo output saya hanya positif atau negatif, berarti diganti angka 0=negatif 1=positif kan? lalu fungsi transfer nya apa pak? purelin atau logsig?
di bagian mana? kalau di output ya harus ada + dan – (purelin atau tansig), kalau di hidden bisa tansig. oiya, output purelin cocok untuk peramalan (nilai di luar range yang dilatih karena membesar terus atau mengecil terus).
jadi output nya harus ada positif dan negatif pak? misal saya prediksi penyakit kan nanti kelas nya positif dan negatif, nanti ubahnya jadi positif dan negatif, gitu pak? kalau fungsi training apa yang cocok pak?
tambah kondisi if saja dengan batas, jika kurang dari x negatif, lebih dari x positif
pak maaf, target dari backpro bisa karakter(kategorikal) atau harus numerik?
pak, apa yang dimaksud dengan “net.trainParam.show” itu parameter apa ya pak? mohon bantuan nya
net itu jaringan yang sudah diramu, trainParam itu parameter-parameter training seperti berapa iterasi max, stop condition, dll, sementara show berarti menampilkan (biasanya berupa tabel-tabel)
berarti kalau ada net.trainparam.show = 20. angka 20 nya menunjukan apa ya pak? terima kasih sebelumnya
maaf mas, sya mau tanya coding program matlab untuk struktur jaringan dengan hiden layer lebih dari 1 tetapi tidak menggunakan nntool, karna sya ingin menetapkan bobotnya tidak random. terima kasih
aslinya dulu memang tidak dengan nntool, pake newff atau newcf. Coba ketik: help newff di command window dan lihat tatacaranya
kak, izin bertanya, saya lagi mengerjakan PKL tentang prediksi curah hujan menggunakan neural network pada python.. nah pertanyaannya, saya tidak paham kak menentukan input, output, hidden layernya. itu asal dibuat atau ada ketentuannya kak? btw, data saya itu curah hujan bulanan dalam rentang 10 tahun. jadi data yang diperoleh itu 120 data. terimakasih kak.
Di python ada library scikit learning (sklearn). Salah satunya fungsi SVM Regression (SVR), bisa digunakan.
Artiket nya sangat membantu, terimakasih