Введение в Машинное Обучение Исследование его Многих Форм

Машинное обучение введение, исследование множества его форм

Давайте поймем машинное обучение простыми словами.

Изображение, созданное ideogram.ai

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

Содержание

  1. Как работает машинное обучениеПрименение машинного обучения
  2. Типы машинного обучения
  3. Обучение с учителемТипы обучения с учителемРегрессияКлассификация
  4. Обучение без учителяТипы обучения без учителяАлгоритмы кластеризацииУменьшение размерностиОбнаружение аномалийПравила ассоциации Автоэнкодеры
  5. Полу-надзорное обучение
  6. Обучение с подкреплением

ЗаключениеОбъявление #100daysMLDL

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

В основе машинного обучения происходит поиск закономерностей в данных путем анализа большого количества предыдущих доступных данных с использованием кода (который называется алгоритмом). Допустим, есть закономерность между ростом взрослого человека и ростом его отца: Рост отца = m * (рост человека) + c.

На основе обнаруженных закономерностей алгоритм создаст математическое уравнение, подстроив параметры (здесь m, c) и найдя оптимальные значения, которые могут дать точное соответствие данных (здесь находятся лучшие значения для параметров m и c, которые могут представлять данные), что называется моделью (например, Рост отца = 1 * Рост человека + 0.5). Хорошо, это не всегда уравнение, но для упрощения понимания мы можем считать его таким образом.

Теперь, имея модель, если кто-то сообщает свой рост, с ее помощью мы можем предсказать рост его отца (уравнение), верно? Не спорьте со мной, если это не дает правильного предсказания для вашего роста и роста вашего отца! Значения – фиктивные!!

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

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

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

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

2. Виртуальные персональные помощники: Подумайте о Siri, Alexa или Google Assistant: они понимают ваши голосовые команды и дают полезные ответы. Алгоритмы машинного обучения позволяют им распознавать образцы речи и улучшать свое понимание вашего голоса со временем.

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

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

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

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

Типы машинного обучения

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

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

Это самый популярный способ выполнения операций по машинному обучению. Он используется для данных, где существует точное соответствие между входными и выходными данными. Допустим, у нас есть такая форма 🍎, у которой есть точная метка – “Яблоко”. Мы показываем несколько примеров таких форм алгоритму (через код), и в следующий раз, когда вы покажете эту форму, она будет предсказана как яблоко.

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

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

Несколько применений:1. Распознавание лиц2. Распознавание голоса3. Классификация спамаИ многое другое…

Типы обучения с учителем

В целом мы можем классифицировать обучение с учителем на 2 категории 1. Регрессия2. Классификация

Регрессия

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

Алгоритмы в рамках регрессии

  1. Линейная регрессия
  2. Полиномиальная регрессия
  3. Лассо-регрессия
  4. Ридж-регрессия
  5. Экспоненциальная регрессия
  6. Логарифмическая регрессия

Несколько приложений

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

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

Мы используем классификационные алгоритмы для предсказания категорий, а не непрерывной переменной. Допустим, вы хотите указать, является ли электронное письмо спамом или нет, здесь предсказываемая переменная не является числом, это просто категория “да” или “нет”.

Алгоритмы классификации:

  1. Логистическая регрессия
  2. Метод k-ближайших соседей
  3. Деревья принятия решений
  4. Случайный лес
  5. Метод опорных векторов
  6. Наивный байесовский классификатор
  7. Алгоритм AdaBoost
  8. XG Boost
  9. Градиентный бустинг

Несколько приложений

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

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

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

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

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

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

Несколько приложений:
1. Системы рекомендаций
2. Анализ поведения клиентов
3. Группировка новостных статей
И многие другие…

Типы обучения без учителя

В целом, их можно классифицировать на 5 категорий:

  1. Алгоритмы кластеризации
  2. Снижение размерности
  3. Обнаружение аномалий
  4. Извлечение ассоциативных правил
  5. Автокодировщики

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

Алгоритмы кластеризации

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

Алгоритмы кластеризации:

  1. Метод K-средних
  2. DBSCAN
  3. Иерархическая кластеризация
  4. Метод среднего сдвига

Снижение размерности

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

Алгоритмы снижения размерности:

  1. Метод главных компонент (PCA)
  2. t-SNE (t-распределение стохастического соседа)

Обнаружение аномалий

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

Алгоритмы обнаружения аномалий:

  1. Метод для одного класса K-средних
  2. Метод опорных векторов для одного класса
  3. Изоляционный лес

Ассоциативное правило обучения

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

Алгоритмы в рамках AR

  1. Apriori
  2. ФП-рост (частые шаблоны роста)
  3. Алгоритм Eclat

Автоэнкодеры

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

3. Полуобучение

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

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

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

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

Например: медицинские изображения, такие как КТ-сканы или МРТ.

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

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

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

Заключение

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

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

Если вас интересуют Pandas, Numpy, Matplolib, Seaborn и Plotly, то не ищите дальше, у меня также есть подробные статьи о этих важных библиотеках для науки о данных. Вот подобранная подборка.

RaviTeja G

RaviTeja G

Подробные руководства по всем важным библиотекам науки о данных

Просмотреть список8 историй

Объявление #100daysMLDL

18/100 день — Введение в машинное обучение.

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