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

 
mytarmailS #:

Sanırım FF ile optimizasyon yüzeyini karıştırıyor.

Artık kimin ne düşündüğünü bilmiyorum, bir tür şaka gibi.
Ve bunların hepsi kalıpları bulmak veya sağlamlığı değerlendirmek açısından anlamsız.
 
Örneğin Andrew'un hiçbir zaman normal bir TC'si olmamıştır, ancak 20 yıldır haklı olduğuna ve gerçekten anlamlı bir şey yaptığına inanmaktadır.
Ve tüm bu argümanlar ölü kümes hayvanları kadar iyi
 
fxsaber #:

Belli bir sinsilik var. Bağlantılar sadece açıldıklarından emin olmak için. "İlgilenen" hiç kimse bunları araştırmayacak. Bırakın akademik nitelikteki çalışmaları, Andrei'nin çiğnenmiş makalelerini bile kimse okumayacak.


Kendi optimizasyon algoritmasının sıralamasını hesaplayabilen bu kolay anlaşılır TOP'u gören var mı?

https://habr.com/ru/users/belyalova/publications/articles/


Bunlar nöronlar için gradyan tabanlı optimizasyon yöntemleridir,

ve gradyansız küresel optimizasyon yöntemlerinden bahsediyoruz,

Hadi, Saber.

Bunlar ABC'ler.

Bu arada, yerel optimizasyon uzmanınız makalelerinde bu konuda hiçbir şey söylemedi (çünkü kendisi AO'da bir meşe ağacıdır).

 
Aleksey Nikolayev #:

Bunu okuyun, özellikle de "Kayıp fonksiyonu != kalite metriği" bölümünü. Bundan daha açık yazamam.

Açamadım, biraz engellendik(

Aleksey Nikolayev #:
Fonksiyon uzayları sonsuz boyutlu olduğundan, bu potansiyel sınırsız sayıda parametreye yol açar. Pratikte bu, parametre sayısını bir şekilde kontrol etme ihtiyacına yol açar - örneğin ağaçlar için yaprak budamasıdır.

Örneğin, AMO ormanları, güçlendirmeler ilkellerden, kurallardan oluşur.


İhtiyacımız olan kuralların bir Beckus Naur gramerini oluşturabiliriz.

Bunun gibi.

grammarDef
<ex3> ::= <ex2> | <ex2> & <ex2> | <ex2> & <ex3>
<ex2> ::= <ex1> | <com>(<ex1>, <ex1>)
<ex1> ::= <op>(<var>, <var>)
<com> ::= "&" | "|"
<op>  ::= ">=" | "<=" | "==" | "!="
<var> ::= x1 | x2 | x3 | x4

Her kuralın arkasında bir kod/dize/genotip vardır.

2 3 1 3 2 4 3 2 3 1 4 4 1 2 1 4 3 2 4 3 4 1 3 4 3 1 2 1 1 3 2 4 1 4 2 4 3 3 1 4 3 2 3  ->  (x1 == x4 | x2 != x1) & (x4 >= x3 & x1 != x2) & (x3 <= x2 & x3 != x1) 
1 1 4 4 1 4 1 4 2 3 1 4 1 1 1 3 1 4 2 3 4 1 1 3 4 3 2 4 1 4 2 3 4 3 3 2 3 4 2 2 4 4 3  ->  x1 <= x2 & x4 == x2 & x2 <= x4 
2 4 1 4 1 1 1 2 1 4 4 1 2 1 3 1 2 3 3 3 3 4 4 2 2 3 1 3 4 2 2 1 2 4 2 1 4 4 3 3 1 4 3  ->  x2 >= x2 & x1 >= x2 & x2 != x3 
4 3 1 3 2 4 2 2 3 4 4 1 1 2 2 1 3 2 4 3 4 3 3 1 3 1 3 2 2 2 4 4 2 3 2 1 4 1 3 1 3 2 4  ->  (x1 == x3 | x1 != x1) & (x2 == x4 | x4 >= x1) 
1 3 3 1 4 2 2 3 4 3 3 4 4 2 2 4 3 1 4 2 1 1 3 4 2 3 1 2 3 1 1 1 3 3 2 2 2 2 2 3 3 1 2  ->  (x3 >= x3 | x4 >= x4) & x3 == x1 
2 1 2 1 3 3 1 2 3 3 2 3 3 3 2 3 4 4 4 3 4 3 2 2 3 1 4 3 4 2 4 3 4 1 2 3 1 2 1 3 1 4 3  ->  x4 != x2 & x4 != x3 & (x1 != x1 | x1 != x4) 
3 3 1 1 3 3 3 2 4 2 2 3 1 2 2 3 2 4 1 4 3 4 4 2 2 4 1 2 2 4 3 4 2 2 3 4 3 4 4 3 4 4 2  ->  x4 != x4 | x3 >= x3 
3 2 1 1 3 4 2 3 2 2 2 4 3 2 3 4 2 2 4 4 1 1 3 1 2 3 2 4 1 2 1 2 1 2 1 4 3 2 4 1 1 4 2  ->  x4 <= x1 
4 2 3 2 4 4 3 3 3 4 1 4 3 3 3 2 4 3 1 3 4 4 1 4 4 2 1 2 3 1 3 3 4 2 4 1 4 2 3 4 3 4 3  ->  x1 == x1 & (x2 >= x1 | x4 != x3) 
3 2 2 1 2 3 2 4 3 3 4 2 4 4 2 4 3 4 2 2 1 1 2 2 1 3 1 4 3 4 3 2 4 4 3 2 2 2 2 2 3 1 1  ->  x3 <= x4 

Solda genotip, sağda üretilen kural, bu genotip AO yardımıyla aranabilir.

Kuralların toplamı aynı destek veya ormandır ...

Bu bir tür beyinsizlik.


İşte hepsini uygulayan kod

library(gramEvol)
grammarDef <- CreateGrammar(list(
  ex3 = grule(ex2, ex2 & ex2, ex2 & ex3),
  ex2 = grule(ex1, com(ex1, ex1)),
  ex1 = grule( op(var, var) ),
  com = grule("&","|"),
  op = grule(">=","<=","==","!="),
  var = grule(x1,x2,x3,x4)))


for(i in 1:10){
  genotype <- sample(1:4,size = 43,replace = T)
  rule <- as.character(GrammarMap(genotype, grammarDef))
  cat(as.character(genotype), " -> ", rule, "\n")
}

Paketdokümantasyonu

Bu yüzden AMO'yu tamamen optimizasyon ve gramer üzerine uygulamak için herhangi bir engel görmüyorum.


Ve ellerimiz tüm cephelerde serbest, herhangi bir fonksiyon, dönüşüm, herhangi bir veri, genel olarak her şey uygulanabilir.



Aynı Forrest, hiçbir fark yok.

X <- iris[,1:(ncol(iris)-1)]
target <- iris[,"Species"] 


library(inTrees)
library(RRF)

target |> 
as.factor() |> 
RRF(x = X,ntree=100) |> 
RF2List() |> 
extractRules(X = X) 






697 rules (length<=6) were extracted from the first 100 trees.
       condition                                                                        
  [1,] "X[,4]<=0.8"                                                                     
  [2,] "X[,4]>0.8 & X[,4]<=1.65 & X[,4]<=1.45"                                          
  [3,] "X[,3]<=4.95 & X[,4]>0.8 & X[,4]<=1.65 & X[,4]>1.45 & X[,4]<=1.55"               
  [4,] "X[,3]>4.95 & X[,4]>0.8 & X[,4]<=1.65 & X[,4]>1.45 & X[,4]<=1.55"                
  [5,] "X[,4]>0.8 & X[,4]<=1.65 & X[,4]>1.45 & X[,4]>1.55"                              
  [6,] "X[,3]<=4.75 & X[,4]>0.8 & X[,4]>1.65 & X[,4]<=1.85 & X[,4]<=1.75"               
  [7,] "X[,3]>4.75 & X[,4]>0.8 & X[,4]>1.65 & X[,4]<=1.85 & X[,4]<=1.75"                
  [8,] "X[,1]<=5.95 & X[,3]<=4.85 & X[,4]>0.8 & X[,4]>1.65 & X[,4]<=1.85 & X[,4]>1.75"  
  [9,] "X[,1]>5.95 & X[,3]<=4.85 & X[,4]>0.8 & X[,4]>1.65 & X[,4]<=1.85 & X[,4]>1.75"   
 [10,] "X[,3]>4.85 & X[,4]>0.8 & X[,4]>1.65 & X[,4]<=1.85 & X[,4]>1.75"                 
 [11,] "X[,4]>0.8 & X[,4]>1.65 & X[,4]>1.85"                                            
 [12,] "X[,4]<=0.8"                                                                     
 [13,] "X[,3]<=4.95 & X[,4]>0.8 & X[,4]<=1.55"                                          
 [14,] "X[,3]>4.95 & X[,4]>0.8 & X[,4]<=1.55"                                           
 [15,] "X[,1]<=5.45 & X[,4]>0.8 & X[,4]>1.55 & X[,4]<=1.75"                             
 [16,] "X[,1]>5.45 & X[,3]<=5.45 & X[,4]>0.8 & X[,4]>1.55 & X[,4]<=1.75"                
 [17,] "X[,1]>5.45 & X[,3]>5.45 & X[,4]>0.8 & X[,4]>1.55 & X[,4]<=1.75"                 
 [18,] "X[,1]<=5.95 & X[,3]<=4.9 & X[,4]>0.8 & X[,4]>1.55 & X[,4]>1.75"                 
 [19,] "X[,1]>5.95 & X[,3]<=4.9 & X[,4]>0.8 & X[,4]>1.55 & X[,4]>1.75"                  
 [20,] "X[,3]>4.9 & X[,4]>0.8 & X[,4]>1.55 & X[,4]>1.75"                                
 [21,] "X[,4]<=0.8"                                                                     
 [22,] "X[,3]<=4.85 & X[,4]>0.8 & X[,4]<=1.7"                                           
 [23,] "X[,1]<=5.95 & X[,3]<=4.85 & X[,4]>0.8 & X[,4]>1.7"                              
 [24,] "X[,1]>5.95 & X[,3]<=4.85 & X[,4]>0.8 & X[,4]>1.7"                               
 [25,] "X[,1]<=6.6 & X[,3]>4.85 & X[,4]>0.8 & X[,4]<=1.65"                              
 [26,] "X[,1]>6.6 & X[,3]>4.85 & X[,4]>0.8 & X[,4]<=1.65"                               
 [27,] "X[,3]>4.85 & X[,4]>0.8 & X[,4]>1.65"                                            
 [28,] "X[,3]<=2.45"                                                                    
 [29,] "X[,3]>2.45 & X[,3]<=5.35 & X[,4]<=1.75"                                         
 [30,] "X[,3]>2.45 & X[,3]>5.35 & X[,4]<=1.75"                                          
 [31,] "X[,1]<=5.95 & X[,3]>2.45 & X[,3]<=4.85 & X[,4]>1.75"                            
 [32,] "X[,1]>5.95 & X[,3]>2.45 & X[,3]<=4.85 & X[,4]>1.75"                             
 [33,] "X[,3]>2.45 & X[,3]>4.85 & X[,4]>1.75"                                           
 [34,] "X[,3]<=2.45"           
...
..
..
..
.
.
.
 
mytarmailS #:
Açamadım, biraz engellendik(

Çok engelleniyoruz, bir şekilde uyum sağlıyoruz.

mytarmailS #:
Örneğin AMO ormanları, güçlendirmeler ilkellerden, kurallardan oluşur.

Sabit bir parametre setinin olmamasının öğrenmeyi (optimizasyonu) imkansız hale getirdiğini iddia etmedim. Ben sadece sabit bir parametre seti ile geleneksel optimizasyondan önemli farklılıklardan bahsediyordum. Bana inanmıyorsanız, MT5'te (optimize edicinin sabit bir set için çalıştığı) ağaçları veya gramerleri uygulamayı deneyebilirsiniz. Bu kesinlikle imkansız değildir, ancak son derece elverişsizdir.

 
Aleksey Nikolayev #:

Sabit bir parametre setinin olmamasının öğrenmeyi (optimizasyonu) imkansız hale getirdiğini iddia etmedim. Ben sadece sabit bir parametre seti ile geleneksel optimizasyondan önemli farklılıklardan bahsediyordum. Bana inanmıyorsanız, MT5'te ağaçları veya gramerleri (optimize edicinin sabit bir küme için çalıştığı) uygulamayı deneyebilirsiniz. Bu kesinlikle imkansız değildir, ancak son derece elverişsizdir.

MQL5 dili, test cihazı ve optimize edicinin standart özelliklerinin yokluğunu telafi etmenize olanak tanır. Dinamik bir parametre setinin gerekli olduğu durumlarda, MQL5'teki model için harici bir optimize edici yazabilirsiniz.

 
Andrey Dik #:

MQL5 dili, test ve optimize edicinin standart özelliklerinin eksikliğini telafi etmenize olanak tanır. Dinamik bir parametre setinin gerekli olduğu durumlarda, MQL5'teki model için harici bir optimize edici yazabilirsiniz.

En sıkışık bisikletin yaratıcısı olmak için mql5'te gradient bousting yazmak zorunludur.
 

Bir öğrenci yapay zekaya sorular soruyor.

Soru: Adın ne?

Cevap: Vasya. Cehenneme git.

Soru: Cehenneme gitmek nedir?

Cevap: İkinci sorunuzun cevabı Vasya.

P.Z.

Soru sinir sistemini şok ediyor.

 
Aleksey Nikolayev #:
En berbat bisikletin yaratıcısı olmak için mql5'te gradient bousting yazmak zorunludur.

Peki mql5'te bousting ile başka bir dilde yazılmış bousting arasındaki temel fark nedir? mql5, C# kadar hızlıdır ve neredeyse C++ kadar hızlıdır. Sözdizimi bu dillerden çok farklı değildir. MO ihtiyaçları için, son zamanlarda birçok dahili dil özelliği eklenmektedir.
Standart bir test cihazı hazır bir ticaret ortamı olarak kullanışlıdır, ancak MO ve optimizasyonla ilgili her şey, eğer birisi içinde sıkışıksa, onsuz da uygulanabilir.
MT5'te temel sınırlamalar yoktur.
 
Andrey Dik #:

Ve mql5'te bousting ile başka bir dilde yazılmış bousting arasındaki temel fark nedir? mql5, C# kadar hızlıdır ve neredeyse C++ kadar hızlıdır. Sözdizimi bu dillerden çok farklı değildir. MO ihtiyaçları için son zamanlarda birçok dahili dil özelliği eklenmektedir.
Standart test cihazı hazır bir işlem ortamı olarak kullanışlıdır, ancak MO ve optimizasyonla ilgili her şey, eğer birisi içinde sıkışıksa, onsuz da uygulanabilir.
MT5'te temel sınırlamalar yoktur.
mql5'te CPU üzerindeki hesaplamaların paralelleştirilmesi için hangi mekanizmaları biliyorsunuz?