Печаль во благо! Прекратите пытаться «изучить машинное обучение».

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

Один из моих любимых анекдотов - про моего брата, опытного программиста Blockchain и консультанта в IBM. Однажды он позвонил мне и сказал: «Вся эта штука с машинным обучением. Как долго нужно учиться? Могу ли я сделать это за день? » Я обожаю этот анекдот не потому, что высмеиваю его (как всегда), а потому, что это реальный пример того, что делает сенсационная риторика. профессионалам отрасли.

Сенсационная риторика расстраивает меня как педагога, потому что отталкивает учащихся. У нас есть бесчисленное множество людей, которые думают, что им следует изучать навыки машинного обучения, но для чего? Истинная сила науки о данных приходит, когда у нас есть проблемы, которые нужно решить, и мы хотим понять сложные статистические взаимосвязи, которые помогают нам находить решения. Для тех, кто действительно очень интересуется чистой математикой, я также получаю большую радость от статистических доказательств, чувствуя, что у нас действительно может быть способ исследовать Истину с большой буквы. Двигаясь вперед, мне нужно, чтобы все просто глубоко вздохнули. . Не пытайтесь «изучить машинное обучение». Попробуйте создать статистику и базу программирования, а затем займитесь конкретной проблемой.

По моему скромному мнению, что вам следует изучить вместо этого:

Математические обозначения

Достаточно плохо, что сообщества математиков и машинного обучения могут пугать; необходимость смотреть на чужие символы не помогает вашему делу. Найдите время, чтобы по-настоящему разбить уравнения, которые вы видите. Иногда, когда я читаю длинное уравнение в статье, я буквально чувствую, как мои глаза остекленели или двигаются вокруг него, как будто это не было критичным для понимания остальной части исследования! Я поставил перед собой задачу преодолеть этот краткий миг страха или безразличия и разбирать каждый символ в уравнении, пока не пойму, что происходит. Иногда это бывает приятным сюрпризом, и я понимаю, что то, что казалось невероятно сложным, можно объяснить довольно легко, и мне не нужно было вообще бояться. Иногда мне действительно нужно кое-что почитать, прежде чем я действительно смогу понять уравнение. Оба этих результата дают мне то, чего у меня не было бы, если бы я проигнорировал уравнение и ругал себя за него! Небольшой совет, который я получил за последние несколько лет:

Сигма ( Σ) предназначены только для циклов.

Умейте работать с логарифмами. Журнал трансформирует все в вашем сознании, пока вам не станет комфортно ходить туда-сюда.

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

Все - векторы.

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

Теория информации

Что такое данные? Что такое информация? Что мы изучаем с помощью алгоритмов машинного обучения? Спасибо, что спросили! Для меня очень важно подумать о работе Клода Шеннона в области теории информации. По сути, любая работа по машинному обучению направлена ​​на снижение неопределенности. У нас есть некоторые данные, которые мы видели, и теперь мы хотим создать модель, которая может уменьшить неопределенность того, как мы классифицируем / количественно оцениваем / манипулируем новой точкой данных. Идея о том, что мы можем использовать статистические свойства для предсказания новых состояний мира, для меня увлекательна. Мысли о том, чтобы полагаться на марковские процессы, чтобы рассуждать о взломе немецких кодов, не только возбуждают меня, но и раскрывают кое-что фундаментальное о текущей работе по машинному обучению: когда мы моделируем обмен информацией, обучением или опытом, мы пытаемся разработать модель, которая снижает неопределенность о том, что мы наблюдаем в мире. Будь то медицинские технологии или беспилотные автомобили, мы хотим быть максимально точными, чтобы предсказывать будущее. Довольно коряво, да? Посмотрите эту отличную серию видео от Khan Academy, чтобы узнать больше о теории информации.

Python

Познакомьтесь с Python! По моему опыту, это позволило мне найти общий язык с другими, работающими над аналогичными проблемами. В дальнейшем вы будете полагаться на различные руководства и случайный код из Интернета. Я предполагаю, что это будет на Python. Ознакомьтесь с основным синтаксисом и некоторыми изящными библиотеками, такими как scikit, pyMC и pandas. Наука о данных с нуля Джоэла Груса - это обычно книга, которую я рекомендую новичкам, которые хотят иметь некоторый опыт работы с Python и хотят начать работу с машинным обучением.

Что уже есть

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

Отношения со всем, что вы переживаете

Некоторые из моих самых больших пониманий пришли из того, что все, что я делаю, я связываю с какой-то проблемой машинного обучения. Это может показаться глупым, но я могу объяснить почти все свое поведение, как если бы я был маленьким агентом, который учится на миллионах точек данных. Возьмите что-нибудь простое, например «Я люблю соленые огурцы». Какие опыты привели меня к такому убеждению? Были ли у меня приоры, которые повлияли на мой поиск в области рассола? Как изменилось мое отношение к соленым огурцам в зависимости от того, какие данные я испытал? Что могло изменить мое апостериорное распределение / любовь к соленьям? Если на бутерброде соленые огурцы, какова вероятность, что он мне понравится? Что, если на торте появятся соленые огурцы?

Как воспитатель детского сада ESL, я искренне воспринял это. Мои ученики были маленькими алгоритмами, обрабатывающими мир. Принимая исходные данные и вписывая их в ментальные модели, которые имели смысл и оптимизировали различные функции затрат. Каждое сказанное мной английское слово было точкой отсчета для моих студентов. Как меняются и меняются их убеждения, когда они становятся свидетелями того, как эти английские слова произносятся в разных контекстах? Как насчет их моторики? Можете ли вы охарактеризовать трехлетний ребенок, который учится застегивать молнию, как учебную проблему? Что такое функция стоимости? Какое оборудование? Какие приоры? Это был самый веселый, интересный и раздражающий способ увидеть мир. Опять же, по моему скромному мнению, это был восхитительный способ улучшить мои представления о статистике, механике машинного обучения и даже о наборе возможных проблем, которые нужно решить (кому-нибудь из тех, кто моделирует рассол?)

В заключение,

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