Машинное обучение (Machine Learning)

Содержание
  1. Deep learning & Machine learning: в чем разница?
  2. Прежде всего, давайте посмотрим на некоторые интересные факты и статистику Deep learning и Machine learning:
  3. Deep learning & Machine learning
  4. Deep learning & Machine learning: в каких случаях используется Machine learning
  5. Deep learning & Machine learning: в каких случаях используется Deep learning
  6. Что мы узнали:
  7. То, чего не было в примере, но стоит отметить:
  8. Когда использовать Deep learning в бизнесе?
  9. Когда использовать Machine learning в бизнесе?
  10. Подведем итоги:
  11. Зачем изучать машинное обучение и кем потом работать
  12. Где применяют машинное обучение
  13. Искусственный интеллект, машинное обучение – в чём разница?
  14. В чём специфика кода для машинного обучения
  15. Чем конкретно занимается ML-специалист
  16. Какие навыки нужны в машинном обучении
  17. Каких кандидатов берут на работу
  18. Где работают и сколько получают специалисты по ML
  19. Как обучают специальности в GeekBrains
  20. Преимущества курсов
  21. Этапы обучения и курсовые проекты
  22. Как курсовые проекты помогут найти работу
  23. Руководство по машинному обучению для новичков
  24. Для кого это руководство?
  25. Почему именно машинное обучение?
  26. Подготовка к изучению машинного обучения
  27. Семантическое дерево:
  28. Что такое машинное обучение?
  29. Roadmap для начала изучения машинного обучения:
  30. Roadmap для реализации алгоритма:
  31. Примечания:
  32. Гид по структуре машинного обучения
  33. Машинное обучение — это…
  34. …подраздел искусственного интеллекта (ИИ)
  35. …способ решения практических задач
  36. … способ увеличить эффективность компьютеров
  37. …технология, основанная на опыте
  38. Простой пример:
  39. Как работает машинное обучение
  40. Сбор
  41. Очистка
  42. Разделение
  43. Обучение
  44. Оценка
  45. Оптимизация
  46. Какие существуют типы машинного обучения и чем они отличаются
  47. Обучение с учителем (supervised learning)
  48. Обучение без учителя (unsupervised learning)
  49. Обучение с подкреплением
  50. Для чего можно использовать машинное обучение
  51. Логистика и производство
  52. Продажи и маркетинг
  53. Кадры
  54. Финансы
  55. Здравоохранение
  56. Вместо заключения

Deep learning & Machine learning: в чем разница?

Машинное обучение (Machine Learning)

В чем разница между Deep learning и Machine learning? Насколько они похожи или отличаются друг от друга? Насколько они выгодны для бизнеса? Давайте разберемся!

Machine learning и Deep learning – это 2 подмножества искусственного интеллекта (ИИ), которые активно привлекают к себе внимание уже на протяжении двух лет. Если вы хотите получить простое объяснение их различий, то вы в правильном месте! 

Прежде всего, давайте посмотрим на некоторые интересные факты и статистику Deep learning и Machine learning:

  • Оклад AI-специалиста приравнивается к стоимости Roll-Royce Ghost Series II 2017 года (согласно New York Times);
  • Есть ли вероятность потерять работу из-за прогресса AI? Согласно недавнему отчету PwC – возможно. Они предполагают, что примерно к 2030 г. 38% всех рабочих мест в США могут быть заменены искусственным интеллектом и технологиями автоматизации;
  • Первая AI-программа “The Logic Theorist” была создана в 1955 году компанией Newell & Simon (World Information Organization);
  • Исследователи прогнозируют, что к 2020 году 85% взаимодействия с клиентами будет осуществляться без участия человека (Gartner);
  • Рынок искусственного интеллекта или машинного обучения вырастет до 5,05 млрд долларов к 2020 году (Motley Fool);

Любопытно? Теперь попытаемся разобраться, в чем на самом деле разница между Deep learning и Machine learning, и как можно использовать их для новых бизнес-возможностей.

Deep learning & Machine learning

Должно быть, вы имеете элементарное представление о Deep learning и Machine learning. Для чайников представляем несложные определения:

Machine learning для чайников: 

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

Deep learning для чайников:

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

Например:

  

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

Deep learning & Machine learning: в каких случаях используется Machine learning

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

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

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

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

Deep learning & Machine learning: в каких случаях используется Deep learning

Нейронные сети Deep learning будут использовать другой подход для решения этой проблемы.

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

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

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

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

 

Примечание. Это всего лишь пример, который поможет вам понять различия в том, как работают основы машинного и глубокого обучения. И Deep learning, и Machine learning на самом деле не применимы одновременно к большинству случаев, включая этот. Причину этого вы узнаете позже.

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

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

Что мы узнали:

  1. Основное различие между глубоким обучением и машинным обучением обусловлено тем, как данные представляются в систему. Алгоритмы машинного обучения почти всегда требуют структурированных данных, в то время как сети глубокого обучения полагаются на слои ANN (искусственные нейронные сети).
  2. Алгоритмы машинного обучения созданы для того, чтобы «учиться» действовать, понимая помеченные данные, а затем использовать их для получения новых результатов с большим количеством наборов данных. Однако, когда результат получается неверным, возникает необходимость их «доучивать».
  3. Сети глубокого обучения не требуют вмешательства человека, так как многоуровневые слои в нейронных сетях помещают данные в иерархии различных концепций, которые в конечном итоге учатся на собственных ошибках. Тем не менее, даже они могут быть ошибочными, если качество данных недостаточно хорошее.
  4. Данные все решают.

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

То, чего не было в примере, но стоит отметить:

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

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

    Фактически, учитывая количество слоев, иерархий и концепций, которые обрабатывают эти сети, Deep learning подходит только для выполнения сложных вычислений, а не простых.

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

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

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

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

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

Когда использовать Deep learning в бизнесе?

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

Когда использовать Machine learning в бизнесе?

 

  • Если у вас есть данные, которые можно структурировать и использовать для обучения алгоритмов Machine learning;
  • Если вы хотите использовать преимущества ИИ, чтобы обогнать конкурентов;
  • Лучшие решения Machine learning могут помочь автоматизировать различные бизнес-операции, включая проверку личности, рекламу, маркетинг и сбор информации, а также использовать большие возможности в будущем.

Подведем итоги:

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

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

Источник: https://datastart.ru/blog/read/deep-learning-machine-learning-v-chem-raznica

Зачем изучать машинное обучение и кем потом работать

Машинное обучение (Machine Learning)

Факультет Big Data в Geek University объединяет разные сферы знаний, необходимые современному дата-сайентисту. Чтобы предоставить ученикам более гибкие возможности обучения, мы решили открыть «Машинное обучение» в виде отдельной, новой специальности. В этом посте на важные вопросы об этой специальности ответят наши преподаватели — практикующие эксперты.

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

Отвечает Сергей Ширкин – куратор специальности, декан факультетов искусственного интеллекта и аналитики Big Data в GeekUniversity, приглашённый преподаватель ВШЭ. С помощью машинного обучения строил финансовые модели в компании Equifax, автоматизировал процессы в Сбербанке и Росбанке. Применял ИИ для прогнозирования просмотров рекламы в Dentsu Aegis Network Russia.

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

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

Искусственный интеллект, машинное обучение – в чём разница?

Машинное обучение – это большой подраздел науки об искусственном интеллекте — Data Science. Machine Learning наиболее часто применяется для практических целей. В целом внутри Data Science много направлений, и некоторые из них — например, обучение с подкреплением – ещё развиваются. По сравнению с ними машинное обучение – хорошо развитая область, востребованная бизнесом и наукой.

В чём специфика кода для машинного обучения

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

Чем конкретно занимается ML-специалист

Отвечает Никита Варганов, преподаватель GeekBrains, Senior Data Scientist, руководитель направления по исследованию данных в Сбербанке, Kaggle competitions master.

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

Но важно понимать, что в Data Science построение модели – это 10-20% времени проекта.

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

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

Какие навыки нужны в машинном обучении

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

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

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

Каких кандидатов берут на работу

Как руководитель направления в Сбербанке, на должности Junior Data Scientist я хотел бы видеть кандидата, который владеет базовыми понятиями машинного обучения и математической статистики, умеет писать SQL-запросы, готов постоянно развивать свои навыки в machine learning и учиться у более опытных коллег. 

Очень ценю, если кандидат уже решал задачи за рамками стандартных курсов по ML и анализу данных. Например, может показать свой pet-проект или свои результаты на соревнованиях по анализу данных (Kaggle Competitions). 

Участие в соревнованиях учит решать реалистичные задачи в команде и оформлять своё решение на GitHub. Кстати, владение системами контроля версий — тоже плюс. По моим оценкам их используют лишь 30% специалистов в data science.

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

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

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

Где работают и сколько получают специалисты по ML

Рассказывает Сергей Ширкин, куратор специальности.

Специалисты по машинному обучению нужны и крупным компаниям (включая IТ, операторов связи, интернет-магазины, ритейл, банки), и SMB-сегменту со стартапами.

Ориентировочный диапазон зарплат: 

  • Стажёр – до 50 тыс. рублей. 
  • Junior Data Scientist  – 100-120 тыс. рублей.
  • Middle Data Scientist (1-3 года опыта) – 150-200 тыс. рублей.
  • Senior Data Scientist (3-5 лет опыта) – 200-350 тыс. рублей и больше.

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

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

Как обучают специальности в GeekBrains

Рассказывает Александр Скударнов – методист образовательных программ GeekBrains.

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

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

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

Если это не ваши варианты, но вы хотите развиваться в Data Science – вам лучше выбрать факультет искусственного интеллекта или аналитики Big Data, где учат с нуля.

Преимущества курсов

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

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

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

Этапы обучения и курсовые проекты

Рассказывает Сергей Ширкин, куратор специальности.

Мы обучаем специальности в три этапа:

  1. Математическая подготовка  – изучение теории вероятностей и математической статистики.
  2. Освоение инструментария Data Science – библиотек Python для Data Science.
  3. Изучение принципов машинного обучения – алгоритмов анализа данных, вариантов их применения в бизнесе и способов внедрения кода в продакшн.

Как курсовые проекты помогут найти работу

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

Курсовой проект по прогнозированию стоимости недвижимости можно будет показать на собеседовании в агентствах недвижимости, таких как ЦИАН или ДомКлик.

Проект по кредитному скорингу — оценке кредитоспособности заёмщика — понравится банкам и микрофинансовым организациям.

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

Особенно сложными и важными будут проекты на курсе «Алгоритмы анализа данных». При их выполнении нельзя будет пользоваться готовыми моделями Machine Learning. Вы должны будете практически с нуля написать на Python свою модель для выбранных задач.

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

Хотите за полгода изучить алгоритмы машинного обучения, разобраться с необходимой для этого математикой, освоить библиотеки Python и на практике отработать применение ML в реальных бизнес-кейсах? Ждём вас на курсах машинного обучения GeekBrains!

Источник: https://geekbrains.ru/posts/zachem-izuchat-mashinnoe-obuchenie-i-kem-potom-rabotat

Руководство по машинному обучению для новичков

Машинное обучение (Machine Learning)

Источник: Nuances of Programming

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

Для кого это руководство?

  • Для технических специалистов, которые хотят повторить основы машинного обучения.
  • Для тех, кто не смыслит в технике, но хочет ознакомиться с машинным обучением и не знает, с чего начать.
  • Для тех, кто считает, что машинное обучение “тяжело” освоить.

Почему именно машинное обучение?

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

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

Подготовка к изучению машинного обучения

Чтобы разобраться в представленных концепциях, нужно обладать следующими знаниями:

  • Углубленные знания начального уровня алгебры: Вы должны разбираться в таких понятиях, как переменные, коэффициенты, линейные уравнения, исчисления, а также графики.
  • Владение основами программирования, а также опыт написания кода на Python: Опыт в машинном обучении не требуется, однако вы должны уметь читать и писать код Python с базовыми конструкциями, такими как определения функций, списки, словари, циклы и условные выражения.
  • Базовые знания следующих библиотек Python:
  • NumPy
  • Pandas
  • SciKit-Learn
  • SciPy
  • Matplotlib (и/или Seaborn)

Семантическое дерево:

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

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

Семантическое дерево

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

Артур Сэмюэл описывает машинное обучение как: “Область науки, благодаря которой компьютеры могут обучаться без явного программирования.” Это старое и неформальное определение, которое на данный момент почти потеряло смысл.

Том Митчелл дает более современное определение: “Компьютерная программа обучается на основе опыта E по отношению к некоторому классу задач T и меры качества P, если качество решения задач из T, измеренное на основе P, улучшается с приобретением опыта E.”

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

Алгоритмы машинного обучения относятся к следующим категориям: обучение с учителем (Supervised Learning), обучение без учителя (Unsupervised Learning) и обучение с подкреплением (Reinforcement Learning).

  • Supervised Learning: Алгоритм обучения с учителем принимает маркированные данные и создает модель, которая выполняет предсказания, предоставляя новые данные. Это могут быть как задачи классификации, так и задачи регрессии.
  • Unsupervised Learning: Приобучении без учителя предоставляются непомеченные и неклассифицированные данные, в которых нужно найти закономерности и создать структуру данных для получения значения. Формы обучения без учителя: кластеризация (clustering) и уменьшение размерности (dimensionality reduction).
  • Reinforcement Learning: Обучение с подкреплением использует систему поощрений и метод проб и ошибок в целях максимизации долгосрочного поощрения.

Рабочий процесс машинного обучения

Roadmap для начала изучения машинного обучения:

  • Начать стоит с изучения/повторения линейной алгебры. MIT предоставляет отличный open course по линейной алгебре, с помощью которого можно ознакомиться с ключевыми концепциями. Особое внимание следует уделить изучению векторов, умножению матриц, детерминантам и спектральному разложению матрицы — они играют важную роль в работе алгоритмов машинного обучения.
  • Затем уделите внимание высшей математике. Изучите производные и способы их использования для оптимизации. Обязательно разберите все темы в Single Variable Calculus и (как минимум) первые два раздела Multivariable Calculus.
  • Изучите библиотеки Python, используемые в машинном обучении, такие как Numpy, Pandas, Matplotlib и SKLearn. Разобраться в машинном обучении без этих ‘инструментов’ будет довольно сложно.
  • Начните программировать! Советую реализовать все алгоритмы из scratch вPython, прежде чем использовать готовые модели в SciKit — Learn, чтобы разобраться, как все это работает. Я делал алгоритмы в следующем порядке по возрастанию сложности:
  • Линейная регрессия (Linear Regression)
  • Логистическая регрессия (Logistic Regression)
  • Наивный байесовский классификатор (Naive Bayes Classifier)
  • Метод k-ближайших соседей (K — Nearest Neighbors — KNN)
  • Метод k-средних (K — Means)
  • Метод опорных векторов (Support Vector Machine — SVM)
  • Дерево принятия решений (Decision Trees)
  • Random Forests
  • Gradient Boosting

Roadmap для реализации алгоритма:

  • Соберите данные для работы. В интернете доступны миллионы наборов данных, удовлетворяющих даже самым причудливым потребностям. Kaggle и UCI— отличные ресурсы для просмотра наборов данных. Вы также можете сгенерировать собственные данные.
  • Выберите алгоритм(ы). После сбора данных можно начать работу над алгоритмами. На изображении показан приблизительный ориентир. (Из документации SKLearn)

На этой стадии следует пройтись по краткой теории каждого алгоритма, которые я разместил на Github с каждой реализацией. 

3. Визуализируйте данные! В Python есть множество библиотек, таких как Matplotlib и Seaborn, с помощью которых можно выстроить данные в график и получить финальный результат. Таким образом, вам будет легче разобраться в данных и в том, какие действия они выполняют. (и конечно, сделать крутую модель!)

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

5. Оцените модель. БиблиотекаPython SKLearn предоставляет множество инструментов для анализа модели и проверки показателей, таких как правильность, показатель f1, точность и т. д.

Примечания:

  • Ознакомившись с несколькими алгоритмами и концепциями, попробуйте выполнить один или несколько простых и краткосрочных проектов (для начала).
  • Не бойтесь совершать ошибки. По-началу вы будете тратить большую часть времени на попытки разобраться в математике и причинах возникновения ошибок. Однако терпение — ключ к успеху.
  • Маленькие модели — основа для изучения чего-то большего. Пробуйте все подряд и тогда у вас получится создать лучшую модель.
  • Наилучший способ изучить библиотеки Python — пройти Datacamp courses или начать с изучения документации.

Все вышеописанное можно найти на Github в репозитории Machine-Learning. Все алгоритмы систематизированы, как с реализациями из scratch, так и с использованием SciKit-Learn.

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

https://www.youtube.com/watch?v=_q46x0tq2FQ\u0026list=PL5FkQ0AF9O_o2Eb5Qn8pwCDg7TniyV1Wb

Читайте нас в телеграмме и

Перевод статьи Shaurya Bhandari: A Beginner’s Guide to Machine Learning

Источник: https://zen.yandex.ru/media/nuancesprog/rukovodstvo-po-mashinnomu-obucheniiu-dlia-novichkov-5e5528ee2da84c22bf9c61c8

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

Машинное обучение (Machine Learning)

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

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

Программа обучение: «Data Scientist»

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

Начнем.

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

Вот самое простое определение, которое я нашел:

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

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

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

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

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

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

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

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

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

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

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

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

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

Машинное обучение часто называют волшебным или черным ящиком:

Вводишь данные → «волшебный черный ящик» → Миссия выполнена.

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

Сбор

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

Очистка

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

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

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

Разделение

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

Обучение

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

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

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

https://www.youtube.com/watch?v=1BUuB28FDOc\u0026list=PL5FkQ0AF9O_o2Eb5Qn8pwCDg7TniyV1Wb

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

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

Оценка

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

Оптимизация

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Для чего можно использовать машинное обучение

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

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

Руководители получают описание и максимально информативный анализ результатов и последствий прошлых действий и решений.

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

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

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

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

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

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

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

Логистика и производство

  • В Rethink Robotics используют машинное обучение для обучения манипуляторов и увеличения скорости производства;
  • В JaybridgeRobotics автоматизируют промышленные транспортные средства промышленного класса для более эффективной работы;
  • В Nanotronics автоматизируют оптические микроскопы для улучшения результатов осмотра;
  • Netflix и Amazon оптимизируют распределение ресурсов в соответствии с потребностями пользователей;
  • Другие примеры: прогнозирование потребностей ERP/ERM; прогнозирование сбоев и улучшение техобслуживания, улучшение контроля качества и увеличение мощности производственной линии.

Продажи и маркетинг

  • 6sense прогнозирует, какой лид и в какое время наиболее склонен к покупке;
  • Salesforce Einstein помогает предвидеть возможности для продаж и автоматизировать задачи;
  • Fusemachines автоматизирует планы продаж с помощью AI;
  • AirPR предлагает пути повышения эффективности PR;
  • Retention Science предлагает кросс-канальное вовлечение;
  • Другие примеры: прогнозирование стоимости жизненного цикла клиента, повышение точности сегментации клиентов, выявление клиентских моделей покупок, и оптимизация опыта пользователя в приложениях.

Кадры

  • Entelo помогает рекрутерам находить и отбирать кандидатов;
  • HiQ помогает менеджерам в управлении талантами.

Финансы

  • Cerebellum Capital and Sentient используют машинное обучение для улучшения процесса принятия инвестиционных решений;
  • Dataminr может помочь с текущими финансовыми решениями, заранее оповещая  о социальных тенденциях и последних новостях;
  • Другие примеры: выявление случаев мошенничества и прогнозирование цен на акции.

Здравоохранение

  • Atomwise использует прогнозные модели для уменьшения времени производства лекарств;
  • Deep6 Analytics определяет подходящих пациентов для клинических испытаний;
  • Другие примеры: более точная диагностика заболеваний, улучшение персонализированного ухода и оценка рисков для здоровья.

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

Читать еще: «10 типов структур данных, которые нужно знать»

Вместо заключения

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

Мнение автора и редакции может не совпадать. Хотите написать колонку для «Нетологии»? Читайте наши условия публикации.

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

Ваша работа
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: