Узнать больше о машинном обучении

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

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

alt

Узнай стоимость своей работы

Бесплатная оценка заказа!

Оценим за полчаса!

Большое введение для тех, кто хочет наконец разобраться в машинном обучении — простым языком, без формул-теорем, зато с примерами реальных задач и их решений. Погнали. Узнать больше о машинном обучении Узнать больше о машинном обучении Снова разберём на Олегах. Предположим, Олег хочет купить автомобиль и считает сколько денег ему нужно для этого накопить. Он пересмотрел десяток объявлений в интернете и увидел, что новые автомобили стоят около $ 20 000, годовалые — примерно $ 19 000, двухлетние — $ 18 000 и так далее.

В уме Олег-аналитик выводит формулу: адекватная цена автомобиля начинается от $ 20 000 и падает на $ 1000 каждый год, пока не упрётся в $ 10 000.

Олег сделал то, что в машинном обучении называют регрессией — предсказал цену по известным данным. Люди делают это постоянно, когда считают почём продать старый айфон или сколько шашлыка взять на дачу (моя формула — полкило на человека в сутки).

Да, было бы удобно иметь формулу под каждую проблему на свете. Но взять те же цены на автомобили: кроме пробега есть десятки комплектаций, разное техническое состояние, сезонность спроса и еще столько неочевидных факторов, которые Олег, даже при всём желании, не учел бы в голове. Люди тупы и ленивы — надо заставить вкалывать роботов. Пусть машина посмотрит на наши данные, найдёт в них закономерности и научится предсказывать для нас ответ. Самое интересное, что в итоге она стала находить даже такие закономерности, о которых люди не догадывались. Так родилось машинное обучение. Три составляющие обучения Узнать больше о машинном обучении Цель машинного обучения — предсказать результат по входным данным. Чем разнообразнее входные данные, тем проще машине найти закономерности и тем точнее результат. Итак, если мы хотим обучить машину, нам нужны три вещи:

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

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

alt

Узнай стоимость своей работы

Бесплатная оценка заказа!
Читайте также:  Советы эксперта: как сдать огэ по русскому языку

Оценим за полчаса!

За хорошими наборами данных (датасетами) идёт большая охота. Крупные компании, бывает, раскрывают свои алгоритмы, но датасеты — крайне редко.

Признаки. Мы называем их фичами (features), так что ненавистникам англицизмов придётся страдать.

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

Машина должна знать, на что ей конкретно смотреть. Хорошо, когда данные просто лежат в табличках — названия их колонок и есть фичи. А если у нас сто гигабайт картинок с котами? Когда признаков много, модель работает медленно и неэффективно. Зачастую отбор правильных фич занимает больше времени, чем всё остальное обучение. Но бывают и обратные ситуации, когда кожаный мешок сам решает отобрать только «правильные» на его взгляд признаки и вносит в модель субъективность — она начинает дико врать.

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

Узнать больше о машинном обучении

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

Узнать больше о машинном обучении Искусственный интеллект — название всей области, как биология или химия. Машинное обучение — это раздел искусственного интеллекта. Важный, но не единственный. Нейросети — один из видов машинного обучения. Популярный, но есть и другие, не хуже. Глубокое обучение — архитектура нейросетей, один из подходов к их построению и обучению. На практике сегодня мало кто отличает, где глубокие нейросети, а где не очень. Говорят название конкретной сети и всё. Сравнивать можно только вещи одного уровня, иначе получается полный буллщит типа «что лучше: машина или колесо?» Не отождествляйте термины без причины, чтобы не выглядеть дурачком. Вот что машины сегодня умеют, а что не под силу даже самым обученным.

Машина можетПредсказыватьЗапоминатьВоспроизводитьВыбирать лучшее

Машина не можетСоздавать новоеРезко поумнетьВыйти за рамки задачиУбить всех людей

Карта мира машинного обучения

Лень читать лонгрид — повтыкайте хотя бы в картинку, будет полезно.

Узнать больше о машинном обучении Думаю потом нарисовать полноценную настенную карту со стрелочками и объяснениями, что где используется, если статья зайдёт. И да. Классифицировать алгоритмы можно десятком способов. Я выбрал этот, потому что он мне кажется самым удобным для повествования. Надо понимать, что не бывает так, чтобы задачу решал только один метод. Я буду упоминать известные примеры применений, но держите в уме, что «сын маминой подруги» всё это может решить нейросетями. Начну с базового обзора. Сегодня в машинном обучении есть всего четыре основных направления. Узнать больше о машинном обучении

Часть 1. Классическое обучение

Первые алгоритмы пришли к нам из чистой статистики еще в 1950-х. Они решали формальные задачи — искали закономерности в циферках, оценивали близость точек в пространстве и вычисляли направления. Сегодня на классических алгоритмах держится добрая половина интернета. Когда вы встречаете блок «Рекомендованные статьи» на сайте, или банк блокирует все ваши деньги на карточке после первой же покупки кофе за границей — это почти всегда дело рук одного из этих алгоритмов. Да, крупные корпорации любят решать все проблемы нейросетями. Потому что лишние 2% точности для них легко конвертируются в дополнительные 2 миллиарда прибыли. Остальным же стоит включать голову. Когда задача решаема классическими методами, дешевле реализовать сколько-нибудь полезную для бизнеса систему на них, а потом думать об улучшениях. А если вы не решили задачу, то не решить её на 2% лучше вам не особо поможет.

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

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

Узнать больше о машинном обучении Классическое обучение любят делить на две категории — с учителем и без. Часто можно встретить их английские наименования — Supervised и Unsupervised Learning. В первом случае у машины есть некий учитель, который говорит ей как правильно. Рассказывает, что на этой картинке кошка, а на этой собака. То есть учитель уже заранее разделил (разметил) все данные на кошек и собак, а машина учится на конкретных примерах. В обучении без учителя, машине просто вываливают кучу фотографий животных на стол и говорят «разберись, кто здесь на кого похож». Данные не размечены, у машины нет учителя, и она пытается сама найти любые закономерности. Об этих методах поговорим ниже.

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

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

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

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

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

Узнать больше о машинном обучении Позже спамеры научились обходить фильтр Байеса, просто вставляя в конец письма много слов с «хорошими» рейтингами. Метод получил ироничное название Отравление Байеса, а фильтровать спам стали другими алгоритмами. Но метод навсегда остался в учебниках как самый простой, красивый и один из первых практически полезных. Возьмем другой пример полезной классификации. Вот берёте вы кредит в банке. Как банку удостовериться, вернёте вы его или нет? Точно никак, но у банка есть тысячи профилей других людей, которые уже брали кредит до вас. Там указан их возраст, образование, должность, уровень зарплаты и главное — кто из них вернул кредит, а с кем возникли проблемы.

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

Для этой задачи придумали Деревья Решений. Машина автоматически разделяет все данные по вопросам, ответы на которые «да» или «нет». Вопросы могут быть не совсем адекватными с точки зрения человека, например «зарплата заёмщика больше, чем 25 934 рубля?», но машина придумывает их так, чтобы на каждом шаге разбиение было самым точным.

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

Два самых популярных алгоритма построения деревьев — CART и C4.5.

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

Узнать больше о машинном обучении Но самым популярным методом классической классификации заслуженно является Метод Опорных Векторов (SVM). Им классифицировали уже всё: виды растений, лица на фотографиях, документы по тематикам, даже странных Playboy-моделей. Много лет он был главным ответом на вопрос «какой бы мне взять классификатор». Идея SVM по своей сути проста — он ищет, как так провести две прямые между категориями, чтобы между ними образовался наибольший зазор. На картинке видно нагляднее: У классификации есть полезная обратная сторона — поиск аномалий. Когда какой-то признак объекта сильно не вписывается в наши классы, мы ярко подсвечиваем его на экране. Сейчас так делают в медицине: компьютер подсвечивает врачу все подозрительные области МРТ или выделяет отклонения в анализах. На биржах таким же образом определяют нестандартных игроков, которые скорее всего являются инсайдерами. Научив компьютер «как правильно», мы автоматически получаем и обратный классификатор — как неправильно. Сегодня для классификации всё чаще используют нейросети, ведь по сути их для этого и изобрели.

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

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

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

  • Прогноз стоимости ценных бумаг
  • Анализ спроса, объема продаж
  • Медицинские диагнозы
  • Любые зависимости числа от времени

Популярные алгоритмы: Линейная или Полиномиальная Регрессия Регрессия — та же классификация, только вместо категории мы предсказываем число. Стоимость автомобиля по его пробегу, количество пробок по времени суток, объем спроса на товар от роста компании и.т.д. На регрессию идеально ложатся любые задачи, где есть зависимость от времени. Регрессию очень любят финансисты и аналитики, она встроена даже в Excel. Внутри всё работает, опять же, банально: машина тупо пытается нарисовать линию, которая в среднем отражает зависимость. Правда, в отличии от человека с фломастером и вайтбордом, делает она это математически точно — считая среднее расстояние до каждой точки и пытаясь всем угодить. Когда регрессия рисует прямую линию, её называют линейной, когда кривую — полиномиальной. Это два основных вида регрессии, дальше уже начинаются редкоземельные методы. Но так как в семье не без урода, есть Логистическая Регрессия, которая на самом деле не регрессия, а метод классификации, от чего у всех постоянно путаница. Не делайте так. Схожесть регрессии и классификации подтверждается еще и тем, что многие классификаторы, после небольшого тюнинга, превращаются в регрессоры. Например, мы можем не просто смотреть к какому классу принадлежит объект, а запоминать, насколько он близок — и вот, у нас регрессия. Обучение без учителя (Unsupervised Learning) было изобретено позже, аж в 90-е, и на практике используется реже. Но бывают задачи, где у нас просто нет выбора. Размеченные данные, как я сказал, дорогая редкость. Но что делать если я хочу, например, написать классификатор автобусов — идти на улицу руками фотографировать миллион сраных икарусов и подписывать где какой? Так и жизнь вся пройдёт, а у меня еще игры в стиме не пройдены.

Когда нет разметки, есть надежда на капитализм, социальное расслоение и миллион китайцев из сервисов типа Яндекс.Толока, которые готовы делать для вас что угодно за пять центов. Так обычно и поступают на практике. А вы думали где Яндекс берёт все свои крутые датасеты?

Либо, можно попробовать обучение без учителя. Хотя, честно говоря, из своей практики я не помню чтобы где-то оно сработало хорошо. Обучение без учителя, всё же, чаще используют как метод анализа данных, а не как основной алгоритм. Специальный кожаный мешок с дипломом МГУ вбрасывает туда кучу мусора и наблюдает. Кластеры есть? Зависимости появились? Нет? Ну штош, продолжай, труд освобождает. Тыж хотел работать в датасаенсе.

«Разделяет объекты по неизвестному признаку. Машина сама решает как лучше» Сегодня используют для:

  • Сегментация рынка (типов покупателей, лояльности)
  • Объединение близких точек на карте
  • Сжатие изображений
  • Анализ и разметки новых данных
  • Детекторы аномального поведения
Читайте также:  Готов к труду и обороне: не хочешь, заставим

Источник: https://eldf.ru/machine-learning-base-article

Что я узнал о машинном обучении, поработав в 12 стартапах

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

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

За время работы я пришел к таким выводам.

Узнать больше о машинном обучении Льюис Кэрролл, математик и автор книги «Приключения Алисы в стране чудес», создал много заманчивых продуктов, но не все из них сработали, как ожидалось. Иллюстрации Джона Тенниела.

Продукт важнее ИИ

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

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

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

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

Стремитесь к синергии между данными и продуктом

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

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

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

Сначала данные, потом ИИ

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

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

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

Инвестируйте в коммуникацию

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

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

«Простые и очевидные решения» не так очевидны

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

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

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

Источник: https://proglib.io/p/lessons-of-12-ml-startups/

В чем разница между искуственным интеллектом, машинным обучением и глубоким обучением? | блог oracle в россии и снг

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

  • ИИ (AI, Artificial Intelligence) означает, что компьютер тем или иным образом имитирует поведение человека.
  • Машинное обучение (ML, Machine Learning) — это подмножество ИИ, состоящее из методов, которые позволяют компьютерам делать выводы на основе данных и предоставлять ИИ-приложениям.
  • Глубокое обучение (DL, Deep Learning) является подмножеством машинного обучения, и оно дает компьютерам возможность решать более сложные задачи.

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

Что такое ИИ?

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

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

Узнать больше о машинном обучении

Искусственный интеллект: этапы развития

Искусственный интеллект, следовательно, относится к выводам компьютера. Компьютер делает что-то «умное», поэтому он демонстрирует интеллект, интеллект искусственный. 

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

Что такое машинное обучение?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Что такое глубокое обучение?

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

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

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

Как работает глубокое обучение

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

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

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

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

Источник: https://blogs.oracle.com/russia/ai-ml-dl-differ

Как выучить машинное обучение: книги, курсы, подходы — отвечают эксперты

Если у вас есть время и возможность пойти в магистратуру — используйте этот шанс. В России хорошую репутацию завоевали ВШЭ и Сколтех. Там вы получите систематическое образование.

Если не хочется в магистратуру, можно пройти курсы. Достойные программы у ШАД, DMIA, CSC. Все три есть в офлайн-варианте: ШАД и DMIA в Москве, CSC в Петербурге. В ШАД и CSC также реализован вариант удалённого обучения, в DMIA он планируется.

Если вас интересует исключительно онлайн, то, конечно, есть смысл выбрать требуемое на Coursera. Что это может быть?

Machine Learning — базовый курс по машинному обучению от Andrew Ng, одного из сооснователей Coursera. На мой взгляд, у курса ровно один минус — код нужно будет писать на MATLAB. Если это вас не смущает, то обязательно берите.

Введение в машинное обучение — тоже базовый курс, но уже на русском и на Python, от Константина Воронцова, профессора кафедры интеллектуальных систем ФУПМ МФТИ.

Deep Learning Specialization — это уже целая специализация по нейронным сетям от Andrew Ng. Специализация неспешная, но глубокая. Особенно мне полюбился третий курс, где Эндрю рассуждает о том, как надо вести исследование в области глубокого обучения. Но его советы могут пригодиться и в классическом ML.

Advanced Machine Learning Specialization — курс от российских ребят. Он уже поглубже: там и про байесовскую статистику, и про Natural Language Processing, и про компьютерное зрение.

Кстати, про статистику. Чтобы ставить эксперименты и правильно считать корреляции, вам нужно знать статистику. Есть прекрасный курс уже на Stepik по основам статистики. Рекомендую. А если вам совсем лень, то книжка «Статистика и котики» вас спасёт. Маленькая, с наглядными картинками — читается за пару часов.

Что почитать?

«Python. К вершинам мастерства» (и вообще обратите внимание на издательство «O’Reilly»).

«Глубокое обучение. Погружение в мир нейронных сетей».

А ещё стоит читать Internet Archive — там всегда много интересных публикаций.

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

Где потренироваться?

Мир машинного обучения богат на разного рода контесты и хакатоны.

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

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

Также существуют смешанные варианты — онлайн и офлайн.

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

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

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

11

Ответ эксперта

2019-05-01T11:33:35+03:00

Источник: https://tproger.ru/experts/how-to-learn-machine-learning/

Гид: алгоритмы машинного обучения и их типы

  • Наивный байесовский классификатор (Обучение с учителем – Классификация) Наивный байесовский классификатор опирается на теорему Байеса и классифицирует каждое значение независимо от любого другого значения. Это позволяет предсказывать класс/категорию на основе заданного набора признаков, используя вероятности. Несмотря на свою простоту, классификатор работает на удивление хорошо и часто используется из-за того, что превосходит более сложные методы классификации.
  • Алгоритм k-means (k-средних)
    (Обучение без учителя – Кластеризация)
    Метод k-средних – это тип обучения без учителя, который используется для классификации неразмеченных данных, то есть данных, не разбитых на определенные категории или группы. Алгоритм работает путем поиска групп в рамках данных, причём число групп представлено переменной K. Затем он итеративно приписывает каждую точку данных к одной из K-групп, основываясь на её известных характеристиках.
  • Метод опорных векторов
    Обучение с учителем – Классификация)
    Метод опорных векторов – это набор алгоритмов обучения с учителем, которые анализируют данные, используемые для классификации и регрессионного анализа. По существу, они сортируют данные по категориям. Это достигается предоставлением набора обучающих примеров, каждый из которых помечен как принадлежащий к одной из двух категорий. Затем алгоритм строит модель, относящую новые значения к той или иной категории.
  • Линейная регрессия (Обучение с учителем – Регрессия) Линейная регрессия – самая базовая разновидность регрессии. Простая линейная регрессия позволяет понять взаимосвязь между двумя непрерывными переменными.
  • Логистическая регрессия (Обучение с учителем – Классификация) Задача логистической регрессии – оценка вероятности возникновения события на основе доступных данных из прошлого. Это покрывает случай бинарной зависимой переменной, то есть такой, которая принимает только два значения – 0 и 1.
  • Искусственная нейронная сеть (Обучение с подкреплением) Искусственная нейронная сеть (ИНС) – это большое количество взаимосвязанных исполняющих элементов, совместно работающих над решением конкретных задач. ИНС были вдохновлены биологическими системами (например, мозг) и тем, как такие системы обрабатывают информацию. ИНС также обучаются на примерах и по мере накопления опыта. Они чрезвычайно полезны при моделировании нелинейных зависимостей в многомерных данных или в тех случаях, когда взаимосвязь между входными переменными трудно поддаётся анализу.
  • Дерево решений (Обучение с учителем – Классификация/Регрессия) Дерево решений – это древовидная структура наподобие блок-схемы, которая использует метод ветвления, иллюстрируя каждый возможный результат принятия решения. Каждый узел дерева соответствует одной проверке условия по определенной переменной, а каждая ветвь является результатом этой проверки.
  • Случайный лес
    (Обучение с учителем – Классификация/Регрессия)
    Случайный лес – это групповой метод обучения, объединяющий множество алгоритмов и дающий лучшие результаты в классификации, регрессии и других задачах. Слабые по отдельности классификаторы дают отличный результат, если их применять в комбинации. Алгоритм начинает работу с дерева решений (древовидный граф, моделирующий принятие решений), и входное значение помещается в корень дерева. Затем он продвигается вниз по дереву, а данные разбиваются на все меньшие и меньшие подмножества на основе конкретных значений переменных.
  • Метод k-ближайших соседей (Обучение с учителем) Алгоритм k-ближайших соседей оценивает, насколько велики шансы, что точка данных относится к той или иной группе. По существу, он просматривает точки данных вокруг одной выбранной точки и решает, к какой группе эта точка в реальности относится. Например, если точка расположена на сетке, а алгоритм пытается определить, к какой группе она относится (например, группа A или группа B), то он просмотрит точки рядом с данной и определит, к какой группе относится большинство этих точек.
Читайте также:  Специальности для тех, кто хорошо рисует

Источник: https://www.sas.com/ru_ru/insights/articles/analytics/machine-learning-algorithms-guide.html

Гид по структуре машинного обучения

Контент-маркетолог Мария Пушикова специально для блога Нетологии перевела статью Charles-Antoine Richard о том, что такое машинное обучение и какие методы машинного обучения существуют.

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

  • Программа обучение: «Data Scientist»
  • Поэтому я решил, что читателям будет интересно прочесть объяснение методов машинного обучения от человека нетехнической специальности.
  • Начнем.

Машинное обучение — это…

  1. Вот самое простое определение, которое я нашел:
  2. Машинное обучение — это «[…] класс методов искусственного интеллекта, которые позволяют улучшить результаты работы компьютеров путем обучения на известных данных», — Berkeley.
  3. Теперь давайте разложим все по полочкам, чтобы выстроить основы знаний в области машинного обучения.

…подраздел искусственного интеллекта (ИИ)

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

…способ решения практических задач

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

… способ увеличить эффективность компьютеров

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

…технология, основанная на опыте

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

Простой пример:

  1. Выбираются входные данные и задаются условия ввода (например, банковские операции с использованием карт).

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

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

Как работает машинное обучение

  • Машинное обучение часто называют волшебным или черным ящиком:
  • Вводишь данные → «волшебный черный ящик» → Миссия выполнена.
  • Давайте посмотрим на сам процесс обучения, чтобы лучше понять, как машинное обучение справляется с данными.

Сбор

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

Очистка

Данные зачастую формируются из различных источников, отображаются в различных форматах и языках.

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

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

Разделение

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

Обучение

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

Построение линий в простой линейной модели — это обучение; генерация дерева принятия решений для алгоритма случайного леса — это также обучение.

Изменение ответов при построении дерева решений поможет скорректировать алгоритм.

Чтобы было проще, сосредоточимся на нейронных сетях.

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

Оценка

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

Оптимизация

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

Какие существуют типы машинного обучения и чем они отличаются

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

  • обучение с учителем (supervised learning);
  • обучение без учителя, или самообучение (unsupervised learning);
  • обучение с подкреплением (reinforcement learning).

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

Обучение с учителем (supervised learning)

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

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

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

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

Обучение без учителя (unsupervised learning)

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

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

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

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

Источник: https://netology.ru/blog/machine-learning-guide

Что нужно знать о machine learning, чтобы найти хорошую работу? — Офтоп на vc.ru

Перевод: Мария Агеева, Binary District

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

Термин «искусственный интеллект», как известно, программисты и исследователи использовали ещё в 1950-х — для описания машин, способных без посредничества человека адекватно решать абстрактные задачи.

А machine learning — это один из наиболее известных методов практической реализации возможностей искусственного интеллекта.

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

Почему карьера в machine learning — отличный выбор?

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

Когда Netflix, словно читая ваши мысли, предлагает вам именно те фильмы и сериалы, что непременно вас заинтересуют, — за этим стоит ML. Благодаря машинному обучению Amazon столь успешно убеждает вас купить в нагрузку к приобретаемому товару ещё что-нибудь.

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

Очевидно, что machine learning — привлекательная сфера как для тех, кто только готовится к выбору профессии, так и для тех, кто мечтает о новом витке IT-карьеры.

Гибкий подход к языкам программирования

Большинство энтузиастов machine learning волнует вопрос – учить Python или R? Для разработки программ, основанных на алгоритмах машинного обучения, действительно чаще всего применяются эти два языка программирования. Однако разработчикам, ориентированным на долгосрочный карьерный успех, такой вопрос себе задавать не стоит.

— Уникальные преимущества некоторых языков программирования облегчают решение связанных с AI проблем, а вы ведь не хотите провалить проект?

— Обладая доступом к библиотекам, не так уж сложно разрабатывать основанные на ML программы на любом языке программирования

— Некоторые из основанных на ML технологий не могут справиться с определёнными задачами, в таком случае программист должен уметь найти альтернативный вариант

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

Теория вероятности и статистика

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

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

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

Моделирование данных

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

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

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

Почему вам необходимо освоить библиотеки machine learning

Хорошая новость: для большей части базовых и стандартных реализаций ML-решений существуют библиотеки, API, пакеты программного обеспечения. Однако, чтобы преуспеть в работе над ML-проектами, совершенно необходимо:

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

— уметь выбирать подходящую для конкретного типа данных обучающую процедуру

— понимать, как гиперпараметры влияют на обучаемость алгоритма

— уметь оценивать плюсы и минусы разных подходов

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

Умелое обращение с данными

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

Так что всем, кто хочет построить IT-карьеру, работая с ML, придётся сначала изучить управление данными, организацию данных, анализ данных и только потом погружаться в разработку продвинутых алгоритмов.

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

Распределённая обработка данных

Технология machine learning сопряжена с обработкой больших массивов данных. Программисты едва смогли бы выполнять такой огромный объём работ, используя ресурсы лишь одного компьютера.

Решение проблемы — распределённая обработка данных. Любой опыт в этой сфере может оказаться бесценным.

Apache Hadoop и Amazon EC2 предлагают удачные решения для распределённой обработки данных, так что вам, вероятно, было бы полезно ознакомиться хотя бы с их основами.

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

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

Следуйте советам, изложенным в этой статье, чтобы освоить machine learning и спланировать новый виток карьеры.

17 февраля на площадке Digital October пройдёт интенсивный однодневный курс Introduction to Machine learning, AI . Мы расскажем всё о самом перспективном инструменте для бизнеса, основанном на технологии искусственного интеллекта.

Материал опубликован пользователем. Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать

Источник: https://vc.ru/flood/33047-chto-nuzhno-znat-o-machine-learning-chtoby-nayti-horoshuyu-rabotu

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