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

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

Но как это происходит?

Итак, это следующий вопрос, который возникает у вас в голове ... Верно?

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

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

1. Получение релевантных данных

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

2. Очистка извлеченных данных.

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

3. Выбор подходящей модели машинного обучения.

Существует множество устоявшихся моделей машинного обучения, таких как KNN, линейная регрессия, SVM, деревья решений, наивный байесовский алгоритм и нейронные сети (глубокое обучение). Не беспокойтесь, если эти термины звучат для вас странно. Все это алгоритмы, которые учатся на данных. Мы представим их в будущих статьях. Вы можете просто найти некоторые из них в Google, чтобы получить представление. Итак, основная задача - выяснить, какая модель подходит для вашей проблемы и набора данных. Поэкспериментируйте с разными моделями и с умом выберите одну. Что интереснее ... вам можете даже изобрести собственный алгоритм.

4. Получение информации из прогнозов.

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

5. Визуализация данных

И последнее, но не менее важное - это визуализация данных и результатов нашей модели. Человеку легче понять данные в графической форме, это естественная тенденция. Итак, если вы специалист по данным и предсказали какой-то полезный результат (например, взаимосвязь вывода с любым feature), вам нужно показать это красиво и чисто. Для python существуют библиотеки вроде Matplotlib, Seaborn, Bokeh, Dash, с помощью которых можно эффективно визуализировать любые данные.

Три разных ТИПА машинного обучения

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

1. Обучение с учителем

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

Процесс визуализирован здесь: -

Это еще два типа классификации и регрессии:

Классификация

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

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

Регрессия

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

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

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

2. Обучение без учителя

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

Неконтролируемое обучение может быть далее разделено на проблемы кластеризации и ассоциации.

Кластеризация

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

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

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

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

Суммарное вознаграждение на каждом этапе определяется следующим образом:

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

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

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

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

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

LinkedIn: https://www.linkedin.com/in/nimish-khurana-306255148

Github: https://github.com/Nimishkhurana/