Использование библиотеки Prophet от Facebook для прогнозирования потока критических угроз, как было показано на конференции Palo Alto Networks Ignite ’19 в Остине, штат Техас.

Может быть, вы уже испытывали это раньше - это чувство, когда вы глубоко заинтересованы в изучении новой темы, но, честно говоря, не знаете, с чего начать.

Так было, когда я впервые услышал слова Машинное обучение (ML) и Искусственный интеллект (AI), упомянутые в Palo Alto Networks. Это был не просто страх перед неизвестным. Было реальное ощущение, что эти концепции могут радикально изменить наш цифровой образ жизни. Это было устрашающе, особенно для тех, кто имел опыт работы в области ИТ и сетевой безопасности. Было нелогично принять то, что могло привести к устареванию моего рабочего места (напряженность настолько интригую для меня, что это привело к лекции Ignite '18 под названием Как автоматизировать себя из работы (и почему вы должны) », которая был более оптимистичен в отношении устаревания рабочих мест).

Итак, с приближением Ignite ’19 (а идеи для живых демонстраций на исходе!) Я решил, что пора окунуться прямо в пропасть AI / ML. Все началось с простого вопроса: Можно ли спрогнозировать состояние безопасности, как погоду? Вооружившись озером данных Cortex ™ и CDL Python SDK, я приступил к работе, зная, что, по крайней мере, у меня есть данные. Оставалось только найти подходящую методологию машинного обучения для проведения моего эксперимента.

В поисках подходящего инструмента

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

Я быстро понял, что новичка легко сбить с пути, особенно с учетом множества доступных библиотек и инструментов, а также множества статей в блогах и руководств, написанных для них.

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

Войдите в Facebook Prophet

Вот. Прогнозирование временных рядов в несколько строк кода!

После нескольких десятков поисков и нескольких часов руководств по Tensorflow и PyTorch я (удобно) определил, что Рекуррентная нейронная сеть (RNN) может быть излишней для конкретного набора данных, с которым я работал. Что еще более важно, ныряние в RNN для меня в то время означало проводить больше часов моей жизни в долине отстой.

Нет. Мне нужно было что-то быстрое и простое, и мой набор данных состоял только из двух столбцов: отметки даты (ежечасно) и количества критических угроз серьезности, наблюдаемых в каждом интервале (см. Рис. 1).

Когда я впервые столкнулся с библиотекой Пророка Facebook, я почти не мог в это поверить. Как эта библиотека могла не оказаться в топе результатов поиска по запросу прогнозирование временных рядов с помощью Python? Беглый взгляд на быстрый старт оставил у меня ощущение, что я наконец на правильном пути, тем более что Prophet, казалось, абстрагировался и упрощал более утомительные учебные пособия sci-kit learn, с которыми я уже успел ознакомиться.

Вот. Прогнозирование временных рядов в несколько строк кода!

Слишком хорошо, чтобы быть правдой?

Прогнозирование потока угроз критической степени серьезности во многом похоже на попытку предсказать течение фондового рынка.

Если вы настроены скептически, на то есть веская причина. Прогнозирование потока угроз критической степени серьезности во многом похоже на попытку предсказать течение фондового рынка, хотя даже это может быть проще, чем вы думаете. Тем не менее, если вы ищете точку входа в AI / ML, прогнозирование временных рядов кажется отличным введением - по крайней мере, для меня.

Если вы заинтересованы в воспроизведении эксперимента, который я собрал и опубликовал в виде записной книжки Google Colaboratory, которую вы можете найти ниже:

Эксперимент Cortex ™ ML

До следующего раза, счастливых споров об угрозах!