Литмир - Электронная Библиотека
Содержание  
A
A

Елена Капаца

Машинное обучение доступным языком

Введение

Приступая к изучению машинного обучения, студенты легко и непринужденно добиваются… запутанности. Пара-тройка непонятных терминов или неясностей при расчете – и все: мозг теряет нить и начинает воспринимать “по диагонали”. Продираться через непонятное довольно трудоёмко. Не каждый день у нас есть ресурс догугливать непонятное. Не каждый запрос в Google даст лаконичный понятный ответ.

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

Минимальное требование к читателю – знание основ Python. Книга фокусируется на машинном обучении, и потому останавливаться на терминах вроде “переменной” и “списка” я не буду.

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

Некоторые главы будут базироваться на полноценных моделях и скриптах. В машинном обучении принято использовать так называемые ноутбуки – наборы ячеек с исполняемыми кусками кода:

Машинное обучение доступным языком - _0.jpg

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

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

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

Вы всегда можете “напитаться” полноценными зубодробительными статьями на моем сайте helenkapatsa.ru.

Приятного чтения! Я буду рада вашим предложениям и фидбэку в целом ([email protected]). Вы также можете запросить PDF-версию с цветовой разметкой кода. Это упростит восприятие материала.

Машинное обучение

Что же это такое? Машинное обучение (machine learning, ML) – наука о том, как заставить компьютеры выполнять объемную вычислительную задачу без явного программирования.

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

Проиллюстрируем это на простом примере. Предположим, мы хотим спрогнозировать цену дачного дома на основе:

• площади

• размера придомового участка

• количества комнат.

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

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

Машинное обучение способно выполнять широкий спектр задач:

• оценки стоимости чего угодно

• изменение изображений

• помощь на письме

• обработка звука

• генерация текста и многие другие.

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

Данные

Машинное обучение доступным языком - _1.jpg

Данные – основа основ в ML. В контексте науки принято рассматривать два типа: традиционные и большие (big data).

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

Большие данные, в свою очередь, массивнее, чем традиционные, по ряду характеристик:

• типы (числа, текст, изображения, аудио, видео и проч.)

• скорость извлечения и вычисления

• объем (тера-, пета-, эксабайты и проч.).

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

Классическая таблица

Здесь каждая строка имеет одинаковый набор характеристик-столбцов. Такие таблицы – датафреймы (dataframe) обычно хранятся либо в файлах форматов .csv, .parquet, либо в базах данных:

Машинное обучение доступным языком - _2.jpg

Датасет о результативности футбольных команд

Текстовый документ

(document) Отдельно взятой единицей здесь является блок (corpus). Например, книгу можно рассматривать как датасет, состоящий из абзацев – корпусов.

“… После обучения в Университете Вашингтона Болл опубликовала статью в Journal of the American Chemical Society и отправилась на Гавайи, чтобы стать магистром химии. В 1915 г. она впервые среди женщин и афроамериканцев получила степень магистра в Гавайском колледже, где осталась преподавать”.

Корпус из книги-датасета Рейчел Свайби “52 упрямые женщины”

Графы

(graph) Здесь отдельно взятая единица – это связь между объектами:

Машинное обучение доступным языком - _3.jpg

Граф социальной сети

Аудиодорожки

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

Машинное обучение доступным языком - _4.jpg

Временной ряд

(time series) Здесь каждая точка привязана к временной оси x и, как правило, взаимосвязана с окружающими ее соседями.

Машинное обучение доступным языком - _5.jpg

Цена акции LG на момент открытия биржи на протяжении года

Последовательные данные

Машинное обучение доступным языком - _6.jpg

(sequence data) Состоят из набора отдельных объектов, таких как слова или буквы. Здесь нет временных меток; вместо этого есть позиции в упорядоченной последовательности:

вернуться

1

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

1
{"b":"830547","o":1}