Итак, что такое машинное обучение? Большинство людей представляют себе робота, выполняющего ту же работу, что и люди, так что же такое машинное обучение?

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

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

- Артур Сэмюэл, 1959 г.

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

Чтобы прояснить тему, я прилагаю диаграмму из книги Практическое машинное обучение с помощью Scikit-Learn и TensorFlow Орельена Жерона (это, кстати, потрясающая книга, если вы хотите изучить машинное обучение!!)

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

Итак, вот вам подход машинного обучения.

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

Теперь возникает вопрос, как машина учится?

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

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

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

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

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

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

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

3. Полуконтролируемое обучение

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

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

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

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

Многие роботы обучены этому обучению. Для справки возьмем пример игры Pacman.

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

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

Надеюсь, вам понравилось читать 🙂

Первоначально опубликовано на https://thelearningjournals.com 25 сентября 2020 г.