Ticarette makine öğrenimi: teori, pratik, ticaret ve daha fazlası - sayfa 531
Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret 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
R uzmanları için soru.
Mutlak değerlere sahip bir matris, softmax ile bir sınıf matrisine nasıl dönüştürülür?
ve matrisin boyutuna bağlı olarak gerektiği gibi devrik
ah, peki, henüz kütüphane yok, eğer .. onları kendin yazmazsan)
Onlara yazmayı düşünüyorum, sinir ağından borç isteyin, işe yararsa % ile iade edeceğim :)
bu arada, zaten orijinaline biraz daha yakınlar, en azından arabulucular eklendi, ama yine de AI değil. anladığım kadarıyla yeni sinapslar kendiliğinden oluşmaz ve yeniden kurulmaz
Onlara yazmayı düşünüyorum, sinir ağından borç isteyin, işe yararsa % ile iade edeceğim :)
Basit MLP'ler ile çözümlerde bir kayma olmazsa, karmaşık NN'lerde de bir kayma olmayacağını düşünüyorum. Ek olarak, MLP'yi daha karmaşık bir NN ile değiştirsek bile, sonucun bir şekilde iyileşeceği kesin olmaktan uzaktır. Çünkü farklı bir araç, farklı bir tedaviyi, sorunun farklı bir formülasyonunu gerektirir.
Şimdilik, basit MLP'ye ve eski, BP'ye, öğrenme algoritmalarına sadık kalacağım ve sonra göreceğiz - gerçek bir ihtiyaç ortaya çıkarsa.
ve matrisin boyutuna bağlı olarak gerektiği gibi devrik
Vay! Çok daha kısa! Teşekkür ederim!
Biraz yeniden yaptım, sütun ve satır isimleri kalsın diye eskisinden kopyalayarak yeni bir matris oluşturuyorum. Bu nedenle, daha fazla kullanılmaları durumunda daha evrensel olacaktır. Ve hemen matrisi çeviriyorum. Anladığım kadarıyla, application(x,1,f) her zaman! matrisi çevirir, çünkü verileri satır satır işler ve sütunlar halinde birleştirir.
get_softmax <- function(m){
t(apply(m, 1, function (row) {r <- row; r [1:length(row)] <-0 ; r[which.max(row)] <- 1; r } ))
}
Basit MLP'ler ile çözümlerde bir kayma olmazsa, karmaşık NN'lerde de bir kayma olmayacağını düşünüyorum. Ek olarak, MLP'yi daha karmaşık bir NN ile değiştirsek bile, sonucun bir şekilde iyileşeceği kesin olmaktan uzaktır. Çünkü farklı bir araç, farklı bir tedaviyi, sorunun farklı bir formülasyonunu gerektirir.
Şimdilik, basit MLP'ye ve eski, BP'ye, öğrenme algoritmalarına sadık kalacağım ve sonra göreceğiz - gerçek bir ihtiyaç ortaya çıkarsa.
evet, kendim ormanları büküp döndürürken, her şeyin hızlı bir şekilde hesaplanmasını seviyorum, birçok stratejiden geçebilirsiniz
daha verimli bir analog olsaydı ona geçerdim.. ve evet %90 veri madenciliği %10 model seçimi
evet, kendim ormanları büküp döndürürken, her şeyin hızlı bir şekilde hesaplanmasını seviyorum, birçok stratejiden geçebilirsiniz
daha verimli bir analog olsaydı ona geçerdim.. ve evet %90 veri madenciliği %10 model seçimi
Performansa gelince, eğitilmiş 6 katmanlı bir MLP'nin (~60 nöron) reaksiyon süresi 0,005 saniyedir. Neredeyse her şey için oldukça yeterli.
Eğitim süresine gelince ve bu uzun bir süre, bu hiç rahatsız etmiyor çünkü. sadece sonraki her deneyi düşünmek çok daha fazla zaman alır - bir hafta, hatta daha fazla.
Ve birkaç ayda bir yeniden eğitim, diyelim ki, birkaç gün geçireceğiz - bence sorun değil. Sistemi mantık üzerinde yeniden çalışmak çok daha uzun sürer. Evet ve sadece standart eğitim çalışmıyor - dönemler arasında tef ile uzun danslara ihtiyacınız var. Ve standart eğitim (danssız)) mükemmel sonuçlar verir - ancak yalnızca eğitim setinde.)
R ile ilgili başka bir sorun.
Bir bilgisayarda her şey yolunda, diğerinde kodun doğruluğu için bazı artan gereksinimler var.
örneğin
danch.unitFunction = linearUnit - Rterm.exe'nin çökmesine neden oldu
olarak değiştirildi
darch.unitFunction = " linearUnit"
bu nokta bir sonraki hataya kadar geçmeye başladı.
ayrıca library(darch) öğesini require(darch) olarak değiştirmek zorunda kaldı
Şimdi eğitimin kendisi bir serseri.
R_NN <- darch(
dart=NULL,
x = MatrixLearnX ,
y = MatrixLearnY ,
paramsList = params
)
birçok seçeneği denedim, Rterm.exe her zaman çöküyor
R'nin bir çeşit hata oranı kontrolü var mı? Belki ikinci bilgisayarda, her uyarıda bir durma meydana geldiğinde geliştirme için bir hata düzeyim vardı?
Her iki bilgisayarda da R'yi varsayılan ayarlarla ayarladım, tüm paketleri kurdum.
Nasıl düzeltilir?
Darch kitaplığı kurulu değilse, library(darch) bir hataya neden olur ve kod yürütme durur ve request(darch) sadece bir uyarıya neden olur ve kod çalışmaya devam eder, ancak kitaplık kurulu olmadığı için, o zaman işlevleri çağrılamaz.
Yapılması gerekiyor
kitaplığı otomatik olarak yüklemek için install.packages("darch", bağımlılıklar=DOĞRU)
Performansa gelince, eğitilmiş 6 katmanlı bir MLP'nin (~60 nöron) reaksiyon süresi 0,005 saniyedir. Neredeyse her şey için oldukça yeterli.
Eğitim süresine gelince ve bu uzun bir süre, bu hiç rahatsız etmiyor çünkü. sadece sonraki her deneyi düşünmek çok daha fazla zaman alır - bir hafta, hatta daha fazla.
Ve birkaç ayda bir yeniden eğitim, diyelim ki, birkaç gün geçiriyoruz - bence bu bir sorun değil. Sistemi mantık üzerinde yeniden çalışmak çok daha uzun sürer. Evet ve sadece standart eğitim çalışmıyor - dönemler arasında tef ile uzun danslara ihtiyacınız var. Ve standart eğitim (danssız)) mükemmel sonuçlar verir - ancak yalnızca eğitim setinde.)
Biraz yanlış bir şey yapıyorum - optimize ediciyi aktif olarak sadece stratejileri, yani özellikleri, TS bloklarının kombinasyonlarını aramak için kullanıyorum, başka bir şey sıralanıyor .. çünkü bazen bazı önemsiz şeylerin dikkate alınmadığı bile oluyor , ancak sistemde yeterli değildi. Ve en az yüz seçeneği sıralamak için hastalıklı bir öğrenme oranına ihtiyacınız var (ve 100 seçenek çok küçük) .. eh, herkesin kendi yaklaşımı var, benimki daha iyi demiyorum. NN'nin kendisinin bir optimize edici olduğunu kesinlikle söyleyebilirsiniz, ancak yine de ilk aşamada seçilebilecek bir dizi hiperparametre vardır.
Biraz yanlış bir şey yapıyorum - optimize ediciyi aktif olarak sadece stratejileri, yani özellikleri, TS bloklarının kombinasyonlarını aramak için kullanıyorum, başka bir şey sıralanıyor .. çünkü bazen bazı önemsiz şeylerin dikkate alınmadığı bile oluyor , ancak sistemde yeterli değildi. Ve en az yüz seçeneği sıralamak için hastalıklı bir öğrenme oranına ihtiyacınız var (ve 100 seçenek çok küçük) .. eh, herkesin kendi yaklaşımı var, benimki daha iyi demiyorum. NN'nin kendisinin bir optimize edici olduğunu kesinlikle söyleyebilirsiniz, ancak yine de ilk aşamada seçilebilecek bir dizi hiperparametre vardır.
Yani yakında madencilik stratejileri için bir madencilik çiftliği kurmanız gerekecek.