Ticarette makine öğrenimi: teori, pratik, ticaret ve daha fazlası - sayfa 1259

 
Onlar. 20 tahminci varsa, xs Bayes'in yetersiz eğitimli olması durumunda ne bulacağı.
 
Maksim Dmitrievski :

tam olarak değil, burada daha açık olmalı

https://habr.com/en/post/276355/

uygulama yelpazesi geniş, tam olarak nasıl uygulanacağı başka bir soru

akşam okuyacağım

 
Maksim Dmitrievski :

konuşacak bir şeyimiz yok, çünkü psikotipe göre senin ya bir çocuk olduğunu görüyorum ya da sadece .. kısacası, sürdük

"biz" sizin için mi yoksa ne için? usta? Önce kendine iş bul o yaşta anne babanın gırtlağına oturmak ayıp.

 
Maksim Dmitrievski :

tam olarak değil, burada daha açık olmalı

https://habr.com/en/post/276355/

uygulama yelpazesi geniş, tam olarak nasıl uygulanacağı başka bir soru

Makalenin 2. bölümünden özet:
Bırakma, Bayesciliğin çok basit, ucuz bir versiyonu olarak düşünülebilir. Fikir, son yazının sonunda bahsettiğim topluluklarla aynı analojiye dayanıyor: bir sinir ağınız olduğunu hayal edin. Şimdi onu aldığınızı, yanlışlıkla birkaç nöronu kopardığınızı ve bir kenara bıraktığınızı hayal edin. Bu tür yaklaşık 1000 işlemden sonra, her birinin rastgele bir şekilde birbirinden biraz farklı olduğu binlerce ağdan oluşan bir topluluk elde edersiniz. Tahminlerinin ortalamasını alıyoruz ve rastgele sapmaların yer yer birbirini dengelediğini ve gerçek tahminler verdiğini görüyoruz. Şimdi bir Bayes ağınız olduğunu ve belirsizlikten bin kez bir ağırlık kümesi çıkardığınızı ve birbirinden biraz farklı olan aynı ağlar topluluğunu elde ettiğinizi hayal edin.

Bayes yaklaşımını daha havalı yapan şey, bu rastgeleliği kontrollü bir şekilde kullanmanıza izin vermesidir.

....

Pratikte bu, dipout ağının, çok fazla olmasa da, bırakma ağından daha iyi sonuçlar verdiği anlamına gelir.

Bırakmayı daha havalı yapan şey, elbette çok basit olmasıdır.

Onlar. bırakmalı derin bir NN, Bayes ağının bir analogudur. Ve birçok pakette düşmeler var, bunları ilk önce tahmincilerinizde/hedeflerinizde balık aramak için kullanabilirsiniz. Ardından Bayes ile sonuçları iyileştirmeye çalışın. Bırakma Vladimir Perervenko'nun makalelerinde kullanıldı, bunları temel alarak deneyebilirsiniz.

Denedim, ancak tahmincilerimde bir ilerleme bulamadım.
Ama ağları onlardan 1000 nöron çıkaracak kadar derin yapmadım. N-100-100-100-100-1'den (401 nöron) fazlasını denemedim. Onlar. 100 kaldırılmış olabilir ama 1000 değil. 1000'i kaldırmak için 4-10 bin nöronlu bir ağa ihtiyacınız var ve saymak muhtemelen uzun zaman alacak.
1000 ağaçlı ormanların, NA'dan çok daha hızlı sayarken benzer bir sonuca sahip olması mümkündür.
 
elibrarius :
N-100-100-100-100-1'den (401 nöron) fazlasını denemedim.

Bu tür canavarlar normalde eğitilmezler. IMHO, NS için daha kolay. 100 nörona kadar bir yerde.

 
elibrarius :
Makalenin 2. bölümünden özet:

Onlar. bırakmalı derin bir NN, Bayes ağının bir analogudur. Ve birçok pakette düşmeler var, bunları ilk önce tahmincilerinizde/hedeflerinizde balık aramak için kullanabilirsiniz. Ardından Bayes ile sonuçları iyileştirmeye çalışın. Bırakma Vladimir Perervenko'nun makalelerinde kullanıldı, bunları temel alarak deneyebilirsiniz.

Denedim, ancak tahmincilerimde bir ilerleme bulamadım.
Ama ağları onlardan 1000 nöron çıkaracak kadar derin yapmadım. N-100-100-100-100-1'den (401 nöron) fazlasını denemedim. Onlar. 100 kaldırılmış olabilir ama 1000 değil. 1000'i kaldırmak için 4-10 bin nöronlu bir ağa ihtiyacınız var ve saymak muhtemelen uzun zaman alacak.
1000 ağaçlı ormanların, NA'dan çok daha hızlı sayarken benzer bir sonuca sahip olması mümkündür.

Oh, bilmiyorum, birkaç ağaç/ormanla birlikte Akurasi büyümeyi durdurur ve hiçbir şeyi iyileştirmeden sadece balast gibi uzanırlar. Düşür onları, ölü bir lapa gibi düşürme

Bence Bayes ve okulu bırakanların kaba bir karşılaştırması, ama yine de konuyla ilgili çok az bilgim var ve tartışmayacağım, belki de öyle

 
Maksim Dmitrievski :

Bence Bayes ve okulu bırakanların kaba bir karşılaştırması, ama yine de konuyla ilgili çok az bilgim var ve tartışmayacağım, belki de öyle

Makalenin yazarı bunu karşılaştırdı - ben değil. Ve makalesini, deneylerini yaptığı daha büyük bir makaleyle yazdı. Onlar. bu karşılaştırma görünüşe göre yöntemin geliştiricilerinden geliyor.

 
Maksim Dmitrievski :

Oh, bilmiyorum, birkaç ağaç/ormanla birlikte Akurasi büyümeyi durdurur ve hiçbir şeyi iyileştirmeden sadece balast gibi uzanırlar. Düşür onları, ölü bir lapa gibi düşürme

peki, 1000 ağaçlı bir orman inşa ederseniz, muhtemelen her birine verinin %1'i gönderilmelidir, yani. r=0.01. Tavsiye edilen 100 ağaçlı ormanlar için tavsiye edilen 0,1 ... 0,6 değil.
 

Alglib-a ormanlarında anlaşılmaz bir kod buldum. dataanalysis.mqh'den çapraz etropi hesaplama fonksiyonunun tam kodu:

//+------------------------------------------------------------------+
//| Average cross-entropy (in bits per element) on the test set      |
//| INPUT PARAMETERS:                                                |
//|     DF      -   decision forest model                            |
//|     XY      -   test set                                         |
//|     NPoints -   test set size                                    |
//| RESULT:                                                          |
//|     CrossEntropy/(NPoints*LN(2)).                                |
//|     Zero if model solves regression task.                        |
//+------------------------------------------------------------------+
static double CDForest::DFAvgCE(CDecisionForest &df,CMatrixDouble &xy,
                                const int npoints)
  {
//--- create variables
   double result=0;
   int    i=0;
   int    j=0;
   int    k=0;
   int    tmpi=0;
   int    i_=0;
//--- creating arrays
   double x[];
   double y[];
//--- allocation
   ArrayResizeAL(x,df.m_nvars);
   ArrayResizeAL(y,df.m_nclasses);
//--- initialization
   result=0;
   for(i=0;i<=npoints-1;i++)
     {
      for(i_=0;i_<=df.m_nvars-1;i_++)
         x[i_]=xy[i][i_];
      //--- function call
      DFProcess(df,x,y);
      //--- check
      if(df.m_nclasses>1)
        {
         //--- classification-specific code
         k=(int)MathRound(xy[i][df.m_nvars]);
         tmpi=0;
         for(j=1;j<=df.m_nclasses-1;j++)
           {
            //--- check
            if(y[j]>(double)(y[tmpi]))
               tmpi=j;
           }

         //--- check
         if(y[k]!=0.0)
            result=result-MathLog(y[k]);
         else
            result=result-MathLog(CMath::m_minrealnumber);
        }
     }
//--- return result
   return(result/npoints);
  }

Kırmızıyla vurgulanan kod parçası, kodda aşağıda hiçbir şekilde kullanılmayan bir şeyi ( tmpi ) dikkate alır. O zaman neden dahil?
Ya bir şey tamamlanmadı ya da kod tamamen temizlenmedi.
Genel olarak bu f-ii'yi anlamaya başladım çünkü 1 ağacı keşfetmek istiyordum. Ve ormandaki ağaç sayısını = 1 olarak belirledikten sonra, tüm hataların 0 ile 1 arasında olduğunu ve bunun 100'den 300+'e kadar olduğunu gördüm.
Birisi çapraz entropiyi anlıyor - kod genellikle doğru mu, yoksa bitmemiş bir şey mi kaldı?

Wikipedia'ya göre olmalı



 

catbust ile karşılaştırıldığında - normalde testte genellikle> 0,5 döndürür .. her zamanki gibi iyi

Hesaplamaya yarın kendim bakacağım, hata ayıklama kodu kaldırılmamış

genel olarak, bu metrik burada hiçbir şeyle ilgili değildir, çünkü erken bir duraklama veya herhangi bir şey için kullanılmaz .. ve sonunda bilgilendirici değildir. Bir sınıflandırma hatası alıyorum ve hepsi bu
Neden: