Maschinelles Lernen im Handel: Theorie, Modelle, Praxis und Algo-Trading - Seite 2268

 
mytarmailS:

Ich weiß nicht, wie man mcl ((

5k Auszubildende

40k-Test

Versuchen Sie, mein Kriterium auf Ihren gmm anzuwenden, es sollte besser sein, funktionierende Modelle zu finden.

Ich verwende bereits R^2.

Ich bekomme die gleichen Strudel, nur besser)

 
Maxim Dmitrievsky:

Alles ist wie immer, nur die Markierungen sind auf Mittelwertbildung ausgerichtet. Dort gibt es ein völlig anderes Layout, das interessant ist.

Vor kurzem habe ich ein Buch veröffentlicht, in dem eine interessante Idee darin bestand, die Gewichte des Netzes nach der klassischen Methode festzulegen und dann durch Training eine Feinabstimmung vorzunehmen. Ich frage mich, ob es Möglichkeiten gibt, das Training mit einem Lehrer und mit Verstärkung zu kombinieren.

 
Rorschach:

Vor kurzem habe ich ein Buch veröffentlicht, in dem eine interessante Idee darin bestand, die Gewichte des Netzes nach der klassischen Methode festzulegen und dann durch Training eine Feinabstimmung vorzunehmen. Ich frage mich, ob es Möglichkeiten gibt, das Training mit einem Lehrer und mit Verstärkung zu kombinieren.

dies sind alles ausgeklügelte Analoga von Mashka

 
Maxim Dmitrievsky:

Dies sind alles hochentwickelte Analoga der Maschka.

Gitter haben den Vorteil der Nichtlinearität und der Art und Weise, wie die Parameter ausgewählt werden, aber es sind die gleichen Filter.

Es gibt einfach eine Menge negativer Meinungen zum Thema Verstärkungslernen. Bei Autos zeigen Netze mit einem Lehrer bessere Ergebnisse, ebenso bei Spielen. Sie haben sogar ein Gitter am Ende eines Levels erfunden, um den Spawn näher am Anfang zu trainieren und neu anzuordnen. Interessant ist auch, dass die Erfahrung des Datasynths entscheidet. Unity hat ein Spiel speziell für ML entwickelt und eine Meisterschaft ins Leben gerufen. Der Mensch erreicht im Durchschnitt die Stufe 20. Sie nahmen die 2 neuesten Methoden auf Raster, mit deren Hilfe sie im Durchschnitt Stufe 4 erreichten. Und die Experten waren in der Lage, Ergebnisse auf dem Niveau eines Mannes zu zeigen.

 
Rorschach:

Gitter haben den Vorteil der Nichtlinearität und der Art und Weise, wie die Parameter ausgewählt werden, aber es sind die gleichen Filter.

Es gibt einfach eine Menge negativer Meinungen zum Thema Verstärkungslernen. Bei Autos zeigen Netze mit einem Lehrer bessere Ergebnisse, ebenso wie bei Spielen. Sie haben sogar ein Netz vom Ende des Levels erfunden, um den Spawn näher am Anfang zu trainieren und neu anzuordnen. Interessant ist auch, dass die Erfahrung des Datasynths entscheidet. Unity hat ein Spiel speziell für ML entwickelt und eine Meisterschaft ins Leben gerufen. Der Mensch erreicht im Durchschnitt die Stufe 20. Sie nahmen die 2 neuesten Methoden auf Raster, mit deren Hilfe sie im Durchschnitt Stufe 4 erreichten. Und die Experten in der Meisterschaft waren in der Lage, Ergebnisse auf der Ebene einer Person zu zeigen.

Ich hatte einen RL-Hype, aber der ist jetzt vorbei... Transformers und GANs sind jetzt im Trend.

 
Maxim Dmitrievsky:

Es gab einen RL-Hype, aber der ist jetzt vorbei... Transformatoren und GANs sind jetzt im Trend.

Sie kennen alle Algorithmen und wissen, wie man einen bestimmten Algorithmus auf eine bestimmte Aufgabe anwendet, und nicht, wie man Trends hinterherläuft.

Wenn man in GO gewinnen muss, warum sollte man sich dann mit GAN beschäftigen? Wenn man Schwertlilien klassifizieren muss, warum sollte man sich dann mit RL beschäftigen?

heh, alles hat seinen Platz!

 
mytarmailS:

Im Trend liegen Köpfe! die alle Algorithmen kennen und wissen, wie man einen bestimmten Algorithmus auf eine bestimmte Aufgabe anwendet, anstatt Trends nachzujagen....

Wenn Sie in GO gewinnen wollen, warum sollten Sie sich mit GAN beschäftigen? Wenn Sie Schwertlilien klassifizieren müssen, warum sollten Sie sich mit RL beschäftigen?

alles hat seinen Platz!

Du hast einen kleinen Verstand und kannst nicht sehen, wo und wozu.

 
Maxim Dmitrievsky:

es gab einen rl-hype, der jetzt vorbei ist. transformers und gaNs sind im trend

GANs sind interessant für die Erzeugung künstlicher Daten

Ich denke, es ist eine gute Idee, diesen Rahmen zu beherrschen, dann geht alles viel schneller.
 
Rorschach:

gan für die Erzeugung künstlicher Daten ist interessant zu versuchen

Ich sollte diesen Rahmen besser beherrschen, dann geht alles viel schneller.

Ich habe meinen Gan geschrieben, daran ist nichts kompliziert. Es ist allerdings nicht rekursiv, ich muss es neu machen.

Beispiel auf Torcha.

декларация

#  creating cGAN
class Discriminator(nn.Module):
    def __init__(self, input_vector):
        super().__init__()
        self.model = nn.Sequential(
            nn.Linear(input_vector, 500),
            nn.ReLU(),
            nn.Dropout(0.2),
            nn.Linear(500, 250),
            nn.ReLU(),
            nn.Dropout(0.2),
            nn.Linear(250, 1),
            nn.Sigmoid()
        )

    def forward(self, x):
        return self.model(x)


class Generator(nn.Module):
    def __init__(self, input_vector):
        super().__init__()
        self.model = nn.Sequential(
            nn.Linear(input_vector, 250),
            nn.ReLU(),
            nn.Dropout(0.2),
            nn.Linear(250, 500),
            nn.ReLU(),
            nn.Dropout(0.2),
            nn.Linear(500, input_vector)
        )

    def forward(self, x):
        return self.model(x)

обучение

tens = torch.FloatTensor(pr[pr.columns[1:]].values)
train_iterator = torch.utils.data.DataLoader(
    tens, batch_size=BATCH_SIZE, shuffle=True,)

discriminator = Discriminator(INPUT_VECTOR+1)
generator = Generator(INPUT_VECTOR+1)
optimizer_discriminator = torch.optim.Adam(discriminator.parameters(), lr=lr)
optimizer_generator = torch.optim.Adam(generator.parameters(), lr=lr)

for epoch in range(NUM_EPOCHS):
    for n, real_samples in enumerate(train_iterator):
        if real_samples.shape[0] != BATCH_SIZE:
            continue
        #  Data for training the discriminator
        real_samples_labels = torch.ones((BATCH_SIZE, 1))
        latent_space_samples = torch.randn((BATCH_SIZE, INPUT_VECTOR+1))
        generated_samples = generator(latent_space_samples)
        generated_samples_labels = torch.zeros((BATCH_SIZE, 1))
        all_samples = torch.cat((real_samples, generated_samples))
        all_samples_labels = torch.cat(
            (real_samples_labels, generated_samples_labels)
        )

        #  Training the discriminator
        discriminator.zero_grad()
        output_discriminator = discriminator(all_samples)
        loss_discriminator = loss_function(
            output_discriminator, all_samples_labels)
        loss_discriminator.backward()
        optimizer_discriminator.step()

        #  Data for training the generator
        latent_space_samples = torch.randn((BATCH_SIZE, INPUT_VECTOR+1))

        #  Training the generator
        generator.zero_grad()
        generated_samples = generator(latent_space_samples)
        output_discriminator_generated = discriminator(generated_samples)
        loss_generator = loss_function(
            output_discriminator_generated, real_samples_labels
        )
        loss_generator.backward()
        optimizer_generator.step()

        #  Show loss
        if epoch % 10 == 0 and n == BATCH_SIZE - 1:
            print(f"Epoch: {epoch} Loss D.: {loss_discriminator}")
            print(f"Epoch: {epoch} Loss G.: {loss_generator}")
Hier ein weiteres Beispiel
 
Wenn Sie nichts schreiben wollen, können Sie die vorgefertigten
The Synthetic Data Vault | Open Source tools for Synthetic Data Generation
  • sdv.dev
The Synthetic Data Vault (SDV) enables end users to easily generate synthetic data for different data modalities, including single table, relational and time series data. With this ecosystem, we are releasing several years of our work building, testing and evaluating algorithms and models geared towards synthetic data generation.