Bu açıklama daha iyi oldu benim için. Teşekkür ederim çok işime yaradı.

Kodun çok büyük bir kısmını bitirdim, çoğu yeri anladım sağ olsun tuncaxxz çok yardımcı oldu ama son 4 farklı satır kaldı. Bunları bir türlü anlamadım. : operatorunu açıklayabilecek biri var mı? Kalan satırlar: hata_kon(k,1)=hata ; %%hata ve hata_kon birer matris indo = ; %%agirlik_o matris ind2 = hata_top_v(l,1)=hata_top ; : matris veya dizi için tüm elemanları alır. hata_kon(k,1)=hata ; %burada hata'nın tüm elemanlarını hata_kon'a k adet satır ve 1 sütun olarak aktarmış.(hata'nın tüm elemanlarını k adet satır ve 1 adet sütun olarak hata_kon'a aktarmış) indo = ; % burada ise agirlik_o'nun tüm satırlarını ve 1'den nn2'ye kadar olan sütunlarını indo'ya aktarmış. ind2 = % burada agirlik_2'nin tüm satırlarını ve 1'den nn1'e kadar olan sütunlarını ind2'ye aktarmış. hata_top_v(l,1)=hata_top ; % hata_top'un tüm elemanlarını l adet satır ve 1 adet sütun olarak hata_top_v'ye aktarmış İlk batışını ben grdüm güneşin, Gün dnümüne sen yetiştin, Kaptanı benim bu geminin, En son ben çıkarım, Panik etmeyin iletisim: www.tahribat.com@gmail.com

Merhaba arkadaşlar. Bir arkadaşımın bitirme tezini yapmasına yardımcı oluyorum da hiç matlab bilmediğim için matlab kodunu anlayıp javaya dnüştürmem zor oluyor. Aşağıdaki kodu anlayıp yanına açıklama yazabilecek birileri var mı acaba? . Şimdiden teşekkürler. %%%%parametreler%%%%% mu1=0.2; mu2=0.2; a=3; %%%%%%%%%%% ng=9; nn1=4; nn2=3; nn0=2; iterasyon_s=100; egitim_s=4; %%%%ilk degerler%%% agirlik_1=0.25 randn(nn1, ng+1); agirlik_2=0.25 randn(nn2, nn1+1); agirlik_o=0.25 randn(nn0, nn2+1); %%%%%%%%%%%%%%%%%%%%%%% egitim_kumesi_g= ; egitim_kumesi_c= ; for l=1:iterasyon_s for k=1:egitim_s giris_1= ; cikis=egitim_kumesi_c '; v1=agirlik_1 giris_1; y1=1./(1+exp((-1) a v1)); giris_2= ; v2=agirlik_2 giris_2; y2=1./(1+exp((-1) a v2)); giris_o= ; vo=agirlik_o giris_o; yo=1./(1+exp((-1) a vo)); e=cikis-yo; hata=0.5 e' e; hata_kon(k,1)=hata ; %fdrv_o=a yo. (1-yo); %%%egitim cikis katmani%%% trvo = a yo. (1-yo); %logsig hata fonksiyonunun cikis katmani icin turevi yerel_grao=e.trvo; %cikis katmani yerel gradienti %%%egitim 2. gizli katman%%% trv2 = a y2. (1-y2); %logsig hata fonksiyonunun 2. gizli katman icin turevi indo = ; %indirgenmis agirlik matrisi yerel_gra2 = indo' yerel_grao.trv2; %2. gizli katman yerel gradienti %%%egitim 1. gizli katman%%% trv1 = a y1. (1-y1); %logsig hata fonksiyonunun 1. gizli katman icin turevi ind2 = ; %indirgenmis agirlik matrisi yerel_gra1 = ind2' yerel_gra2.trv1; %1. gizli katman yerel gradienti agirlik_o = agirlik_o+mu2. yerel_grao giris_o'; %cikis katmani parametresi olarak mu2 kullanildi agirlik_2 = agirlik_2+mu2. yerel_gra2 giris_2'; %2. gizli katman parametresi olarak mu2 agirlik_1 = agirlik_1+mu1. yerel_gra1 giris_1'; %1. gizli katman parametresi olarak mu1 end%egitim hata_top=0.25 sum ; hata_top_v(l,1)=hata_top ; hata_lim=0.01; if hata_top<hata_lim break; end%if end%iterasyon plot %%%%%%test%%%%%%% test_kumesi_g= ; tgiris_1= ; v1=agirlik_1 tgiris_1; y1=1./(1+exp((-1) a v1)); giris_2= ; v2=agirlik_2 giris_2; y2=1./(1+exp((-1) a v2)); giris_o= ; vo=agirlik_o giris_o; yot=1./(1+exp((-1) a vo))

Kodun çok büyük bir kısmını bitirdim, çoğu yeri anladım sağ olsun tuncaxxz çok yardımcı oldu ama son 4 farklı satır kaldı. Bunları bir türlü anlamadım. : operatorunu açıklayabilecek biri var mı? Kalan satırlar: hata_kon(k,1)=hata ; %%hata ve hata_kon birer matris indo = ; %%agirlik_o matris ind2 = hata_top_v(l,1)=hata_top ;

Çok sağ ol hocam beni büyük bir dertten kurtardın.

Çok sağ ol abi bunu bir deneyeyim bakalım bir şeyler çıkar belki

hocam matlab kendisi direk kendi kodlarını C kodu olarak çevirebiliyor. C biliyorsan eğer ordan javaya geçirmek çok daha kolay olacaktır. bir kaç bişey haricinde değiştireceğin yer olmaz sanırım. tabiki class vs kullanacaksan iş biraz değişir. http://www.mathworks.com/videos/generating-c-code-from-matlab-code-68964.html Matlab demo videosu burda işine yarar umarım. punto cero

yukardakinden bişey çıkmazsa diye ben yine de açıklamalarını yazayım hocam agirlik_1=0.25 randn(nn1, ng+1); %0.25,-0.25 arasında rastgele sayılarla boyutlu matris üretir. agirlik_2=0.25 randn(nn2, nn1+1);%bunlar da aynı şekilde agirlik_o=0.25 randn(nn0, nn2+1);% giris_1= ;%egitim_kumesi_g matrisinin ilk satırını sutün olarak alır +1 eleman olarak sonuna 1 ekler. yani ilk satırda 9 eleman varsa 10. eleman 1 olur. cikis=egitim_kumesi_c ';%egitim_kumesi_c matrisininilk satırını sutün olarak alır v1=agirlik_1 giris_1;%iki matrisi çarpar y1=1./(1+exp((-1) a v1));%v1 matrisinin her elemanı icin bu işlem yapılır. sonuç matris olarak cikar giris_2= ;%y1 matrisine +1 eleman olarak 1'i ekler v2=agirlik_2 giris_2;%iki matrisi çarpar y2=1./(1+exp((-1) a v2));%v2 matrisinin her elemanı icin bu işlem yapılır. sonuç matris olarak cikar giris_o= ;%+1 eleman olarak 1'i ekler. vo=agirlik_o giris_o;%matrisleri çarpar yo=1./(1+exp((-1) a vo));%vo matrisinin her elemanı icin bu işlem yapılır. sonuç matris olarak cikar e=cikis-yo;%matrisleri cikarir hata=0.5 ;%e matrisi ile transpozesini 0.5 ile çarpar hata_kon(k,1)=hata ; hocam gerisini çıkarabilirsin umarım. . , ./ , .\ matrislerde eleman elemana olan işlemler. matris çarpması değilde karşılıklı elemanları çarpıyosun blme de aynı şekilde. " ' " bu kesme işareti matrisin transpozesini alır. birde matrislerde eleman sınırlaması gibi bişey ismini tam bilmiyorum şimdi onu çok kullanmış. yani mat(100,50) olsun. mat(30:50,10:20) diye yazan şey mat matrisinin 30ile50. sutünları arasıyla 10ile20. satırları arasında kalan alandaki elemanların kaldığı matrisi alır. rakam yok sadece " : " varsa bütün satırları yada sutünları alır. başkada yok sanırım. takıldığınız bir yer olursa açıklamaya çalışırım yine de. tuncaxxz tarafından 16/May/13 07:52 tarihinde düzenlenmiştir punto cero