2010-12-08 3 views
2

Ich habe eine Website mit hohem Traffic.
Ich möchte Software erstellen, die Client-Anfragen im laufenden Betrieb analysiert und entscheidet, ob sie von einem echten Benutzer oder einem Bot-Bot kommen. Zum Trainieren des neuronalen Netzwerks, um legitime ("gute") Benutzer zu identifizieren, kann ich Protokolle verwenden, wenn keine DDoS-Aktivität vorliegt. Nach der Schulung würde das Netzwerk echte Benutzer von Bots unterscheiden.
Web-Client-Klassifizierung mit künstlichem neuralem Netzwerk

Was ich habe:

  • Anforderungs-URI (und Reihenfolge)
  • Cookie
  • User-Agent
  • Anfrage Frequenz.

Irgendwelche Ideen, wie man ANN für diese Aufgabe am besten entwirft und wie man es stimmt?

Edit: [in Reaktion auf die Kommentare über den zu weit gefasste Rahmen dieser Frage]

Im Moment habe ich eine Arbeits C# Programm blockier Kunden auf der Grundlage der Häufigkeit von identischen Anfragen. Jetzt möchte ich seine "Intelligenz" mit einem Klassifikator verbessern, der auf einem neuronalen Netzwerk basiert.
Ich weiß nicht, wie diese Eingaben für ANN zu normalisieren und ich brauche Vorschläge in diesem speziellen Bereich.

+0

Das ist eine Frage von enormem Umfang - wie in einer ganzen Disziplin der Informatik arbeitet, um diese Frage zu beantworten. – Robert

+0

Dies ist eine breite Frage. Hast du es schon probiert? –

+0

Nein. Ich habe ein funktionierendes C# -Programm, das Clients basierend auf der Häufigkeit derselben Anfragen blockieren kann. Aber jetzt möchte ich seine "Intelligenz" mit dem neuronalen Netzwerk verbessern. Ich weiß nicht, wie ich diese Eingaben für ANN normalisieren soll. –

Antwort

1

Dies ist nicht wirklich für neuronale Netze geeignet. Neuronale Netze sind groß vorgesehen (als grobe Richtwerte):

  1. Sie können die Verarbeitungsleistung schonen,
  2. Die Daten werden nicht zeitlich ist,
  3. Die Eingangsdaten ist endlich,

I glaube nicht, dass du wirklich irgendwas davon passierst.

+0

(2) - was meinst du? (3) - Daten sind endlich. Sie können 5 Anfragen übergeben und ANN fragen, ob es wie ein echter Benutzer aussieht oder nicht. Ich denke, es ist eine gute Aufgabe für NN Daten zu klassifizieren, oder? –

+0

Die Daten sind zeitlich, es hat Timing-Informationen. Es hängt davon ab, welche Informationen Sie in das NN eingeben, ob es endlich ist (eine tatsächlich festgelegte Länge beschreibt diese Eigenschaft besser). Ich möchte dich nicht daran hindern, das zu versuchen, aber ich habe nicht viel Hoffnung, dass es funktionieren wird. –

+0

"Die Daten sind zeitlich, es hat Timing-Informationen" - Nein. Sie können Zeit Delta zu NN –

1

Re: Normalisieren der Eingänge: Sie ordnen Ihre Eingangsdaten einer Gruppe von Symbolen zu (die dann in Zahlen umgewandelt werden) oder ordnen die Eingänge einer Gleitkommazahl zu, wobei die Zahl ein gewisses Maß an Intensität darstellt. Sie können jede Art von Daten jeder Art von Schema zuordnen, aber Sie möchten wirklich nur ANNs verwenden, wenn die Problemlösung nichtlinear ist (alle Daten für eine Klassifikation einer anderen Klassifikation dürfen NICHT auf einer Seite einer Linie mit allen gruppiert sein) die Daten für die andere Klassifikation auf der anderen Seite der Linie). In beiden Fällen haben Sie einen Vektor von Eingaben, die mit einer Ausgabe verknüpft sind ([BOT, MENSCH] oder [BOT, MENSCH, UNBEKANNT] oder [BOT, PROBABLY-BOT, PROBABLY-MENSCH, MENSCH] usw.).

Wie unterscheiden Sie zwischen zwei Benutzern, die zufälligerweise genau die gleiche Buchanforderung zeitlich korrekt einreichen (nehmen wir an, Sie verkaufen Bücher)?

+0

Es ist wirklich komplizierter als ich dachte –

Verwandte Themen