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

 
Maxim Dmitrievsky #:
Genetikte değişkenleri alır ve bir kritere göre maksimize ederiz. Burada bunu yapamazsınız, çünkü bu bir sınıflandırma. Kâr ile sınıf etiketleri arasında bir ilişki yoktur. En iyi ihtimalle, saçmalık elde edersiniz. Bu nedenle bu tür kriterler eval_metrics içine yerleştirilir

Hayatta mutluluk yoktur).

 
Aleksey Nikolayev #:

Hayatta mutluluk yoktur)

Kayıp f-ma adından da anlaşılacağı üzere referans değerler ile model arasındaki kayıp f-ma'dır.

Manşon hangi tarafta kar şeklinde
 
Maxim Dmitrievsky #:
Kayıp ph-y adından bile referans değerler ile model arasındaki kayıp ph-y'dir

Burada kar manşonu hangi tarafta

Aslında, MO alanından daha genel bir alan olan optimizasyona geçiyoruz. Yine de, "mümkün olduğunca çok kazanmak", "mümkün olduğunca sık haklı olmak" ile tam olarak aynı şey değildir.

 
Andrey Dik #:

1. v

2. Burada varsayımsal bir öğrenme fonksiyonunun eğrisi gibi bir şekil var.

Izgaranın yerel ekstremum 1'de duracağından memnun musunuz? Ya da belki 2? Ya da ne, 3, ortada gibi? Bu yüzden kaç tane yerel ekstremum olduğunu önceden bilmiyoruz, 100500 ya da daha fazla olabilir. Bu nedenle algoritmanın ulaşabileceği en yüksek yerel ekstremiteyi bulmaya çalışmak önemlidir.

Küresel bir maksimum arayışını haklı çıkarmak anlamında çok güzel ve kanıtlanabilir.

Ama bu geçmişte kaldı.

Ya sağ tarafa bir çubuk eklersek? Hâlâ güzel olur muydu? Yoksa çöker mi? Piyasa durağan değildir. Testçiye inanıyor musun? Buldu, çok güzel, renkli.

 
Maxim Dmitrievsky #:
Genetikte değişkenleri alır ve bir kritere göre maksimize ederiz. Burada bunu yapamazsınız, çünkü bu bir sınıflandırma. Kâr ile sınıf etiketleri arasında bir ilişki yoktur. En iyi ihtimalle, saçmalık elde edersiniz. Bu yüzden bu tür kriterler eval_metrics'e yerleştirilir.
Sınıflandırmanın kalitesi bir şekilde değerlendirilebilir, dolayısıyla bu değerlendirmeyi en üst düzeye çıkarmak optimizasyonun hedefidir.
 
Maxim Dmitrievsky #:
Kayıp ph-y adından bile referans değerler ile model arasındaki kayıp ph-y'dir

Burada kar manşonu hangi tarafta

bir kol var

 
Andrey Dik #:
Sınıflandırmanın kalitesi bir şekilde değerlendirilebilir. Bu nedenle, bu değerlendirmeyi en üst düzeye çıkarmak optimizasyonun hedefidir
Orijinal ve eğitilmiş arasındaki kayıp en aza indirilir. Elbette denemek için normalleştirilmiş kar şeklinde küçük bir kesinti eklemek mümkündür, ancak gerekli midir?
 
СанСаныч Фоменко #:

Küresel bir maksimum arayışını haklı çıkarmak anlamında çok güzel ve kanıtlanabilir.

Ama bu tarihte kaldı.

Ya sağ tarafa bir çubuk eklersek? Güzellik kalır mı? Yoksa çöker mi? Piyasa durağan değil. Testçiye inanıyor musun? Buldu, çok güzel, renkli...

Geçmişte ya da gelecekte olması fark etmez. Test cihazının da bununla hiçbir ilgisi yoktur.

Önemli olan, bir değerlendirme kriterinin global optimumunu bulmak için bir algoritmanın (tek başına veya bir şebekenin parçası olarak bir optimizasyon algoritması) özelliğidir. Altını çiziyorum - değerlendirme kriteri. Değerlendirme kriterinin mutlaka ve/veya sadece kar olması gerekmez. Herhangi bir şey olabilir, örneğin, OOS üzerinde çalışmanın değerlendirme kriteri bir kriter değil mi (örnek ve OOS arasındaki farkı en aza indirmek)? - Bu sadece bir düşünce. Kriterler herhangi bir şey ve herhangi bir karmaşıklıkta olabilir. "Kâr" kriterinin çok gullied, ayrık bir şey olduğunu anlamak önemlidir, bu nedenle insanlar daha yumuşak, daha monotonik değerlendirme kriterleri bulmaya çalışırlar, bu da genellikle optimizasyonun kalitesini ve özellikle nöronik eğitimini geliştirir.

Son derece sanatsal resimde çizdiğim şeye geri dönecek olursak - yerel ekstremumların ne sayısının ne de özelliklerinin bilinmediği koşullarda tek çıkış yolunun, sınırlı hesaplama kapasitesi koşullarında mümkün olanı mümkün olduğunca aramak olduğu gerçeğinin açık bir gösterimi.

Plato - evet, böyle bir kavram var, ancak bu optimizasyonla ilgili değil, benzer parametre kümelerini bazı özelliklere göre sınıflandırma meselesi. Kararlı bir plato aramak ayrı bir karmaşık görevdir.

 

Sonunda kendi kayıp fonksiyonumu elde ettim, türev Sharpe, hata ve ağırlıkların bir çarpımı olarak temsil ediliyor.

is_max_optimal=False değerin azaldığını gösterir, ancak -1 ile de çarptığım için tam tersi doğrudur.

class SharpeObjective(object):
  def calc_ders_range(self, approxes, targets, weights):
    assert len(approxes) == len(targets)
    if weights is not None:
      assert len(weights) == len(approxes)

    result = []
    for index in range(len(targets)):
      preds = [approxes[i] for i in range(len(targets))]
      preds = [i if i>0 else -1*i for i in preds]
      sharpe = np.mean(preds)/np.std(preds)
      der1 = targets[index] - approxes[index]
      der2 = -1

      if weights is not None:
        der1 = -1 * sharpe * der1 * weights[index]
        der2 = der2 * weights[index]

      result.append((der1, der2))
    return result

class Sharpe(object):
    def get_final_error(self, error, weight):
        return error

    def is_max_optimal(self):
        return False

    def evaluate(self, approxes, target, weight):
        assert len(approxes) == 1
        assert len(target) == len(approxes[0])
        preds = np.array(approxes[0])
        target = np.array(target)
        preds = [i if i > 0 else -1*i for i in preds]
        sharpe = np.mean(preds)/np.std(preds)
        return sharpe, 0

model = CatBoostRegressor(learning_rate=0.1, loss_function=SharpeObjective(), eval_metric=Sharpe())
 
Evgeni Gavrilovi #:

Sonunda kendi kayıp fonksiyonuna sahip olan türev, Sharpe, hata ve ağırlıkların bir çarpımı olarak temsil edilir.

is_max_optimal=False değerin azaldığını gösterir, ancak -1 ile de çarptığım için bunun tersi doğrudur.

Eğitim sonuçları iyileşti mi?)