Наука о данных

Платформа для быстрого изучения новых концепций науки о данных

Время ограничено. Возможные знания безграничны. Вот как я изучаю новые модели и концепции

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

Обе области представляют собой бесконечно большие зонтики вложенных идей.

Хотя вы можете потратить десятилетия в определенной области НЛП, многие из них являются универсальными и нуждаются в постоянном приобретении новых знаний.

Вот моя схема, позволяющая сделать это быстро.

Не начинайте с математических или научных работ

Математика переоценена.

Это полезно для двух вещей:

  1. Это дает интуитивное представление о том, как все работает.
  2. Это позволяет кодировать алгоритмы без использования существующего пакета.

Анекдотично:

Первый полезен при настройке моделей.

Последнее полезно, когда мне нужен алгоритм в Ruby, но пакеты, поддерживающие его, существуют только в Python.

Математика - это не первый шаг.

Посмотрите видео на YouTube, чтобы понять его на высоком уровне

Посмотрите пару видео. Вы можете найти их, охватывающие большинство концепций.

На данном этапе не пытайтесь разбираться в конкретных технических деталях. Просто разработайте общее представление о том, что он делает и чем отличается от связанных понятий.

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

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

Получите работающий код

Найдите фрагмент кода в Интернете.

Чтобы найти код, часто можно использовать Google «концепт» + «учебник по питону». В противном случае найдите связанную библиотеку и просмотрите документы или выполните поиск по связанным тегам в Stack Overflow.

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

Получите работающий код. Измените переменные. Сломать.

Посмотрите, как данные меняются на каждом этапе.

Вы закладываете основу, к которой позже приложите более глубокое понимание.

Разбейте этапы концепции

Вернитесь на YouTube.

Запишите его шаги на бумаге. Нарисуйте блок-схему и пересмотрите ее, чтобы лучше понять концепцию.

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

Изолируйте настройку (предварительную обработку) от самой модели, которую вы изучаете.

(Необязательно) Просмотрите математику и прочтите статьи

Копайтесь в каждом шаге.

Разберитесь в математике.

Это наиболее полезно, если у вас уже есть опыт работы со смежными концепциями. Рецензирование продвинутой статьи в предметной области, в которой у вас нет опыта, потратит МНОГО времени.

Теперь положите математику поверх ваших предыдущих шагов. Опять же, Khan Academy и YouTube могут быть здесь полезны.

Обычно я делаю этот шаг, только если:

  1. MVP (базовый вариант) завершен и готов к оптимизации
  2. Это действительно интересно
  3. Мне нужно оценить компромиссы между техническими вариантами

Постройте что-нибудь из этого

Используйте это или потеряйте.

Лично я не помню ничего, о чем только читал.

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

Хотя обзор концепций в предметной области полезен, он станет для вас более доступным (когда он вам понадобится), если вы применили его ранее.

Постройте что-нибудь простое.

Заключение

Вот и все.

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

А теперь иди, узнай кое-что. И используйте это (во благо)!