Ticarette makine öğrenimi: teori, pratik, ticaret ve daha fazlası - sayfa 3324
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
Evet, mesele her zaman modelin yeni veriler üzerindeki sağlamlığını sağlamaktır. Bu yüzden böyle bir kriter bulmanın en önemli ve zor kriterlerden biri olduğunu söyledim.
Demek istediğim, ticarette ve makine öğreniminde kullanmaya alışkın olduğumuz sonuç değerlendirme ölçütleri, ortaya çıkan modelin/ayarın/yaklaşımın kalitesini değerlendirmenin yalnızca bir parçasıdır.
Önemli olan bunu hangi koşullar altında başardığımızdır. Bunu başarmak için ne kadar bilgi gerekiyordu. Gözlemlerin zaman içindeki istikrarını değerlendirmemiz gerekir. Her bir tahmin edicinin katkısı.
Çok sayıda tahmin ediciye ve karar kuralına (ister ağaç ister nöron olsun) sahip karmaşık modellerdeki sorun, bütünüyle tekrar etme olasılığı düşük olan karmaşık örüntüler yaratmaları ve dolayısıyla sınıflardan birine atanma olasılığındaki yanlılıktır. Daha önce, çoğu yaprağın yeni verilerle harekete geçmediğini gösteren "ağaçların ne hakkında vızıldadığına" dair bir resim paylaşmıştım.
Tüm bunlar, yaklaştırmak için tam olarak keşfedilemeyen bir "fonksiyon" (aslında toplamları) ile uğraştığımız gerçeğinden kaynaklanmaktadır. Bu da sadece daha iyi anlaşılan/bilinenlere özel dikkat göstermemiz gerektiği anlamına gelir. Modelin, duruma aşina olmadığı için yeni veriler karşısında "sessiz kalmasına" izin vermek, geçmişten gelen tekil vakalar üzerinde çalışmaktan daha iyidir.
Dolayısıyla şu soru ortaya çıkmaktadır: model emin değilse nasıl sessiz kalabilir ve olumlu olayların olasılığı yüksekse nasıl güven verebilir.
Hazır modelleri düzeltmek için yöntemlere ihtiyacımız var. Bunlar, eğitimden sonra modeli etkileyerek ya da biri bousting tipi diğeri en yakın komşular tipi olmak üzere iki sınıftan modeller uygulayarak gerçekleştirilebilir.
Demek istediğim, ticarette ve makine öğreniminde kullanmaya alışkın olduğumuz sonuç değerlendirme ölçütlerinin, ortaya çıkan modelin/ayarın/yaklaşımın kalitesini değerlendirmenin yalnızca bir parçası olduğudur.
Önemli olan bunu hangi koşullar altında başardığımızdır. Bunu başarmak için ne kadar bilgi gerekiyordu. Gözlemlerin zaman içindeki istikrarını değerlendirmemiz gerekir. Her bir öngörücünün katkısı.
Çok sayıda tahmin ediciye ve karar kuralına (ister ağaç ister nöron olsun) sahip karmaşık modellerdeki sorun, bütünüyle tekrarlanma olasılığı düşük olan karmaşık örüntüler yaratmaları ve dolayısıyla sınıflardan birine atanma olasılığındaki yanlılıktır. Daha önce, çoğu yaprağın yeni verilerle harekete geçmediğini gösteren "ağaçların ne hakkında vızıldadığını" gösteren bir resim yayınlamıştım.
Tüm bunlar, yaklaştırmak için tam olarak keşfedilemeyen bir "fonksiyon" (aslında toplamları) ile uğraştığımız gerçeğinden kaynaklanmaktadır. Bu da sadece daha iyi anlaşılan/bilinenlere özel dikkat göstermemiz gerektiği anlamına gelir. Modeli yeni veriler karşısında "sessiz" tutmak, duruma aşina olmadığı için, geçmişten gelen tekil vakalar üzerinde çalışmaktan daha iyidir.
Bu durumda şu soru ortaya çıkmaktadır: model emin değilse nasıl sessiz hale getirilir ve olumlu olayların olasılığı yüksekse nasıl güven verilir.
Hazır modelleri düzeltmek için yöntemlere ihtiyacımız var. Bu, eğitimden sonra model üzerindeki etki yoluyla veya biri bousting tipi ve diğeri K en yakın komşu tipi olmak üzere iki sınıftan oluşan modeller uygulanarak gerçekleştirilebilir.
Zaman içinde alım satım sinyalleri vermeyi bırakan daha önceki modelleri yaptım. Ve evet, bu yeni verilerde doğru yanıt olasılığını 50/50'ye kaydırmaktan daha iyidir. Mesele şu ki, ızgaranın cevaplarını dar bir sayı aralığında almak için eğitim yaparken, zamanla cevaplar aralığın dışına çıkmaya başlıyor ve sinyaller kayboluyor. Bu çok yoğun emek gerektiren bir süreç, eğitimi ve daha fazla ticareti otomatikleştirmeyi başaramadım.
Bu yaklaşımlardan biri, muhtemelen başkaları da var, bu konuyu incelemek gerekiyor.
İşin özü - eğitim sırasında dar bir sayı aralığında ızgara cevaplarına ulaşmayı başarmak için, zamanla cevaplar aralığın dışına çıkmaya başlar ve sinyaller kaybolur. Bu çok yoğun emek gerektiren bir süreç, eğitimi ve daha fazla ticareti tamamen otomatikleştirmeyi başaramadım.
Bu fikri MT5 optimize edicinin yardımıyla uyguladım:
Sözde nöronum için bir koşul belirledim: "Setin sonucu Close[1] +/- 0,00050 pip aralığında bir sayı verirse AL'ı aç."
Giriş - yalnızca bir sayı - Close[2];
İyileştirici, karlı işlemleri çok aramaya başlar, ancak bunun yerine setleri işlem sayısına göre sıralıyorum.
İyileştirici bittiğinde, en fazla işlem sayısına sahip en çok tüketen seti seçersiniz - bu doğal olarak Uzman Danışmanın maksimum sayıda gelecek fiyatı tahmin ettiği anlamına gelir.
Ardından, koşulun zaten değiştirildiği test moduna geçiyorum:"Setin sonucu Close[1]'den N puan daha büyük bir sayı verirse AL'ı aç "
Voila: forward bir yıl içinde karlı.
Bir sorun: sadece sabah 2'de bir saatlik mumla çalıştı. Kapanış - bir sonraki saatin açılışında.
Bir şekilde böyle bir model buldum. Başka bir sabah saatinde EURUSD, USDCHF ve EURGBP üzerinde çalıştı.
dar bir sayı aralığında ızgara yanıtları
NS'den mi yoksa başka bir şebekeden mi bahsediyoruz?
zamanla yanıtlar menzil dışına çıkmaya başlar ve sinyaller kaybolur
Bunun nedeni tahmin edicilerin toplamlarındaki değişiklik mi, yoksa sadece birinin "istenen" sonucu göstermeyi bırakması mı?
Genel olarak, bir şeyin neden bozulduğu sorusu daha ileri fikirler için çok önemli olabilir.
1. NS'den mi yoksa farklı bir şebekeden mi bahsediyoruz?
2. Bunun nedeni tahmin edicilerin toplam puanlarındaki değişiklik mi, yoksa sadece bir tanesinin "istenen" sonucu göstermeyi bırakması mı?
Genel olarak, bir şeyin neden kırıldığı sorusu daha ileri fikirler için çok önemli olabilir.
1. Evet, tabii ki.
2. Belki de doğru şekilde ifade edemedim. Hayır, bu sadece olumlu bir etkiydi - ticaret yeni veriler üzerinde kademeli olarak boşa çıkacaktı. İşlem sayısı birim zaman başına belirli bir seviyenin altına düştüğü anda yeniden eğitim almanız gerekir. Yani, yeniden eğitim için bir sinyal olarak OOS üzerindeki ticaret verimliliğinde bir azalma değil, işlem sayısında bir azalma.
Yani, OOS'ta alım satım kayıplarını getiren saçma sapan konuşmalar yerine, NS yanıt olarak alışılmadık veriler hakkında sessizlik verir.
Bağlantınız ayrıca "profil" ile çapraz doğrulama arasında bağlantı kurmaktan bahsediyor, bunun için paket bulmak daha kolay olabilir.
Burada bir bağlantı göremiyorum. Hangi kelimelerden kaynaklanıyor?
Çalışma deneyseldir. İşte http://www.ccas.ru/frc/papers/students/VoronKoloskov05mmro.pdf adresinden bir alıntı
Her deneyin bir paket oluşturması olası değildir.
Ayrıca deney yapaydır. Sınıflara göre net bir şekilde ayrılmış veri setine gürültü eklenmiştir. Ve net ayrım sadece 1 özellik içindir - Y ekseni. Gürültüyü kaldırırsak (0,2 ila 0,8 arasındaki tüm veriler), yalnızca başka bir sınıfa olan uzaklığı 0,6'dan az olmayan örnekler bıraktığımız ortaya çıkıyor. Yani resimdeki en karmaşık 3. varyantı kastediyorum:
Gerçek hayata gidin ve bu tek çalışan fişe gürültü olacak 5000 tahmincinizi ekleyin. Kümelemede bu 5001 boyutlu uzayda noktalar arasındaki toplam mesafeyi hesaplarsınız. 0.6 çalışma bu kaos içinde asla bulunamayacaktır.
Bence herhangi bir sınıflandırıcı bunu daha iyi yapacaktır, aynı ağaç bu tek özelliği bulacak ve ona bölecektir, önce 0.5 ile sonra 0.2 ve 0.8'lik bölünmelere ulaşacak ve ardından% 100 saflıkta yapraklara ulaşacaktır.
Bu algoritma ile kagle'de birincilikler kazanmanın mümkün olduğu iddia ediliyor, basit görevler olduğunu sanmıyorum....
Bunu anlamaya çalışalım mı? Formüllerden anlamıyorum - büyük üzüntüm.
Vladimir Perervenko'nun makalelerinden birinde bu yöntem anlatılıyordu ve elbette kodlu bir örnek de vardı
Bu algoritmayı videodan öğrendim, slade üzerinde bazı formüller var - buna bir kod demek zor.
Örnek bir kodu nerede gördünüz?
1. Evet, tabii ki.
2. Belki de o şekilde ifade etmedim. Hayır, bu sadece olumlu bir etkiydi - ticaret yeni veriler üzerinde yavaş yavaş boşa çıkacaktı. İşlem sayısı birim zaman başına belirli bir seviyenin altına düştüğü anda yeniden eğitim almanız gerekir. Yani, yeniden eğitim için bir sinyal olarak OOS üzerindeki ticaret verimliliğinde bir azalma değil, işlem sayısında bir azalma.
Yani, NS, OOS'ta işlem yapmanın zararlarını ortaya koyan saçma sapan konuşmalar yerine, bilinmeyen veriler karşısında sessiz kalmaktadır.
Ben de bunu fark ettim. Sadece bunun nedeninin tespit edilip edilmediğini soruyorum. Neyin bozuk olduğu değil, sinyallerin neden kaybolduğu.
Bu algoritmayı videodan öğrendim, slade üzerinde bazı formüller var - buna kod demek zor.
Kod örneğini nerede gördünüz?
Bu trollük mü?