Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
40_алгоритмов_Python.pdf
Скачиваний:
8
Добавлен:
07.04.2024
Размер:
13.02 Mб
Скачать

Когда следует использовать алгоритмы

359

Уже существуют хорошо обученные и протестированные модели с открытым исходным кодом, которые могут справиться с первым этапом обучения алго­ ритма. Почему бы не использовать их в качестве отправной точки? Можно сразу перейти ко второму этапу разработки, применив готовое решение. Это даст нам хороший старт, а результат будет более надежным, поскольку первый этап уже хорошо протестирован.

Вероятностный метод

Вероятностный метод (probabilistic method) дает достаточно хорошее решение, которое является рабочим, но не наилучшим. В главе 7 мы применили к задаче алгоритм дерева решений и получили результат, основанный на вероятностном подходе. Мы не доказали, что это идеальное решение, но оно было достаточно хорошим. В итоге был получен приемлемый результат, с учетом ограничений, описанных в требованиях задачи.

Пример

Многие алгоритмы МО отталкиваются от случайного решения, а затем итера­ тивно его улучшают. Окончательное решение может быть эффективным, но доказать, что оно является лучшим, невозможно. Этот метод используется для решения сложных задач в разумные сроки. Вот почему для многих алгоритмов МО единственный способ получить воспроизводимые результаты — это ис­ пользовать одну и ту же последовательность случайных чисел, применяя одно и то же начальное значение (seed).

КОГДА СЛЕДУЕТ ИСПОЛЬЗОВАТЬ АЛГОРИТМЫ

Алгоритмы подобны инструментам в арсенале рабочего. Прежде всего необхо­ димо понять, какой инструмент лучше всего использовать в конкретных обстоя­ тельствах. Для этого нужно ответить на некоторые вопросы. Существует ли вообще алгоритм для этой задачи? Когда наступит подходящее время для его внедрения? Даст ли алгоритм действительно полезное решение (в отличие от альтернативных вариантов)? Нужно проанализировать эффект от использова­ ния алгоритма с точки зрения трех аспектов:

zz Затраты. Оправдывает ли результат затраты, связанные с реализацией ал­ горитма?

zz Время. Повышает ли алгоритм производительность в сравнении с более про­ стыми альтернативами?

360

Глава 14. Практические рекомендации

zzТочность. Дает ли более он точные результаты, нежели другие, не столь сложные алгоритмы?

Чтобы выбрать подходящий алгоритм, нам придется ответить на следующие вопросы:

zz Возможно ли упростить задачу, введя ряд допущений? zz Как оценивать алгоритм? Каковы ключевые показатели?

zz Как именно будет развернут и использован этот алгоритм? zz Должен ли он быть объяснимым?

zz Учитываются ли три важных нефункциональных требования — безопасность, производительность и доступность?

zz Установлен ли срок выполнения работ?

Практический пример — события типа «черный лебедь»

Алгоритмы получают, обрабатывают и математически описывают данные, что­ бы решить поставленную задачу. Но что, если собранные данные касаются чрезвычайно важного и очень редкого события? Как использовать алгоритмы на основе данных, сгенерированных таким событием, а также обстоятельствами, которые привели к этому «большому взрыву»?

Нассим Талеб в 2001 году в своей книге «Одураченные случайностью» обозна­ чил чрезвычайно редкие явления метафорой «черный лебедь».

До того как черные лебеди были впервые обнаружены в дикой при­ роде, на протяжении веков они символизировали то, чего не бывает (все лебеди — белые). После открытия этих птиц понятие осталось в обиходе, но его употребление изменилось. Теперь «черный лебедь» обозначает настолько редкое событие, что его невозможно предсказать.

Талеб представил четыре критерия классификации события как «черного ле­ бедя».

Четыре критерия классификации события как «черного лебедя»

Не так уж просто определить, является ли редкое событие «черным лебедем». Для этого оно должно соответствовать следующим четырем критериям.

Когда следует использовать алгоритмы

361

1.Само это событие должно вызвать у наблюдателей шок. Примером может служить атомная бомбардировка Хиросимы.

2.Событие должно стать сенсационным — разрушительным и масштабным, таким как вспышка испанского гриппа.

3.Как только событие произойдет и пыль уляжется, дата-сайентисты, вклю­ ченные в группу наблюдателей, должны осознать, что на самом деле оно не было таким уж непредсказуемым. Просто сами наблюдатели никогда не обращали внимания на некоторые важные подсказки. Если бы у них были возможности и желание, событие типа «черный лебедь» можно было бы предсказать. Например, на вспышку испанского гриппа указывали некоторые признаки. Но они, как известно, игнорировались до того, как она стала гло­ бальной. Манхэттенский проект осуществлялся в течение многих лет до того, как атомная бомба была фактически сброшена на Хиросиму. Люди в группе наблюдателей просто не смогли связать факты воедино.

4.В то время как для наблюдателей «черный лебедь» оказывается самым боль­ шим потрясением в жизни, у некоторых людей он может вообще не вызвать удивления. Например, для ученых, годами работавших над созданием атом­ ной бомбы, ее использование не стало неожиданностью, а было вполне пред­ сказуемым событием.

Применение алгоритмов к событиям типа «черный лебедь»

Ниже представлены главные аспекты применения алгоритмов к событиям типа «черный лебедь».

zz Существует множество сложных алгоритмов прогнозирования. Но если мы надеемся использовать стандартные методы, чтобы предсказать и предупре­ дить событие типа «черный лебедь», то это не сработает. Это даст лишь чувство ложной безопасности.

zz После того как произошло событие типа «черный лебедь», точно предсказать его последствия для всех сфер социальной жизни (экономики, общества, государства), как правило, невозможно. Поскольку это редкое событие, не существует нужных данных для передачи их алгоритмам. К тому же не все­ гда понятна взаимосвязь между разными социальными проявлениями (воз­ можно, ее никогда до этого не исследовали).

zz Важно отметить, что события типа «черный лебедь» не являются случайны­ ми. У нас просто не было возможности обратить внимание на сложные об­ стоятельства, которые в конечном итоге привели к этим событиям. Это та область, где алгоритмы могут сыграть важную роль. В будущем необходимо