Первый взгляд на машинное обучение: что такое машинное обучение и почему машинное обучение?

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

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

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

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

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

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

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

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

  • Они были обучены с людьми или нет

— Под наблюдением

— без присмотра

— Полууправляемый

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

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

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

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

Наиболее важные контролируемые алгоритмы

— К-ближайшие соседи

- Линейная регрессия

- Нейронные сети

— Машины опорных векторов

- Логистическая регрессия

— Деревья решений и случайные леса

Неконтролируемое обучение

В системе машинного обучения этого типа данные не помечены.

Наиболее важные неконтролируемые алгоритмы

— Кластеризация: k-средних, иерархический кластерный анализ

- Изучение правил ассоциации: Eclat, априори

— Визуализация и уменьшение размерности: ядро ​​PCA, t-distributed, PCA

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

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

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

Пакетное обучение

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

Онлайн обучение

Этот вид обучения противоположен пакетному обучению. Я имею в виду, что здесь система может обучаться постепенно, предоставляя системе все доступные данные в виде экземпляров (групп или по отдельности), а затем система может обучаться на лету. Вы можете использовать этот тип системы для задач, требующих непрерывного потока данных, который также должен быстро адаптироваться к любым изменениям. Кроме того, вы можете использовать этот тип системы для работы с очень большими наборами данных. Вы должны знать, насколько быстро ваша система может адаптироваться к любым изменениям в «скорости обучения» данных. Если скорость высокая, это означает, что система довольно быстро обучается, но также быстро забывает старые данные.

Обучение на основе экземпляров

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

Обучение на основе моделей

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