Подтвердить что ты не робот

Математика для информатики

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

4b9b3361

Ответ 1

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

  • Discrete Math - это самый важный и базовый класс для компьютерных наук, и по этой причине он обычно предлагается в отделах CS вместо математических факультетов, Этот класс будет подкреплять ваше вступление к алгоритмам класса и научит вас математически доказывать вещи и дать вам основы для анализа структур данных и алгоритмов.
  • Calculus, в то время как он не используется непосредственно во внутриуровневых классах компьютерной науки, обычно представляет собой последовательность курсов, предлагаемых вашим университетом для ваши математические навыки. По мере того как вы начинаете проникать в такие вещи, как численное программирование и машинное обучение, это будет очень полезно. Это также требование для продвинутых курсов вероятности/статистики.
  • Probability обычно рассматривается в некоторой степени в вашем дискретном математическом классе, но вы захотите взять класс на непрерывных распределениях вероятностей и статистический вывод, возможно, в отделе математики и статистики. Это даст вам лучшее представление о том, как делать численные вычисления и моделирование, и принципиально необходимо для машинного обучения, одного из самых важных приложений информатики.
  • Линейная алгебра - это класс, который вы найдете в первую очередь полезным для машинного обучения и (продвинутых) классов алгоритмов, но его важность в компьютерном видении, компьютерная графика, машинное обучение и другие количественные поддисциплины являются первостепенными.

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

Помимо бакалавриата математические курсы более высокого уровня полезны для определенных теоретических областей информатики (например, алгоритмическая теория игр, которая пересекается с экономикой), и особенно в том, чтобы выходить за рамки практического применения машинного обучения для разработки новых алгоритмов. Эти курсы включают:

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

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

  • Численные методы: некоторые не рассматривали бы этот математический класс как таковой, а при переходе алгоритмов и теории в несовершенное представление математики с плавающей запятой, есть много практических проблем, которые необходимо решить. Например, log-sum-exp трюк.

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

Ответ 3

Поскольку вы укажете "компьютерный ученый", мы возьмем трудный путь:

  • Анализ алгоритмов основан на исчислении, дифференциальных уравнениях и дискретной математике. (Многие рассматривают анализ алгоритмов как основного отличия между информатикой и программами разработки программного обеспечения).
  • Компьютерная графика/научная визуализация требует определенного технического анализа: численные методы, линейная алгебра и т.д.
  • Вычислительная геометрия
  • Приближение функций
  • Теория множеств, логика/исчисление первого порядка
  • Вероятность/Статистика
  • список можно продолжить:)