ДНК задачи
Материал из MachineLearning.
| (1 промежуточная версия не показана) | |||
| Строка 1: | Строка 1: | ||
| - | {{well|Статья написана с использованием LLM '''GPT-4o''' и проверена участником [[Участник:Arina Pakalova|Arina Pakalova]] 21: | + | {{well|Статья написана с использованием LLM '''GPT-4o''' и проверена участником [[Участник:Arina Pakalova|Arina Pakalova]] 21:37, 24 июня 2026 (MSD)}} |
| - | '''ДНК задачи''' (аббревиатура от '''Д'''ано — '''Н'''айти — '''К'''ритерий) — это мнемоническое правило и базовый математический шаблон, используемый для строгой формализации задач в [[Машинное обучение|машинном обучении]]. Шаблон требует точного описания | + | '''ДНК задачи''' (аббревиатура от '''Д'''ано — '''Н'''айти — '''К'''ритерий) — это мнемоническое правило и базовый математический шаблон, используемый для строгой формализации задач в [[Машинное обучение|машинном обучении]]. Шаблон требует точного описания трех компонент: исходных данных, искомой математической зависимости и функционала, по которому будет оцениваться качество решения. |
Использование шаблона ДНК позволяет систематизировать постановку задачи до начала написания кода или выбора конкретных алгоритмов, исключая логические пробелы и некорректные сравнения моделей<ref name="vorontsov">Воронцов К. В. Математические методы обучения по прецедентам (курс лекций) // МЦНМО, 2018.</ref>. | Использование шаблона ДНК позволяет систематизировать постановку задачи до начала написания кода или выбора конкретных алгоритмов, исключая логические пробелы и некорректные сравнения моделей<ref name="vorontsov">Воронцов К. В. Математические методы обучения по прецедентам (курс лекций) // МЦНМО, 2018.</ref>. | ||
| Строка 9: | Строка 9: | ||
=== Дано (Входные данные и ограничения) === | === Дано (Входные данные и ограничения) === | ||
Секция описывает информационное пространство, в котором существует задача. | Секция описывает информационное пространство, в котором существует задача. | ||
| - | * '''Пространство объектов:''' Множество < | + | * '''Пространство объектов:''' Множество <tex>X</tex>, представляющее все возможные описания объектов. В этой же секции фиксируется [[Признаковое описание объектов|признаковое пространство]]: типы признаков (числовые, категориальные, текстовые, графовые) и их масштабы<ref name="ESL">Hastie T., Tibshirani R., Friedman J. The Elements of Statistical Learning // Springer, 2009.</ref>. |
| - | * '''Структура выборки:''' Характер распределения данных. Фиксируется, выполняется ли предположение о независимости и одинаковой | + | * '''Структура выборки:''' Характер распределения данных. Фиксируется, выполняется ли предположение о независимости и одинаковой распределенности (н.о.р., англ. ''i.i.d.''), или данные имеют сложную структуру (например, [[Временные ряды|временные ряды]] с автокорреляцией, пространственные данные). |
| - | * '''Системные ограничения:''' Аппаратные лимиты ( | + | * '''Системные ограничения:''' Аппаратные лимиты (объем [[Оперативная память|оперативной памяти]], время инференса), которые задают верхнюю границу сложности допустимых моделей. |
=== Найти (Искомая зависимость) === | === Найти (Искомая зависимость) === | ||
Секция определяет цель построения модели. | Секция определяет цель построения модели. | ||
| - | * '''Пространство ответов:''' Множество < | + | * '''Пространство ответов:''' Множество <tex>Y</tex>, в котором лежат целевые переменные (для [[Обучение с учителем|обучения с учителем]]) или структура выходных данных (для [[Обучение без учителя|обучения без учителя]]). |
| - | * '''Тип задачи:''' На основе < | + | * '''Тип задачи:''' На основе <tex>X</tex> и <tex>Y</tex> определяется математическая формулировка: поиск решающего правила для [[Классификация|классификации]] (отображение <tex>X \to \{1, \dots, K\}</tex>), [[Регрессия (машинное обучение)|регрессия]] (<tex>X \to \mathbb{R}</tex>), [[Ранжирование|ранжирование]] или поиск скрытых структур в <tex>X</tex> ([[Кластеризация|кластеризация]]). |
| - | * '''Класс моделей:''' Семейство алгоритмов < | + | * '''Класс моделей:''' Семейство алгоритмов <tex>\mathcal{A}</tex>, в котором ведется поиск (например, класс линейных моделей или класс деревьев решений). |
=== Критерий (Функционал качества) === | === Критерий (Функционал качества) === | ||
| - | Секция задает математический аппарат для выбора наилучшего алгоритма < | + | Секция задает математический аппарат для выбора наилучшего алгоритма <tex>a \in \mathcal{A}</tex>. |
| - | * '''Функция потерь (Loss function):''' Функция < | + | * '''Функция потерь (Loss function):''' Функция <tex>L(a(x), y)</tex>, оценивающая ошибку одного предсказания. Критерий требует указания её свойств (например, дифференцируемость для применения градиентных методов). |
| - | * '''Эмпирический риск (Критерий оптимизации):''' Функционал < | + | * '''Эмпирический риск (Критерий оптимизации):''' Функционал <tex>Q(a, X^l) = \frac{1}{l}\sum_{i=1}^{l} L(a(x_i), y_i)</tex>, который непосредственно минимизируется в процессе обучения на [[Обучающая выборка|обучающей выборке]] <tex>X^l</tex><ref name="vorontsov"/>. |
| - | * '''Внешний критерий (Метрика):''' Итоговая метрика оценки (например, ROC-AUC, < | + | * '''Внешний критерий (Метрика):''' Итоговая метрика оценки (например, ROC-AUC, <tex>F_1</tex>-мера), по которой результаты будут проверяться на тестовой выборке и представляться заказчику. В корректной формулировке ДНК функции потерь и внешняя метрика могут не совпадать, но должны быть коррелированы. |
== Математическая формализация == | == Математическая формализация == | ||
В общем виде шаблон ДНК сводит задачу машинного обучения к стандартной задаче оптимизации: | В общем виде шаблон ДНК сводит задачу машинного обучения к стандартной задаче оптимизации: | ||
| - | + | <tex>a^* = \arg\min_{a \in \mathcal{A}} Q(a, X^l) \to \min</tex> | |
| - | < | + | |
| - | + | ||
где: | где: | ||
| - | * < | + | * <tex>X^l = \{(x_1, y_1), \dots, (x_l, y_l)\}</tex> — '''Дано''' (выборка); |
| - | * < | + | * <tex>\mathcal{A}</tex> — '''Найти''' (семейство допустимых решающих правил); |
| - | * < | + | * <tex>Q</tex> — '''Критерий''' (функционал эмпирического риска)<ref name="ESL"/>. |
== Влияние шаблона на процесс решения == | == Влияние шаблона на процесс решения == | ||
| - | Разделение задачи на компоненты ДНК препятствует типичным ошибкам проектирования. Если специалист не зафиксировал в блоке «Дано» нарушение условия н.о.р. (например, наличие дрейфа | + | Разделение задачи на компоненты ДНК препятствует типичным ошибкам проектирования. Если специалист не зафиксировал в блоке «Дано» нарушение условия н.о.р. (например, наличие концептуального дрейфа), он может некорректно применить стандартную кросс-валидацию по K блокам (K-fold cross-validation), что приведет к утечке данных (data leakage) и завышенной оценке качества модели<ref name="sholle">Шолле Ф. Глубокое обучение // МЦНМО, 2018.</ref>. |
| - | Аналогично, разделение блоков «Найти» и «Критерий» объясняет использование суррогатных функций потерь. В задаче классификации найти точное решение часто вычислительно невозможно (NP-трудная задача), поэтому в блоке «Критерий» вместо пороговой функции потерь используют её гладкую верхнюю оценку (логистическую функцию или hinge loss) | + | Аналогично, разделение блоков «Найти» и «Критерий» объясняет использование суррогатных функций потерь. В задаче классификации найти точное решение часто вычислительно невозможно (NP-трудная задача), поэтому в блоке «Критерий» вместо пороговой функции потерь используют её гладкую верхнюю оценку (логистическую функцию или hinge loss), что позволяет применить градиентный спуск для поиска приближенного решения в блоке «Найти»<ref name="vorontsov"/>. |
== Примеры заполнения шаблона == | == Примеры заполнения шаблона == | ||
=== Задача выявления мошеннических транзакций === | === Задача выявления мошеннических транзакций === | ||
| - | * '''Дано:''' < | + | * '''Дано:''' <tex>X</tex> — векторы признаков транзакций (сумма, время, IP-адрес). Выборка не н.о.р. во времени, наблюдается сильный дисбаланс классов (менее 1% фрода). Ограничение: модель должна выдавать ответ менее чем за 50 мс. |
| - | * '''Найти:''' Бинарный классификатор < | + | * '''Найти:''' Бинарный классификатор <tex>a: X \to [0, 1]</tex>, оценивающий вероятность мошенничества (с последующей бинаризацией по порогу). |
| - | * '''Критерий:''' В качестве функции потерь используется логистическая функция потерь ( | + | * '''Критерий:''' В качестве функции потерь используется логистическая функция потерь (logistic loss) с весами для компенсации дисбаланса. Внешний критерий — Recall (полнота) при фиксированном значении Precision не ниже 90% (обусловлено бизнес-требованием минимизации ложноположительных срабатываний). |
=== Задача прогнозирования остаточного срока службы оборудования === | === Задача прогнозирования остаточного срока службы оборудования === | ||
| - | * '''Дано:''' < | + | * '''Дано:''' <tex>X</tex> — многомерные временные ряды показателей датчиков (вибрация, температура). Длина последовательностей варьируется. Данные содержат пропуски из-за сбоя датчиков. |
| - | * '''Найти:''' Функцию регрессии < | + | * '''Найти:''' Функцию регрессии <tex>a: X \to \mathbb{R}_{+}</tex>, предсказывающую количество часов до поломки. |
* '''Критерий:''' Функция потерь — среднеквадратичная ошибка (MSE). Внешний критерий — MAE (средняя абсолютная ошибка), так как она более робастна к выбросам и понятна инженерам. | * '''Критерий:''' Функция потерь — среднеквадратичная ошибка (MSE). Внешний критерий — MAE (средняя абсолютная ошибка), так как она более робастна к выбросам и понятна инженерам. | ||
Текущая версия
| | Статья написана с использованием LLM GPT-4o и проверена участником Arina Pakalova 21:37, 24 июня 2026 (MSD) |
ДНК задачи (аббревиатура от Дано — Найти — Критерий) — это мнемоническое правило и базовый математический шаблон, используемый для строгой формализации задач в машинном обучении. Шаблон требует точного описания трех компонент: исходных данных, искомой математической зависимости и функционала, по которому будет оцениваться качество решения.
Использование шаблона ДНК позволяет систематизировать постановку задачи до начала написания кода или выбора конкретных алгоритмов, исключая логические пробелы и некорректные сравнения моделей[1].
Содержание |
Структура шаблона
Дано (Входные данные и ограничения)
Секция описывает информационное пространство, в котором существует задача.
- Пространство объектов: Множество
, представляющее все возможные описания объектов. В этой же секции фиксируется признаковое пространство: типы признаков (числовые, категориальные, текстовые, графовые) и их масштабы[1].
- Структура выборки: Характер распределения данных. Фиксируется, выполняется ли предположение о независимости и одинаковой распределенности (н.о.р., англ. i.i.d.), или данные имеют сложную структуру (например, временные ряды с автокорреляцией, пространственные данные).
- Системные ограничения: Аппаратные лимиты (объем оперативной памяти, время инференса), которые задают верхнюю границу сложности допустимых моделей.
Найти (Искомая зависимость)
Секция определяет цель построения модели.
- Пространство ответов: Множество
, в котором лежат целевые переменные (для обучения с учителем) или структура выходных данных (для обучения без учителя).
- Тип задачи: На основе
и
определяется математическая формулировка: поиск решающего правила для классификации (отображение
), регрессия (
), ранжирование или поиск скрытых структур в
(кластеризация).
- Класс моделей: Семейство алгоритмов
, в котором ведется поиск (например, класс линейных моделей или класс деревьев решений).
Критерий (Функционал качества)
Секция задает математический аппарат для выбора наилучшего алгоритма .
- Функция потерь (Loss function): Функция
, оценивающая ошибку одного предсказания. Критерий требует указания её свойств (например, дифференцируемость для применения градиентных методов).
- Эмпирический риск (Критерий оптимизации): Функционал
, который непосредственно минимизируется в процессе обучения на обучающей выборке
[1].
- Внешний критерий (Метрика): Итоговая метрика оценки (например, ROC-AUC,
-мера), по которой результаты будут проверяться на тестовой выборке и представляться заказчику. В корректной формулировке ДНК функции потерь и внешняя метрика могут не совпадать, но должны быть коррелированы.
Математическая формализация
В общем виде шаблон ДНК сводит задачу машинного обучения к стандартной задаче оптимизации:
где:
-
— Дано (выборка);
-
— Найти (семейство допустимых решающих правил);
-
— Критерий (функционал эмпирического риска)[1].
Влияние шаблона на процесс решения
Разделение задачи на компоненты ДНК препятствует типичным ошибкам проектирования. Если специалист не зафиксировал в блоке «Дано» нарушение условия н.о.р. (например, наличие концептуального дрейфа), он может некорректно применить стандартную кросс-валидацию по K блокам (K-fold cross-validation), что приведет к утечке данных (data leakage) и завышенной оценке качества модели[1].
Аналогично, разделение блоков «Найти» и «Критерий» объясняет использование суррогатных функций потерь. В задаче классификации найти точное решение часто вычислительно невозможно (NP-трудная задача), поэтому в блоке «Критерий» вместо пороговой функции потерь используют её гладкую верхнюю оценку (логистическую функцию или hinge loss), что позволяет применить градиентный спуск для поиска приближенного решения в блоке «Найти»[1].
Примеры заполнения шаблона
Задача выявления мошеннических транзакций
- Дано:
— векторы признаков транзакций (сумма, время, IP-адрес). Выборка не н.о.р. во времени, наблюдается сильный дисбаланс классов (менее 1% фрода). Ограничение: модель должна выдавать ответ менее чем за 50 мс.
- Найти: Бинарный классификатор
, оценивающий вероятность мошенничества (с последующей бинаризацией по порогу).
- Критерий: В качестве функции потерь используется логистическая функция потерь (logistic loss) с весами для компенсации дисбаланса. Внешний критерий — Recall (полнота) при фиксированном значении Precision не ниже 90% (обусловлено бизнес-требованием минимизации ложноположительных срабатываний).
Задача прогнозирования остаточного срока службы оборудования
- Дано:
— многомерные временные ряды показателей датчиков (вибрация, температура). Длина последовательностей варьируется. Данные содержат пропуски из-за сбоя датчиков.
- Найти: Функцию регрессии
, предсказывающую количество часов до поломки.
- Критерий: Функция потерь — среднеквадратичная ошибка (MSE). Внешний критерий — MAE (средняя абсолютная ошибка), так как она более робастна к выбросам и понятна инженерам.
См. также
- Формализация задачи обучения по прецедентам
- Эмпирический риск
- Функция потерь
- Обучающая выборка
- Переобучение

