Поделиться

воскресенье, 9 июня 2013 г.

Рассказы об анализе: Почему? Открытие первое

Почему я вообще взялся за эту область? Во-первых, у меня случился пару лет назад ренессанс лирических отношений с математикой и программированием, причиной которому послужило как раз открытие мною анализа данных. Для меня это было что-то совершенно новое: новый взгляд на казалось бы известные вещи, новые цели, комбинации методов, и наука, и не совсем наука. В общем, мне интересно этим заниматься и интересно об этом рассказывать. Кроме того, эта первая причина послужила толчком к парочке открытий, которые стали, соответственно, второй и третьей причинами.

За 11 лет работы в высшей школе мне часто приходилось слышать от студентов (математиков и математиков-программистов), что их учат непонятно чему, чему бы в тот момент их ни учили, да и когда я сам был студентом, меня посещали те же мысли. И вот, спустя годы, начав заниматься регрессионными моделями, кластеризацией и прочими штуками, я стал периодически ощущать дежавю. Кластеризация, метод ближнего/дальнего соседа? – Где-то это было. Проверка гипотез? – Да, у меня был «трояк» по математической статистике, но я что-то такое помню. Средний кратчайший путь в социальном графе? – Да, да, да… И в какой-то момент меня осенило: не то, чтобы учили не тому – учат не так!

Я как-то, еще на первом курсе спросил своего преподавателя по математическому анализу Михаила Семёновича Кильдюшова (дай ему Бог здоровья и долгих лет жизни) о правильной методике преподавания с его точки зрения. Он ответил:

Мне кажется, нужно идти от частного у общему и от общего снова к частному.

Я себе это представляю так:
  1. Рассматриваем задачку, которую непонятно как решать, после чего решаем ее с помощью некоторого метода.
  2. Подробно рассматриваем сам метод, чем расширяем границы его применимости.
  3. Рассматриваем другие задачки, которые можно решать с его помощью.
Я когда-то взял за правило держать дома книги по всем областям математики и по всем технологиям, с которыми я работаю или может быть буду работать (в части технологий это была не самая умная моя идея: они устаревают). У меня есть книги по математическому, комплексному и функциональному анализу, топологии, методам оптимизации, квантовым полям и пр. и др., и, что интересно, только одна из них по характеру изложения полностью соответствует описанному выше принципу, остальные даже близко не приближаются.

Все или почти все книги по разделам математики (и, думаю, не только по ним), принадлежащие перу отечественных авторов, которые мне доводилось видеть (а это порядочно), написаны так, что их невозможно применять на практике. Они написаны фундаментальными математиками для фундаментальных математиков. Чтобы понять математическую статистику по такому труду, сначала нужно изучить том по теории вероятностей, а до него – пару томов по линейной алгебре и математическому анализу. Зачастую отсутствуют примеры практических задач. Недавно начал читать книжку по нечетким множествам. Прочитал 70 страниц, встретил один глупый пример про пирожок с нечеткой стоимостью, да и тот не был рассмотрен до конца, я уж молчу про его практическую ценность. Прочитал всю книгу, долго плевался от явных ошибок в формулах (стр. 9, первая страница основного содержания:

какое из двух высказываний «x не принадлежит A» или «x не принадлежит A» , является истинным, а какое ложным

(привет издательству «Питер»). В очередной раз убедился, что неопределенность можно формализовать, но так и не понял, что на практике со всем этим делать, когда применять, и что можно получить в результате (привет учебно-методическому объединению по «Прикладной информатике» на базе родного МЭСИ, которое рекомендовало эту книгу студентам, обеспечив гриф Министерства образования). А, между прочим, мне через неделю обрабатывать кучу анкет, где встречаются вопросы с открытым ответом. И что я должен делать?

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

Это был один полюс. Второй полюс – это «книги рецептов», где рассматриваются исключительно практические примеры. Если книгам первого типа не хватает реализации пунктов 1 и 3 из рассмотренного выше подхода, то книгам второго типа не достает содержания по пункту 2 – описания метода. В результате, если твоя задачка слегка или даже сильно похожа на рассматриваемую в таком «кулинарном справочнике», это еще отнюдь не гарантирует, что ты с его помощью свою задачку сможешь решить: нюансы, которыми твоя задача отличается от примера, могут быть критичными для используемого в книге метода, нивелирующими возможность или обоснованность его применения.

Истина, как обычно, лежит где-то посередине, между этими двумя полюсами, и там очень мало российских математических книг. Зато, что интересно, там очень много книг по программированию. Правда, лучшие и наиболее известные книги по программированию они, как бы, традиционно не отечественные (прошу прощения у российских авторов), как и соответствующие технологии. Зато разница в методологии изложения и результат обучения по фундаментальным математическим и программистским книгам лично для меня очевидны: сложный математический метод, применение которого представлено в виде программы на императивном языке программирования я способен понять, если не «влёт», то за конечное время, а вот если он расписан формулами… В общем, в последнее время и по математике я предпочитаю книги от зарубежных авторов.

Причем здесь анализ данных? Все очень просто: суть анализа данных в получении результата, но необходимость количественно оценивать свою уверенность в этом результате дополнительно требует и определенной теоретической подготовки (например, нужно понимать, корректировать ли результаты множественной проверки гипотез или нет, чем различаются разные варианты такой коррекции). То есть в рамках анализа данных мы совмещаем теорию и практику, причем это может быть теория откуда угодно и практика откуда угодно, и мы берем от теории все необходимое, но только необходимое, которое мы можем получить, опять-таки, откуда угодно (из фундаментальной, практической книги, из Интернета и т. д.). К примеру, один из методов фильтрации данных заключается в применении преобразования Фурье с последующей фильтрацией данных в их частотном представлении и обратным преобразованием. Этот метод появился давно и призван был решать проблемы, связанные с радарами и сонарами. Мы можем применять его к другим данным, не задумываясь о радарах, доказательствах теорем и физике волн, но должны представлять себе границы применимости метода. Итого, в анализе данных мы берем отовсюду столько, сколько нужно, но не больше – этим он мне и нравится, мне кажется, что он представляет собой выход из «фундаментального тупика», в котором оказываются многие люди, которые 5 лет учили математику, а теперь не могут решить ни одной практической задачи за границами 4-ех действий арифметики.

Комментариев нет:

Отправить комментарий