Как я могу лучше всего заполнить пробелы в знаниях по математике?

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

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

Есть ли у вас предложения? Книги, которые вы нашли, помогли с этим? Видео лекции?

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

Ответы

Ответ 1

Одной из областей математики, которая очень полезна для программирования, является дискретная математика. Хорошей ссылкой для этого является курс MIT Open Courseware на тему "Математика для компьютерных наук", которая здесь.

Ответ 2

В порядке важности я бы сказал:

  • Алгебра
  • Комбинаторика
  • Статистика и вероятность
  • Векторная математика
  • Матричная математика
  • Исчисление

По моему мнению, Алгебра необходима для любого достойного программиста, поскольку она формирует основы оценки переменных и выражений (функции, коммутативность и транзитивность операций и т.д.).

Комбинаторика необходима для всех видов алгоритмов графа (перемещение всех узлов в графе, поиск кратчайших путей и т.д.). Знание вашего пути вокруг комбинаций и перестановок жизненно важно практически в любом контексте программирования.

Далее в строке есть статистика, особенно если вы хотите попасть в ИИ или машинное обучение. Статистика, вероятно, самая большая область знаний математики для программистов. В большинстве случаев вам не нужно попадать в тяжелые вещи, например, многомерные регрессии. Просто зная, как (и при каких обстоятельствах) быстро вычислять среднее, медианное, режимное, стандартное отклонение, предел погрешности, доверительный интервал и условные вероятности чрезвычайно полезны для многих приложений машинного обучения.

Векторная математика важна во множестве приложений для моделирования информации (n-мерные модели векторного пространства - очень удобный способ рассуждения о семантике документа), а также для всех видов приложений 3D-графики.

Матричная математика очень похожа на векторную математику с точки зрения ее приложений (AI, информационные модели, 3D и т.д.), но это немного сложнее, поскольку она добавляет другое измерение. (Matrix math - это моя собственная ахиллесная пятка, я определенно мог бы использовать кисть.)

И исчисление важно для тех, кто занимается научными вычислениями и симуляцией.

Удачи!


ON EDIT:

Я думаю, что лучший способ освежить ваши математические знания - это работать над проектом, который использует эти знания. Если, например, вы хотите узнать некоторые статистические данные (например, ДЕЙСТВИТЕЛЬНО изучить его, чтобы вы могли сбивать все формулы, не глядя на них), тогда вам может быть интересно проанализировать набор данных из Конкурс Netflix Prize.

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

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

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

Ответ 3

Вы должны знать вероятность и статистика. Я прошел это в своей программе бакалавриата по физике. Стэнфорд предлагает бесплатные лекции по математике и физике, я думаю, что вы можете получить к ним доступ здесь (многие университеты теперь делают это публично видео лекции). И что-то, что только один из создателей этого сайта просто рекомендовал.

Ответ 4

Он может не относиться напрямую, но Project Euler отлично подходит для размышлений математически.

Ответ 5

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

Ответ 6

  • Вернитесь к своим математическим заметкам в колледже. Посмотрите, что вы помните, а что нет. Попробуйте повторить некоторые из ваших назначений.
  • Как только вы выясните, какие области нужно пересмотреть, отделитесь оттуда. Используйте OCW или другие бесплатные онлайн-материалы курса, чтобы расширить свои знания.

Ответ 7

Я хотел бы изучить требования к университетам, которые нужны университетам для получения степени "Компьютерные науки". Обычно там правильное сочетание математики.

Ответ 8

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

Ответ 10

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

Ответ 11

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

Повторите с другой книгой.