Около 4-5 месяцев назад я работал над практическим и полным учебным планом по машинному обучению. Учебная программа содержит более 30 записных книжек от программирования на Python, анализа данных, очистки данных, визуализации данных, классического машинного обучения, компьютерного зрения до обработки естественного языка.

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

1. Почему вещи чрезвычайно важны

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

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

Мне удавалось упорствовать только потому, что я думал, что если я смогу выполнить учебную программу, это может помочь другим, и я буду счастлив добиться чего-то большого. Я тоже учился!

2. Структура важна

Это может показаться тривиальным, но наличие структуры вещей может заставить их развиваться, замедляться или останавливаться.

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

Позвольте привести пример. Что касается машинного обучения с помощью Scikit-Learn, я много задавался вопросом, могу ли я сгруппировать его по задачам (регрессия, классификация, кластеризация…) или могу ли я сгруппировать его по моделям (линейная регрессия, логистическая регрессия, деревья решений…). Группировка по задачам могла бы быть очень быстрой, но группировка по моделям дала бы мне возможность больше узнать о каждой модели, и я предпочел именно это.

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

3. Найдите надежные ресурсы и ссылки

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

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

Несомненно, хорошо иметь надежные ресурсы, но их слишком много не поможет, как отсутствие их.

4. Уменьшите количество вариантов

Мы часто думаем, что многие варианты приводят к лучшим результатам, но совершенно верно обратное.

Дни, когда я добился хорошего прогресса, — это дни, когда я ограничивал ссылки. Я не знаю, как именно это работает, но могу сказать, что ограничение вариантов способствует концентрации внимания, а поскольку вариантов немного, вы вынуждены думать, чтобы решить данную проблему или придумать данную стратегию.

5. Сила крошечных привычек

Да, привычки. Вы, наверное, где-то видели приведенную ниже иллюстрацию. Крошечные привычки, повторяемые снова и снова, могут привести к невероятным вещам.

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

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

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

Я получил много добрых сообщений, и я очень рад этому. Я благодарю всех, кто помог репо дойти до многих людей. Если вы сочтете это полезным, дайте мне знать в Твиттере.

Спасибо за чтение!

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

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