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

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

Что вообще такое машинное обучение?

Машинное обучение — это подкатегория искусственного интеллекта, которая фокусируется, как следует из названия, на «обучении» машины для выполнения задач. Вы вводите данные в модель, а затем получаете результат на основе этого. (Как новичок, вы можете выбирать данные из доступных в Интернете наборов данных для практики, их использование избавит вас от необходимости создавать данные для ввода.)

Обратите внимание, что модели используют множество данных для эффективной работы, небольшое количество данных вызовет у вас ошибки. (Запутался? Не волнуйтесь, я уточню позже.)

Помните, что глубокое обучение, машинное обучение и искусственный интеллект не следует путать. Глубокое обучение — это подветвь машинного обучения, которая, в свою очередь, как указано выше, является подветвью искусственного интеллекта.

Некоторые технические концепции

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

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

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

Обученная модель: это просто модель машинного обучения после ее обучения.

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

Прогнозирование: прогнозирование значения целевой переменной на основе выборочных данных, используемых для обучения.

Образец матрицы: матрица, содержащая (n_samples,n_features)

n_sample и n_features: первые — это строки во фрейме данных, а затем — столбцы или любые атрибуты, которые вы предоставляете для определенного рассматриваемого объекта, — это ваши функции и экземпляры, а образцы значений для этих функций — это ваши образцы.

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

Процедура

Процедура состоит из четырех шагов

  1. Извлечение данных
  2. Предварительная обработка данных
  3. Обучение модели машинного обучения
  4. Проверка модели машинного обучения

Извлечение данных

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

  1. Наборы данных Kaggle
  2. Наборы данных Amazon AWS
  3. Список наборов данных машинного обучения в Википедии
  4. Quora.com вопрос
  5. Субреддит наборов данных
  6. http://dataportals.org/
  7. http://opendatamonitor.eu/
  8. http://quandl.com/

Предварительная обработка данных

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

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

Обучение модели машинного обучения

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

Проверка модели машинного обучения

Это тестирование модели, проверка на наличие ошибок и их удаление перед запуском.

Типы машинного обучения

Существует три основных категории классификации типов машинного обучения, которые далее делятся на подкатегории:

  1. Основано на контроле человека (контролируемое, неконтролируемое, обучение с подкреплением)
  2. Способность к постепенному обучению (онлайн, пакетное обучение)
  3. Работайте с известными точками данных или прогнозируйте (обучение на основе экземпляров или моделей)

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

Контролируемое обучение

В этом типе машинного обучения присутствует надзор человека. Желаемые столбцы или функции помечены для экземпляров или образцов. На основе предыдущей статистики прогнозируются новые значения. Примером могут служить секторы маркетинга и продаж. Где посещающие клиенты генерируют полезные данные для анализа и прогнозирования.

Основные виды контролируемого обучения

  1. Классификация
  2. Регрессия

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

Модели, используемые для классификации

  1. Деревья решений
  2. Наивная байесовская классификация
  3. Машины опорных векторов (SVM)

В случае регрессии на основе помеченных наборов данных модель прогнозирует непрерывный результат.

Модели, используемые для регрессии

  1. Линейная регрессия
  2. Логистическая регрессия

Неконтролируемое обучение

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

Алгоритмы обучения без учителя:

  1. Кластеризация
  2. Визуализация и уменьшение размерности
  3. Изучение правила ассоциации

Обучение с подкреплением

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

Программное обеспечение и библиотеки

Машинное обучение использует Python в качестве языка, а основные библиотеки включают в себя:

  1. Scikit Learn
  2. Тензорный поток

Руководство по обучению

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

  1. Scikit-Learn предоставляет руководство пользователя и учебные пособия. Нажмите на название, чтобы посетить веб-сайт.
  2. Датаквест
  3. Каггл
  4. Практическое машинное обучение с помощью Scikit Learn и TensorFlow от Aurelien Geron (доступно на pdfdrive.com)

Есть много других учебных пособий и курсов, доступных онлайн на таких платформах, как Coursera и Youtube, а также вы можете посетить Edureka, которая также предоставляет курсы по этой теме.

Предпосылки

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

Основные математические предметы, которые вам необходимо хорошо понимать:

  1. Исчисление
  2. Линейная алгебра
  3. Вероятность
  4. Статистика

Библиотеки Python для знакомства с:

  1. Нампи
  2. Матплотлиб
  3. Панды
  4. Сципи
  5. Сиборн

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

Последнее, но немаловажное

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