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

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

Большинство попыток провести эту линию различия казались слишком математическими или содержали слишком много кода, который переносил путаницу на более высокие уровни. Необходимо объяснить концепции машинного обучения и другие подобные концепции простым языком, понятным каждому. Июльский выпуск FAYA: 80 под руководством г-на Прасида Пая из UST Global попытался работать в этом направлении, разрушив мифы и шумиху вокруг машинного обучения.

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

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

2. Чем он отличается от интеллектуального анализа данных и искусственного интеллекта?

3. Учебные машины…. Но как??

4. Есть ли модель для обучения Машин?

5. Какие данные здесь обрабатываются?

6. А как насчет алгоритмов машинного обучения?

7. Как насчет языков, которые можно использовать?

8. Каковы области применения «Grab-fast»?

9. Машинное обучение - это БУДУЩЕЕ?

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

Я уже приводил одно из его «стандартизированных» формальных определений в начале статьи.

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

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

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

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

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

2. Чем он отличается от интеллектуального анализа данных и искусственного интеллекта?

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

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

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

Машинное обучение против искусственного интеллекта

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

Siri для iOS, Google Now для Android и Cortana для Windows Mobile - это интеллектуальные цифровые персональные помощники, работающие на базе искусственного интеллекта. Они собирают данные о ваших запросах, а затем используют эти данные для лучшего распознавания вашей речи и предоставления результатов, адаптированных к вашим предпочтениям. Машина проходит через различные процессы, такие как обработка естественного языка (чтобы без проблем общаться на заданном языке); автоматическое рассуждение (использование сохраненной информации для ответа на вопросы и новых выводов) и машинное обучение (для адаптации к новым обстоятельствам и выявления закономерностей) до того, как квалифицировать себя как искусственный интеллект.

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

Что ж ... Надеюсь, в этом есть смысл.

3. Учебные машины…. Но как ??

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

Этап 1

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

Этап 2

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

Этап 3

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

Но насколько успешна машина в обучении ?? Это полностью зависит от двух элементов:

  • Степень обобщения абстрагированных данных
  • Точность машины в прогнозировании будущих результатов на основе полученного обучения.

4. Есть ли модель для обучения машин?

Да, есть. Задачи машинного обучения можно разделить на пять этапов.

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

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

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

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

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

5. Какие данные здесь обрабатываются?

Данные поступают в систему из разных источников и в разных форматах. Данные могут быть разных типов.

  • Номинальный или категориальный: к этому типу относятся категориально дискретные данные, такие как название места, тип автомобиля, которым вы управляете, или цвет ваших волос.
  • Порядковые данные: данные, которые имеют естественный порядок, например, порядок бегунов, завершающих забег. Мы не можем с уверенностью сказать, равны ли интервалы между каждым значением.
  • Данные интервала: данные, интервалы между значениями которых разделены поровну. Например. Преобразование Цельсия в Фаренгейта
  • Данные отношения: данные интервала с естественной нулевой точкой. Например. рост и вес.
  • Логическое / двоичное (Д / Н, М / Ж)

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

Приложения для баз данных

  • Реляционная база данных, хранилище данных, транзакционная база данных

Расширенные приложения

  • Потоки данных и данные датчиков
  • Данные структуры, графики, социальные сети и многосвязные данные
  • Объектно-реляционные базы данных
  • Мультимедийная база данных
  • Текстовые базы данных и т. Д.

6. А как насчет алгоритмов машинного обучения?

Контролируемое обучение:

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

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

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

Обучение без учителя:

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

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

K- означает, что алгоритм кластеризации является распространенным алгоритмом этого типа.

Анализ ассоциации:

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

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

Алгоритм априори - один из распространенных алгоритмов обучения ассоциациям.

7. Как насчет языков, которые можно использовать?

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

  • Matlab
  • R
  • Python
  • Ява

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

8. Каковы области применения "быстрого доступа"?

Есть множество областей, в которых можно применить машинное обучение. Фактически, большинство систем, разработанных предприятиями, можно модернизировать с помощью метода «машинного обучения». Например, если бы Google был создан с нуля сегодня, многое из него было бы изучено, а не закодировано. Такие компании, как Google, Amazon, Accenture, Toyota, Hitachi, Tesla, Johnson & Johnson и многие другие, широко применяют машинное обучение для улучшения своих продуктов и услуг.

Несколько областей машинного обучения, над которыми я хотел бы работать:

  • ERP-система для повышения производительности и прогнозирования доставки
  • Автоматическая игра
  • Банковские и финансовые услуги
  • Автоматическое создание подписи к изображениям
  • Здравоохранение

9. Машинное обучение - это БУДУЩЕЕ ??

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

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

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

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

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

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