Openbravo-rus.ru

Образование по русски
2 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Машинное обучение примеры

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

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

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

Хотите увидеть, как применяется машинное обучение в реальной жизни?

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

1. Yelp – Курирование изображений

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

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

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

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

2. Pinterest – Поиск контента

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

В 2015 Pinterest приобрел Kosei – компанию, специализирующуюся на коммерческом применении машинного обучения (в частности, на поиске контента и алгоритмах рекомендаций).

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

3. Facebook – Армия чатботов

Facebook Messenger – один из самых интересных продуктов крупнейшей социальной платформы в мире. Все потому, что мессенджер стал своеобразной лабораторией чатботов. При общении с некоторыми из них сложно понять, что ты разговариваешь не с человеком.

Любой разработчик может и запустить его на базе Facebook Messenger. Благодаря этому даже небольшие компании имеют возможность предлагать клиентам отличный сервис.

Конечно, это не единственная сфера применения машинного обучения в Facebook. AI приложения используются для фильтрации спама и контента низкого качества, также компания разрабатывает алгоритмы компьютерного зрения, которые позволяют компьютерам “читать” изображения.

4. Twitter – Новостная лента

Одно из самых значимых изменений в Twitter за последнее время – переход к новостной ленте на базе алгоритмов.

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

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

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

5. Google – Нейронные сети

У Google впечатляющие технологические амбиции. Сложно представить себе сферу научных исследований, в которую бы не внесла вклад эта корпорация (или ее головная компания Alphabet).

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

Самое значимое достижение компании – создание в DeepMind машин, которые могут мечтать и создавать необычные изображения.

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

6. Edgecase – Показатели конверсии

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

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

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

7. Baidu – Будущее голосового поиска

Google не единственный поисковой гигант, который осваивает машинное обучение. Китайский поисковик Baidu тоже активно инвестирует в развитие AI.

Одна из самых интересных разработок компании – Deep Voice, нейронная сеть, способная генерировать синтетические человеческие голоса, которые практически невозможно отличить от настоящих. Система может имитировать особенности интонации, произношения, ударения и высоты тона.

Последнее изобретение Baidu Deep Voice 2 значительно повлияет на эффективность обработки естественного языка, голосового поиска и систем распознавания речи. Применять новую технологию можно будет в других сферах, например, устных переводах и системах биометрической безопасности.

8. HubSpot – Умные продажи

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

HubSpot планирует использовать технологию Kemvi для нескольких целей: самая значимая – интеграция машинного обучения и обработки естественного языка DeepGraph с внутренней системой управления контентом.

Это позволит компании эффективнее определять “триггеры” – изменения в структуре и управлении компании, которые влияют на повседневные операции. Благодаря этому нововведению HubSpot сможет эффективнее привлекать клиентов и обеспечивать высокий уровень обслуживания.

9. IBM – Здравоохранение нового поколения

Крупнейшая технологическая корпорация IBM отказывается от устаревшей бизнес-модели и активно осваивает новые направления. Самый известный сегодня продукт бренда – искусственный интеллект Watson.

За последние несколько лет Watson использовался в госпиталях и медицинских центрах, где диагностировал определенные виды рака намного эффективнее, чем онкологи.

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

10. Salesforce – Умные CRM системы

Salesforce – титан мира технологий со значительной долей рынка в сфере управления отношениями с клиентам (CRM).

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

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

Будущее машинного обучения

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

Какие тренды машинного обучения ждут нас в ближайшем будущем?

1. Машины, которые учатся еще эффективнее

Совсем скоро искусственный интеллект сможет обучаться намного эффективнее: машины будут совершенствоваться при минимальном участии человека.

2. Автоматизация борьбы с кибератаками

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

3. Убедительные генеративные модели

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

4. Быстрое обучение

Даже самому сложному искусственному интеллекту необходим огромный объем данных для обучения. Вскоре системам машинного обучения для этого будет требоваться все меньше информации и времени.

5. Самостоятельный искусственный интеллект

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

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

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

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

Рынок машинного обучения стремительно растет — в 2016 году его объем преодолел отметку в $1 миллиард и, судя по прогнозам, к 2025 он увеличится до $39,98 миллиарда. Откуда такой рост? Как оказалось, буквально отовсюду. Технология машинного обучения была изобретена в 1959 году, но крупные компании осознали ее потенциал относительно недавно. В ближайшие годы ей будут пользоваться все — от самых успешных фирм до небольших частных компаний.

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

Target: прогнозы событий в жизни покупателя

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

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

Читать еще:  Работа с сайтами обучение

Twitter: отображение идеальной картинки

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

Справа новый вариант создания миниатюры. Фото: The Verge

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

Apple: создание идеальной совместимости

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

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

Alibaba: персонализация пользовательского опыта

Китайской торговой площадкой Alibaba пользуется 500 миллионов человек, то есть больше всего населения США. Каждый из этих клиентов проходит на сайте индивидуальный путь от поиска товара до покупки. Как Alibaba отслеживает все эти 500 миллионов путей и направляет своих пользователей? Разумеется, с помощью машинного обучения.

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

Spotify: идеальные рекомендации

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

В декабре прошлого года колумнист издания Mashable заметил в ленте еженедельных музыкальных подборок Discover Weekly кнопки лайка и дизлайка. В итоге даже сама компания удивилась результатам, которые принесла новая функция — она подбирала для пользователей удивительно хорошие рекомендации. Похожие сервисы, например, от Apple, так и не смогли произвести такого впечатления, как Spotify.

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

Машинное обучение примеры

Об авторе: Андрей Беляев, технический директор (CTO) исследовательской компании Neurodata Lab.

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

В чем разница между этими названиями?

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

К рутинным задачам можно отнести те, где достаточно просто найти универсальный путь решения: например, сложение чисел или измерение температуры воздуха.

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

Получается, что машинное обучение — это обучение ИИ

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

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

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

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

Такие алгоритмы можно научить решать задачи любой сложности?

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

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

А что насчет глубокого обучения? Чем оно отличается от машинного?

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

Нейронные сети? Как те, что в мозгу у человека?

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

И все же можно как-то сравнить процессы внутри нейросети с деятельностью мозга?

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

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

А как происходит процесс обучения?

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

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

Что значит «поощрять» и «штрафовать» нейросеть?

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

Во всех примерах вы рассказываете про конкретные задачи. А можно ли нейросеть научить думать, как человек?

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

Читать еще:  Обучение ui ux

Подписывайтесь и читайте нас в Яндекс.Дзене — технологии, инновации, эко-номика, образование и шеринг в одном канале.

Машинное обучение примеры

Об авторе: Андрей Беляев, технический директор (CTO) исследовательской компании Neurodata Lab.

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

В чем разница между этими названиями?

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

К рутинным задачам можно отнести те, где достаточно просто найти универсальный путь решения: например, сложение чисел или измерение температуры воздуха.

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

Получается, что машинное обучение — это обучение ИИ

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

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

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

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

Такие алгоритмы можно научить решать задачи любой сложности?

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

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

А что насчет глубокого обучения? Чем оно отличается от машинного?

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

Нейронные сети? Как те, что в мозгу у человека?

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

И все же можно как-то сравнить процессы внутри нейросети с деятельностью мозга?

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

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

А как происходит процесс обучения?

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

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

Что значит «поощрять» и «штрафовать» нейросеть?

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

Во всех примерах вы рассказываете про конкретные задачи. А можно ли нейросеть научить думать, как человек?

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

Подписывайтесь и читайте нас в Яндекс.Дзене — технологии, инновации, эко-номика, образование и шеринг в одном канале.

Введение в машинное обучение

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

Введение

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

  • Широкий: машинное обучение — это процесс предсказания, обычно основанный на прошлом.
  • Практический: машинное обучение пытается найти взаимосвязи в данных, чтобы помочь предсказать, что будет дальше.
  • Технический: машинное обучение использует статистические методы для прогнозирования значения целевой переменной с использованием набора входных данных.
  • Математический: машинное обучение пытается предсказать значение переменной Y с учетом ввода набора X.

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

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

  • Как часто пользователи взаимодействуют с продуктом
  • Что их удерживает
  • Насколько пользователи связаны друг с другом

Мы предполагаем, что эти данные скажут что-то важное о клиенте.

Данные / Алгоритм

Любой тип машинного обучения можно разбить на две основные части:

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

Ваши данные

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

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

Читать еще:  Аналитик обучение москва

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

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

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

Ваш алгоритм

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

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

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

Как это работает

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

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

Это может показаться сложным на первый взгляд, но давайте сосредоточимся на функции. Она определяет разницу между тем, что предсказывает алгоритм — hO(x(i)) — и действительным значением целевой переменной — y(i) . Наша цель в минимизации функции потерь, потому что мы хотим, чтобы прогнозируемые значения были как можно ближе к фактическим целевым значениям переменных.

Как же это сделать? Мы начнем со случайного набора предсказаний и постараемся двигаться в сторону улучшения. Если наши прогнозы окажутся слишком высокими, мы подстроимся. Если слишком низкими — мы тоже подстроимся. Алгоритм в основном движется вслепую и медленно, пока не находит то, что ищет. Самое смешное, что градиентный спуск фактически сам по себе является алгоритмом — мы используем алгоритм для улучшения нашего алгоритма. Довольно круто! Для получения более подробной информации о том, как реализован алгоритм градиентного спуска (в дополнение к другим решениям для оптимизации функции потерь), ознакомьтесь с Введением в оптимизаторы.

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

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

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

В обучении с учителем вы определяете возможные результаты. В примере с погодой мы можем сказать, что данный день может быть жарким, холодным или умеренным. Затем мы передаем данные в алгоритм, и он выясняет, что (если что-нибудь) приводит к жарким дням, что приводит к холодным дням и что приводит к умеренным дням. Поскольку мы определили варианты — горячие, холодные и умеренные — алгоритм будет выдвигать прогнозы в рамках этой структуры.

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

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

Машинное обучение на практике

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

Инструменты

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

Популярные фреймворки / Пакеты

Фреймворки объединяют основные функции на определенном языке программирования во что-то более простое в использовании и мощное. Практически, вместо того, чтобы писать математику и статистику выбранного вами алгоритма вручную (однако некоторые люди предпочитают это!), вы можете просто реализовать его на своем любимом языке программирования.

На самом деле, используя популярный фреймворк scikit-learn на Python, мы можем быстро обучить метод опорных векторов (тип алгоритма).

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

Онлайн курсы и видео

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

  • Курс Andrew Ng на Coursera является стандарт де-факто и отлично справляется с объяснением математики и теории традиционного машинного обучения.
  • Для более практичного подхода, основанного на коде, попробуйте Руководство по машинному обучению
  • Для глубокого обучения, курс от fast.ai

Книги

Практическое машинное обучение с Scikit-Learn и Tensorflow (O’Reilly) — «Благодаря серии последних достижений глубокое обучение расширило всю область машинного обучения. Теперь даже программисты, которые почти ничего не знают об этой технологии, могут использовать простые эффективные инструменты для реализации программ, способных учиться на данных. Эта практическая книга покажет вам как».

Машинное обучение в реальном мире (Мэннинг) — «Машинное обучение в реальном мире — это практическое руководство, предназначенное для обучения работающих разработчиков искусству создания ML. Без передозировки академической теорией и сложной математики она знакомит с повседневной практикой машинного обучения, подготавливая вас к успешному созданию и внедрению мощных систем ML».

Программируя коллективный интеллект (O’Reilly) — «Хотите использовать всю мощь поисковых рейтингов, рекомендаций по продуктам, социальных закладок и онлайн-знакомств? Эта увлекательная книга демонстрирует, как вы можете создавать приложения web 2.0 для извлечения огромного количества данных, созданных людьми в интернете. С помощью сложных алгоритмов, описанных в этой книге, вы cможете создавать интеллектуальные программы для доступа к интересным наборам данных с других веб-сайтов и сбора данных от пользователей ваших собственных приложений».

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

Руководства

Ваш первый проект машинного обучения на Python, шаг за шагом (Jason Brownlee) — «Хотите заниматься машинным обучением с использованием Python, но сложно уже в самом начале? В этом посте вы сделаете свой первый проект машинного обучения с использованием Python. Если вы новичок в машинном обучении и хотите наконец начать использовать Python, это руководство было разработано специально для вас».

Машинное обучение на Python: руководство по Scikit-Learn (Datacamp) — «Машинное обучение — это отрасль компьютерных наук, которая изучает проектирование алгоритмов, способных к обучению. Типичными задачами являются формирование понятий, прогнозирование, кластеризация и поиск моделей прогнозирования. Эти задачи реализуются на основе имеющихся данных, полученных в ходе наблюдения, эксперимента или инструкций».

Машинное обучение на Python: руководство (Dataquest) — «В этом учебном руководстве мы познакомим вас с основными принципами машинного обучения и с тем, как начать использовать машинное обучение с Python. К счастью для нас, в Python есть удивительная экосистема библиотек, с которой легко начать работать с машинным обучением. В этом руководстве мы будем использовать отличные библиотеки Scikit-learn, Pandas и Matplotlib».

Машинное обучение на R для начинающих (Datacamp) — «Это небольшое руководство призвано познакомить вас с основами машинного обучения на R: оно покажет вам, как использовать R для работы с хорошо известным алгоритмом машинного обучения под названием «KNN» или метод k-ближайших соседей».

Ссылка на основную публикацию
Adblock
detector