Ejemplo n.º 1
0
        public void eğit()
        {
            kur(eğitimVerisi[0]);

            for (int i = 0; i < epoch; i++)
            {
                hesapla(index);
                ağırlıkGüncelle(index);

                for (int x = 0; x < gizliNöronArr.Length; x++)
                {
                    for (int jx = 0; jx < gizliNöronArr[x].ÇıkanSinapslar.Count; jx++)
                    {
                        Sinaps sinaps = gizliNöronArr[x].ÇıkanSinapslar[jx];
                        if (sinaps.ÇıktıNöron == o1)
                        {
                            GeriYayılım.GizliKatmanSinapsGüncelle(sinaps, beklenenDegerler[index][0], o1.Çıkış, o1.Çıkış, sinaps.GirdiNöron.Çıkış);
                        }
                        if (sinaps.ÇıktıNöron == o2)
                        {
                            GeriYayılım.GizliKatmanSinapsGüncelle(sinaps, beklenenDegerler[index][1], o2.Çıkış, o2.Çıkış, sinaps.GirdiNöron.Çıkış);
                        }
                        if (sinaps.ÇıktıNöron == o3)
                        {
                            GeriYayılım.GizliKatmanSinapsGüncelle(sinaps, beklenenDegerler[index][2], o3.Çıkış, o3.Çıkış, sinaps.GirdiNöron.Çıkış);
                        }
                        if (sinaps.ÇıktıNöron == o4)
                        {
                            GeriYayılım.GizliKatmanSinapsGüncelle(sinaps, beklenenDegerler[index][3], o4.Çıkış, o4.Çıkış, sinaps.GirdiNöron.Çıkış);
                        }
                        if (sinaps.ÇıktıNöron == o5)
                        {
                            GeriYayılım.GizliKatmanSinapsGüncelle(sinaps, beklenenDegerler[index][4], o5.Çıkış, o5.Çıkış, sinaps.GirdiNöron.Çıkış);
                        }
                    }
                }
                index++;
                if (index == 5)
                {
                    index = 0;
                }
            }



            girisMatrisDegiştir(eğitimVerisi[0]);
            hesapla(0);

            MessageBox.Show(o1.Çıkış + "\n" + o2.Çıkış + "\n" + o3.Çıkış + "\n" + o4.Çıkış + "\n" + o5.Çıkış);
        }
Ejemplo n.º 2
0
 private void ağırlıkGüncelle(int index)
 {
     for (int i = 0; i < girişNöronArr.Length; i++)
     {
         girişNöronArr[i].ÇıkanSinapslar.ForEach(sinaps => {
             GeriYayılım.girisKatmanSinapsGüncelle(sinaps,
                                                   beklenenDegerler[index][0], o1.Çıkış,
                                                   beklenenDegerler[index][1], o2.Çıkış,
                                                   beklenenDegerler[index][2], o3.Çıkış,
                                                   beklenenDegerler[index][3], o4.Çıkış,
                                                   beklenenDegerler[index][4], o5.Çıkış,
                                                   o1, o2, o3, o4, o5);
         });
     }
 }