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

 
Maxim Kuznetsov #:

İşe yarıyor mu?

Bir hamamböceği ( bacakları ve gözleri olan bir daire) hakkında demo, kurallar " daha basit bir şeyle başlayacağız : ileride farklı açıları gösteren 9 gözü olan ve her gözü kendi yönü boyunca 3 değeri algılayan (belirli bir maksimum görünürlük mesafesine kadar) 2D bir ajan: bir duvara olan mesafe, yeşil bir şeye olan mesafe veya kırmızı bir şeye olan mesafe. Temsilci, onu farklı açılara çeviren 5 eylemden birini kullanarak gezinir. Kırmızı şeyler elmadır ve ajan onları yediği için ödül alır. Yeşil şeyler zehirdir ve ajan onları yediği için negatif ödül alır. Mevcut parametre ayarlarıyla eğitim birkaç on dakika sürmektedir."

öğrenmeye başla'ya tıklayabilirsin...sonra öğrenmeyi bırak.....

Hamamböceğinin koşması ve yeşil noktalardan kaçınmak için kırmızı noktaları tercih etmesi gerekiyor...

Gerçekte : öğrenmeyi bıraktıktan sonra aşağı yukarı son hareket modelini takip ediyor ve kırmızı ile yeşil arasında ayrım yapmıyor. Ya da alışılmadık derecede aptal bir hamamböceğim var :-)

çünkü öğrenme tamamlanmadan önce öğrenmeyi durdur düğmesine basmamalısınız.

 
mytarmailS #:

Çünkü öğrenme tamamlanmadan önce öğrenmeyi durduramazsınız .

Yaşasın! İşe yaradı... 3 saat öğrendim, neredeyse unutuyordum.

Şimdi hamamböceği olması gerektiği gibi koşuyor (neredeyse) yeşil olanlardan kaçınmaya çalışıyor ve kırmızı olanları yiyor.

Görünüşe göre bir "feeler" daha az feeler eğitilmiş :-) Yani, bir ceza yeşili belirli bir taraftaysa, hemen yenecektir. Tersine, belirli bir travers üzerindeki kırmızılardan kaçınılır

Ancak bu muhtemelen bir sistem ogrich'idir.

 
Aleksey Nikolayev #:

Bu yalnızca bağımsız özellikler söz konusu olduğunda işe yarar ve aynı fiyattan sayıldıkları için mümkün değildir. Bağımlılık durumunda durum çok daha karmaşıktır - tek değişkenli dağılımların her zaman aynı tekdüze olduğu, ancak aynı zamanda iki değişkenli dağılımların çok farklı olabileceği kopulaları örnek olarak alabiliriz.

Belki de aynı R'de bir çözüm vardır, ama sadece aramanız gerekiyor?

Aleksey Nikolayev #:

Ağır numaralandırma hesaplamaları için bir tercihiniz var) Özellik türlerine ve kesinlikle özellik parametrelerine göre numaralandırma eklememiz gerekecek (zaten önemli miktarda olan numaralandırmaya).

Yine de bana öyle geliyor ki yaklaşımınızda rasyonel bir yan var, üzerinde düşünülmesi gereken bir şey var.

Evet, görünüşe göre deney yapmadan sonuçları tahmin etme konusunda kötüyüm, bu nedenle adımlardan birinde bir hatanın ortaya çıkabileceği çok aşamalı mantıksal hesaplamalar yapmaktansa test etmek ve genellikle hayal kırıklığına uğramak daha iyidir.

Bir örneği alt örneklere bölmeyi öğrenseniz bile, bir sonraki soru mevcut örneği nasıl doğru bir şekilde sınıflandıracağınız ve gerekli modeli ona nasıl uygulayacağınızdır.

 
mytarmailS #:
Belki de örnek homojenliğinin istatistiksel kriterleri yerine, modelin dinamikteki özellik öneminin değişimini izleyin (kayan bir pencerede).

Mevcut durum ile önceki durum arasında güçlü bir tutarsızlık varsa.... bu zaten başka bir örneklemde olduğumuz anlamına gelir.

Artıları:
1. Statü programlamak zorunda değilsiniz. Testler, her şey kutudan çıkar çıkmaz hazır
2. Sadece örnekleme süresindeki değişikliği değil, aynı zamanda hedefteki değişikliği de dikkate alır, ki bence bu daha az önemli değildir

Hangi anda izlemeli, eğitim anında mı? Ve dinamiklerde nasıl izlemeyi önerirsiniz, nasıl uygulanır?

Dinamiklerde modelin yapraklarının aktivasyonunu gösteren bir komut dosyam var, yani hangi yaprakların tetiklendiğini görebilirsiniz. Belki de eğitim segmentindeki aktivasyonlarının ortalama frekansını hesaplamalı ve ardından test segmentlerindeki sapmalara bakmalıyız? Bu şekilde en azından teorik olarak model verimliliğindeki düşüşü izlemeye çalışabiliriz.

 
Aleksey Vyazmikin #:

Hangi anda izlemeli, eğitim anında mı? Ve dinamik olarak nasıl izlemeyi, nasıl gerçekleştirmeyi öneriyorsunuz?

Modelin yapraklarının aktivasyonunu dinamik olarak gösteren bir betiğim var, yani hangi yaprakların aktive olduğunu görebilirsiniz. Belki o zaman eğitim segmentindeki aktivasyonlarının ortalama frekansını hesaplamalı ve ardından test segmentlerindeki sapmalara bakmalıyız? Bu şekilde, en azından teorik olarak model verimliliğindeki düşüşü izlemeye çalışabiliriz.

Eski modele bakmanın bir anlamı yok, pazardaki değişiklikleri yakalayamıyor....

Önerilen şekilde uygulamayı öneriyorum))))))
Kayan bir pencerede modeli yeniden eğitin ve işaretlerin önemini izleyin ya da sadece iyi işaretlerin bir belirleyicisini alın ve bunu kayan bir pencerede izleyin. pencere


Burada, 5 özellik ve 1 ikili hedeften oluşan rastgele oluşturulmuş bir örnek üzerinde bir örnek verilmiştir.

forrest ve fi̇ş seçi̇ci̇

X <- matrix(rnorm(1000),ncol = 5)
Y <- as.factor(sample(0:1,nrow(X),replace = T))

head(X)
head(Y)

#install.packages("randomForest")
library(randomForest)
rf_imp_mat <- matrix(ncol = ncol(X),nrow = nrow(X))
for(i in 30:nrow(X)){
  ii <- (i-29):i
  rf <- randomForest(Y[ii]~.,X[ii,],ntree=100)
  rf_imp_mat[i,] <- importance(rf)[,1]
}

#install.packages("FSelectorRcpp")
library(FSelectorRcpp)
fs_imp_mat <- matrix(ncol = ncol(X),nrow = nrow(X))
for(i in 30:nrow(X)){
  ii <- (i-29):i
  infg <- information_gain(y = Y[ii],x = as.data.frame(X[ii,]))
  fs_imp_mat[i,] <-  infg$importance
}

par(mfrow=c(1,2))
matplot(rf_imp_mat , t="l",lty=1,main="rf_var_imp")
matplot(fs_imp_mat , t="l",lty=1,main="fs_var_imp")


R-ka'da elbette gerekli değilse döngüler halinde yazmak geleneksel değildir, ancak bu tarz yeni gelenlerin kafasını karıştırır ve benim gibi aracıların da kafasını karıştırır....

ancak bu şekilde yazabilirsiniz, kod 3 kat daha azdır ve sonuç aynıdır.

X <- matrix(rnorm(1000),ncol = 5)
Y <- as.factor(sample(0:1,nrow(X),replace = T))
idx <- embed(1:nrow(X),dimension = 30)[,30:1]

library(randomForest)
rf_imp_mat <- t(apply(idx,1,function(i) importance(randomForest(Y[i]~.,X[i,]))[,1]))
library(FSelectorRcpp)
fs_imp_mat <- t(apply(idx,1,function(i) information_gain(y=Y[i],x=as.data.frame(X[i,]))$importance))

par(mfrow=c(1,2))
matplot(rf_imp_mat , t="l",lty=1,main="rf_var_imp")
matplot(fs_imp_mat , t="l",lty=1,main="fs_var_imp")


Ayrıca her zevke uygun farklı seçiciler, muhtemelen R-ka'da mevcut olanların %5'i.

GitHub - FrancisArgnR/R-FeatureSelection-Packages: Brief guide to feature selection packages in R
GitHub - FrancisArgnR/R-FeatureSelection-Packages: Brief guide to feature selection packages in R
  • FrancisArgnR
  • github.com
Feature selection or variable selection in machine learning is the process of selecting a subset of relevant features (variables or predictors) for use in model construction. Packages FSinR Boruta caret spFSR varSelRF CORElearn FSelector
 

veya iki veya üç para birimindeki pencerelere bakın ve üçüncüsünde bir gecikmeyle işlem yapın.

yani günün ikinci yarısında EUR, CHF'den USD CAD'e bakın ve sabahın erken saatlerinde JPY (AUD, NZD) açın... böylece sistem USD trendini belirlemeyi öğrendi ve "çürümeden" önce satın almak için zamanı oldu.

Korkarım ki tek bir alıntıda "tüm yollar kat edildi" ve mevcut yöntemleri kullanarak bundan balık çıkarmak imkansız.

 
Bir şey icat etmek için araştırma nesnesini tanımlamanız, ardından özelliklerini belirlemeniz gerekir, o zaman bir maymun ve gözlük gibi olmayacaktır
 
Maxim Dmitrievsky #:
Bir şey icat etmek için araştırma nesnesini tanımlamanız, ardından özelliklerini tanımlamanız gerekir, o zaman bir maymun ve gözlük gibi olmayacaktır

Araştırma nesnesini ve özelliklerini tanımlamak için henüz çok erken, forum sadece 6 yaşında. Bu kadar kötü olmayın!

 
Evgeny Dyuka #:

Araştırma nesnesini ve özelliklerini tanımlamak için henüz çok erken, forum sadece 6 yaşında. Bu kadar kötü olmayın!

Fiyat tekliflerini bir zaman serisi olarak incelemeye başlarsanız, diğer zaman serilerinde bulunmayan bazı özellikler fark edebilirsiniz. Belki de bu özelliklerde kalıplar vardır. Ve evet, her şey doğrudan gecikme özelliklerini kullanarak otoregresyon ve sınıflandırma ile çıkarılamaz, ancak ustalık ekleyerek şunları yapabilirsiniz
 
Maxim Kuznetsov #:

(Umarım CodeBase bağlantısı için sizi vurmazlar : https://www.mql5.com/ru/code/36558

işaretleri tahmin etmede kullanışlı olabilir - tahmin edebilirsiniz :-) gösterge sadece "siyah/beyaz" işaretleri gösterir (ve özetler).

Bar tabelalarını burada göstereceğim, yazık değil.

Gelişmelerle ilgili mütevazı arşivimi karıştırıp yayınlayacağım.

İlginç tabii, tartışmıyorum ama orada da durağan olmama durumu var.

Bu yüzden birden biraz daha düşük bir olasılıkla tahmin ediliyor.

Ama temel olarak, eğer şimdi yukarıdaysa, bir sonraki çubuk aşağı olacaktır.

ve daha genç TFM'lerin bu tür hareketleri daha yaşlı olanlara da yansır.

Bu nedenle trend düz bir çizgi değil, çok sayıda geri çekilme, süre ve daha genç olanların çubuk boyutunda çoklu.

Bununla birlikte, Fourier'i uygulayabilir ve bu dalgaları bulabilirmişsiniz gibi görünüyor, ancak bu şekilde değil, çünkü

zaman ölçeği aynı şekilde geriye ve ileriye doğru modüle edilir.

Bu mucizeyi anlamak kolay değildir ve eğer kafa kafaya verirseniz, birçok soru vardır.

Örneğin, fiyat hareketini soldan sağa veya sağdan sola doğru düşünebiliriz, mutlaka sağ kenardan başlamak zorunda değiliz.

Böylece ileri ve geri, yukarı ve aşağı gidersiniz.

Neden: