Достаточно ли знаний МатАна и линейной алгебры для карьеры в области машинного обучения?
Язык программирования пока за рамками вопроса, он точно есть в повестке дня, а вопрос именно о математике.
На данный момент я достаточно уверенно себя чувствую когда речь заходит об интеграле, (частных) производных, матрицах, системах линейных алгебраических уравнений, векторах и операциях над ними.
Также знаком с основами машинного обучения, в частности это свойства (фичи, параметры) объектов, веса, задачи маш. обуч. (напр. задача классификации), некоторые совсем простые алгоритмы.
Знаю некоторые численные методы: числ. интегрирование, дифференцирование, поиск экстремума многомерной функции. И знаю азы дискретной математики и связанных с ней теории графов, множеств, булеву алгебру.
Сейчас учу теорию вероятностей и мат. статистику.
Однако углубляясь в тему машинного обучения я периодически натыкаюсь на более сложные и специализированные темы, которые видно в формулах на презентациях или в туториалах, но не совсем понятно как они к этому (машинному обучению) относятся. Например такие понятия как "норма" вектора или матрицы, функционал, матрицы Гессе и Якоби, положительно определённые матрицы и где-то даже был намёк на двойной интеграл.
Всё это конечно интересно, но это можно ещё добрых пару лет потратить на различного рода n-мерную топологию, функциональный анализ и дифференциальные уравнения, а неизвестно - пригодится ли. Не то чтобы тороплюсь, но не хотелось бы проходить за зря темы, которые бы были актуальны в основном только физикам и/или чистым математикам.
Становится не совсем понятно хватает ли моих знаний, которые я перечислил, для работы в сфере машинного обучения чисто с математической точки зрения, если даже в попытках что-то почитать на эту тему приводят к таким проблемам? Может это я просто не для своего уровня читаю материал?
Если что-то из названного мне действительно стоит знать - порекомендуйте книжку.
Не похоже что в этих ссылках есть конкретный ответ на мой вопрос. Всё как и везде - большими мазками по всем темам, что, дескать, вот - надо знать этот список, "иначе никак". Я гуглил перед тем как спрашивать и интересовался не один день, поэтому уже вижу стандартные шаблоны в этих ссылках.
Вопрос скорее был в том - насколько часто в реальности применяются все знания, которые выше тех, что я описал? Т. е. что-то сложнее, чем одинарный интеграл, градиент или вектора.
Мне не очень интересно читать все эти списки пререквизитов, поскольку более половины из них я уже знаю, как видно из моего пояснения к вопросу.
NKu, Вопрос скорее был в том - насколько часто в реальности применяются все знания, которые выше тех, что я описал? Т. е. что-то сложнее, чем одинарный интеграл, градиент или вектора.
Мне не очень интересно читать все эти списки пререквизитов, поскольку более половины из них я уже знаю, как видно из моего пояснения к вопросу.
- ну, т.е. вы все это (или многое из этого) читали. Там люди детально объясняли, что нужно знать, почему это нужно знать, как это лучше учить и в каком порядке. Но вы тем людям не верите, а пришли их перепроверять на этот форум? Где 90% - участников школьники и студенты? И вот их мнение для вас важнее?
Вообще-то очень странная логика.
А от оставшихся 10% вы ожидаете опровержения той информации, которая написана в изученных вами "списки пререквизитов"? И отмашки - "можно не учить"? Или подтверждения того, что все это надо? Ну так да, надо. И даже больше, чем в этих статьях описано.
никакой особой математики не надо. нейронная сеть это система достаточно простых нелинейных уравнений с очень большим количеством параметров (уже миллиарды!). Эту систему можно решить только численно, подбирая параметры с помощью многомерной оптимизации, этот процесс называется обучением. Для ускорения используют метод жадного обучения. В остальном это исскуство и мистика
Только вот вопрос был про Машинное Обучение, а не про нейросети. Нейросети - только лишь один из методов, которые используются в Машинном обучении. Самый модный, но не самый интересный и не самый сложный.
в основном машинное обучение используют в нейросетях. Любую математическую модель можно обучить, подобрать параметры. модель это самое важное. в настоящее время это чаще всего различные нейросети, система нелинейных уравнений. математика в модели может быть самая разная, это для обучения не имеет значения. в понимании машинного обучения важна не математика. различные сеты и их размер, избегание переобучения. также важны методы оптимизации функций многих переменных, скрость работы, вероятность застрять на локальном экстремуме, овражность
в основном машинное обучение используют в нейросетях. - это в научно-популярных статьях в основном пишут про нейросети. Модная тема, но только надводная часть айсберга. А в реальных задачах и исследовательских и инженерных используется очень много чего другого.
в понимании машинного обучения важна не математика. различные сеты и их размер, избегание переобучения. То что данных чем больше, тем лучше - никто не спорит. Только вот как вы эти данные будете обрабатывать без математики? Нет, конечно, берем готовую предобученную и проверенную нейросеть, запускаем данные, получаем результат - это понятно. Только это имеет такое-же отношение к машинному обучению, как использование EXCEL - к программированию. Программы пишет программисты, используют пользователи. Методы машинного обучения с математикой и пр. строят специалисты по Data Science, а используют - ну в лучшем случае Аналитики данных. А в худшем - они вообще встроены в мобильный, а пользователь только кнопки нажимают.
dmshar, никакая математика для построения нейросети не нужна. приведите пример чем математика может быть полезна. выбор конфигурации нейросети для конкретной задачи это скорее исскуство, конфигурация уточняется в процессе обучения. единственаая математика в обучении это оптимизационные методы, они есть готовые
dmshar, вы сначала написали что вопрос не о нейронных сетях а потом начали писать о них 1 построение мат модели может требовать знания самых разных мат методов. эта тема безграничная 2 модель в виде нейронных сетей особого знания математики не требует 3 машинное обучение знания матемиатики не требует.
Попробуйте объяснить- и главное понять( !) - просто для примера, метод SVM, особенно в многомерном нелинейном случае без математики.
Попробуйте решить большинство задач класс Change Point Detection без понимания математики и статистики. И таких примеров - масса. Без понимания этих метод очень легко взять и применить метод, который в конкретной ситуации дает заведомо некорректный результат и даже не задумываться от этом.
Вопрос ТС относился к математике для машинного обучения. На этот вопрос я и ответил. К нейронным сетям при этом перешли почему-то вы.
Еще раз: машинное обучение НЕ ограничивается задачам обучения нейросетей, и машинное обучение НЕ сводиться к умению применять метод fit. Для того, что-бы не просто себя считать, но реально быть специалистом по машинному обучению, математика и весьма глубокая, необходима.
dmshar, автор пропал, но если он появится спросим что он имел в виду. он пищет - для карьеры . в подавляющем большинстве случаев вакнсии это обучение нейронных сетей. он должен выбрать сферу в которой хочет делать карьеру. тогда можно понять какая математика ему нужеа. нельзя объять необятное
вы человек образованный может вы знаете. колмогоров доказал что функцию многих переменных можно представить как суперпохицию фуекций двух переменных как это сделать правтически? от чего зависит количество фуекций двуз переменных? это вопрос практический, возможно оптимихировать несколкь функций двух переменных окажется быстрее чем мсходной функции. это тоже для обучения
Евгений Лернер,
Теорема Колмогорова-Арнольда что-ли? Так там вроде речь идет о супепозиции непрерывных функций одной переменной. (Могу и ошибаться). Впрочем чистой математикой вообще и теорией приближений в частности я никогда всерьез не занимался. Так, в молодости читал что-то но не более. Поэтому вряд-ли смогу быть полезным в этой области.
dmshar, то что сейчас называют машинным обучением раньше называли адаптивными алгоритмами. обратную задачу для системы дифференциальных уравнений в частных производных тоже можно считать обучением. это тупой процесс оптимизации коэффициентов. но когда их много сделать оптимизацию за разумное время это уже проблема. о самая большая проблема это нахождение адекватной мат модели , классификация и сжатие данных
dmshar, оно самое. там много переменных. любую функцию трёх и более переменных можно выразить в виде суперпозиции. хочу порыть в этой области. нечто подобное на покоординатный спуск. экстермумы функций 2 переменн вряд ли укажут на глобальный экстремум но приблизиться может сильно