Модель алгоритма и её выбор — различия между версиями
(Добавлена секция примечания) |
(Добавлены задача выбора модели и методы выбора модели) |
||
Строка 6: | Строка 6: | ||
Пусть задана функция <tex> f: \hat{X} -> W -> \hat{T} </tex>, где W - множество дополнительных параметров (весов) функции. | Пусть задана функция <tex> f: \hat{X} -> W -> \hat{T} </tex>, где W - множество дополнительных параметров (весов) функции. | ||
− | Описанная выше функция f для фиксированного значения весов <tex> w \in W </tex> называется '''решающим правилом'''. | + | Описанная выше функция <tex> f </tex> для фиксированного значения весов <tex> w \in W </tex> называется '''решающим правилом'''. |
'''Модель''' {{---}} это совокупность всех решающих правил, которые получаются путем присваивания весам всех возможных допустимых значений. | '''Модель''' {{---}} это совокупность всех решающих правил, которые получаются путем присваивания весам всех возможных допустимых значений. | ||
Строка 22: | Строка 22: | ||
Для нахождения оптимальных гиперпараметров модели могут применяться различные алгоритмы [[Настройка гиперпараметров | настройки гиперпараметров]]<sup>[на 08.01.19 не создан]</sup>. | Для нахождения оптимальных гиперпараметров модели могут применяться различные алгоритмы [[Настройка гиперпараметров | настройки гиперпараметров]]<sup>[на 08.01.19 не создан]</sup>. | ||
+ | |||
+ | == Задача выбора модели == | ||
+ | '''Выбрать модель''' {{---}} определить множество весов <tex> W </tex> и структуру решающего правила <tex> f(., .) </tex> | ||
+ | |||
+ | Пусть есть две модели <tex> M_1 = \{f_1(., w)| w \in W_1\} </tex> и <tex> M_2 = \{f_2(., w)| w \in W_2\} </tex>. Необходимо выбрать наилучшую модель из этих двух. | ||
+ | |||
+ | Стоит отметить, что недостаточно обучить обе модели на обучающей выборке и выбрать ту, которая лучше работает на обучающей выборке, потому что лучшая работа может быть следствием переобучения. Также выбирать модель надо исходя из желаемого времени обучения и времени получения ответа - более сложная модель может давать более точные результаты, но работать значительно дольше более простой модели. | ||
+ | |||
+ | === Методы выбора модели === | ||
+ | '''Методы выбора модели''' {{---}} алгоритмы, позволяющие проводить автоматический выбор модели. | ||
+ | |||
+ | ==== Кросс-валидация ==== | ||
+ | Алгоритм кросс-валидации работает следующим образом: | ||
+ | # Обучающая выборка разбивается на <tex> k </tex> непересекающихся одинаковых по объему частей; | ||
+ | # Производится <tex> k </tex> итераций. На каждой итерации происходит следующее: | ||
+ | ## Модель обучается на <tex> k - 1 </tex> части обучающей выборки; | ||
+ | ## Модель тестируется на части обучающей выборки, которая не участвовала в обучении; | ||
+ | # В результате можно посчитать различные метрики, показывающие, насколько модель удачная, например, среднюю ошибку на частях, которые не участвовали в обучающей выборке. | ||
+ | Таким образом эмулируется наличие тестовой выборки, которая не участвует в обучении, но для которой известны правильные ответы. | ||
+ | |||
+ | Достоинства и недостатки кросс-валидации: | ||
+ | # Ошибка в процедуре кросс-валидации является достаточно точной оценкой ошибки на генеральной совокупности; | ||
+ | # Проведение кросс-валидации требует значительного времени на многократное повторное обучение алгоритмов и применимо лишь для "быстрых" алгоритмов машинного обучения; | ||
+ | # Кросс-валидация плохо применима в задачах кластерного анализа и прогнозирования временных рядов. | ||
+ | |||
+ | ==== Теория Вапника-Червоненкиса ==== | ||
+ | Идея данной теории заключается в следующем: чем более "гибкой" является модель, тем хуже ее обобщающая способность. Данная идея базируется на том, что "гибкое" решающее правило способно настраиваться на малейшие шумы, содержащиеся в обучающей выборке. | ||
+ | |||
+ | '''Емкость модели для задачи классификации''' {{---}} максимальное число объектов обучающей выборки, для которых при любом их разбиении на классы найдется хотя бы одно решающее правило, безошибочно их классифицирующее. | ||
+ | |||
+ | По аналогии емкость обобщается на другие задачи машинного обучения. | ||
+ | |||
+ | Очевидно, что чем больше емкость, тем более "гибкой" является модель и, соответственно, тем хуже. Значит нужно добиваться минимально возможного количества ошибок на обучении при минимальной возможной емкости. | ||
+ | |||
+ | Существует формула Вапника, связывающая ошибку на обучении <tex> P_{train}(w) </tex>, емкость <tex> h(W) </tex> и ошибку на генеральной совокупности <tex> P_{test}(w) </tex>: | ||
+ | |||
+ | <tex> P_{test}(w) <= P_{train}(w) + \sqrt{\frac{h(W) * (\log{(\frac{2d}{h(W)})} + 1) - \log{(\frac{\eta}{4})}}{n}} </tex>, где <tex> d </tex> {{---}} размерность пространства признаков. | ||
+ | |||
+ | Неравенство верно с вероятностью <tex> 1 - \eta </tex> <tex> \forall w \in W </tex> | ||
+ | |||
+ | Алгоритм выбора модели согласно теории Вапника-Червоненкиса: Последовательно анализируя модели с увеличивающейся емкостью, необходимо выбирать модель с наименьшей верхней оценкой тестовой ошибки. | ||
+ | |||
+ | Достоинства теории Вапника-Червоненкиса: | ||
+ | # Серьезное теоретическое обоснование, связь с ошибкой на генеральной совокупности; | ||
+ | # Теория продолжает развиваться и в наши дни. | ||
+ | Недостатки теории Вапника-Червоненкиса: | ||
+ | # Оценки ошибки на генеральной совокупности сильно завышены; | ||
+ | # Для большинства моделей емкость не поддается оценке; | ||
+ | # Многие модели с бесконечной емкостью показывают хорошие результаты на практике. | ||
== См. также == | == См. также == | ||
Строка 29: | Строка 78: | ||
== Примечания == | == Примечания == | ||
− | # [http://www.machinelearning.ru/wiki/ | + | # [http://www.machinelearning.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D0%BC%D0%B5%D1%80%D0%BD%D0%BE%D1%81%D1%82%D1%8C_%D0%92%D0%B0%D0%BF%D0%BD%D0%B8%D0%BA%D0%B0-%D0%A7%D0%B5%D1%80%D0%B2%D0%BE%D0%BD%D0%B5%D0%BD%D0%BA%D0%B8%D1%81%D0%B0 Теория Вапника-Червоненкинса] |
− | # [https://en.wikipedia.org/wiki/ | + | # [https://en.wikipedia.org/wiki/Cross-validation_(statistics) Кросс-валидация] |
− | |||
== Источники информации == | == Источники информации == | ||
# [http://www.machinelearning.ru/wiki/images/0/05/BMMO11_4.pdf Выбор модели] - презентация на MachineLearning.ru | # [http://www.machinelearning.ru/wiki/images/0/05/BMMO11_4.pdf Выбор модели] - презентация на MachineLearning.ru | ||
# [https://en.wikipedia.org/wiki/Hyperparameter_(machine_learning) Гиперпараметры] - статья на Википедии | # [https://en.wikipedia.org/wiki/Hyperparameter_(machine_learning) Гиперпараметры] - статья на Википедии | ||
# [https://machinelearningmastery.com/difference-between-a-parameter-and-a-hyperparameter/ Разница между параметрами и гиперпараметрами] - описание разницы между параметрами и гиперпараметрами модели | # [https://machinelearningmastery.com/difference-between-a-parameter-and-a-hyperparameter/ Разница между параметрами и гиперпараметрами] - описание разницы между параметрами и гиперпараметрами модели |
Версия 22:59, 13 января 2019
Содержание
Понятие модели
Пусть дана обучающая выборка
, где — множество значений признаков, — множество, содержащее для каждого элемента из X его классификацию.Пусть множество всевозможных значений признаков
, множество всевозможных классификаций .Пусть задана функция
, где W - множество дополнительных параметров (весов) функции.Описанная выше функция
для фиксированного значения весов называется решающим правилом.Модель — это совокупность всех решающих правил, которые получаются путем присваивания весам всех возможных допустимых значений.
Формально модель
.Модель определяется множеством допустимых весов
и структурой решающего правилаПонятие гиперпараметров модели
Гиперпараметры модели — это параметры, значения которых задается до начала обучения модели и не изменяется в процессе обучения. У модели может не быть гиперпараметров.
Параметры модели — это параметры, которые изменяются и оптимизируются в процессе обучения модели и итоговые значения этих параметров являются результатом обучения модели.
Примерами гиперпараметров могут служить количество слоев нейронной сети, а также количество нейронов на каждом слое. Примерами параметров могут служить веса ребер нейронной сети.
Для нахождения оптимальных гиперпараметров модели могут применяться различные алгоритмы настройки гиперпараметров[на 08.01.19 не создан].
Задача выбора модели
Выбрать модель — определить множество весов
и структуру решающего правилаПусть есть две модели
и . Необходимо выбрать наилучшую модель из этих двух.Стоит отметить, что недостаточно обучить обе модели на обучающей выборке и выбрать ту, которая лучше работает на обучающей выборке, потому что лучшая работа может быть следствием переобучения. Также выбирать модель надо исходя из желаемого времени обучения и времени получения ответа - более сложная модель может давать более точные результаты, но работать значительно дольше более простой модели.
Методы выбора модели
Методы выбора модели — алгоритмы, позволяющие проводить автоматический выбор модели.
Кросс-валидация
Алгоритм кросс-валидации работает следующим образом:
- Обучающая выборка разбивается на непересекающихся одинаковых по объему частей;
- Производится
- Модель обучается на части обучающей выборки;
- Модель тестируется на части обучающей выборки, которая не участвовала в обучении;
итераций. На каждой итерации происходит следующее:
- В результате можно посчитать различные метрики, показывающие, насколько модель удачная, например, среднюю ошибку на частях, которые не участвовали в обучающей выборке.
Таким образом эмулируется наличие тестовой выборки, которая не участвует в обучении, но для которой известны правильные ответы.
Достоинства и недостатки кросс-валидации:
- Ошибка в процедуре кросс-валидации является достаточно точной оценкой ошибки на генеральной совокупности;
- Проведение кросс-валидации требует значительного времени на многократное повторное обучение алгоритмов и применимо лишь для "быстрых" алгоритмов машинного обучения;
- Кросс-валидация плохо применима в задачах кластерного анализа и прогнозирования временных рядов.
Теория Вапника-Червоненкиса
Идея данной теории заключается в следующем: чем более "гибкой" является модель, тем хуже ее обобщающая способность. Данная идея базируется на том, что "гибкое" решающее правило способно настраиваться на малейшие шумы, содержащиеся в обучающей выборке.
Емкость модели для задачи классификации — максимальное число объектов обучающей выборки, для которых при любом их разбиении на классы найдется хотя бы одно решающее правило, безошибочно их классифицирующее.
По аналогии емкость обобщается на другие задачи машинного обучения.
Очевидно, что чем больше емкость, тем более "гибкой" является модель и, соответственно, тем хуже. Значит нужно добиваться минимально возможного количества ошибок на обучении при минимальной возможной емкости.
Существует формула Вапника, связывающая ошибку на обучении
, емкость и ошибку на генеральной совокупности :, где — размерность пространства признаков.
Неравенство верно с вероятностью
Алгоритм выбора модели согласно теории Вапника-Червоненкиса: Последовательно анализируя модели с увеличивающейся емкостью, необходимо выбирать модель с наименьшей верхней оценкой тестовой ошибки.
Достоинства теории Вапника-Червоненкиса:
- Серьезное теоретическое обоснование, связь с ошибкой на генеральной совокупности;
- Теория продолжает развиваться и в наши дни.
Недостатки теории Вапника-Червоненкиса:
- Оценки ошибки на генеральной совокупности сильно завышены;
- Для большинства моделей емкость не поддается оценке;
- Многие модели с бесконечной емкостью показывают хорошие результаты на практике.
См. также
- Настройка гиперпараметров[на 08.01.19 не создан]
- Переобучение
- Мета-обучение[на 08.01.19 не создан]
Примечания
Источники информации
- Выбор модели - презентация на MachineLearning.ru
- Гиперпараметры - статья на Википедии
- Разница между параметрами и гиперпараметрами - описание разницы между параметрами и гиперпараметрами модели