Как работает машинное обучение:
Интервьюер: В чем ваша самая сильная сторона?
Компьютер: я быстро учусь.
Интервьюер: Сколько будет 11 * 11?
Компьютер: 65
Интервьюер: Даже не близко. 121.
Компьютер: 121.
Искусственный интеллект
Первая мысль, которая у многих людей ассоциируется с искусственным интеллектом, — это роботы-убийцы, захватившие мир, как в таких блокбастерах, как «Терминатор» и «Из машины».
Хотя до этого неизбежного будущего еще довольно далеко, ИИ занимает очень большую часть всей нашей жизни в устройствах и технологиях, которые мы используем. Из таких приложений, как Amazon Alexa, которая заказывает для нас продукты, или Netflix, который знает наши предпочтения в телешоу (лучше, чем наши супруги), или даже Google Maps, которые направляют миллионы людей по местам, в которых они живут, нет сомнений, что мы сильно полагаемся на них. на искусственном интеллекте, чтобы заниматься нашей повседневной деятельностью.
AI vs ML
В наши дни мы видим, что термины ИИ и машинное обучение используются взаимозаменяемо, хотя они немного отличаются. Искусственный интеллект можно определить как машины, обладающие способностями к принятию решений, которые напоминают разумные существа. Впервые предложенный Аланом Тьюрингом в 1950 году в его публикации «Вычислительные машины и интеллект», ИИ претерпел огромные изменения в своем применении и развитии за последние 50 лет, и сегодня его наибольшие успехи достигнуты в таких областях, как логистика, интеллектуальный анализ данных и медицинская диагностика.
Мы можем разделить ИИ на две категории: общие и узкие. Общий ИИ будет иметь все характеристики человеческого интеллекта. Узкий ИИ демонстрирует некоторые аспекты человеческого интеллекта и может очень хорошо справляться с этим аспектом, но ему не хватает других областей. Машина, которая отлично распознает изображения, но не более того, будет примером узкого ИИ.
Большая часть ИИ в сегодняшнем мире довольно узкая, но за последние 10 лет эта область расширилась как на дрожжах, и многие ученые и инженеры, такие как Илон Маск, видят будущее, в котором мы увидим общий интеллект в наших машинах.
Так что насчет машинного обучения?
По своей сути машинное обучение — это просто способ достижения ИИ.
Таким образом, вместо жестко запрограммированных программных подпрограмм с конкретными инструкциями для выполнения конкретной задачи машинное обучение — это способ «обучения» алгоритма, чтобы он научился этому. «Обучение» включает в себя передачу огромных объемов данных в алгоритм и позволяет алгоритму адаптироваться и улучшаться.
Если компьютерная программа может улучшить выполнение определенной задачи на основе прошлого опыта, вы можете сказать, что она изучена.
Все получают выгоду от машинного обучения
Это спам?
Есть ли у этого человека аритмия?
Происходят ли мошеннические действия с кредитной картой этого человека?
Именно на такие вопросы может ответить машинное обучение. Его применение настолько широко распространено в самых разных областях нашей жизни. Мало того, что он может защитить наше здоровье и богатство, его влияние на общее качество жизни просто поразительно.
Мне лично нравятся алгоритмы рекомендаций Spotify за то, что они всегда ссылаются на свежую музыку, которая соответствует моим вкусам на основе того, что я слушал в прошлом.
Другие случаи машинного обучения в дикой природе:
- Технология распознавания лиц, которая позволяет платформам социальных сетей помогать пользователям отмечать и делиться фотографиями друзей.
- Технология оптического распознавания символов (OCR), которая преобразует изображения текста в подвижный текст.
- Самоуправляемые автомобили, которые полагаются на машинное обучение для навигации.
Машины делают хороших учеников
Что делает машины такими хорошими учениками?
Ну, во-первых, им не нужны такие глупые, тривиальные вещи, как спать или есть. Кроме того, скорость, с которой они могут обрабатывать данные, экспоненциально выше, чем у человека.
Например, люди в лучшем случае могут смотреть Youtube 24 часа в сутки, но компьютер может смотреть и анализировать миллионы часов за тот же период времени.
IBM Watson, компьютерная система, отвечающая на вопросы, способная говорить на разных языках, синтезирует 200 миллионов страниц контента в Интернете в день. Watson настолько умен, что в 2004 году обыграл других игроков-людей в Jeopardy!
Учебные машины
Для «обучения» машин используются три модели обучения.
При обучении с учителем компьютеру предоставляются примеры входных данных, которые помечены желаемыми выходными данными. Цель этого метода состоит в том, чтобы алгоритм мог «обучаться», сравнивая свои фактические выходные данные с «наученными» выходными данными, чтобы находить ошибки и соответствующим образом изменять модель.
Это похоже на прогулку по музею с экскурсоводом.
При неконтролируемом обучении данные не маркируются, поэтому алгоритму обучения остается только находить общие черты среди своих входных данных. Поскольку немаркированных данных больше, чем размеченных, методы машинного обучения, которые облегчают обучение без учителя, особенно ценны.
Цель неконтролируемого обучения может быть такой же простой, как обнаружение скрытых шаблонов в наборе данных, но она также может иметь цель изучения признаков, что позволяет вычислительной машине автоматически обнаруживать представления, необходимые для классификации необработанных данных.
Неконтролируемое обучение обычно используется для транзакционных данных. У вас может быть большой набор данных о клиентах и их покупках, но как человек вы, скорее всего, не сможете понять, какие схожие атрибуты можно извлечь из профилей клиентов и их типов покупок.
Не зная «правильного» ответа, методы обучения без учителя могут рассматривать сложные данные, которые являются более обширными и, казалось бы, не связанными между собой, чтобы организовать их потенциально значимыми способами. Неконтролируемое обучение часто используется для обнаружения аномалий, в том числе для мошеннических покупок по кредитным картам, и рекомендательных систем, которые рекомендуют, какие продукты покупать дальше.
Обучение без присмотра похоже на путешествие в одиночку в другую страну, языка которой вы не понимаете.
Усиленное обучение — это когда обучающие данные не помечены, а результат оценивается на основе примеров входных и выходных данных. Это создает петлю обратной связи, которую машина обрабатывает от пользователя и подкрепляет «хорошее» и правильное поведение.
Хорошим примером обучения с подкреплением является AlphaGo, компьютерная программа, играющая в го. Используя алгоритм поиска по дереву Монте-Карло, он может делать выигрышные ходы, которые он изучил и к которым тренировался в прошлом. В октябре 2015 года она стала первой компьютерной программой в го, победившей игрока-человека.
Работа с большими данными
Алгоритмы — это систематические наборы операций, выполняемых над заданным набором данных — по сути, процедура.
В машинном обучении мы просим компьютеры обрабатывать и осмысливать большие наборы данных. Чтобы сделать это эффективно, мы обучаем наши машины использовать различные алгоритмы, уходящие корнями в статистику и информатику.
К ним относятся K-ближайший сосед, обучение по дереву решений, глубокое обучение, индуктивное логическое программирование, кластеризация, обучение с подкреплением и байесовские сети. Сегодня мы кратко пройдемся по тройке лидеров.
K-ближайший сосед
Алгоритм k-ближайших соседей — это модель распознавания образов, которую можно использовать для классификации, а также для задач прогнозирования регрессии. Он включает в себя группировку одинаковых объектов вместе в 2D, 3D или даже в многоплоскостном поле. Благодаря постоянной итерации больших наборов данных машины могут разработать хорошую модель прогнозирования, основанную на вероятности.
Обучение дереву решений
При «изучении» дерева исходные данные делятся на подмножества на основе проверки значения атрибута, которая рекурсивно повторяется для каждого из производных подмножеств. Как только подмножество в узле будет иметь значение, эквивалентное его целевому значению, процесс рекурсии будет завершен.
Глубокое обучение
Глубокое обучение пытается имитировать, как человеческий мозг может преобразовывать световые и звуковые раздражители в зрение и слух. Архитектура глубокого обучения основана на биологических нейронных сетях и состоит из нескольких слоев искусственной нейронной сети, состоящей из оборудования и графических процессоров.
Среди алгоритмов машинного обучения, которые в настоящее время используются и разрабатываются, глубокое обучение поглощает больше всего данных и может превзойти людей в некоторых когнитивных задачах. Из-за этих атрибутов глубокое обучение стало подходом со значительным потенциалом в области искусственного интеллекта.
Глубокое обучение было вдохновлено структурой и функцией мозга, а именно взаимосвязью многих нейронов. Искусственные нейронные сети (ИНС) — это алгоритмы, имитирующие биологическую структуру мозга.
7 шагов машинного обучения
Цель обучения — создать точную модель, которая в большинстве случаев правильно отвечает на наши вопросы. Как правило, это включает в себя семь шагов, которым следуют специалисты по обработке и анализу данных/программисты.
Допустим, мы хотели научить нашу машину различать яблоки и апельсины.
- Сбор данных
Чтобы обучить нашу модель, нам нужно собрать данные для обучения. Это включает в себя привоз огромного количества разных яблок и апельсинов со всего мира, разных размеров и цветов. Чем разнообразнее ваш набор данных, тем более точной может быть ваша модель. Сбор большего количества данных также способствует устранению предубеждений.
2. Подготовка данных
В зависимости от того, решим ли мы контролировать обучение или нет, мы можем предоставить нашим данным функции и информацию, чтобы направить наши машины в правильном направлении. В этом типе схемы классификации предпочтение обычно отдается надзору.
3. Выберите модель
Здесь применяются алгоритмы из предыдущих. Можно создать дерево решений для классификации фруктов по разным значениям или, возможно, создать нейронную сеть, используя тысячи изображений разных яблок/апельсинов.
4. Обучение
Как только мы настроим наши данные и нашу модель, мы позволим компьютерам изучить и усвоить данные. Это может включать настройку базы данных, позволяющую компьютерам «запоминать» то, через что они прошли.
5. Оценка
Мы должны проверить прогресс и обучение компьютеров, поэтому здесь вступают в действие тесты. Мы просим наши машины оценить апельсины/яблоки, которых они раньше не видели, и сделать обоснованные предположения. Мы не хотим использовать те же данные, что и модель. был обучен в нашей оценке, потому что он просто запомнит его. Следующим шагом будет оценка компьютера и проверка его достаточной точности.
6. Настройка гиперпараметров
Именно здесь анализируются и корректируются наши веса и предубеждения в отношении определенных функций. Возможно, мы придаем слишком большое значение размеру, и он не так важен, и нам нужно вернуться назад и скорректировать оценку компьютера. Возможно, были какие-то другие факторы, которые мы не учли, и нам нужно вернуться и внести поправки.
7. Прогноз
Если нас устраивает то, что у нас есть в качестве модели прогнозирования, мы можем использовать ее в реальном мире! Если нет, мы всегда можем вернуться к чертежной доске и повторить процесс с лучшим представлением о том, как отрегулировать наши подходы.
С чего начать
Если вы хотите начать писать программы, использующие машинное обучение, существует множество инструментов и технологий, которые помогут вам начать работу.
- Python очень популярен в этой области из-за доступных сред глубокого обучения, таких как TensorFlow, PyTorch и Keras.
- Java, как правило, используется для сетевой безопасности, в том числе в случаях кибератак и обнаружения мошенничества.
- R — это язык программирования с открытым исходным кодом, используемый в основном для статистических вычислений.
- C++ — предпочтительный язык для машинного обучения и искусственного интеллекта в играх или приложениях для роботов (включая передвижение роботов).
Спасибо за чтение!
Источники
- Машинное обучение для чайников, Джон Пол Мюллер/Лука Массарон
- Введение в машинное обучение Лизы Тальяферри
- Какой алгоритм машинного обучения мне использовать? Хуэй Ли
- https://www.youtube.com/watch?v=aircAruvnKk
- https://www.youtube.com/watch?v=z-EtmaFJieY
- https://www.youtube.com/watch?v=WXHM_i-fgGo