Многие современные энтузиасты данных изучали основы Data Science несколько лет назад с помощью классического триптиха-победителя:

  • Эндрю Нг МООК
  • Kaggle
  • scikit-learn

В Zelros некоторые из нас начали анализировать данные в 2013 году. Это было до того, как Эндрю Нг был нанят Baidu, до неудавшейся попытки Kaggle переориентироваться на консалтинговый бизнес в области энергетики , а до того, как внепрофильное обучение (partial_fit) было обобщено в scikit-learn!

В то время Spark, word2vec и Xgboost еще не были мейнстримом - вместо этого чемпионами были Map-Reduce, TF-IDF и Random Forest.

Но с Data все идет быстро: год - это вечность - нужно быстро учиться (или умереть).

Наша команда в Zelros любит узнавать новое. TensorFlow - одна из многих технологий, которые мы решили использовать. Вот как мы это сделали.

Шаг 1: посмотрите Онлайн-курс по глубокому обучению Udacity от Google.

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

Этот курс дает возможность усвоить ключевые концепции, которые вы должны понимать, чтобы обрести уверенность в глубоком обучении: по сути, логит, softmax, кросс-энтропия, градиентный спуск, мини-пакет, ReLU, обратное распространение, регуляризация. ,…

Если вы уже играли с классификаторами scikit-learn, некоторые из этих концепций вызовут у вас колокольчик, даже если в случае глубокого обучения вам необходимо иметь более глубокое понимание, чтобы использовать TensorFlow, как мы увидим ниже.

Шаг 2: посмотрите связанные записные книжки Python

Это записные книжки-компаньоны курса Udacity.

Если вы знакомы с scikit-learn и Python и смотрели онлайн-курсы Step 1, у вас не возникнет трудностей. Вместо этого вас поразит длина и относительная сложность кода по сравнению с scikit-learn.

Некоторые низкоуровневые задачи, которые выполняет scikit-learn, выполняются вручную в этих записных книжках. Нравиться :

  • вычисление логитов и потерь

  • итерация вручную для запуска градиентного спуска

РЕДАКТИРОВАТЬ: Однако это изменится, поскольку объектно-ориентированные API высокого уровня будут добавлены в TensorFlow в ближайшем будущем.

Шаг 3: прочтите литературу

Это приятная часть: теперь, когда у вас есть концепции (шаг 1) и вы просмотрели какой-то конкретный код (шаг 2), вы вооружены, чтобы читать и понимать некоторые документы, чтобы закрепить свои знания в глубокое обучение в целом - и TensorFlow в конце.

Будьте любопытными и переходите по различным ссылкам в twitter, reddit, google,… - цель не в том, чтобы читать все, а в том, чтобы пробовать чтение и улучшить свое понимание и интуицию.

Вот некоторые драгоценности, которые мы обнаружили, и которые вы сможете понять:

Шаг 4: экспериментируйте!

Пришло время поиграть самому! Вам нужен набор данных: вот хороший на Kaggle: Соревнование по классификации листьев.

Что замечательно в этом наборе данных, так это то, что он содержит необработанные двоичные изображения листьев, а также их уже предварительно извлеченные функции (форма, поля и текстура).

В качестве первого шага вы можете начать создание классификатора нейронной сети, который использует предоставленные предварительно извлеченные функции. Получите образцы кодов шага 2 и попробуйте адаптировать их к этому новому набору данных. Вот пример Notebook на этом наборе данных.

Поздравляю! Вы сделали свои первые шаги с помощью TensorFlow - теперь пора повторить и продолжить обучение!

Мы поделились нашим методом, чтобы погрузиться в TensorFlow, надеясь, что некоторые из вас могут захотеть пойти по тому же пути. Если вы хотите практиковаться в очень мотивирующей среде, просто напишите нам по электронной почте: мы нанимаем;)!