Примерно за последнее десятилетие машинное обучение и в целом Data Science штурмом захватили технологический фронт. Практически каждый технический энтузиаст имеет или хочет иметь в этом свою долю. В 2012 году журнал Harvard Business Review назвал работу специалиста по данным Самой сексуальной работой 21 века, и шесть лет спустя он по-прежнему удерживает этот ярлык крепко и высоко.

Но что делает его таким привлекательным? Давайте разберемся.

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

Более формально

Считается, что компьютерная программа учится на опыте E в отношении некоторого класса задач T и показателя эффективности P , если его производительность при выполнении задач в T, измеренная с помощью P, улучшается с опытом E.

- Том М. Митчелл (Машинное обучение)

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

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

Рабочий процесс машинного обучения

Машинное обучение в целом состоит из следующих этапов:

  1. Сбор данных. Самым первым и самым важным шагом является сбор соответствующих данных, соответствующих нашей постановке проблемы. Точный сбор данных необходим для поддержания целостности нашего проекта машинного обучения.
  2. Предварительная обработка данных: данные, собранные на предыдущем этапе, скорее всего, еще не подходят для использования нашим алгоритмом машинного обучения, так как эти данные могут быть неполными, непоследовательны и могут содержать много ошибок и отсутствующих значений. Позаботившись обо всех несоответствиях, ошибках и отсутствующих данных в нашем наборе данных, мы переходим к проектированию функций. Объект - это атрибут или свойство, совместно используемое всеми независимыми единицами, по которым должен выполняться анализ или прогноз. Разработка функций - это процесс использования знания предметной области данных для создания релевантных функций, обеспечивающих эффективную работу алгоритмов машинного обучения.
  3. Обучение модели: предварительно обработанные данные сначала делятся в основном на две части, т. е. наборы данных для обучения и тестирования в соотношении обучение / тестирование обычно 70/30 или 80/20 для небольших наборов данных и в качестве нашего основного набора данных. увеличивается в размере, тестовый набор данных обычно должен уменьшаться в размере даже при соотношении поезд / тест 99/1 для очень больших наборов данных. Обучение модели - это процесс, с помощью которого алгоритм машинного обучения извлекает информацию из набора обучающих данных и изучает определенные параметры в течение периода обучения, что сводит к минимуму потери или то, насколько плохо он работает. набор обучающих данных.
  4. Оценка модели. После обучения модели она оценивается с использованием некоторой метрики оценки на тестовом наборе данных, которую она никогда раньше не видела. Под «никогда раньше не видел» означает, что модель не извлекла никаких сведений из этого конкретного набора данных, чтобы узнать эти параметры, упомянутые выше. Следовательно, модель пытается работать с тестовым набором данных, используя только знания, полученные из набора обучающих данных. Некоторые из наиболее распространенных показателей оценки - это оценка точности, оценка F1, средняя абсолютная ошибка (MAE) и среднеквадратичная ошибка (MSE).
  5. Повышение производительности: производительность модели может быть дополнительно улучшена как для обучающих, так и для тестовых наборов данных с помощью различных методов, таких как перекрестная проверка, настройка гиперпараметров или путем опробования нескольких алгоритмов машинного обучения и использования того, который работает лучше всего или даже лучше, с помощью методов ансамбля, которые объединяют результаты нескольких алгоритмов.

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

  1. Контролируемое обучение
  2. Неконтролируемое обучение
  3. Обучение с подкреплением

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

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

Обучение с учителем в основном делится на две конкретные задачи: классификация и регрессия.

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

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

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

Изменяя предыдущий пример, учитывая успеваемость учащихся класса на предыдущих экзаменах в течение года, мы хотим спрогнозировать процентные оценки учащихся на выпускном экзамене. Оценка представлена ​​как непрерывное значение, например, процентная оценка 96,75 / 100 или 59,25 / 100.

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

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

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

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

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

Например,

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

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

Вот отличное видео, которое вас порадует. Показано, как агент учился ходить, бегать, прыгать и лазать без какого-либо предварительного руководства. Этот ИИ был разработан DeepMind компании Google.

Глубокое обучение

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

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

Это происходит по трем основным причинам:

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

Последние мысли

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

Сейчас самое время заняться машинным обучением и искусственным интеллектом в целом.