Я прочитал несколько ответов на эту тему, но у меня все еще есть вопросы.. Есть много курсов математики, и я не знаю, какой из них взять первым. Какие математические классы должны выполнять каждый компьютерный ученый? И какой класс должен быть первым и почему?
Математика для информатики
Ответ 1
Очень хороший и важный вопрос! Хорошее понимание математики имеет важное значение для каждого компьютерного ученого, и математическое требование начинает становиться все более разнообразным.
- Discrete Math - это самый важный и базовый класс для компьютерных наук, и по этой причине он обычно предлагается в отделах CS вместо математических факультетов, Этот класс будет подкреплять ваше вступление к алгоритмам класса и научит вас математически доказывать вещи и дать вам основы для анализа структур данных и алгоритмов.
- Calculus, в то время как он не используется непосредственно во внутриуровневых классах компьютерной науки, обычно представляет собой последовательность курсов, предлагаемых вашим университетом для ваши математические навыки. По мере того как вы начинаете проникать в такие вещи, как численное программирование и машинное обучение, это будет очень полезно. Это также требование для продвинутых курсов вероятности/статистики.
- Probability обычно рассматривается в некоторой степени в вашем дискретном математическом классе, но вы захотите взять класс на непрерывных распределениях вероятностей и статистический вывод, возможно, в отделе математики и статистики. Это даст вам лучшее представление о том, как делать численные вычисления и моделирование, и принципиально необходимо для машинного обучения, одного из самых важных приложений информатики.
- Линейная алгебра - это класс, который вы найдете в первую очередь полезным для машинного обучения и (продвинутых) классов алгоритмов, но его важность в компьютерном видении, компьютерная графика, машинное обучение и другие количественные поддисциплины являются первостепенными.
Тем не менее, если доступно вступительное слово для машинного учебного класса, они, вероятно, будут охватывать достаточную линейную алгебру и другие вещи, которые вы можете получить с помощью базового класса вероятности. Тем не менее, для аспирантуры в информатике важно понимание всех областей математики.
Помимо бакалавриата математические курсы более высокого уровня полезны для определенных теоретических областей информатики (например, алгоритмическая теория игр, которая пересекается с экономикой), и особенно в том, чтобы выходить за рамки практического применения машинного обучения для разработки новых алгоритмов. Эти курсы включают:
-
Реальный анализ, в том числе теория измерения где вы обнаружите, что если вы изучаете вероятность и исчисление достаточно долго, они снова сходятся. Анализ, как правило, полезен, когда вы начинаете работать с алгоритмами, связанными с числами.
-
Optimization, включая линейная оптимизация, выпуклая оптимизация, градиентный спуск и т.д. Во многих случаях "обучение" модели машинного обучения в основном сводится к оптимизации целевой функции, а свойства этой функции, такие как выпуклость, оказывают большое влияние на то, насколько легко ее оптимизировать.
-
Численные методы: некоторые не рассматривали бы этот математический класс как таковой, а при переходе алгоритмов и теории в несовершенное представление математики с плавающей запятой, есть много практических проблем, которые необходимо решить. Например, log-sum-exp трюк.
-
Для тех, кто будет в "науке о данных" и связанных с ним областях, очень важны расширенные статистические данные и особенно причинный вывод. Есть много вещей, которые нужно знать, главным образом потому, что доступ к большому количеству данных вызывает эту проблему для непосвященных.
Ответ 2
Combinatorics, численный анализ, дискретная математика, математическая статистика, , теория информации, линейная алгебра, lambda calculus, математическая логика, теория категорий, исчисление процессов и т.д.
Ответ 3
Поскольку вы укажете "компьютерный ученый", мы возьмем трудный путь:
- Анализ алгоритмов основан на исчислении, дифференциальных уравнениях и дискретной математике. (Многие рассматривают анализ алгоритмов как основного отличия между информатикой и программами разработки программного обеспечения).
- Компьютерная графика/научная визуализация требует определенного технического анализа: численные методы, линейная алгебра и т.д.
- Вычислительная геометрия
- Приближение функций
- Теория множеств, логика/исчисление первого порядка
- Вероятность/Статистика
- список можно продолжить:)