Итак, вы любите математику и подумываете изучать ее в университете, но не уверены, стоит ли математическая степень затраченных усилий. Или, может быть, вы уже студент-математик, который скоро закончит учебу и задается вопросом, что делать с этой новой блестящей степенью. Тогда не волнуйтесь, потому что возможности, лежащие перед вами, БЕЗГРАНИЧНЫ!

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

Конечно, необходимые математические навыки и знания, как правило, будут очень прикладными. В конце концов, вам вряд ли придется доказывать множество теорем на работе. И чтобы использовать эти навыки, вам нужно уметь программировать. В зависимости от среды вы будете работать либо с Python, либо с Matlab для исследовательских задач, либо с C++, где важна производительность. Примечательным исключением является язык программирования R, я слышал, что он до сих пор часто используется статистиками.

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

1. Наука о данных

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

Хорошая новость заключается в том, что из математиков получаются отличные специалисты по данным! В конце концов, наука о данных — это, по сути, набор нескольких математических дисциплин: линейная алгебра для работы с огромными массивами данных, обработка сигналов для предварительной обработки данных, вероятность и статистика для базового анализа данных. Кроме того, хороший специалист по данным также может применять методы машинного обучения. Они могут варьироваться от классических вещей, таких как линейная регрессия и кластеризация, до модных методов глубокого обучения, основанных на нейронных сетях. Чтобы освоить методы машинного обучения, необходим хороший уровень знаний в расчетах и оптимизации.

2. Глубокое обучение

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

Конечно, современные фреймворки глубокого обучения, такие как TensorFlow или PyTorch, пытаются оградить пользователей от кровавых математических деталей. Но вы можете использовать фреймворк более эффективно, если знаете его внутреннюю работу, поэтому хорошее понимание математики очень помогает. Знание Python также является обязательным, поскольку в настоящее время этот язык является выбором по умолчанию для практиков глубокого обучения.

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

3. Компьютерная графика

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

К счастью для математиков, векторные операции — это всего лишь маленькое подмножество линейной алгебры, которая в основном является их хлебом с маслом.Для тех, кто хорошо разбирается в линейной алгебре, большая часть математики в компьютере графика покажется банальной. Я говорю «большая часть математики», потому что векторная математика — это только основа компьютерной графики. Все становится намного интереснее, когда вы пытаетесь воспроизвести реалистичные материалы и поведение света. На этом этапе вы можете столкнуться с уравнениями в частных производных и численными методами.

4. 3D-моделирование

3D-моделирование везде. Устройство, на котором вы читаете этот пост, ваш дом, мир в игре, в которую вы играете, — все было спроектировано инженером или художником с использованием программного обеспечения для 3D-моделирования. И, боже, эта программа использует серьезную математику! Как всегда в 3D, есть линейная алгебра. Для создания сложных поверхностей вам нужна дифференциальная геометрия. И в основном каждый алгоритм модификации 3D-моделей включает в себя ту или иную форму вычислений и численных методов.

Конечно, вам не нужно быть экспертом по математике, чтобы использовать программное обеспечение для 3D-моделирования, даже если вам будет легче понять его ограничения. Но если вы эксперт, подумайте о том, чтобы специализироваться на разработке программного обеспечения для 3D-моделирования. Вы не только не забудете уже известную математику, но и узнаете много нового. Существует огромное количество методов и алгоритмов 3D-моделирования, и эта область продолжает развиваться с каждым годом.

5. Робототехника

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

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

Насколько я знаю, Matlab — распространенный инструмент для моделирования и управления роботами. Причиной этого является свобода экспериментировать, которую предоставляет Matlab, в сочетании с некоторыми отличными библиотеками, специфичными для обработки сигналов и оптимального управления.

6. Физическое моделирование

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

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

В любом случае, физическое моделирование — невероятно сложное приложение математики. Как и в случае с компьютерной графикой, вы можете создавать забавные изображения и анимацию, визуализируя результаты!

Почетные упоминания

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

  • 7. Обработка изображений и аудио: создавайте фильтры, оптимизируйте хранение и передачу, распознавайте закономерности. Задействованная математика: анализ Фурье, комплексный анализ, машинное обучение.
  • 8. Криптография: шифруйте информацию и защищайте пользователей Интернета. Я слышал, что теория чисел и комбинаторика полезны.
  • 9. Биоматематика: разработка процессов производства лекарств, расшифровка ДНК и моделирование роста опухоли. Важные математические дисциплины: обыкновенные дифференциальные уравнения, уравнения в частных производных, вероятность и статистика.
  • 10. Финансы: рассчитывайте инвестиционные риски и прогнозируйте цены на акции. Освежите свои знания о вероятности, статистике и стохастических дифференциальных уравнениях.

Спасибо за прочтение! Если вы нашли пост полезным, подумайте о том, чтобы оставить аплодисменты. Если вы хотите прочитать обо мне больше или посмотреть на мои проекты, подписывайтесь на меня на Medium или Twitter.