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

 
Kimse bir şey tartışmıyordu, model karmaşıklığı hakkında bir konuşmaya atladınız veya bir gönderiye tepki gösterdiniz, bu yüzden bir optimizmci olarak biliniyorsunuz.
 
Maxim Dmitrievsky #:
Kimse bir şey tartışmadı, model karmaşıklığı hakkındaki bir konuşmaya müdahale ettiniz veya bir gönderiye tepki gösterdiniz, bu yüzden bir optimizatör olarak biliniyorsunuz.

Bu kadar Maxim. Daha fazla tartışmanın bir anlamı yok, herkes zaten her şeyi öğrendi. Sanych burayı izliyor, yüzyıllardır benimle küresel aramanın zararlı olduğunu tartışıyor, ben de ona "ne tür bir küresel olduğuna bağlı olarak" diye cevap verdim ve Sanych sonuçta bir küresel aradığını henüz anlamadı.

Tartışmayı sakin, dostane ve yapıcı bir yöne döndürmeyi umuyorum.

Ve bu başlığı düzenli olarak okuyan herkes kimin ve neyin ne zaman söylendiğini hatırlasın, bilinçsizliği dahil etmeyin - faydasızdır. Bugün bir hata yaptım - grafiği yanlış çizdim, hatayı sakince kabul ettim ve bunu söyledim. Hatalarınızı kabul etmeniz normaldir, Maxim.

 
Andrey Dik #:

Neden olmasın? Evet. Farklı bir fikrim yok, sadece birçok insan nedense bazı şeyleri gerçek isimleriyle çağırmaktan hoşlanmıyor.

Öğrenmenin tam olarak ne zaman durdurulacağı bir metodoloji seçimi meselesidir, ben sadece küresel bir ekstremum tespit etmeden öğrenmeyi durdurmanın imkansız olduğunu vurguluyordum (iyi ya da zorla, ki bunun pratik bir faydası olmayacaktır).

Sadece rakiplerin yanlış anlaşıldığını görüyorum - daha önce optimizasyon hakkında bir konuşma vardı ve bir test cihazında aşırı uyum sağlamak ve bir modeli eğitmek farklı şeylerdir. Sadece makine öğreniminde tahminci seçimi süreci genellikle ayrı bir görevdir, terminal test cihazında ise bu tahmincilerin okumalarını sıklıkla değiştirebilirsiniz - burada basit bir örnek gösterge ayarlarının aranmasıdır, ancak aynı zamanda test cihazında bu göstergelerin değerlerini işlemek için değişkenler kullanabilirsiniz - hareketli eşikler, karşılaştırma kuralları, farklı mantıksal anlamlara sahip katsayılar.

Bu nedenle, Uzman Danışmanın kodunu görmeden, optimizasyon sürecinin nasıl olduğunu net bir şekilde söyleyemeyiz - kuralların oluşturulması veya sabit kurallarla daha iyi çalışan tahmincilerin aranması veya biri ve diğer kısmı uygulanır. Bence bu konudaki tüm tartışma da bundan kaynaklanıyor.

Genelde her şeye ve her şeye aşırı uyum sağlandığı düşünüldüğünde, Maxim bunun bir öğretmenle öğrenme olmadığını, çünkü biçimlendirme mantığının eksik olabileceğini ve durumların birbirine benzemediğini, bunun da öğrenme sürecini zorlaştırdığını savunuyor. Ve haklı olarak, özünde hoşlandığımız ve hoşlanmadığımız şeylere göre gruplandırılmış birçok farklı sınıfımız var, ancak bunlar birbirlerine benzer nitelikte olmayabilir. Daha önce, aşamalı öğrenme yoluyla bu tür verileri kademeli olarak ayıklama, eğitimli bir model kullanarak ilk örnekte çelişkilerin yokluğunu izole etme ve ardından kalan veriler üzerinde eğitim verme yöntemini önermiştim. Bu tek çözüm değil. Konu gerçekten ilgiyi hak ediyor.

Durdurma kriteri hakkında - burada elbette kriterinizi seçebilir ve modelin yanıtlarında neyin daha öncelikli olduğuna bağlı olarak optimum değerini arayabilirsiniz. Bununla birlikte, makine öğreniminde mutlaka bir kriter olması gerekmez - bazen sadece sabit sayıda iterasyon belirleyebilirsiniz - yani bu kriter olmadan da eğitim verebilirsiniz. Yeni veriler üzerinde çalışacak bir modelin nasıl seçileceği her zaman farklı bir sorudur. Bu soruya cevap verecek kriterler aramak daha iyidir.

 
Andrey Dik #:


Bu nedenle, makine öğreniminde öğrenme, amacın kayıp fonksiyonunu en aza indiren ve en iyi model performansını elde eden model parametrelerinin kombinasyonunu bulmak olduğu bir optimizasyon olarak görülebilir.
Ben buna katılmıyorum. Bu, MOE'nin sadece küçük bir kısmıdır. Transformatörler, MOE'deki nedensel öğrenme kesinlikle genel olarak optimizasyon değildir.
 
Andrey Dik #:

Bingo!

Artık her türlü öğrenmenin küresel bir ekstremum arayışıyla optimizasyondan başka bir şey olmadığını nihayet anladınız. Ya da belki henüz fark etmediniz ama fark edeceksiniz.

Başka türlü olamaz, öğrenmeyi durdurmak için her zaman kesin bir kritere ihtiyacınız vardır ve bu kriter her zaman küresel bir ekstremum olacak şekilde tasarlanır. Genellikle integral bir kriter tasarlanır (her zaman değil). İntegral kriter dediniz.

Ben her zaman bir fonksiyonda ekstremum aramanın fonksiyonel analiz olduğunu düşünmüşümdür, tıpkı bir algoritma geliştirmenin optimizasyon olarak adlandırılabileceği gibi. Sonuçta bazı kriterlere göre en iyisini seçiyoruz)
 
Ah bu terimler ve yorumları))))))
Bir çeşit kutsal iş gibi)))))
 

Python'daki nöron sorunu, makro ölçekte istatistiklerin güzel resimleridir. Bunları ayrıştırmaya başlar başlamaz, nöronun hareketli bir ortalama haline geldiği ortaya çıkıyor - tahmin fiyatına yakın, ancak yönü tahmin etmiyor. Yön 50/50 tahmin edilir, bu nedenle bu nöronlar üzerinde işlem yapmak imkansızdır.

Buradaki makaleleri denedim ve ChatGPT ile 3 katmanda 10 000 nöron veya 1000 nöronluk 10 katman veya 100 000 nöronluk bir katman (RTX 3080'im tamamen tıkanmıştı ve daha fazlasını alırsanız - python yeterli bellek olmadığını yazdı) ve RNN ve LSTM ve CNN ve CNN-LSTM ve CNN-BiLSTM ve iki düzenleme ve bırakma ve Q-öğrenme ile CNN-BiLSTM-MLP topladık. DQN sadece başarısız oldu, Chat birkaç sayfa için Actor-Critic yazdı, ancak kodda ne benim ne de Chat'in düzeltemeyeceği hatalar olduğu ortaya çıktı.

Hepsi çalışmıyor. Sonuç her yerde aynı - hareketli bir ortalamaya dönüşüyor. "Sinir ağına ne girilmeli" başlığından mümkün olan her şeyi ve daha birçok şeyi girdim.

Ve burada mutfakta soğan kesiyorum, arka planda YouTube çalıyor ve fiyatları tahmin eden bir sinir ağı kurmak üzere olan kıvırcık saçlı bir adama tavsiyeler veriliyor. Tamam, hadi, dedim kendi kendime, dene.

Ve böylece Google-collab'ı açtı ve orada Python kodu yazmaya başladı (sanırım Python). Yanılmıyorsam o günkü bitcoin kapanış fiyatlarını oraya atıyor. Çalıştırır. Kontrol ediyor. Burada gözlerimi yaydan sildim ve sonuca bakmaya başladım.

Sonuç şöyle: tahmin gerçek fiyatın yanına gidiyor, ama... yönlü bir tahminle. Yani, diyelim ki 35000'di, tahmin 37500, gerçek 37100. Sonraki adım: 35700 tahmin, 35300 gerçek. Tahmin 34000, gerçek - 35000. Ve bu böyle devam ediyor. Bir sonraki fiyatı değil, sanırım bir seferde arka arkaya 12 sonraki fiyatı tahmin eden bir ağ yazdı. Ve burada yöndeki her adımdan sonra çakıştılar.


Soru: Python'da çalışan bir şey yazmak gerçekten mümkün mü?

 
Andrey Dik #:

Bu kadar, Maxim. Daha fazla tartışmanın bir anlamı yok, her şey zaten ortaya çıktı. İşte burada yakın ve Sanych gözlemliyor, çok eskiden beri benimle küresel aramanın zararlı olduğunu tartıştı, ben de "hangi küresel olduğuna bağlı olarak" diye cevap verdim ve Sanych de sonunda bir küresel aradığını henüz fark et medi.

Tartışmanın sakin, dostane ve yapıcı bir yöne dönmesini umuyorum.

Ve bu konuyu düzenli olarak okuyan herkes, kimin ve neyin ne zaman söylendiğini hatırlasın, bilinçsizliği dahil etmeyin - faydasızdır. Bugün bir hata yaptım - grafiği yanlış çizdim, hatayı sakince kabul ettim ve bunu söyledim. Hatalarınızı kabul etmeniz normaldir, Maxim.

Bunu benim için yapmayın.

Testçiyi tartışıyorduk, MO'yu değil.

MO'da bir optimum değil, traine, test ve doğrulamada bir hatanın tesadüf olup olmadığını ararlar. Sonra bunu bir dosya üzerinde adım adım çalıştırıyorlar. Her yerde yaklaşık olarak aynı hata olmalıdır.

Burada optimizasyon için yer yoktur.

 
СанСаныч Фоменко #:

Bunu benim için yapma.

Tartışma test edenle ilgiliydi, MO ile değil.

MO'da bir optimum değil, traine, test ve doğrulamada bir hata tesadüfü arıyorlar. Ve sonra bir dosya daha üzerinde adım adım çalıştırın. Her yerde yaklaşık olarak aynı hata olmalıdır.

Burada optimizasyon için yer yoktur.

Kırmızı optimizasyondur, sizin durumunuzda ne yaptığınıza bağlı olarak "varyansı azaltmak" veya "belirli bir değerin sabit varyansını ayarlamak" gibi görünecektir)))

 
Andrey Dik #:

Kırmızı optimizasyondur, sizin durumunuzda ne yaptığınıza bağlı olarak "varyansı azaltmak" veya "belirli bir değerin sabit varyansını ayarlamak" gibi görünecektir)))

Bir şekilde metni algılayamıyorsunuz.

Optimizasyon(?) SADECE modelin eğitildiği hat üzerinde mümkündür. Eğitim sırasında bir algoritma vardır ve optimizasyonu bir büyüteçle görebilirsiniz. Daha sonra bu modelin "optimizasyon" ile HİÇBİR geri bildirimi olmayan bir testi vardır, çünkü modelde test sonuçlarını etkileyebilecek hiçbir parametre yoktur. Etkilemek için tahmin ediciler ve/veya öğretmen hakkında bir şeyler yapmanız gerekir.

MOE'de, yani ön işleme, model uydurma ve model tahmininde optimizasyon OLAMAZ çünkü ortaya çıkan hata bu üç adımın bir özelliğidir.