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

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

* Чтобы узнать больше о самоуправляемых автомобилях, ознакомьтесь с моими предыдущими статьями -
Руководство для начинающих по обучению с подкреплением и его базовая реализация с нуля, Решение проблемы самоуправляемой кабины без Обучение с подкреплением

Не волнуйтесь! Вы находитесь в нужном месте, чтобы получить ответы на все свои вопросы!

Что такое ИИ?

Программы, которые внешне ведут себя как люди? Программы, которые работают внутри, как люди? Вычислительные системы, которые ведут себя разумно?

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

Машинное обучение - это разновидность искусственного интеллекта!

Машинное обучение: точное введение

«Обучение - это любой процесс, с помощью которого система на основе опыта улучшает производительность». ~ Герберт Саймон

Машинное обучение - это приложение Искусственного интеллекта (ИИ), которое дает системам возможность автоматически учиться и улучшать из опыта, не будучи явно запрограммированным - Источник: Expert.ai

В машинном обучении нет ничего нового. Фактически, история уходит корнями в более чем 60-летний период, когда Алан Тьюринг создал «тест Тьюринга», чтобы определить, обладает ли компьютер реальным интеллектом или нет. Идея заключалась в следующем: «Чтобы машина называлась интеллектуальной, она должна давать ответы, неотличимые от человеческих».

Как человек и как пользователь технологии вы выполняете определенные задачи, которые требуют от вас принятия важного решения или классификации чего-либо. Например, когда вы читаете свой почтовый ящик утром, вы решаете пометить это письмо «Выиграй бесплатную машину, если щелкнешь здесь» как спам. Как компьютер узнает, что нужно делать то же самое?

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

Если бы мы хотели научить компьютер давать рекомендации, основанные на погоде, мы могли бы написать правило, которое гласит: ЕСЛИ погода пасмурная и вероятность выпадения осадков превышает 50%, ТО предложите взять с собой зонтик.

Однако проблема с этим подходом, используемым в традиционных экспертных системах, заключается в том, что мы не знаем, насколько можно доверять правилу. Это правильно в 50% случаев? Меньше или больше?

(Вы также можете обратиться к диаграмме выше, иллюстрирующей традиционное программирование и машинное обучение)

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

В зависимости от контекста проблемы их можно разделить на три основные категории:

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

  • Взгляд в прошлое - описательный анализ (что произошло?)
  • Без ярлыков
  • Нет отзывов
  • Найдите скрытую структуру в данных

Обучение с учителем

  • Статистика - прогнозный анализ (что произойдет?)
  • Данные с метками
  • Прямая обратная связь
  • Прогнозировать результат / будущее

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

  • Предвидение - предписывающий анализ (как мы можем этого добиться?)
  • Процесс принятия решения
  • Система вознаграждений
  • Изучите серию действий

Использование машинного обучения

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

Используемые алгоритмы - кластеризация с использованием K-средних, иерархическая кластеризация, уменьшение размерности и т. д.

  • Организация вычислительных кластеров
  • Анализ социальных сетей
  • Сегментация рынка
  • Анализ астрономических данных

Похожие блоги:

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

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

  • Проблема прогнозирования запасов
  • Прогноз цен на жилье
  • Прогноз рака (злокачественного или доброкачественного)
  • Прогноз погоды

Похожие блоги:

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

Используемые алгоритмы - Q-Learning, SARSA, DQN, DDPG и т. д.

  • Проблема с присвоением кредита
  • Игра
  • Робот в лабиринте
  • Балансировка полюса

* Похожие блоги:

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

Начало работы с машинным обучением

Требования и библиотеки

Python (последняя версия - 3.9.0) - наиболее предпочтительный язык для машинного обучения. Обычно наблюдается предпочтение Python3 перед Python2. GPU и больший объем оперативной памяти обычно предпочтительнее, когда вы обрабатываете огромный объем данных или когда требуется больший объем обработки, в противном случае это не так.

Вот список полезных библиотек для машинного обучения -

  • Панды - популярная библиотека Python для анализа данных. Он предоставляет множество встроенных методов для группировки, объединения и фильтрации данных.

Блог: Статистический анализ в Python с использованием Pandas

  • Numpy - популярная библиотека Python для обработки матриц и обработки многомерных массивов.

Блог: Знакомство с Numpy

  • Matplotlib - популярная библиотека Python для визуализации данных.

Блог: Визуализация данных с использованием Python, часть I

  • Seaborn - еще одна популярная библиотека Python для визуализации данных.

Блог: Визуализация данных с использованием Python Part-II

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

Похожие блоги (с использованием Scipy): Математика для машинного обучения, часть 1, Математика для машинного обучения, часть-2, Математика для машинного обучения, часть-3

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

Блог: Компьютерное зрение и обработка изображений с помощью OpenCV

  • TensorFlow - популярный для высокопроизводительных численных вычислений, разработанный Google. Широко используется для приложений глубокого обучения.
  • Keras - имеет высокоуровневый API нейронных сетей, способный работать поверх TensorFlow, CNTK или Theano.
  • PyTorch - Он имеет широкий выбор инструментов и библиотек, которые поддерживают компьютерное зрение, NLP и многие программы машинного обучения.
  • Theano - библиотека, которая используется для эффективного определения, оценки и оптимизации математических выражений, включающих многомерные массивы.

Дополнительные реализации с использованием этих библиотек см. в моих репозиториях на GitHub - https://github.com/tanvipenumudy/AI-ML-Weekly-Challenges https://github.com/tanvipenumudy/Deep- Учебные лаборатории https://github.com/tanvipenumudy/Winter-Internship-Internity

Вот список полезных IDE / платформ / редакторов / сред -

Начало работы с Google Colaboratory

Colaboratory или Colab, для краткости, является продуктом Google Research. Colab позволяет любому писать и выполнять любой произвольный код Python в любом браузере и особенно хорошо подходит для машинного обучения, анализа данных и образования - Источник: Google Research Документы .

Как только вы откроете Colab, появится меню, содержащее следующие вкладки:

  • Примеры - содержит несколько записных книжек с различными примерами.
  • Недавние - записные книжки, с которыми вы недавно работали.
  • Google Диск - записная книжка, хранящаяся на вашем Google Диске.
  • GitHub - вы можете добавлять записные книжки из репозиториев GitHub после подключения учетной записи Colab к учетной записи GitHub.
  • Загрузить - загрузить из локального каталога.

В противном случае вы можете создать новый блокнот, нажав «Новый блокнот Python3 / Python2».

Новый файл инициализируется как ‘UntitledX’, вы также можете изменить описание файла в верхнем левом углу документа. Кроме того, вы можете изменить Тип / среда выполнения в раскрывающемся меню «Время выполнения» на None, GPU или TPU (по умолчанию - None), в некоторых версиях также есть возможность переключаться между Python3 и Python2 и наоборот.

Все команды Python / Jupyter Notebook работают в Google Colaboratory.

Щелкнув значок + Код или + Текст, вы можете инициализировать новую Код или Текстовую ячейку в Ноутбук.

Часто используемые команды в Google Colab

Вот список часто используемых команд в Google Colaboratory -

Команда для установки любой библиотеки Python (только для этой среды выполнения)

! pip install PythonLibrary

Команда для импорта файлов по ссылке (только для этой среды выполнения)

!wget link

Команда для загрузки любого локального файла (только для этой среды выполнения)

from google.colab import files
uploaded = files.upload()

Дополнительная тема: Google Таблицы для интеллектуального анализа данных

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

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

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

  • Помогает в совместной работе
  • Дополнения для анализа текста
  • Дополнения для интеллектуального анализа текста
  • Электроинструменты
  • Поиск нечетких совпадений
  • Google Analytics
  • Поддерживает Socrative Data Mining

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

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

«Машинный интеллект - последнее изобретение, которое когда-либо понадобится человечеству». ~ Ник Бостром

Дополнительные ресурсы

Обязательно отметьте Все мои блоги различные алгоритмы машинного обучения / реализации с нуля / мини-проекты / библиотеки / математика, лежащая в основе машинного обучения