Машинное обучение, глубокое обучение, искусственный интеллект - как бы вы ни называли эту область, сейчас это самая яркая тенденция в нашей отрасли. Посещая страту мне стало ясно, что:

  1. Некоторые люди, и не только Google, уже начинают заниматься машинным обучением.
  2. Через 2–3 года наши клиенты будут использовать нашу платформу для создания решений, включающих модели машинного обучения. Мы должны убедиться, что это сработает для них.
  3. Машинное обучение можно применить и в моей области, в инженерии данных. Точно так же, как инженеры по обработке данных могут работать с командами микросервисов, они также могут использовать микросервисы в своих собственных архитектурах. Точно так же инженеры по обработке данных будут работать с командами машинного обучения, но также будут включать машинное обучение в свои собственные решения.

Поэтому мне лучше начать изучать машинное обучение! Но… с чего мне начать.

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

Но когда я упомянул TensorFlow в Твиттере в качестве рекомендуемой отправной точки, я получил ответ, что это не обязательно лучший фреймворк. Итак, с какого фреймворка следует начать новичку в области машинного обучения?

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

Шей сказал, что TensorFlow перепродается, поскольку один размер подходит всем, и хотя хорошо начинать с того, что имеет лучшую документацию, я хочу изучить несколько фреймворков.

А Адам Гибсон предупреждает, что больше всего ажиотажа разводят «‹TensorFlow›. Очень немногие люди, использующие его, развертывают в продуктах… большинство организаций еще не занимаются мл. "

@Oferron сказал, что фреймворки не являются реальной проблемой, это понимание того, что функции потерь не произвольны и должны отражать бизнес-кейс, и что передовой опыт нужен для проверки Я этого еще не совсем понимаю, но узнаю :)

Алекс Отт спросил: Почему не« Керас ?» и я определенно планирую изучить его, возможно, с помощью учебника для новичков. Ресурсов Кераса масса, так что я в восторге.

И Алекс Отт, и Адам Гибсон рекомендовали XGBoost и scikit-learn для производственных приложений. Это не глубокое обучение (то есть нейронная сеть), как TensorFlow, но это означает, что их модели более реальный опыт. Из них scikit-learn выглядит более гибким и лучше документированным, так что я, вероятно, попробую его.

Адам также рекомендовал Панды и случайные леса, особенно для инженеров по обработке данных: Панды должны чувствовать себя как дома (это то, что DS использует для ETL :))

А Gem II считает, что все дело в языке, потому что вы не хотите усложнять машинное обучение, изучая новый язык! Если Java / Scala« Smile для простого ML, deeplearning4j для DL. Если Python, scikit-learn, то Keras для DL »

Я так благодарен всем экспертам в Твиттере, которые нашли время, чтобы дать мне советы, подсказки и направления. Я дам вам знать, как это происходит :)