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

После некоторого обсуждения мы почти единогласно пришли к выводу, что если у кого-то есть деньги, чтобы заплатить за лицензию Wolfram Mathematica (или просто Mathematica), то нет причин использовать другое программное обеспечение, кроме Mathematica, для научной многозадачности. Почти всегда! С другой стороны, если кто-то хочет качественно писать и представлять научные результаты, то LaTeX - выбор номер один во всех отношениях.

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

В этой статье я хочу обсудить, почему приведенное ниже программное обеспечение важно в контексте науки о данных и машинного обучения и почему ведущие специалисты по данным и исследователи машинного обучения используют это программное обеспечение в большинстве случаев (80–90%). В этой статье я высказываю свои личные мысли как пользователя этого программного обеспечения, и я не продвигаю их, а, скорее, предлагаю интегрировать их в ваши проекты по науке о данных.

I. Wolfram Mathematica

Wolfram Mathematica была задумана и разработана в середине 80-х физиком-теоретиком Стивеном Вольфрамом. Основная причина, которая мотивировала Стивена Вольфрама, заключалась в том, что в то время не существовало никакого программного обеспечения, способного выполнять символьные и числовые вычисления в физике элементарных частиц, где обычно приходится моделировать и вычислять различные величины, связанные с взаимодействием частиц. С тех пор Mathematica стала стандартным программным обеспечением в научном сообществе академических кругов и исследовательских институтов.

Если вы посетите официальный сайт Wolfram Mathematica, вы сразу же прочитаете на первой странице следующее утверждение:

Wolfram Mathematica - всемирно известная система для современных технических вычислений

Сказанное выше, а именно утверждение, что Mathematica - это определенная система мира, означает, что у исследователей Wolfram Mathematica хватит смелости сделать такое заявление. На самом деле то, что компания Wolfram Mathematica заявляет о своем продукте, - это не просто заявление, а факт.

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

  1. Все в одном - все интегрировано.
  2. Высокая эффективность при символьных и численных расчетах.
  3. Минимальное и легкое написание кода.
  4. Легко доступная документация.
  5. Качественная визуализация данных, цифр и изображений.

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

Блокнот Mathematica по сути имеет все функции, необходимые пользователю для выполнения научных расчетов. Он позволяет пользователю напрямую писать текст и манипулировать им, писать и запускать код, создавать и визуализировать динамическую графику и т. Д. Все эти функции находятся только в одном месте - блокноте Mathematica.

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

Например, в коде, показанном на рис. 1, я выполнил символьные вычисления, чтобы оценить произведение трех матриц 2x2, и показал результат в Out [5]. Все эти вычисления выполняются очень быстро и эффективно и занимают всего четыре строки кода! Кроме того, если вы поместите курсор на имя функции, о которой вы хотите получить некоторую информацию (например, MatrixForm), появится всплывающее окно, чтобы дать пользователю возможность нажать кнопку информации. Эта функция объясняет мой четвертый пункт в моем списке выше, касающийся легкодоступной документации.

Что можно делать с Mathematica в области науки о данных и машинного обучения? На практике в этих полях можно сделать почти все в нескольких строках кода. Например, с помощью Mathematica можно выполнять символьные вычисления, математические вычисления, числа, алгебраические манипуляции, анализ данных, вычисление графиков, интерактивные вычисления и т. Д. Что касается науки о данных, Mathematica имеет все необходимое функционально для статистики и анализа данных .

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

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

II. Латекс

Когда я был студентом бакалавриата, я готовил бакалаврскую диссертацию с помощью Microsoft Word. Было больно! Я потратил так много времени только на то, чтобы нумеровать уравнения и правильно отображать их, и после некоторой минимальной ошибки мне пришлось снова перезапустить. Что ж, ситуация изменилась, когда я начал изучать LaTeX.

LaTeX - это программное обеспечение с открытым исходным кодом для подготовки документов, созданное в начале 80-х. Что я могу сказать о ЛаТексе? Что ж, LaTeX просто идеален! Очень сложно найти какое-либо другое программное обеспечение, близкое к LaTeX, для подготовки и презентации документов. LaTeX можно использовать для подготовки документов любого типа, таких как статьи, тезисы, книги, письма, мемуары, слайд-презентации и т. Д.

Поскольку LaTeX - это программное обеспечение с открытым исходным кодом, за эти годы оно сильно изменилось и, на мой взгляд, достигло почти совершенства. LaTeX также можно использовать для создания высококачественных презентаций на собраниях и конференциях. Это стало возможным благодаря использованию пакета Beamer. Этот пакет позволяет пользователю готовить качественные и стабильные презентации в форматах pdf. С презентациями Beamer вы забудете те неловкие моменты во время конференции, когда ваша презентация Powerpoint полностью испортится из-за того, что компьютер для конференций или слайд-проектор почему-то несовместимы с чем-то неизвестным.

Обсуждение и замечания

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

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

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

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

Если вы специалист по данным и / или исследователь машинного обучения, я бы порекомендовал изучить Mathematica и использовать ее для своих проектов в области науки о данных, а также использовать LaTeX для подготовки и презентации документов. В этом случае вы потратите меньше времени на написание кода и оцените научную часть науки о данных.

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

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

Вторая причина связана с тем, что для получения Mathematica вам нужно заплатить за это, в то время как многие другие программы, такие как Python и R, бесплатны. На самом деле Mathematica довольно дорога, и ее цена может быть проблемой, но вы действительно получаете то, за что платите.

Итак, в заключение я рекомендую специалистам по обработке данных и / или исследователям машинного обучения начать использовать Mathematica и LaTeX в своих проектах, и я почти уверен, что вы вряд ли оглянетесь назад.

Если вам понравилась моя статья, поделитесь ею со своими друзьями, которые могут быть заинтересованы в этой теме, и цитируйте / ссылайтесь на мою статью в своих исследованиях. Не забудьте подписаться на другие связанные темы, которые будут опубликованы в будущем.