От кодирования до вложений
From coding to embeddings
Концепции и основы: от SVD до нейронных сетей
В этой статье мы поговорим о двух фундаментальных концепциях в области представления данных и машинного обучения: Кодирование и Эмбеддинг. Содержание этой статьи частично взято из одной из моих лекций в курсе CS246 Mining Massive DataSet (MMDS) в Университете Стэнфорда. Надеюсь, вы найдете это полезным.
Введение
Все методы машинного обучения (ML) работают с входными векторами признаков, и почти все они требуют, чтобы входные признаки были числовыми. С точки зрения ML, существуют четыре типа признаков:
- Числовые (непрерывные или дискретные): числовые данные могут быть непрерывными или дискретными. Непрерывные данные могут принимать любое значение в заданном диапазоне, в то время как дискретные данные имеют отдельные значения. Примером непрерывной числовой переменной является `рост`, а примером дискретной числовой переменной является `возраст`.
- Категориальные (упорядоченные или номинальные): категориальные данные представляют характеристики, такие как цвет глаз и родной город. Категориальные данные могут быть упорядоченными или номинальными. В упорядоченной переменной данные попадают в упорядоченные категории, которые ранжируются по определенному способу. Примером является `уровень навыков`, который принимает значения [`начинающий`, `продвинутый`, `профессионал`]. Номинальная переменная не имеет порядка среди своих значений. Примером является `цвет глаз`, который принимает значения [`черный`, `коричневый`, `синий`, `зеленый`].
- Временные ряды: временной ряд – это последовательность чисел, собранных через регулярные интервалы в течение некоторого периода времени. Эти данные упорядочены по времени, в отличие от предыдущих переменных. Примером является `средняя цена продажи домов за годы в США`.
- Текст: Любой документ является текстовыми данными, которые мы часто представляем в виде «мешка слов».
Чтобы подать любые переменные на модель ML, мы должны преобразовать их в числовой формат. И кодирование, и техники эмбеддинга делают это.
Кодирование
Кодирование – это процесс преобразования необработанных данных, таких как текст, изображения или аудио, в структурированный числовой формат, который может быть легко обработан компьютерами. Существуют два способа кодирования категориальных переменных:
- Суммируйте подкасты с помощью ChatGPT Используйте ИИ для извлечения идей
- Автоматизация электронной почты с использованием Python
- Калибровка камеры с использованием OpenCV
1️⃣ Целочисленное кодирование