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

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

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

Для проектирования, построения и обучения таких сетей Google разработал фреймворк под названием TensorFlow. Тензоры: пошаговое руководство: скаляры представлены только величиной. Векторы представлены с направлением и величиной. Плоский вектор может быть представлен как 3 * 1, что означает, что для его представления требуется трехмерное пространство.

Тензор - это математическое представление физического объекта, который может характеризоваться величиной и множеством направлений.

В N-мерном пространстве для скаляров по-прежнему потребуется только одно число, для векторов потребуется N чисел, а для тензоров потребуется N ^ R чисел. Это объясняет, почему мы часто слышим, что скаляры являются тензорами ранга 0: поскольку они не имеют направления, вы можете представить их одним числом. TensorFlow - это библиотека для глубокого обучения. Такой пакет, как TensorFlow, позволяет нам с большой эффективностью выполнять определенные операции машинного обучения по обработке чисел, такие как вывод данных на огромных матрицах. Мы можем легко распределить эту обработку между ядрами наших процессоров. С TensorFlow можно распределять вычисления по распределенной сети компьютеров. В общем, TensorFlow - это огромная библиотека для работы с массивами. Имя TensorFlow: с использованием этой библиотеки вычисления выполняются на графах потока данных, узел которых представляет операции, а края представляют данные, которые представляют собой формат массива, является тензором. TensorFlow предоставляет API-интерфейсы для Python, C ++, Haskell, Java, Go, Rust, а также есть сторонний пакет для R, называемый tensorflow. На веб-странице установки Tensor вы увидите некоторые из наиболее распространенных способов и последние инструкции по установке TensorFlow с помощью virtualenv, pip. Это позволяет разработчикам создавать крупномасштабные нейронные сети с множеством слоев.

TensorFlow в основном используется для: классификации, восприятия, понимания, открытия, прогнозирования и создания. Основными вариантами использования TensorFlow являются: голос (Siri от Apple, Google Now для Android и Microsoft Cortana для Windows Phone.), Распознавание изображений, суммирование и перевод текста (Google Translate), обнаружение видео. Tensor обладает широкими возможностями настройки и требует глубокого понимания концепций машинного обучения и математики, таких как исчисление и алгебра.

Scikit-learn Для программистов на Python, которые хотят внедрить машинное обучение в производственную систему, scikit-learn - это то, что может выполнить свою задачу. Изначально Scikit-learn был разработан Дэвидом Курнапо как проект Google Summer of Code в 2007 году.

Сейчас у проекта более 30 активных участников, и он получил спонсорскую поддержку от INRIA, Google, Tinyclues и Python Software Foundation. Обзор scikit-learn: Scikit-learn предоставляет ряд контролируемых и неконтролируемых алгоритмов обучения через согласованный интерфейс на Python. Библиотека построена на SciPy (Scientific Python), который необходимо установить, прежде чем мы сможем использовать scikit-learn. Библиотека в основном ориентирована на моделирование данных, а не на загрузку, обработку и обобщение данных. Короче говоря, контролируемое обучение означает разделение ваших наборов данных на наборы для обучения и тестирования. Тренировочные наборы тренируют алгоритм, а затем мы проверяем точность.

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

● Кластеризация: для группировки немаркированных данных, таких как KMeans.

● Перекрестная проверка: для оценки производительности контролируемых моделей на невидимых данных.

● Наборы данных: для тестовых наборов данных и для создания наборов данных с определенными свойствами для исследования поведения модели.

● Снижение размерности: для уменьшения количества атрибутов в данных для суммирования, визуализации и выбора функций, таких как анализ основных компонентов.

● Ансамблевые методы: для объединения прогнозов нескольких контролируемых моделей.

● Извлечение функций: для определения атрибутов в данных изображения и текста.

● Выбор функций: для определения значимых атрибутов, на основе которых можно создавать контролируемые модели.

● Настройка параметров: для получения максимальной отдачи от контролируемых моделей.

● Manifold Learning: для обобщения и отображения сложных многомерных данных.

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

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

Он также предоставляет множество опций для моделей, которые можно настроить для оптимальной производительности, и выбирает разумные значения по умолчанию, чтобы мы могли быстро приступить к работе. Документация очень полезна для понимания различных моделей. Он также загружен множеством функций, которые облегчают выбор и оценку модели. Он находится в активной разработке и имеет большое сообщество по переполнению стека. В зависимости от целей проекта нам нужно решить, следует ли использовать машинное обучение с R или с scikit –learn. R имеет больше возможностей для понимания вашей модели, но scikit ориентирован на максимальную точность. Scikit –learn совершенно бесполезен для глубокого обучения.

Автор статьи: Рия Сингх.
https://www.linkedin.com/in/riya-singh-b09298141/

Рия Сингх
#include ‹›
SGSITS