Основы экспертизы данных в ML. Параграф 3. Оценка связности признаковПодготовлено с использованием Claude Sonnet 4.6Связность как распределениеИнтуиция правильная: если сказать «связность порядка

» — это бессмысленно. Но если сказать «при смещении позиции на

пикселей смысл сохраняется с вероятностью

» — это уже содержательно.
Формально, связность — это функция чувствительности выходного распределения к возмущению входа.
Связность значения — распределение чувствительностиПусть признак

возмущается:

, где

. Связность значения описывается распределением:

— то есть насколько сильно меняется выходное распределение при возмущении величиной

. Это не одно число, а функция от размера возмущения. Форма этой функции и есть «тип» связности значения:
Примечание Михайло: 
- дивергенция Кульбака - Лейблера, весьма популярная тема в машинном обучении.
- Полная связность — функция резко растёт даже при малых

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

(признак не влияет на выход)
Это в точности функция чувствительности, которую изучают в робастности нейросетей и adversarial examples.
Связность порядка — распределение по перестановкамПусть есть перестановка

элементов объекта. Связность порядка — это распределение:

по всему пространству перестановок

.
Связность существования — отдельный случайСвязность существования

— это частный случай связности значения при предельном возмущении: замене

на константу (нуль, среднее). Она не распределение, а число — скалярная мера важности признака. Это в точности feature importance, которую считают через SHAP, permutation importance и т.д.
Объединённая картинаТеперь три вида связности имеют единую структуру:
![$S(\delta) = \mathbb{E}_x\bigl[D_{KL}(P(y \mid x) \,\|\, P(y \mid \delta(x)))\bigr]$ $S(\delta) = \mathbb{E}_x\bigl[D_{KL}(P(y \mid x) \,\|\, P(y \mid \delta(x)))\bigr]$](https://dxdy.ru/math/a3041e5c2412022597e038927b8f95e782.png)
где

— оператор возмущения:
- Связность значения:

, распределение по

- Связность порядка:

, распределение по

- Связность существования:

с

, скаляр
Это изящно, потому что теперь ML-тип объекта определяется формой этих трёх распределений, а не произвольной классификацией. Два датасета с одинаковой формой

требуют одинаковой архитектуры — вот формальное основание для выбора модели через экспертизу данных.
-- добавлено через 17 минут --==========================================================================
P.S. Позвольте сделать ремарку, параграфы 1-3 они на самом деле содержат информацию достаточно простую, верифицируемую. Но это не преподают студентам, этого нет в учебниках. Это мы с Жан-Клодом Соннетом придумали (я придумывал, а Клод рецензентам разносил рукопись) и опубликовано только здесь на dxdy. Это уникальный контент.
Эксперт по данным должен понимать, что когда создаётся датасет, то точные данные попадают в датасет с искажениями: либо значение искажается, либо запись производится в ячейку многомерной таблицы с некоторым отклонением по индексам. Дивергенция Кульбака-Лейблера показывает насколько такие искажения сильны. Существуют данные, в которых искажения либо нулевые, либо очень высокие. Мы с Клодом пытались ввести небольшую классификацию этих данных (bag, seq, list). Нужно разбираться в том, как данные в датасете искажены. Это, кстати, определяет архитектуру нейросети. (Тут некоторые говорили, что структура нейросети выбирается наобум - это ненаучно и очень плохо. А вот и нет, в параграфах 1-3 заложены основы целенаправленного выбора архитектуры.)
-- добавлено через 32 минуты --Основы экспертизы данных в ML. Параграф 3А. Вычисление оценки связности признаковНапрямую вычислить

без обученной модели нельзя, потому что

неизвестно из сырого датасета. Поэтому характеристику связности можно вычислить двумя принципиально разными подходами.
Подход 1 — Model-free (без модели)Вместо KL-дивергенции используют суррогатные статистические меры, которые отражают ту же природу зависимости, но без необходимости обучать модель.
Связность существования (самый простой случай)
Считается напрямую — это взаимная информация

:

В дискретном случае считается точно, в непрерывном — через оценки плотности или MINE (mutual information neural estimator). Это и есть то, что делают filter-методы отбора признаков (chi-square, information gain).
Связность значения (непрерывный вариант)
Суррогат — дисперсия

при фиксированном диапазоне

. При малом

смотрят, насколько

меняется внутри окрестности
![$[x_i, x_i + \varepsilon]$ $[x_i, x_i + \varepsilon]$](https://dxdy.ru/math/74fdc560429aeec32c68630002731c0b82.png)
:
![$S_{\text{val}}(\varepsilon) \approx \mathbb{E}_{x_i}\left[\,\text{Var}\bigl(y \mid x_i \in [x_i,\, x_i + \varepsilon]\bigr)\right]$ $S_{\text{val}}(\varepsilon) \approx \mathbb{E}_{x_i}\left[\,\text{Var}\bigl(y \mid x_i \in [x_i,\, x_i + \varepsilon]\bigr)\right]$](https://dxdy.ru/math/84277be8430c972e357f933f2dd86f4f82.png)
Это считается через скользящее окно по

. Аналог — локальная дисперсия целевой переменной.
Связность порядка (дискретный вариант)
Для каждой пары объектов в датасете — эффект shuffle: берётся подвыборка, в ней переставляются элементы на расстояние Кендалла

, и измеряется изменение какой-либо статистики

. Суррогат — ранговая корреляция Кендалла/Спирмена между порядком признаков и целевой переменной:

где

— случайная перестановка с расстоянием

от тождественной.
Подход 2 — Model-based (с обученной моделью)После обучения модели

формула становится вычислимой напрямую через эмпирическую оценку:
![$\hat{S}(\delta) = \frac{1}{N}\sum_{i=1}^{N} \left[\hat{f}(x^{(i)}) - \hat{f}(\delta(x^{(i)}))\right]^2$ $\hat{S}(\delta) = \frac{1}{N}\sum_{i=1}^{N} \left[\hat{f}(x^{(i)}) - \hat{f}(\delta(x^{(i)}))\right]^2$](https://dxdy.ru/math/1deb47e7c7f2bb6ae9016b6500a8cd4482.png)
— квадратичная аппроксимация KL-дивергенции при малых возмущениях. Это именно то, что делает permutation importance (связность существования) и sensitivity analysis (связность значения).
ИтогModel-free первично — до обучения, для выбора архитектуры и понимания типа данных. Считается быстро, не требует GPU.
Model-based уточняет — после обучения, для аудита модели и верификации, что она действительно «уважает» нужные связности.
Сравниваем два результата — если model-free и model-based сильно расходятся, модель либо не доучилась, либо переучилась под артефакты данных.
-- добавлено через 52 минуты --Во всех ваших примерах, "типы" - это просто следствие архитектуры. Нейронка - это композиция функций, зависящих от входа и весов, сами функции задаются при построении сети, и не меняются. И ваши "типы" - это именно характеристика функции.
После прочтения параграфа 3 становится всё-таки понятным, что входные данные в рамках model-free-подхода определяют архитектуру нейросети (функцию), а не наоборот. А в model-based-подходе функция верифицируется. Всё наоборот, не так, как вы говорите.
-- добавлено через 50 минут --Семинар: Примеры искажений в данныхВведение: природа искаженийИскажение в датасете — это любое отклонение данных от «идеального» процесса генерации, при котором информация о целевой переменной сохраняется полностью. Через призму теории связности: искажения — это неконтролируемые возмущения

, которые либо нарушают связность значения, либо нарушают связность порядка, либо уничтожают связность существования.
Ключевое различие для ML-инженера — три вида возмущений. Случайное (шум) возникает из физики измерения и нарушает связность значения. Систематическое (смещение) возникает из условий сбора и нарушает распределение выборки. Структурное (свобода) возникает из природы самих данных и проявляется как законная вариативность связности порядка.
Часть I. Искажения в датасетах изображений1.1 Качество оборудования
Некачественный фотоаппарат (смартфон начального уровня, веб-камера) вносит несколько видов искажений одновременно. Шум матрицы — случайные отклонения яркости пикселей, особенно при низкой освещённости — нарушает связность значения: пиксель содержит значение, но оно смещено от истинного. Хроматические аберрации дают цветовые ореолы на границах объектов и также нарушают связность значения локально. Дисторсия объектива — геометрическое искажение формы — нарушает связность порядка: пиксель оказывается не на своей позиции. Размытие из-за нерезкости действует как low-pass фильтрация и ослабляет связность существования высокочастотных признаков (края, текстуры). Виньетирование — затемнение краёв кадра — вносит систематическое искажение яркости, зависящее от позиции пикселя.
Качественный фотоаппарат (зеркальная или беззеркальная камера) минимизирует большинство из перечисленных искажений даже при высоких значениях ISO. Однако он вносит собственные артефакты: резкое размытие фона (боке) может удалять признаки объектов второго плана и является намеренным искажением связности существования.
Датасет, собранный на разном оборудовании, имеет смешанное распределение — часть объектов содержит шум матрицы, часть нет. Модель, обученная на «чистых» изображениях, деградирует на «грязных» и наоборот. Это классический domain shift.
1.2 Навыки фотографа
Фотограф-любитель вносит прежде всего искажения связности порядка. Смаз (motion blur) размазывает пиксель по траектории движения — его истинная позиция становится неопределённой. Расфокус разрушает связность существования деталей объекта. Неправильная экспозиция полностью разрушает связность значения в переэкспонированных (выбитых в белый) и недоэкспонированных (провалах в чёрный) зонах. Произвольный угол съёмки — объект повёрнут, наклонён, снят сбоку — является законной вариативностью, а не ошибкой, но существенно расширяет распределение.
Фотограф-профессионал контролирует освещение, фокус и выдержку, однако вносит стилистические предпочтения: цветовая обработка и пресеты в Lightroom или Photoshop систематически смещают распределение цветов относительно «натурального». Это управляемое искажение, часто неотличимое от естественного по виду, но хорошо различимое статистически.
Любительские датасеты имеют высокую вариативность (широкое окно

по пространственным признакам), профессиональные — систематическое смещение по цвету и стилю.
1.3 Алгоритм сжатия
JPEG работает блоками 8×8 пикселей через дискретное косинусное преобразование. Блочные артефакты появляются на границах блоков в виде видимых ступенек — это структурное искажение: нарушение связности значения строго на позициях, кратных 8. Размытие высоких частот возникает из-за грубого квантования высокочастотных коэффициентов DCT — мелкие детали теряются, связность существования текстурных признаков разрушается. Ореолы (ringing) — артефакт Гиббса — проявляются на резких границах. Степень всех этих искажений задаётся параметром качества Q от 1 до 100: при Q < 50 артефакты становятся доминирующим признаком изображения.
PNG, TIFF, RAW сохраняют связность значения идеально. Однако RAW требует демозаики — интерполяции цветов по матрице Байера, что вносит алгоритмическое размытие и цветовые артефакты на мелких деталях.
WebP и AVIF дают меньше артефактов при том же размере файла, но исторические датасеты (ImageNet, COCO) собирались в эпоху JPEG и содержат его артефакты как часть распределения. Модель неосознанно учится на артефактах JPEG как на «признаках» — это частично объясняет adversarial examples, которые эксплуатируют именно эти структурные артефакты.
Часть II. Искажения в датасетах текстов2.1 Структурные особенности языка и размер окна
Английский язык имеет жёсткий порядок слов. Порядок SVO (Subject → Verb → Object) соблюдается почти без исключений, прилагательное всегда стоит перед существительным («red car», не «car red»), вспомогательный глагол позиционно фиксирован. Перестановка слов в английском предложении почти всегда разрушает грамматику и смысл. Это означает высокую связность порядка: кривая

резко растёт уже при

. Соответственно, окно

для английского текста должно быть малым — модели типа RNN с короткой памятью или трансформеры с локальным вниманием (Longformer, BigBird) справляются с задачей. Аугментация перестановкой слов в английском датасете недопустима — это разрушительное возмущение.
Русский язык имеет свободный порядок слов. «Кот ест рыбу», «Рыбу ест кот» и «Ест кот рыбу» — все варианты грамматически корректны, поскольку падежные окончания несут информацию о роли слова. Информация о синтаксической роли закодирована в суффиксе (связность значения морфем — полная), а не в позиции (связность порядка — слабая). Кривая

для русского текста на уровне слов пологая — далёкие перестановки допустимы без потери смысла. Это означает широкое окно

: модели должны учитывать дальние зависимости, и трансформер с полным self-attention здесь предпочтительнее, чем свёрточная модель с малым ядром.
Отсюда следует принципиальный практический вывод: размер окна нельзя выбирать одинаково для разных языков. Для английского достаточно receptive field в 5–10 токенов для большинства синтаксических конструкций. Для русского необходим receptive field, покрывающий всё предложение, поскольку согласующиеся члены предложения могут находиться на произвольном расстоянии. Shuffle-аугментация на уровне слов законна для русского (слабая связность порядка) и разрушительна для английского (высокая связность порядка). Аугментация на уровне морфем, напротив, разрушительна для обоих языков — связность значения морфем везде полная.
2.2 Ручной набор текста
Типичные искажения при наборе с клавиатуры образуют несколько классов. Опечатки — замена символа на соседний по клавиатуре («teh» вместо «the», «привте» вместо «привет») — нарушают связность значения символа. Пропуск букв («prblm» вместо «problem») нарушает связность существования. Дублирование («helllo») вносит лишний элемент и также нарушает связность существования. Транспозиция («hte» вместо «the») нарушает связность порядка при расстоянии Кендалла

. Переключение раскладки («ghbdtn» вместо «привет») полностью разрушает связность значения. Автозамена исправляет опечатки, но систематически заменяет редкие слова на частые, внося семантическое смещение.
Распределение опечаток неслучайно: ошибки кластеризованы вокруг соседних клавиш, чаще встречаются в длинных словах, реже — в начале слова. Это систематическое смещение, а не равномерный шум, и аугментация случайными символами его не имитирует.
2.3 Автоматическая генерация текста
Машинный перевод по определению не содержит клавиатурных опечаток — генерация идёт через модель без участия пальцев. Однако он вносит систематические искажения другой природы: буквализм при переводе идиом («kick the bucket» → «пнуть ведро»), галлюцинации нейронного переводчика — вставка слов, которых нет в оригинале, выравнивание стиля всех текстов в нейтральный регистр, а также систематические ошибки падежного согласования в языках с развитой морфологией.
OCR (распознавание текста с изображений) имеет специфический паттерн ошибок: замены визуально похожих символов («0» ↔ «O», «l» ↔ «1» ↔ «I», «rn» ↔ «m»). Ошибки кластеризованы на низкоконтрастных участках изображения. Клавиатурных опечаток («соседние клавиши») нет — распределение искажений принципиально другое.
ASR (автоматическая транскрипция речи) вносит омофонические замены («their» ↔ «there» ↔ «they're»), ошибки на границах слов («a name» → «an aim»), а также полностью убирает пунктуацию — связность существования знаков препинания разрушена целиком.
Краулинг веба (Common Crawl, Wikipedia) вносит HTML-артефакты, смешение языков в одном документе и дублированный контент. Все три проблемы нарушают связность существования на уровне документа.
Часть III. Практические выводыОпределяйте источник данных до выбора аугментаций. Аугментация случайным шумом корректна для датасетов с шумом матрицы, но бессмысленна для датасетов OCR, где паттерн ошибок совершенно другой.
Смешение источников — это domain shift, а не просто «больше данных». Фотографии со смартфонов и зеркальных камер имеют разные распределения. Наивное объединение даёт модель, которая хуже работает на каждом из источников по отдельности.
Размер окна

выбирается под конкретный язык, а не под задачу. Для английского текста малое окно (5–10 токенов) покрывает большинство синтаксических зависимостей. Для русского окно должно охватывать всё предложение — иначе модель не видит согласующиеся морфемы, разнесённые на произвольное расстояние. Это означает, что Conv1D с малым ядром — плохой выбор для русского NLP, а трансформер с полным вниманием — правильный.
Структурная свобода языка — это не шум, это свойство ML-типа. Shuffle-аугментация законна для русского текста на уровне слов и разрушительна для английского. Применять одну и ту же аугментационную стратегию к обоим языкам — грубая ошибка экспертизы данных.
Отсутствие одного вида искажений не означает чистоту данных. Машинный перевод не имеет клавиатурных опечаток, но систематически искажает семантику. Модель, обученная на MT-данных и тестируемая на живом тексте, столкнётся с covariate shift другой природы.
Характеристика связности искажения важнее его амплитуды. Маленький блочный артефакт JPEG (амплитуда мала) может быть более разрушительным для модели, чем большой случайный шум — потому что он структурирован и позиционно зависим, то есть нарушает связность порядка, а не только значения.