Я начинаю хотеть развивать свой собственный набор навыков, и я всегда был очарован машинным обучением. Однако шесть лет назад вместо того, чтобы заниматься этим, я решил получить совершенно иную степень в области компьютерных наук.
Я занимаюсь разработкой программного обеспечения и приложений уже около 8-10 лет, так что у меня есть хорошие знания, но я просто не могу понять математическую сторону машинного обучения / вероятностей / статистики.
Я начинаю смотреть на учебный материал, и на первой странице он может содержать что-то, что смущает меня и сразу же создает барьер в моем обучении.
- Является ли сильный фон в математике общим требованием для ML? Должен ли я попытаться заполнить пробелы в моей математике, прежде чем продолжить с ML? Может ли самообучение действительно работать только для разработчика без какого-либо твердого знания информатики?
Связанный вопрос:
Ответы:
Стэнфорд (Нг) и Калтех (Абу-Мостафа) разместили уроки машинного обучения на YouTube. Вы не можете видеть задания, но лекции на них не опираются. Я рекомендую сначала посмотреть их, так как они помогут вам узнать, какую математику вам нужно выучить. Я считаю, что очень похожий класс с заданиями преподает Эндрю Нг на Coursera, который Нг помог создать.
Единственное исключение: если я правильно помню, в начале лекций в Стэнфорде Нг делал некоторые вычисления, используя производные от следов произведений матриц. Они довольно изолированные, поэтому не беспокойтесь, если вы не будете следовать этим расчетам. Я даже не знаю, какой курс охватил бы их.
Вы действительно хотите иметь некоторое представление о вероятности, линейной алгебре, линейном программировании и многовариантном исчислении. Тем не менее, вам нужно намного меньше, чем то, что содержится во многих полных уроках колледжа по этим предметам.
источник
В зависимости от типа приложения, вам не обязательно много математики в качестве практикующего врача.
Будучи программистом-самоучкой (~ 15 лет) и часто бросая учебу в колледже без особой подготовки по математике (Calculus III) или статистике, я начал с машинного обучения / интеллектуального анализа данных с несколькими ресурсами:
Книга Берри и Линоффа "Освоение интеллектуального анализа данных: искусство и наука управления взаимоотношениями с клиентами"
Книга "Методы интеллектуального анализа данных" тех же авторов
R, в частности и пакеты party и nnet
Я работаю на некоммерческом, поддерживающем маркетинг и операции. Особенно в начале, я использовал интеллектуальный анализ данных в основном для прямых обращений по почте.
Позже я изучал линейную алгебру, машинное обучение Эндрю Нга, введение в статистические методы (STAT 301) в CSU и т. Д.
Для вас я рекомендую начать с двух книг, курса Эндрю Нга и, в зависимости от вашего приложения, деревьев решений (партийный пакет в R).
источник
Я думаю, что это хороший вопрос на самом деле, и очень актуальный; Я не уверен, если есть ответ, однако. Недавняя статья вызвала много споров (см. Здесь ), предполагая, что науку о данных было легко изучить в Интернете. Однако в большинстве тематических исследований, упомянутых в этой статье, есть одна примечательная особенность: они основаны на актуарных или математических основах.
Это интересный момент, потому что он показывает, что хотя онлайн-курсы, такие как Coursera, Stanford и edX, полезны в обучении необходимым навыкам информатики, вполне вероятно, что для понимания того, какие модели вы применяете, необходимы некоторые математические знания. , С другой стороны, можно привести столь же сильный аргумент, что все эти ребята были аналитически настроены с самого начала, и именно поэтому они работают в количественных дисциплинах, а также почему они легко освоили машинное обучение и выиграли соревнования.
Я считаю, что в основном здесь существует проблема анализа уровней. Хотя математические навыки иногда полезны для понимания вероятностных корней применяемых вами алгоритмов, существует равный аргумент в пользу того, что хорошие навыки разработки программного обеспечения могут добавить столько же, позволяя вам выполнять анализ высокого уровня и собирать части алгоритмов. чтобы достичь своей цели, даже если вы не совсем понимаете, почему они это делают . Вообще, наука о данных (и машинное обучение по ассоциациям) является захватывающей областью именно из-за этой широты - вы можете быть специалистом по базам данных и использовать грубую силу для решения проблем, или математик, который использует моделирование, или ученый, который использует хорошо спроектированные код для объединения различных алгоритмов и подходов оптимальным образом.
Все подходы, которые дополняют прогноз, хороши, поэтому я бы сказал, что изучение математики может быть хорошей идеей, чтобы дать вам наилучшие шансы на успех в этой области. Если вам нужны хорошие начальные точки, у MIT есть отличный курс по линейной алгебре , с некоторыми хорошими вычислительными приложениями, которые я нашел легко понять. У них также есть другие курсы по случайным процессам и многофакторному исчислению, которые также могут быть интересны для наращивания ваших знаний.
источник
Является ли сильный фон в математике общим требованием для ML? - ответ и некоторые предположения о ML, представленные в виде статистики ;-)
Примерно в 1990 году у меня были надежды на помощь компьютерной алгебре, я думаю, что это так, но она довольно ограничена. Но это, безусловно, помогает ускорить изучение математики (меньше нужно развивать навыки манипуляции на практике или пытаться обойтись, просто выполняя простые упражнения). Отличным примером этого я нашел «Линейную алгебру» Фреда Сабо с Mathematica (но я уже прошел курс по линейной алгебре на продвинутом уровне теории).
Я работаю с 1988 года (используя компьютерные интенсивные методы для «конкретизации» теорем и принципов из статистики - точно), чтобы сделать ответ «нет» или, по крайней мере, не нужен (для статистики). Каждый всегда сможет понять быстрее и в целом с дополнительными математическими навыками и пониманием. Я думаю, что я начинаю приближаться, но нужно манипулируемое представление моделей, генерирующих вероятность, и вывод, который является действительным и полезным не только для игрушечных задач.
Должен ли я попытаться заполнить пробелы в моей математике, прежде чем продолжить с ML?
Это трудное усилие - в MHO почти все, кто понимает статистику, добились этого благодаря тому, что очень удобно манипулировали стандартными и особенно не очень стандартными математическими представлениями моделей, генерирующих вероятность, и математическими характеристиками логического вывода (верхние x% математической статистики Phds). Так что дело не только в получении базовых знаний, но и в том, что касается математики. (В дополнение, для меня Теория Фурье была существенной.)
Почему эти представления трудно (даже с большим количеством математики)?
Герд Гигеренцер в значительной степени установил, что нет никакой проблемы с простой болезнью положительный / отрицательный, учитывая положительный / отрицательный результат теста с использованием естественных частот ». Ссылка из связанного вопроса, кажется, хорошо использует это http://www.autonlab.org/tutorials/prob18.pdf
Почему это сложно обобщить?
Для k тестов (повторных или разных) - 2 ^ k
Для тестов, которые принимают значения v - v ^ k
Таким образом, для двоичного неизвестного - 2 * V ^ K выборки вероятности пути
Для р несколько двоичных неизвестных 2 ^ р * V ^ K
Для р кратных рациональных неизвестных Q ^ p * v ^ k
Человек быстро переходит к математике со счетными и неисчислимыми бесконечностями, чтобы справиться с этим, что даже с математической экспертизой приводит ко многим недоразумениям и кажущимся парадоксам (например, парадокс Бореля?)
Кроме того, существует линейное или нелинейное опасное недоразумение (например, скрытые опасности при указании неинформативных априоров Winbugs и других MCMC без информации для предварительного распространения ), а также взаимодействия и случайные эффекты и т. Д.
источник