Введение

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

Машинное обучение часто называют эквивалентом искусственного интеллекта. Однако приравнивать ИИ и машинное обучение - все равно что приравнивать Ferrari к его трансмиссии. Коробка передач является важным компонентом Феррари, но наличие только коробки передач не означает, что у вас есть Феррари; это всего лишь один шаг к его созданию. Возьмем этот пример с машинным обучением. Мы должны собрать воедино достаточно высококачественных компонентов автомобиля (машинное обучение), чтобы построить наш Ferrari (AI).

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

Ссылаясь на аналогию с автомобилем, компании создали базовый «ИИ» с достаточным количеством низкокачественных компонентов для производства первой модели «автомобиля», такой как IBM Watson, но кто запустит в работу грубую Ford Model T в 2019 году? Эти примеры представляют собой всего лишь множество сетей машинного обучения, работающих вместе, которые их создатели обычно называют «ИИ». Однако это не настоящий искусственный интеллект; настоящий искусственный интеллект еще далек от будущего.

Нейронные сети и глубокое обучение

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

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

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

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

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

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

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

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

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

Классификация и регрессия

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

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

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

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

Собираем все вместе

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

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

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

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

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



использованная литература

DigitalOcean. Содержание. SQLite vs MySQL vs PostgreSQL: сравнение систем управления реляционными базами данных | DigitalOcean, DigitalOcean, 11 декабря 2017 г., www.digitalocean.com/community/tutorials/an-introduction-to-machine-learning.

Браунли, Джейсон. Разница между классификацией и регрессией в машинном обучении. Machine Learning Mastery, 25 сентября 2017 г., www.machinelearningmastery.com/classification-versus-regression-in-machine-learning/.

Автостопом по машинному обучению на Python. FreeCodeCamp.org, FreeCodeCamp.org, 1 августа 2017 г., www.medium.freecodecamp.org/the-hitchhikers-guide-to-machine-learning-algorithms-in-python-bfad66adb378.