Ticarette makine öğrenimi: teori, pratik, ticaret ve daha fazlası - sayfa 3283
Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Bu, matrisin satır satır hesaplanmasının özüdür.
PearsonCorrM Algibov'un satır satır algoritmasından 40-50 kat daha hızlıdır, muhtemelen hızlı bir ev yapımı araç bile böyle bir hız farkının üstesinden gelmeyecektir.
Merak ediyorum, bir matris hesaplanırsa ve aynı matris hızlı Algibov algoritması PearsonCorrM ile hesaplanırsa ne olur? Kim daha hızlı olurdu.
PearsonCorrM Algibov'un satır satır algoritmasından 40-50 kat daha hızlı, muhtemelen hızlı bir ev yapımı algoritma bile bu kadar hız farkını aşamayacaktır.
İşte PearsonCorrM'den ev yapımı iki kat gecikme.
CatBoost eğitiminin hızını python ve komut satırı üzerinden karşılaştırdım:
- Örneklerin okunması da dahil olmak üzere başlangıçtan modellerin kaydedilmesine kadar %20 daha hızlı
- 12 daha hızlı öğrenme sürecinin kendisi
Aynı model üzerinde test edildi - eğitim sonucu aynı.
Elbette, komut satırı daha hızlıdır.
- Örneklerin okunması da dahil olmak üzere başlangıçtan modellerin kaydedilmesine kadar %20 daha hızlı
- 12 daha hızlı öğrenme sürecinin kendisi
Aynı model üzerinde test edildi - eğitim sonucu aynı.
Elbette, komut satırı daha hızlıdır.
EXE'leri çalıştırmak için hala komut satırını kullanıyor musunuz?
Bunları WinExec aracılığıyla çalıştırabilir ve hatta test cihazında optimize edebilirsiniz.
Catboost'u denemedim ama bir şeyler yapabileceğinizi düşünüyorum.
Başka bir olası sorun, model dosyası çok büyükse, yazılması uzun sürebilir, yani dosya zaten var, ancak sonuna kadar yazılmamış olabilir. Dosyayı duraklatmak veya dosyanın yazma işlemi tarafından okumaya kapatılmadığını kontrol etmek gerekebilir....En zor şey eğitimin bittiği anı belirlemek. Ben bunu agent_dir+"\model.bin" klasöründeki model dosyasının görünümünü saniyede 1 kez kontrol ederek yapıyorum. Catboost'un model dosyasını nereye koyduğunu bilmiyorum, başka bir yerde aramam gerekebilir.
EXE'leri çalıştırmak için hala komut satırını kullanıyor musunuz?
Bunları WinExec aracılığıyla çalıştırabilir ve hatta test cihazında optimize edebilirsiniz.
Bat dosyalarını çalıştırıyorum - şu ana kadar mevcut görevler için en uygun seçenek bu.
Şimdiye kadar, bir örnek aldıktan sonra eğitimin otomatik olarak başlatılması için yalnızca bir görev var - keşif araştırması. Daha sonra bunun için otomatik bir bat dosyası yapmayı planlıyorum.
Catboost'u denemedim ama sanırım bir şeyler düşünebiliriz.
En zor şey eğitimin bittiği anı belirlemektir. Bunu, model dosyasının agent_dir+"\model.bin" klasöründeki görünümünü saniyede 1 kez kontrol ederek yapıyorum. Catboost'un model dosyasını nereye koyduğunu bilmiyorum, başka bir yerde aramam gerekebilir.
Başka bir olası sorun, model dosyası çok büyükse, yazılması uzun zaman alabilir, yani dosya zaten var, ancak sonuna kadar yazılmamış olabilir. Dosyayı duraklatmanız veya yazma işlemi tarafından okumaya kapatılmadığını kontrol etmeniz gerekebilir....Çözümünüz ilginç - bakacağım, belki uygulama için alacağım.
Ancak çalıştırılabilir programdan bir son yanıt alma olasılığı olduğunu düşünüyorum - bu yaklaşımı kullanmak istedim.
Dosyalarla ilgili seçenek - eğer bir bootnik çalıştırırsanız, o zaman tekrar - görevin sonunda yeni bir dosya oluşturabilirsiniz.
Belki de -1 ve 0 varyantlarının göreceli başarı oranı trenin örneklem boyutundadır ve azaltılmalıdır? Genel olarak, Recall'ın buna tepki verdiği görülüyor.
Sizce bu tür kombinasyonların sonuçları bizim durumumuzda birbirleriyle karşılaştırılabilir mi? Yoksa veriler geri dönüşü olmayan bir şekilde güncelliğini mi yitirdi?
Tren örneğini 3 parçaya böldüm, varyant -1 ve varyant 0 için 3 set eğittim ve ayrıca sadece orijinal treni üç örnek olarak eğittim.
Elde ettiğim sonuç bu.
Bu genellemeyi PR=(Precision-0.5)*Recall yaptım
Görünüşe göre eğitim, tren örneğinin 2. ve 3. kısımları pahasına gerçekleşiyor - şimdi bunları birleştirdim ve eğitimi çalıştırdım - bakalım ne olacak.
Yine de bu, eğitimin rastgeleliğini tahmin etmek için kötü bir yöntem olmayabilir gibi görünüyor. İdeal olarak, eğitim her segmentte nispeten başarılı olmalıdır, aksi takdirde modelin yarın çalışmayı bırakacağının garantisi yoktur.
Görünüşe göre eğitim, örnek trenin 2. ve 3. kısmı pahasına gerçekleşiyor - şimdi onları birleştirdim ve eğitimi çalıştırdım - ne olacağını göreceğiz.
Yine de bu, eğitimin rastgeleliğini değerlendirmek için kötü bir yöntem olmayabilir gibi görünüyor. İdeal olarak, eğitim her segmentte nispeten başarılı olmalıdır, aksi takdirde modelin yarın çalışmayı bırakacağının garantisi yoktur.
Ve işte sonuçlar - son iki sütun
Gerçekten de sonuçlar iyileşmiştir. Örneklem ne kadar büyük olursa eğitim sonucunun da o kadar iyi olacağı varsayımını yapabiliriz.
Eğitim örneğinin 1. ve 2. kısımları üzerinde eğitim yapmayı denemeliyiz - ve sonuçlar 2. ve 3. kısımlardan çok daha kötü değilse, örnek tazeliği faktörünün hacimden daha az önemli olduğu düşünülebilir.
İki vektör arasındaki mesafe olarak hesaplanan "tahmin edicilerin tahmin gücü" hakkında birçok kez yazdım.
Mesafeyi hesaplamak için bir araç listesine rastladım:
Bu, kendi mesafe kümesine sahip olan standart olanın yanı sıra
Ve işte sonuç - son iki sütun
Gerçekten de sonuçlar iyileşmiştir. Örneklem ne kadar büyük olursa, eğitim sonucunun o kadar iyi olacağı varsayımını yapabiliriz.
Eğitim örneğinin 1 ve 2 bölümleri üzerinde eğitim yapmayı denemek gerekir - ve sonuçlar 2 ve 3 bölümlerden çok daha kötü değilse, o zaman örnek tazeliği faktörü hacimden daha az önemli kabul edilebilir.
İki vektör arasındaki mesafe olarak hesaplanan "tahmin edicilerin tahmin gücü" hakkında birçok kez yazdım.
Mesafeyi hesaplamak için bir araç listesine rastladım:
Bu, kendi mesafeleri olan standart olanın yanı sıra
Bana nasıl kullanılacağına dair bir örnek gösterebilir misiniz?