Классификация веб-клиента с использованием искусственной нейронной сети - PullRequest
2 голосов
/ 08 декабря 2010

У меня есть веб-сайт с высоким трафиком.
Я хочу создать программное обеспечение, которое на лету анализирует клиентские запросы и решает, поступают ли они от реального пользователя или бот-ботнета.Для обучения нейронной сети для выявления законных («хороших») пользователей я могу использовать журналы, когда нет активности DDoS.После обучения сеть будет отличать реальных пользователей от ботов.

Что у меня есть:

  • запрос URI (и порядок)
  • cookie
  • пользовательский агент
  • частота запросов.

Любые идеи о том, как лучше спроектировать ANN для этой задачи и как ее настроить?

Редактировать: [вответ на комментарии о чрезмерно широком объеме этого вопроса]

В настоящее время у меня есть работающая программа на C #, которая блокирует клиентов на основе частоты идентичных запросов.Теперь я хотел бы улучшить его «интеллект» с помощью классификатора на основе нейронной сети.
Я не знаю, как нормализовать эти входы для ANN, и мне нужны предложения в этой конкретной области.

Ответы [ 2 ]

1 голос
/ 17 января 2011

Re: нормализация входных данных: вы сопоставляете свои входные данные с набором символов (которые затем превращаются в числа), или вы отображаете входные данные в число с плавающей запятой, где число представляет некоторую степень интенсивности.Вы можете сопоставить данные любого типа с любой схемой, но вам действительно нужно использовать ANN только в том случае, если решение задачи является нелинейным (все данные для одной классификации другой классификации НЕ МОГУТ кластеризоваться на одной стороне строки со всемиданные для другой классификации на другой стороне линии).В обоих случаях вы получите вектор входов, связанный с выходом ([БОТ, ЧЕЛОВЕК] или [БОТ, ЧЕЛОВЕК, НЕИЗВЕСТНО] или [БОТ, ВЕРОЯТНО-БОТ, ВЕРОЯТНО-ЧЕЛОВЕК, ЧЕЛОВЕК] и т. Д.).

Как вы различаете двух пользователей, которые поочередно подают один и тот же запрос на книгу по времени (предположим, вы продаете книги)?

1 голос
/ 08 декабря 2010

Это не совсем подходит для нейронных сетей.Нейронные сети великолепно предоставляются (в качестве приблизительного ориентира):

  1. Вы можете сэкономить вычислительную мощность,
  2. Данные не являются временными,
  3. Входные данныеконечно,

Я не думаю, что вы действительно пропустите ни одного из них.

...