Руководство по искусственному интеллекту с Python 1 часть

Руководство по искусственному интеллекту с Python 1 часть



Мы рассмотрим следующие темы:

  1. Почему Python лучше для AI?
  2. Спрос на ИИ
  3. Что такое искусственный интеллект?
  4. Типы Искусственного Интеллекта
  5. Основы машинного обучения
  6. Типы машинного обучения
  7. Типы проблем, решаемых с помощью машинного обучения
  8. Процесс машинного обучения
  9. Машинное обучение с Python
  10. Ограничения машинного обучения
  11. Почему Deep Learning?
  12. Как работает Deep Learning?
  13. Что такое Deep Learning?
  14. Случай использования Deep Learning
  15. Перцептроны
  16. Многослойные персептроны
  17. Deep Learning с Python
  18. Введение в обработку естественного языка (НЛП)
  19. Приложения НЛП
  20. Терминологии в НЛП

Почему Python лучше для AI?

Многие люди спрашивают: « Какой язык программирования лучше всего подходит для ИИ?» или « Почему Python для ИИ?»

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

Почему Python приобрел такую большую популярность во всех этих областях?

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

  • Меньше кода: реализация ИИ требует множества алгоритмов. Благодаря поддержке Python для предопределенных пакетов нам не нужно кодировать алгоритмы. И чтобы упростить задачу, Python предоставляет методологию «check as you code», которая снижает нагрузку на тестирование кода.
  • Готовые библиотеки: в Python есть сотни готовых библиотек для реализации различных алгоритмов машинного обучения и глубокого обучения. Поэтому каждый раз, когда вы хотите запустить алгоритм для набора данных, все, что вам нужно сделать, это установить и загрузить необходимые пакеты с помощью одной команды. Примеры готовых библиотек – NumPy, Keras, Tensorflow, Pytorch и так далее.
  • Простота обучения: Python использует очень простой синтаксис, который можно использовать для реализации простых вычислений, таких как добавление двух строк к сложным процессам, таким как построение модели машинного обучения.
  • Независимость от платформы : Python может работать на нескольких платформах, включая Windows, MacOS, Linux, Unix и т. д. При переносе кода с одной платформы на другую вы можете использовать такие пакеты, как PyInstaller, которые позаботятся о любых проблемах с зависимостями.
  • Массовая поддержка сообщества: у Python огромное сообщество пользователей, которое всегда помогает, когда мы сталкиваемся с ошибками кодирования. Помимо огромного количества поклонников, в Python есть несколько сообществ, групп и форумов, где программисты публикуют свои ошибки и помогают друг другу.

Поскольку этот блог посвящен искусственному интеллекту с помощью Python, я познакомлю вас с наиболее эффективными и популярными библиотеками Python на основе AI.

  1. Tensorflo : эта библиотека, разработанная Google, широко используется при написании алгоритмов машинного обучения и выполнении сложных вычислений с использованием нейронных сетей.
  2. Scikit-Learn: Scikit-learn – это библиотека Python, связанная с NumPy и SciPy. Он считается одной из лучших библиотек для работы со сложными данными.
  3. NumPy: Numpy – это библиотека python, специально используемая для вычисления научных / математических данных.
  4. Theano: Theano – это функциональная библиотека, которая эффективно считает и вычисляет математические выражения с использованием многомерных массивов.
  5. Keras: Эта библиотека упрощает реализацию нейронных сетей. Он также обладает лучшими функциональными возможностями для вычислительных моделей, оценки наборов данных, визуализации графиков и многого другого.
  6. NLTK: NLTK или Natural Language ToolKit – это библиотека Python с открытым исходным кодом, специально созданная для обработки естественного языка, анализа текста и анализа текста.

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

Во-первых, давайте начнем с понимания внезапного спроса на ИИ.

Спрос на ИИ

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

Спрос на AI – Искусственный интеллект с Python – Edureka

Основными причинами огромной популярности ИИ являются:

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

Генерация данных: за последние годы мы генерировали неизмеримое количество данных. Такие данные необходимо анализировать и обрабатывать с использованием алгоритмов машинного обучения и других методов искусственного интеллекта.

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

Широкие инвестиции. По мере того, как технологические гиганты, такие как Tesla, Netflix и Facebook, начали вкладывать средства в искусственный интеллект, они приобрели большую популярность, что привело к увеличению спроса на системы на основе искусственного интеллекта.

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

Что такое искусственный интеллект?

Термин «искусственный интеллект» был впервые введен десятилетием назад в 1956 году Джоном Маккарти на конференции в Дартмуте. Он определил ИИ как:

«Наука и техника – создания интеллектуальных машин».

Другими словами, искусственный интеллект – это наука о том, как заставить машины думать и принимать решения, как люди.

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

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

Типы Искусственного Интеллекта

ИИ строится на трех этапах эволюции:

  1. Искусственный узкий Интеллект
  2. Искусственный общий интеллект
  3. Искусственный супер Интеллект
Типы ИИ – Искусственный интеллект с Python – Эдурика

Узкий искусственный интеллект

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

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

Поисковая система Google Sophia, автомобили с автоматическим управлением и даже знаменитая AlphaGo подпадают под категорию слабого ИИ.

Общий искусственный интеллект

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

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

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

Стивен Хокинг, например, предупредил:

«Общий ИИ взлетит сам по себе, и его дизайн будет постоянно расти. Люди, которые ограничены медленной биологической эволюцией, не могут конкурировать и будут вытеснены».

Супер искусственный интеллект

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

ASI в настоящее время рассматривается как гипотетическая ситуация, как это показано в фильмах и научно-фантастических книгах, где машины захватили весь мир. Тем не менее, вдохновители технологий, такие как Элон Маск, считают, что ASI захватит мир к 2040 году!

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

В чем разница между ИИ, машинным обучением и глубоким обучением?

ИИ такой же, как ML?

Давайте разберемся с этим:

AI, ML и DL (искусственный интеллект против машинного обучения против глубокого обучения)

Люди склонны считать, что искусственный интеллект, машинное обучение и глубокое обучение – это одно и то же, поскольку они имеют общие приложения. Например, Siri – это приложение ИИ, машинного обучения и глубокого обучения.

Так, как эти технологии связаны?

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

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

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

Теперь давайте начнём с машинного обучения.

Основы машинного обучения

Термин «машинное обучение» был впервые введен Артуром Самуэлем в 1959 году. Оглядываясь назад, этот год был, вероятно, самым значительным с точки зрения технического прогресса.

Проще говоря,

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

Но как машина может принимать решения?

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

Что такое машинное обучение – Искусственный интеллект с Python – Edureka

Подводя итог, взгляните на рисунок выше:

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

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

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

Машина может научиться решать проблему, используя любой из следующих трех подходов:

  1. Контролируемое обучение
  2. Обучение без учителя
  3. Усиленное обучение

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

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

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

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

Обучение под наблюдением – Искусственный интеллект с Python – Edureka

Рассмотрим приведенный выше рисунок. Здесь мы подаем компьютерные изображения Тома и Джерри, и цель состоит в том, чтобы машина идентифицировала и классифицировала изображения на две группы (изображения Тома и изображения Джерри).

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

Обучение без учителя

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

Думайте о неконтролируемом обучении как о умном ребенке, который учится без какого-либо руководства. В этом типе машинного обучения модель не снабжается помеченными данными, поскольку в модели нет подсказки, что «это изображение – это Том, а это – Джерри», она самостоятельно выясняет закономерности и различия между Томом и Джерри. принимая тонны данных.

Обучение без учителя – Искусственный интеллект с Python – Edureka

Например, он определяет характерные черты Тома, такие как заостренные уши, больший размер и т. Д., Чтобы понять, что это изображение относится к типу 1. Аналогично, он находит такие признаки в Джерри и знает, что это изображение относится к типу 2.

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

Усиленное обучения

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

Представьте, что вас высадили на изолированном острове!

Что бы вы сделали?

Паника? Да, конечно. Но со временем вы научитесь жить на острове. Вы изучите окружающую среду, поймете климатические условия, тип пищи, которая там растет, опасности острова и т. Д.

Именно так работает Усиленное обучение, он включает в себя объекта (вы застряли на острове), который помещается в неизвестную среду (остров), где он должен учиться, наблюдая и выполняя действия, которые приводят к вознаграждениям.

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

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

Какие проблемы может решить машинное обучение?

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

Что такое регрессия?

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

Что такое классификация?

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

Что такое кластеризация?

Этот тип проблемы включает в себя назначение входных данных в два или более кластеров на основе сходства функций. Например, кластеризация зрителей в схожие группы в зависимости от их интересов, возраста, географии и т. д. может быть выполнена с использованием алгоритмов неконтролируемого обучения, таких как K-Means Clustering.

Вот таблица, которая суммирует разницу между регрессией, классификацией и кластеризацией:

Регрессия против классификации против кластеризации – искусственный интеллект с Python – Edureka

Теперь давайте посмотрим как работает процесс машинного обучения.

Этапы процесса машинного обучения

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

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

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

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

Шаг 1: Определите цель постановки задачи

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

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

Шаг 2: Сбор данных

На этом этапе вы должны задавать такие вопросы, как,

  • Какие данные необходимы для решения этой проблемы?
  • Доступны ли данные?
  • Как я могу получить данные?

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

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

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

Такие данные должны быть собраны и сохранены для анализа.

Шаг 3: Подготовка данных

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

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

Шаг 4: Исследовательский анализ данных

Хватайте свои детективные очки, потому что этот этап – это погружение в данные и поиск всех тайн скрытых данных.

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

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

Шаг 5: Построение модели машинного обучения

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

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

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

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

Шаг 6: Оценка и оптимизация модели

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

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

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

Шаг 7: Предсказания

Как только модель оценена и улучшена, она, наконец, используется для прогнозирования. Конечным результатом может быть переменная категории (например, True или False) или непрерывное количество (например, прогнозируемая стоимость акции).

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

Вот и весь процесс машинного обучения.

В следующем разделе мы обсудим различные типы алгоритмов машинного обучения.

1 часть: https://telegra.ph/Rukovodstvo-po-iskusstvennomu-intellektu-s-Python-04-05

2 часть: https://telegra.ph/Rukovodstvo-po-iskusstvennomu-intellektu-s-Python-2-chast-04-05

3 часть: https://telegra.ph/Rukovodstvo-po-iskusstvennomu-intellektu-s-Python-3-chast-04-05



Report Page