<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://neerc.ifmo.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=5.18.238.36&amp;*</id>
		<title>Викиконспекты - Вклад участника [ru]</title>
		<link rel="self" type="application/atom+xml" href="http://neerc.ifmo.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=5.18.238.36&amp;*"/>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/5.18.238.36"/>
		<updated>2026-05-19T18:00:44Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%B0_%D0%B8_%D0%B5%D1%91_%D0%B2%D1%8B%D0%B1%D0%BE%D1%80&amp;diff=68512</id>
		<title>Модель алгоритма и её выбор</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%B0_%D0%B8_%D0%B5%D1%91_%D0%B2%D1%8B%D0%B1%D0%BE%D1%80&amp;diff=68512"/>
				<updated>2019-01-18T17:18:57Z</updated>
		
		<summary type="html">&lt;p&gt;5.18.238.36: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Понятие модели==&lt;br /&gt;
Пусть дана обучающая выборка &amp;lt;tex&amp;gt;(X, Y)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt; X &amp;lt;/tex&amp;gt; {{---}} множество признаков, описывающих объекты, а &amp;lt;tex&amp;gt; Y &amp;lt;/tex&amp;gt; {{---}} конечное множество меток.&lt;br /&gt;
&lt;br /&gt;
Пусть задана функция &amp;lt;tex&amp;gt; g: X \times \Theta \rightarrow Y &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt; \Theta &amp;lt;/tex&amp;gt; {{---}} множество дополнительных параметров (весов) функции.&lt;br /&gt;
&lt;br /&gt;
Описанная выше функция &amp;lt;tex&amp;gt; g &amp;lt;/tex&amp;gt; для фиксированного значения весов &amp;lt;tex&amp;gt; \theta \in \Theta &amp;lt;/tex&amp;gt; называется '''решающим правилом'''.&lt;br /&gt;
&lt;br /&gt;
'''Модель''' {{---}} это совокупность всех решающих правил, которые получаются путем присваивания весам всех возможных допустимых значений. &lt;br /&gt;
&lt;br /&gt;
Формально модель &amp;lt;tex&amp;gt; A = \{g(x, \theta)| \theta \in \Theta\} &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Модель определяется множеством допустимых весов &amp;lt;tex&amp;gt; \Theta &amp;lt;/tex&amp;gt; и структурой решающего правила &amp;lt;tex&amp;gt; g(x,\theta) &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Понятие гиперпараметров модели ===&lt;br /&gt;
'''Гиперпараметры модели''' {{---}} это параметры, значения которых задается до начала обучения модели и не изменяется в процессе обучения. У модели может не быть гиперпараметров.&lt;br /&gt;
&lt;br /&gt;
'''Параметры модели''' {{---}} это параметры, которые изменяются и оптимизируются в процессе обучения модели и итоговые значения этих параметров являются результатом обучения модели. &lt;br /&gt;
&lt;br /&gt;
Примерами гиперпараметров могут служить количество слоев нейронной сети, а также количество нейронов на каждом слое. Примерами параметров могут служить веса ребер нейронной сети.&lt;br /&gt;
&lt;br /&gt;
Для нахождения оптимальных гиперпараметров модели могут применяться различные алгоритмы [[Настройка гиперпараметров | настройки гиперпараметров]]&amp;lt;sup&amp;gt;[на 08.01.19 не создан]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Пример ===&lt;br /&gt;
[[Файл:Linear-regression.png|300px|thumb|[http://www.machinelearning.ru/wiki/index.php?title=%D0%9B%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%B0%D1%8F_%D1%80%D0%B5%D0%B3%D1%80%D0%B5%D1%81%D1%81%D0%B8%D1%8F_%28%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%29 Рис 1. Пример линейной регрессии]]]&lt;br /&gt;
В качестве примера модели приведем [[Линейная регрессия | линейную регрессию]]&amp;lt;sup&amp;gt;[на 18.01.19 не создан].&lt;br /&gt;
&lt;br /&gt;
Линейная регрессия задается следующей формулой:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; g(x, \theta) = \theta_0 + \theta_1x_1 + ... + \theta_kx_k = \theta_0 + \sum_{i=1}^k \theta_ix_i = \theta_0 + x^T\theta&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt; x^T = (x_1, x_2, ..., x_k) &amp;lt;/tex&amp;gt; {{---}} вектор признаков, &amp;lt;tex&amp;gt; \theta = (\theta_1, \theta_2, ..., \theta_k)&amp;lt;/tex&amp;gt; {{---}} веса модели, настраиваемые в процессе обучения.&lt;br /&gt;
&lt;br /&gt;
Гиперпараметром модели является число слагаемых в функции &amp;lt;tex&amp;gt; g(x, \theta) &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Более подробный пример линейной регрессии можно посмотреть в статье [[Переобучение | переобучение]].&lt;br /&gt;
&lt;br /&gt;
== Задача выбора модели ==&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt; {{---}} модель алгоритма, характеризующаяся гиперпараметрами &amp;lt;tex&amp;gt; \lambda = \{\lambda_1, ..., \lambda_m\}, \lambda_1 \in \Lambda_1, ..., \lambda_m \in \Lambda_m &amp;lt;/tex&amp;gt;. Тогда с ней связано пространство гиперпараметров &amp;lt;tex&amp;gt; \Lambda = \Lambda_1 \times ... \times \Lambda_m &amp;lt;/tex&amp;gt;. За &amp;lt;tex&amp;gt; A_{\lambda}&amp;lt;/tex&amp;gt; обозначим алгоритм, то есть модель алгоритма, для которой задан вектор гиперпараметров &amp;lt;tex&amp;gt; \lambda \in \Lambda &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Для выбора наилучшего алгоритма необходимо зафиксировать меру качества работы алгоритма. Назовем эту меру &amp;lt;tex&amp;gt; Q(A_{\lambda}, D) &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Задачу выбора наилучшего алгоритма можно разбить на две подзадачи: подзадачу выбора лучшего алгоритма из портфолио и подзадачу настройки гиперпараметров.&lt;br /&gt;
&lt;br /&gt;
==== Подзадача выбора лучшего алгоритма из портфолио ====&lt;br /&gt;
Дано некоторое множество алгоритмов с фиксированными структурными параметрами &amp;lt;tex&amp;gt; \mathcal{A} = \{A^1_{\lambda_1}, ..., A^m_{\lambda_m}\}&amp;lt;/tex&amp;gt; и обучающая выборка &amp;lt;tex&amp;gt; D = \{d_1, ..., d_n\}&amp;lt;/tex&amp;gt;. Здесь &amp;lt;tex&amp;gt; d_i = (x_i, y_i) \in (X, Y)&amp;lt;/tex&amp;gt;. Требуется выбрать алгоритм &amp;lt;tex&amp;gt; A^*_{\lambda_*} &amp;lt;/tex&amp;gt;, который окажется наиболее эффективным с точки зрения меры качества &amp;lt;tex&amp;gt; Q &amp;lt;/tex&amp;gt;&lt;br /&gt;
==== Подзадача оптимизации гиперпараметров ====&lt;br /&gt;
Подзадача оптимизации гиперпараметров заключается в подборе таких &amp;lt;tex&amp;gt; \lambda^* \in \Lambda &amp;lt;/tex&amp;gt;, при которых заданная модель алгоритма &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt; будет наиболее эффективна.&lt;br /&gt;
&lt;br /&gt;
Гиперпараметры могут выбираться из ограниченного множества или с помощью перебора из неограниченного множества гиперпараметров, это зависит от непосредственной задачи. Во втором случае актуален вопрос максимального времени, которое можно потратить на поиск наилучших гиперпараметров, так как чем больше времени происходит перебор, тем лучше гиперпараметры можно найти, но при этом может быть ограничен временной бюджет, из-за чего перебор придется прервать.&lt;br /&gt;
&lt;br /&gt;
=== Методы выбора модели ===&lt;br /&gt;
Модель можно выбрать из некоторого множества моделей, проверив результат работы каждой модели из множества с помощью ручного тестирования, но ручное тестирование серьезно ограничивает количество моделей, которые можно перебрать, а также требует больших трудозатрат. Поэтому в большинстве случаев используются алгоритмы, позволяющие автоматически выбирать модель. Далее будут рассмотрены некоторые из таких алгоритмов.&lt;br /&gt;
[[Файл:Scikit-learn-scheme.png|900px|thumb|[https://www.codeastar.com/choose-machine-learning-models-python/ Рис 2. Схема выбора модели в библиотеке scikit-learn для Python]]]&lt;br /&gt;
==== Кросс-валидация ====&lt;br /&gt;
Основная идея алгоритма кросс-валидации {{---}} разбить обучающую выборку на обучающую и тестовую, чтобы таким образом эмулировать наличие тестовой выборки, которая не участвует в обучении, но для которой известны правильные ответы. Более подробно про алгоритм кросс-валидации можно прочитать в [[Кросс-валидация | соответствующей статье]].&lt;br /&gt;
&lt;br /&gt;
Достоинства и недостатки кросс-валидации:&lt;br /&gt;
# Ошибка в процедуре кросс-валидации является достаточно точной оценкой ошибки на генеральной совокупности;&lt;br /&gt;
# Проведение кросс-валидации требует значительного времени на многократное повторное обучение алгоритмов и применимо лишь для «быстрых» алгоритмов машинного обучения;&lt;br /&gt;
# Кросс-валидация плохо применима в задачах кластерного анализа и прогнозирования временных рядов.&lt;br /&gt;
&lt;br /&gt;
==== Мета-обучение ====&lt;br /&gt;
Целью мета-обучения является решение задачи выбора алгоритма из портфолио алгоритмов для решения поставленной задачи без непосредственного применения каждого из них. Решение этой задачи в рамках мета-обучения сводится к задаче [https://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D1%81_%D1%83%D1%87%D0%B8%D1%82%D0%B5%D0%BB%D0%B5%D0%BC обучения с учителем]. Для этого используется заранее отобранное множество наборов данных &amp;lt;tex&amp;gt; D &amp;lt;/tex&amp;gt;. Для каждого набора данных &amp;lt;tex&amp;gt; d \in D &amp;lt;/tex&amp;gt; вычисляется вектор мета-признаков, которые описывают свойства этого набора данных. Ими могут быть: число категориальных или численных признаков объеков в &amp;lt;tex&amp;gt; d &amp;lt;/tex&amp;gt;, число возможных меток, размер &amp;lt;tex&amp;gt; d &amp;lt;/tex&amp;gt; и [https://ieeexplore.ieee.org/document/7382962 многие другие], а еще эту статью можно найти вот [https://www.fruct.org/publications/ainl-fruct/files/Fil.pdf тут]. Каждый алгоритм запускается на всех наборах данных из &amp;lt;tex&amp;gt; D &amp;lt;/tex&amp;gt;. После этого вычисляется эмпирический риск, на основе которого формируются метки классов. Затем мета-классификатор обучается на полученных результатах. В качестве описания набора данных выступает вектор мета-признаков, а в качестве метки — алгоритм, оказавшийся самым эффективным с точки зрения заранее выбранной меры качества. &lt;br /&gt;
&lt;br /&gt;
Более подробно про мета-обучение можно почитать в [[Мета-обучение | соответствующей статье]]&amp;lt;sup&amp;gt;[на 08.01.19 не создан]&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Достоинства и недостатки мета-обучения:&lt;br /&gt;
# Алгоритм, обучающийся большое время, запускается меньшее количество раз, что сокращает время работы;&lt;br /&gt;
# Точность алгоритма может быть ниже, чем при кросс-валидации.&lt;br /&gt;
&lt;br /&gt;
==== Теория Вапника-Червоненкиса ====&lt;br /&gt;
Идея данной теории заключается в следующем: чем более «гибкой» является модель, тем хуже ее обобщающая способность. Данная идея базируется на том, что «гибкое» решающее правило способно настраиваться на малейшие шумы, содержащиеся в обучающей выборке.&lt;br /&gt;
&lt;br /&gt;
'''Емкость модели для задачи классификации''' {{---}} максимальное число объектов обучающей выборки, для которых при любом их разбиении на классы найдется хотя бы одно решающее правило, безошибочно их классифицирующее.&lt;br /&gt;
&lt;br /&gt;
По аналогии емкость обобщается на другие задачи машинного обучения.&lt;br /&gt;
&lt;br /&gt;
Очевидно, что чем больше емкость, тем более «гибкой» является модель и, соответственно, тем хуже. Значит нужно добиваться минимально возможного количества ошибок на обучении при минимальной возможной емкости.&lt;br /&gt;
&lt;br /&gt;
Существует формула Вапника, связывающая ошибку на обучении &amp;lt;tex&amp;gt; P_{train}(\theta) &amp;lt;/tex&amp;gt;, емкость &amp;lt;tex&amp;gt; h(\theta) &amp;lt;/tex&amp;gt; и ошибку на генеральной совокупности &amp;lt;tex&amp;gt; P_{test}(\theta) &amp;lt;/tex&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; P_{test}(\theta) &amp;lt;= P_{train}(\theta) + \sqrt{\frac{h(\Theta) * (\log{(\frac{2d}{h(\Theta)})} + 1) - \log{(\frac{\eta}{4})}}{n}} &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt; d &amp;lt;/tex&amp;gt; {{---}} размерность пространства признаков.&lt;br /&gt;
&lt;br /&gt;
Неравенство верно с вероятностью &amp;lt;tex&amp;gt; 1 - \eta &amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt; \forall \theta \in \Theta &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Алгоритм выбора модели согласно теории Вапника-Червоненкиса: Последовательно анализируя модели с увеличивающейся емкостью, необходимо выбирать модель с наименьшей верхней оценкой тестовой ошибки.&lt;br /&gt;
&lt;br /&gt;
Достоинства теории Вапника-Червоненкиса:&lt;br /&gt;
# Серьезное теоретическое обоснование, связь с ошибкой на генеральной совокупности;&lt;br /&gt;
# Теория продолжает развиваться и в наши дни.&lt;br /&gt;
Недостатки теории Вапника-Червоненкиса:&lt;br /&gt;
# Оценки ошибки на генеральной совокупности сильно завышены;&lt;br /&gt;
# Для большинства моделей емкость не поддается оценке;&lt;br /&gt;
# Многие модели с бесконечной емкостью показывают хорошие результаты на практике.&lt;br /&gt;
&lt;br /&gt;
== Существующие системы автоматического выбора модели ==&lt;br /&gt;
===Автоматизированный выбор модели в библиотеке [https://www.ml4aad.org/wp-content/uploads/2018/07/automl_book_draft_auto-weka.pdf auto-WEKA] для Java.===&lt;br /&gt;
Библиотека используется для одновременного поиска оптимальной модели и оптимальных гиперпараметров модели для задач классификации и регрессии (начиная с версии 2.0).&lt;br /&gt;
&lt;br /&gt;
Библиотека позволяет автоматически выбирать из 27 базовых алгоритмов, 10 мета-алгоритмов и 2 ансамблевых алгоритмов лучший, одновременно настраивая его гиперпараметры при помощи алгоритма [https://www.ml4aad.org/automated-algorithm-design/algorithm-configuration/smac/ SMAC]. Решение достигается полным перебором: оптимизация гиперпараметров запускается на всех алгоритмах по очереди. Недостатком такого подхода является слишком большое время выбора модели.&lt;br /&gt;
===Автоматизированный выбор модели в библиотеке [https://epistasislab.github.io/tpot/ Tree-base Pipeline Optimization Tool (TPOT)] для Python.===&lt;br /&gt;
[[Файл:TPOT-scheme.jpeg|500px|thumb|[https://raw.githubusercontent.com/EpistasisLab/tpot/master/images/tpot-ml-pipeline.png Рис 3. Схема выбора модели в библиотеке TPOT]]]&lt;br /&gt;
Библиотека используется для одновременного поиска оптимальной модели и оптимальных гиперпараметров модели для задачи классификации.&lt;br /&gt;
&lt;br /&gt;
Выбор модели осуществляется на основе конвейера, организованного в древовидной структуре. Каждая вершина дерева {{---}} один из четырех операторов конвейера (preprocessing, decomposition, feature selection, modelling). Каждый конвейер начинается с одной или нескольких копий входного набора данных, которые являются листьями дерева и которые подаются в операторы в соответствии со структурой конвейера. Данные модифицируются оператором в вершине и поступают на вход следующей вершины. В библиотеке используются генетические алгоритмы для нахождения лучших конвейеров.&lt;br /&gt;
&lt;br /&gt;
После поиска конвейера его также можно экспортировать в файл Python.&lt;br /&gt;
&lt;br /&gt;
===Автоматизированный выбор модели в библиотеке [https://automl.github.io/auto-sklearn/stable/ auto-sklearn] для Python.===&lt;br /&gt;
[[Файл:Auto-sklearn-scheme.png|500px|thumb|[https://papers.nips.cc/paper/5872-efficient-and-robust-automated-machine-learning.pdf Рис 4. Схема выбора модели в библиотеке auto-sklearn]]]&lt;br /&gt;
Библиотека используется для одновременного поиска оптимальной модели и оптимальных гиперпараметров модели для задачи классификации.&lt;br /&gt;
&lt;br /&gt;
Сначала используется мета-обучение, использующая различные признаки и мета-признаки набора данных, чтобы найти наилучшие модели. После этого используется подход [https://en.wikipedia.org/wiki/Bayesian_optimization Байесовской оптимизации], чтобы найти наилучшие гиперпараметры для наилучших моделей.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Настройка гиперпараметров]]&amp;lt;sup&amp;gt;[на 08.01.19 не создан]&amp;lt;/sup&amp;gt;&lt;br /&gt;
* [[Переобучение]]&lt;br /&gt;
* [[Мета-обучение]]&amp;lt;sup&amp;gt;[на 08.01.19 не создан]&amp;lt;/sup&amp;gt;&lt;br /&gt;
* [[Линейная регрессия]]&amp;lt;sup&amp;gt;[на 18.01.19 не создан]&lt;br /&gt;
&lt;br /&gt;
== Примечания ==&lt;br /&gt;
# [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 Теория Вапника-Червоненкинса]&lt;br /&gt;
# [https://en.wikipedia.org/wiki/Cross-validation_(statistics) Кросс-валидация]&lt;br /&gt;
# [https://link.springer.com/article/10.1023/B:MACH.0000015878.60765.42 Мета-обучение]&lt;br /&gt;
# [https://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D1%81_%D1%83%D1%87%D0%B8%D1%82%D0%B5%D0%BB%D0%B5%D0%BC Обучение с учителем]&lt;br /&gt;
# [https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%B0%D1%8F_%D1%80%D0%B5%D0%B3%D1%80%D0%B5%D1%81%D1%81%D0%B8%D1%8F Линейная регрессия]&lt;br /&gt;
# [https://www.fruct.org/publications/ainl-fruct/files/Fil.pdf Datasets Meta-Feature Description for Recommending Feature Selection Algorithm]&lt;br /&gt;
# [https://www.ml4aad.org/automated-algorithm-design/algorithm-configuration/smac/ SMAC]&lt;br /&gt;
# [https://7bce9816-a-62cb3a1a-s-sites.googlegroups.com/site/automl2017icml/accepted-papers/AutoML_2017_paper_23.pdf?attachauth=ANoY7cr6uPaUoNh3gc3A-A1UbLXQgNEATEkfZmKD8kozB3hpCYtM9JwnOevEsW9W42CwurzJKrxxEatcB4DCjWNB_Ndvy1uC0lbQyCTlDIfrW6eYJXvdbFJPilYfmf8_ryilH0IwG0ddntLYy-VA3Fm1JeM495fTZxorYth0DDKiqtKvSR92dGl8CM_mUB7sun0R6wurCxM36QqcYEaf5kIm13MM0reWlR3aPZVNe_-AefOCpoXznR-wH04mSWjH8jmlk5Bw51AN&amp;amp;attredirects=0 Fast Automated Selection of Learning Algorithm And its Hyperparameters by Reinforcement Learning]&lt;br /&gt;
# Shalamov V., Efimova V., Muravyov S., and Filchenkov A. &amp;quot;Reinforcement-based Method for Simultaneous Clustering Algorithm Selection and its Hyperparameters Optimization.&amp;quot; Procedia Computer Science 136 (2018): 144-153.&lt;br /&gt;
== Источники информации ==&lt;br /&gt;
# [http://www.machinelearning.ru/wiki/images/0/05/BMMO11_4.pdf Выбор модели] - презентация на MachineLearning.ru&lt;br /&gt;
# [https://en.wikipedia.org/wiki/Hyperparameter_(machine_learning) Гиперпараметры] - статья на Википедии&lt;br /&gt;
# [https://machinelearningmastery.com/difference-between-a-parameter-and-a-hyperparameter/ Разница между параметрами и гиперпараметрами] - описание разницы между параметрами и гиперпараметрами модели&lt;br /&gt;
# [http://jmlda.org/papers/doc/2016/no2/Efimova2016Reinforcement.pdf Применение обучения с подкреплением для одновременного выбора модели алгоритма классификации и ее структурных параметров]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Автоматическое машинное обучение]]&lt;br /&gt;
[[Категория: Машинное обучение]]&lt;/div&gt;</summary>
		<author><name>5.18.238.36</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%B0_%D0%B8_%D0%B5%D1%91_%D0%B2%D1%8B%D0%B1%D0%BE%D1%80&amp;diff=68511</id>
		<title>Модель алгоритма и её выбор</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%B0_%D0%B8_%D0%B5%D1%91_%D0%B2%D1%8B%D0%B1%D0%BE%D1%80&amp;diff=68511"/>
				<updated>2019-01-18T17:18:28Z</updated>
		
		<summary type="html">&lt;p&gt;5.18.238.36: Немного изменен пример&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Понятие модели==&lt;br /&gt;
Пусть дана обучающая выборка &amp;lt;tex&amp;gt;(X, Y)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt; X &amp;lt;/tex&amp;gt; {{---}} множество признаков, описывающих объекты, а &amp;lt;tex&amp;gt; Y &amp;lt;/tex&amp;gt; {{---}} конечное множество меток.&lt;br /&gt;
&lt;br /&gt;
Пусть задана функция &amp;lt;tex&amp;gt; g: X \times \Theta \rightarrow Y &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt; \Theta &amp;lt;/tex&amp;gt; {{---}} множество дополнительных параметров (весов) функции.&lt;br /&gt;
&lt;br /&gt;
Описанная выше функция &amp;lt;tex&amp;gt; g &amp;lt;/tex&amp;gt; для фиксированного значения весов &amp;lt;tex&amp;gt; \theta \in \Theta &amp;lt;/tex&amp;gt; называется '''решающим правилом'''.&lt;br /&gt;
&lt;br /&gt;
'''Модель''' {{---}} это совокупность всех решающих правил, которые получаются путем присваивания весам всех возможных допустимых значений. &lt;br /&gt;
&lt;br /&gt;
Формально модель &amp;lt;tex&amp;gt; A = \{g(x, \theta)| \theta \in \Theta\} &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Модель определяется множеством допустимых весов &amp;lt;tex&amp;gt; \Theta &amp;lt;/tex&amp;gt; и структурой решающего правила &amp;lt;tex&amp;gt; g(x,\theta) &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Понятие гиперпараметров модели ===&lt;br /&gt;
'''Гиперпараметры модели''' {{---}} это параметры, значения которых задается до начала обучения модели и не изменяется в процессе обучения. У модели может не быть гиперпараметров.&lt;br /&gt;
&lt;br /&gt;
'''Параметры модели''' {{---}} это параметры, которые изменяются и оптимизируются в процессе обучения модели и итоговые значения этих параметров являются результатом обучения модели. &lt;br /&gt;
&lt;br /&gt;
Примерами гиперпараметров могут служить количество слоев нейронной сети, а также количество нейронов на каждом слое. Примерами параметров могут служить веса ребер нейронной сети.&lt;br /&gt;
&lt;br /&gt;
Для нахождения оптимальных гиперпараметров модели могут применяться различные алгоритмы [[Настройка гиперпараметров | настройки гиперпараметров]]&amp;lt;sup&amp;gt;[на 08.01.19 не создан]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Пример ===&lt;br /&gt;
[[Файл:Linear-regression.png|300px|thumb|[http://www.machinelearning.ru/wiki/index.php?title=%D0%9B%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%B0%D1%8F_%D1%80%D0%B5%D0%B3%D1%80%D0%B5%D1%81%D1%81%D0%B8%D1%8F_%28%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%29 Рис 1. Пример линейной регрессии]]]&lt;br /&gt;
В качестве примера модели приведем [[Линейная регрессия | линейную регрессию]]&amp;lt;sup&amp;gt;[на 18.01.19 не создан].&lt;br /&gt;
&lt;br /&gt;
Линейная регрессия задается следующей формулой:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; g(x, \theta) = \theta_0 + \theta_1x_1 + ... + \theta_kx_k = \theta_0 + \sum_{i=1}^k \theta_ix_i = \theta_0 + x^T\theta&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt; x^T = (x_1, x_2, ..., x_k) &amp;lt;/tex&amp;gt; {{---}} вектор признаков, &amp;lt;tex&amp;gt; \theta = (\theta_1, \theta_2, ..., \theta_k)&amp;lt;/tex&amp;gt; {{---}} веса модели, настраиваемые в процессе обучения.&lt;br /&gt;
&lt;br /&gt;
Гиперпараметром модели является число слагаемых в функции &amp;lt;tex&amp;gt; g(x, \theta) &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Более подробный пример линейной регрессии можно посмотреть в статье [[Переобучение]].&lt;br /&gt;
&lt;br /&gt;
== Задача выбора модели ==&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt; {{---}} модель алгоритма, характеризующаяся гиперпараметрами &amp;lt;tex&amp;gt; \lambda = \{\lambda_1, ..., \lambda_m\}, \lambda_1 \in \Lambda_1, ..., \lambda_m \in \Lambda_m &amp;lt;/tex&amp;gt;. Тогда с ней связано пространство гиперпараметров &amp;lt;tex&amp;gt; \Lambda = \Lambda_1 \times ... \times \Lambda_m &amp;lt;/tex&amp;gt;. За &amp;lt;tex&amp;gt; A_{\lambda}&amp;lt;/tex&amp;gt; обозначим алгоритм, то есть модель алгоритма, для которой задан вектор гиперпараметров &amp;lt;tex&amp;gt; \lambda \in \Lambda &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Для выбора наилучшего алгоритма необходимо зафиксировать меру качества работы алгоритма. Назовем эту меру &amp;lt;tex&amp;gt; Q(A_{\lambda}, D) &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Задачу выбора наилучшего алгоритма можно разбить на две подзадачи: подзадачу выбора лучшего алгоритма из портфолио и подзадачу настройки гиперпараметров.&lt;br /&gt;
&lt;br /&gt;
==== Подзадача выбора лучшего алгоритма из портфолио ====&lt;br /&gt;
Дано некоторое множество алгоритмов с фиксированными структурными параметрами &amp;lt;tex&amp;gt; \mathcal{A} = \{A^1_{\lambda_1}, ..., A^m_{\lambda_m}\}&amp;lt;/tex&amp;gt; и обучающая выборка &amp;lt;tex&amp;gt; D = \{d_1, ..., d_n\}&amp;lt;/tex&amp;gt;. Здесь &amp;lt;tex&amp;gt; d_i = (x_i, y_i) \in (X, Y)&amp;lt;/tex&amp;gt;. Требуется выбрать алгоритм &amp;lt;tex&amp;gt; A^*_{\lambda_*} &amp;lt;/tex&amp;gt;, который окажется наиболее эффективным с точки зрения меры качества &amp;lt;tex&amp;gt; Q &amp;lt;/tex&amp;gt;&lt;br /&gt;
==== Подзадача оптимизации гиперпараметров ====&lt;br /&gt;
Подзадача оптимизации гиперпараметров заключается в подборе таких &amp;lt;tex&amp;gt; \lambda^* \in \Lambda &amp;lt;/tex&amp;gt;, при которых заданная модель алгоритма &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt; будет наиболее эффективна.&lt;br /&gt;
&lt;br /&gt;
Гиперпараметры могут выбираться из ограниченного множества или с помощью перебора из неограниченного множества гиперпараметров, это зависит от непосредственной задачи. Во втором случае актуален вопрос максимального времени, которое можно потратить на поиск наилучших гиперпараметров, так как чем больше времени происходит перебор, тем лучше гиперпараметры можно найти, но при этом может быть ограничен временной бюджет, из-за чего перебор придется прервать.&lt;br /&gt;
&lt;br /&gt;
=== Методы выбора модели ===&lt;br /&gt;
Модель можно выбрать из некоторого множества моделей, проверив результат работы каждой модели из множества с помощью ручного тестирования, но ручное тестирование серьезно ограничивает количество моделей, которые можно перебрать, а также требует больших трудозатрат. Поэтому в большинстве случаев используются алгоритмы, позволяющие автоматически выбирать модель. Далее будут рассмотрены некоторые из таких алгоритмов.&lt;br /&gt;
[[Файл:Scikit-learn-scheme.png|900px|thumb|[https://www.codeastar.com/choose-machine-learning-models-python/ Рис 2. Схема выбора модели в библиотеке scikit-learn для Python]]]&lt;br /&gt;
==== Кросс-валидация ====&lt;br /&gt;
Основная идея алгоритма кросс-валидации {{---}} разбить обучающую выборку на обучающую и тестовую, чтобы таким образом эмулировать наличие тестовой выборки, которая не участвует в обучении, но для которой известны правильные ответы. Более подробно про алгоритм кросс-валидации можно прочитать в [[Кросс-валидация | соответствующей статье]].&lt;br /&gt;
&lt;br /&gt;
Достоинства и недостатки кросс-валидации:&lt;br /&gt;
# Ошибка в процедуре кросс-валидации является достаточно точной оценкой ошибки на генеральной совокупности;&lt;br /&gt;
# Проведение кросс-валидации требует значительного времени на многократное повторное обучение алгоритмов и применимо лишь для «быстрых» алгоритмов машинного обучения;&lt;br /&gt;
# Кросс-валидация плохо применима в задачах кластерного анализа и прогнозирования временных рядов.&lt;br /&gt;
&lt;br /&gt;
==== Мета-обучение ====&lt;br /&gt;
Целью мета-обучения является решение задачи выбора алгоритма из портфолио алгоритмов для решения поставленной задачи без непосредственного применения каждого из них. Решение этой задачи в рамках мета-обучения сводится к задаче [https://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D1%81_%D1%83%D1%87%D0%B8%D1%82%D0%B5%D0%BB%D0%B5%D0%BC обучения с учителем]. Для этого используется заранее отобранное множество наборов данных &amp;lt;tex&amp;gt; D &amp;lt;/tex&amp;gt;. Для каждого набора данных &amp;lt;tex&amp;gt; d \in D &amp;lt;/tex&amp;gt; вычисляется вектор мета-признаков, которые описывают свойства этого набора данных. Ими могут быть: число категориальных или численных признаков объеков в &amp;lt;tex&amp;gt; d &amp;lt;/tex&amp;gt;, число возможных меток, размер &amp;lt;tex&amp;gt; d &amp;lt;/tex&amp;gt; и [https://ieeexplore.ieee.org/document/7382962 многие другие], а еще эту статью можно найти вот [https://www.fruct.org/publications/ainl-fruct/files/Fil.pdf тут]. Каждый алгоритм запускается на всех наборах данных из &amp;lt;tex&amp;gt; D &amp;lt;/tex&amp;gt;. После этого вычисляется эмпирический риск, на основе которого формируются метки классов. Затем мета-классификатор обучается на полученных результатах. В качестве описания набора данных выступает вектор мета-признаков, а в качестве метки — алгоритм, оказавшийся самым эффективным с точки зрения заранее выбранной меры качества. &lt;br /&gt;
&lt;br /&gt;
Более подробно про мета-обучение можно почитать в [[Мета-обучение | соответствующей статье]]&amp;lt;sup&amp;gt;[на 08.01.19 не создан]&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Достоинства и недостатки мета-обучения:&lt;br /&gt;
# Алгоритм, обучающийся большое время, запускается меньшее количество раз, что сокращает время работы;&lt;br /&gt;
# Точность алгоритма может быть ниже, чем при кросс-валидации.&lt;br /&gt;
&lt;br /&gt;
==== Теория Вапника-Червоненкиса ====&lt;br /&gt;
Идея данной теории заключается в следующем: чем более «гибкой» является модель, тем хуже ее обобщающая способность. Данная идея базируется на том, что «гибкое» решающее правило способно настраиваться на малейшие шумы, содержащиеся в обучающей выборке.&lt;br /&gt;
&lt;br /&gt;
'''Емкость модели для задачи классификации''' {{---}} максимальное число объектов обучающей выборки, для которых при любом их разбиении на классы найдется хотя бы одно решающее правило, безошибочно их классифицирующее.&lt;br /&gt;
&lt;br /&gt;
По аналогии емкость обобщается на другие задачи машинного обучения.&lt;br /&gt;
&lt;br /&gt;
Очевидно, что чем больше емкость, тем более «гибкой» является модель и, соответственно, тем хуже. Значит нужно добиваться минимально возможного количества ошибок на обучении при минимальной возможной емкости.&lt;br /&gt;
&lt;br /&gt;
Существует формула Вапника, связывающая ошибку на обучении &amp;lt;tex&amp;gt; P_{train}(\theta) &amp;lt;/tex&amp;gt;, емкость &amp;lt;tex&amp;gt; h(\theta) &amp;lt;/tex&amp;gt; и ошибку на генеральной совокупности &amp;lt;tex&amp;gt; P_{test}(\theta) &amp;lt;/tex&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; P_{test}(\theta) &amp;lt;= P_{train}(\theta) + \sqrt{\frac{h(\Theta) * (\log{(\frac{2d}{h(\Theta)})} + 1) - \log{(\frac{\eta}{4})}}{n}} &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt; d &amp;lt;/tex&amp;gt; {{---}} размерность пространства признаков.&lt;br /&gt;
&lt;br /&gt;
Неравенство верно с вероятностью &amp;lt;tex&amp;gt; 1 - \eta &amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt; \forall \theta \in \Theta &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Алгоритм выбора модели согласно теории Вапника-Червоненкиса: Последовательно анализируя модели с увеличивающейся емкостью, необходимо выбирать модель с наименьшей верхней оценкой тестовой ошибки.&lt;br /&gt;
&lt;br /&gt;
Достоинства теории Вапника-Червоненкиса:&lt;br /&gt;
# Серьезное теоретическое обоснование, связь с ошибкой на генеральной совокупности;&lt;br /&gt;
# Теория продолжает развиваться и в наши дни.&lt;br /&gt;
Недостатки теории Вапника-Червоненкиса:&lt;br /&gt;
# Оценки ошибки на генеральной совокупности сильно завышены;&lt;br /&gt;
# Для большинства моделей емкость не поддается оценке;&lt;br /&gt;
# Многие модели с бесконечной емкостью показывают хорошие результаты на практике.&lt;br /&gt;
&lt;br /&gt;
== Существующие системы автоматического выбора модели ==&lt;br /&gt;
===Автоматизированный выбор модели в библиотеке [https://www.ml4aad.org/wp-content/uploads/2018/07/automl_book_draft_auto-weka.pdf auto-WEKA] для Java.===&lt;br /&gt;
Библиотека используется для одновременного поиска оптимальной модели и оптимальных гиперпараметров модели для задач классификации и регрессии (начиная с версии 2.0).&lt;br /&gt;
&lt;br /&gt;
Библиотека позволяет автоматически выбирать из 27 базовых алгоритмов, 10 мета-алгоритмов и 2 ансамблевых алгоритмов лучший, одновременно настраивая его гиперпараметры при помощи алгоритма [https://www.ml4aad.org/automated-algorithm-design/algorithm-configuration/smac/ SMAC]. Решение достигается полным перебором: оптимизация гиперпараметров запускается на всех алгоритмах по очереди. Недостатком такого подхода является слишком большое время выбора модели.&lt;br /&gt;
===Автоматизированный выбор модели в библиотеке [https://epistasislab.github.io/tpot/ Tree-base Pipeline Optimization Tool (TPOT)] для Python.===&lt;br /&gt;
[[Файл:TPOT-scheme.jpeg|500px|thumb|[https://raw.githubusercontent.com/EpistasisLab/tpot/master/images/tpot-ml-pipeline.png Рис 3. Схема выбора модели в библиотеке TPOT]]]&lt;br /&gt;
Библиотека используется для одновременного поиска оптимальной модели и оптимальных гиперпараметров модели для задачи классификации.&lt;br /&gt;
&lt;br /&gt;
Выбор модели осуществляется на основе конвейера, организованного в древовидной структуре. Каждая вершина дерева {{---}} один из четырех операторов конвейера (preprocessing, decomposition, feature selection, modelling). Каждый конвейер начинается с одной или нескольких копий входного набора данных, которые являются листьями дерева и которые подаются в операторы в соответствии со структурой конвейера. Данные модифицируются оператором в вершине и поступают на вход следующей вершины. В библиотеке используются генетические алгоритмы для нахождения лучших конвейеров.&lt;br /&gt;
&lt;br /&gt;
После поиска конвейера его также можно экспортировать в файл Python.&lt;br /&gt;
&lt;br /&gt;
===Автоматизированный выбор модели в библиотеке [https://automl.github.io/auto-sklearn/stable/ auto-sklearn] для Python.===&lt;br /&gt;
[[Файл:Auto-sklearn-scheme.png|500px|thumb|[https://papers.nips.cc/paper/5872-efficient-and-robust-automated-machine-learning.pdf Рис 4. Схема выбора модели в библиотеке auto-sklearn]]]&lt;br /&gt;
Библиотека используется для одновременного поиска оптимальной модели и оптимальных гиперпараметров модели для задачи классификации.&lt;br /&gt;
&lt;br /&gt;
Сначала используется мета-обучение, использующая различные признаки и мета-признаки набора данных, чтобы найти наилучшие модели. После этого используется подход [https://en.wikipedia.org/wiki/Bayesian_optimization Байесовской оптимизации], чтобы найти наилучшие гиперпараметры для наилучших моделей.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Настройка гиперпараметров]]&amp;lt;sup&amp;gt;[на 08.01.19 не создан]&amp;lt;/sup&amp;gt;&lt;br /&gt;
* [[Переобучение]]&lt;br /&gt;
* [[Мета-обучение]]&amp;lt;sup&amp;gt;[на 08.01.19 не создан]&amp;lt;/sup&amp;gt;&lt;br /&gt;
* [[Линейная регрессия]]&amp;lt;sup&amp;gt;[на 18.01.19 не создан]&lt;br /&gt;
&lt;br /&gt;
== Примечания ==&lt;br /&gt;
# [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 Теория Вапника-Червоненкинса]&lt;br /&gt;
# [https://en.wikipedia.org/wiki/Cross-validation_(statistics) Кросс-валидация]&lt;br /&gt;
# [https://link.springer.com/article/10.1023/B:MACH.0000015878.60765.42 Мета-обучение]&lt;br /&gt;
# [https://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D1%81_%D1%83%D1%87%D0%B8%D1%82%D0%B5%D0%BB%D0%B5%D0%BC Обучение с учителем]&lt;br /&gt;
# [https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%B0%D1%8F_%D1%80%D0%B5%D0%B3%D1%80%D0%B5%D1%81%D1%81%D0%B8%D1%8F Линейная регрессия]&lt;br /&gt;
# [https://www.fruct.org/publications/ainl-fruct/files/Fil.pdf Datasets Meta-Feature Description for Recommending Feature Selection Algorithm]&lt;br /&gt;
# [https://www.ml4aad.org/automated-algorithm-design/algorithm-configuration/smac/ SMAC]&lt;br /&gt;
# [https://7bce9816-a-62cb3a1a-s-sites.googlegroups.com/site/automl2017icml/accepted-papers/AutoML_2017_paper_23.pdf?attachauth=ANoY7cr6uPaUoNh3gc3A-A1UbLXQgNEATEkfZmKD8kozB3hpCYtM9JwnOevEsW9W42CwurzJKrxxEatcB4DCjWNB_Ndvy1uC0lbQyCTlDIfrW6eYJXvdbFJPilYfmf8_ryilH0IwG0ddntLYy-VA3Fm1JeM495fTZxorYth0DDKiqtKvSR92dGl8CM_mUB7sun0R6wurCxM36QqcYEaf5kIm13MM0reWlR3aPZVNe_-AefOCpoXznR-wH04mSWjH8jmlk5Bw51AN&amp;amp;attredirects=0 Fast Automated Selection of Learning Algorithm And its Hyperparameters by Reinforcement Learning]&lt;br /&gt;
# Shalamov V., Efimova V., Muravyov S., and Filchenkov A. &amp;quot;Reinforcement-based Method for Simultaneous Clustering Algorithm Selection and its Hyperparameters Optimization.&amp;quot; Procedia Computer Science 136 (2018): 144-153.&lt;br /&gt;
== Источники информации ==&lt;br /&gt;
# [http://www.machinelearning.ru/wiki/images/0/05/BMMO11_4.pdf Выбор модели] - презентация на MachineLearning.ru&lt;br /&gt;
# [https://en.wikipedia.org/wiki/Hyperparameter_(machine_learning) Гиперпараметры] - статья на Википедии&lt;br /&gt;
# [https://machinelearningmastery.com/difference-between-a-parameter-and-a-hyperparameter/ Разница между параметрами и гиперпараметрами] - описание разницы между параметрами и гиперпараметрами модели&lt;br /&gt;
# [http://jmlda.org/papers/doc/2016/no2/Efimova2016Reinforcement.pdf Применение обучения с подкреплением для одновременного выбора модели алгоритма классификации и ее структурных параметров]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Автоматическое машинное обучение]]&lt;br /&gt;
[[Категория: Машинное обучение]]&lt;/div&gt;</summary>
		<author><name>5.18.238.36</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%B0_%D0%B8_%D0%B5%D1%91_%D0%B2%D1%8B%D0%B1%D0%BE%D1%80&amp;diff=68413</id>
		<title>Модель алгоритма и её выбор</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%B0_%D0%B8_%D0%B5%D1%91_%D0%B2%D1%8B%D0%B1%D0%BE%D1%80&amp;diff=68413"/>
				<updated>2019-01-16T15:56:06Z</updated>
		
		<summary type="html">&lt;p&gt;5.18.238.36: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Понятие модели==&lt;br /&gt;
Пусть дана обучающая выборка &amp;lt;tex&amp;gt;(X, Y)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt; X &amp;lt;/tex&amp;gt; {{---}} множество признаков, описывающих объекты, а &amp;lt;tex&amp;gt; Y &amp;lt;/tex&amp;gt; {{---}} конечное множество меток.&lt;br /&gt;
&lt;br /&gt;
Пусть задана функция &amp;lt;tex&amp;gt; g: X \times \Theta \rightarrow Y &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt; \Theta &amp;lt;/tex&amp;gt; {{---}} множество дополнительных параметров (весов) функции.&lt;br /&gt;
&lt;br /&gt;
Описанная выше функция &amp;lt;tex&amp;gt; g &amp;lt;/tex&amp;gt; для фиксированного значения весов &amp;lt;tex&amp;gt; \theta \in \Theta &amp;lt;/tex&amp;gt; называется '''решающим правилом'''.&lt;br /&gt;
&lt;br /&gt;
'''Модель''' {{---}} это совокупность всех решающих правил, которые получаются путем присваивания весам всех возможных допустимых значений. &lt;br /&gt;
&lt;br /&gt;
Формально модель &amp;lt;tex&amp;gt; A = \{g(x, \theta)| \theta \in \Theta\} &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Модель определяется множеством допустимых весов &amp;lt;tex&amp;gt; \Theta &amp;lt;/tex&amp;gt; и структурой решающего правила &amp;lt;tex&amp;gt; g(x,\theta) &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Понятие гиперпараметров модели==&lt;br /&gt;
'''Гиперпараметры модели''' {{---}} это параметры, значения которых задается до начала обучения модели и не изменяется в процессе обучения. У модели может не быть гиперпараметров.&lt;br /&gt;
&lt;br /&gt;
'''Параметры модели''' {{---}} это параметры, которые изменяются и оптимизируются в процессе обучения модели и итоговые значения этих параметров являются результатом обучения модели. &lt;br /&gt;
&lt;br /&gt;
Примерами гиперпараметров могут служить количество слоев нейронной сети, а также количество нейронов на каждом слое. Примерами параметров могут служить веса ребер нейронной сети.&lt;br /&gt;
&lt;br /&gt;
Для нахождения оптимальных гиперпараметров модели могут применяться различные алгоритмы [[Настройка гиперпараметров | настройки гиперпараметров]]&amp;lt;sup&amp;gt;[на 08.01.19 не создан]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Задача выбора модели ==&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt; {{---}} модель алгоритма, характеризующаяся гиперпараметрами &amp;lt;tex&amp;gt; \lambda = \{\lambda_1, ..., \lambda_m\}, \lambda_1 \in \Lambda_1, ..., \lambda_m \in \Lambda_m &amp;lt;/tex&amp;gt;. Тогда с ней связано пространство гиперпараметров &amp;lt;tex&amp;gt; \Lambda = \Lambda_1 \times ... \times \Lambda_m &amp;lt;/tex&amp;gt;. За &amp;lt;tex&amp;gt; A_{\lambda}&amp;lt;/tex&amp;gt; обозначим алгоритм, то есть модель алгоритма, для которой задан вектор гиперпараметров &amp;lt;tex&amp;gt; \lambda \in \Lambda &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Для выбора наилучшего алгоритма необходимо зафиксировать меру качества работы алгоритма. Назовем эту меру &amp;lt;tex&amp;gt; Q(A_{\lambda}, D) &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Задачу выбора наилучшего алгоритма можно разбить на две подзадачи: подзадачу выбора лучшего алгоритма из портфолио и подзадачу настройки гиперпараметров.&lt;br /&gt;
&lt;br /&gt;
==== Подзадача выбора лучшего алгоритма из портфолио ====&lt;br /&gt;
Дано некоторое множество алгоритмов с фиксированными структурными параметрами &amp;lt;tex&amp;gt; \mathcal{A} = \{A^1_{\lambda_1}, ..., A^m_{\lambda_m}\}&amp;lt;/tex&amp;gt; и обучающая выборка &amp;lt;tex&amp;gt; D = \{d_1, ..., d_n\}&amp;lt;/tex&amp;gt;. Здесь &amp;lt;tex&amp;gt; d_i = (x_i, y_i) \in (X, Y)&amp;lt;/tex&amp;gt;. Требуется выбрать алгоритм &amp;lt;tex&amp;gt; A^*_{\lambda_*} &amp;lt;/tex&amp;gt;, который окажется наиболее эффективным с точки зрения меры качества &amp;lt;tex&amp;gt; Q &amp;lt;/tex&amp;gt;&lt;br /&gt;
==== Подзадача оптимизации гиперпараметров ====&lt;br /&gt;
Подзадача оптимизации гиперпараметров заключается в подборе таких &amp;lt;tex&amp;gt; \lambda^* \in \Lambda &amp;lt;/tex&amp;gt;, при которых заданная модель алгоритма &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt; будет наиболее эффективна.&lt;br /&gt;
&lt;br /&gt;
Гиперпараметры могут выбираться из ограниченного множества или с помощью перебора из неограниченного множества гиперпараметров, это зависит от непосредственной задачи. Во втором случае актуален вопрос максимального времени, которое можно потратить на поиск наилучших гиперпараметров, так как чем больше времени происходит перебор, тем лучше гиперпараметры можно найти, но при этом может быть ограничен временной бюджет, из-за чего перебор придется прервать.&lt;br /&gt;
&lt;br /&gt;
=== Методы выбора модели ===&lt;br /&gt;
Модель можно выбрать из некоторого множества моделей, проверив результат работы каждой модели из множества с помощью ручного тестирования, но ручное тестирование серьезно ограничивает количество моделей, которые можно перебрать, а также требует больших трудозатрат. Поэтому в большинстве случаев используются алгоритмы, позволяющие автоматически выбирать модель. Далее будут рассмотрены некоторые из таких алгоритмов.&lt;br /&gt;
&lt;br /&gt;
==== Кросс-валидация ====&lt;br /&gt;
Основная идея алгоритма кросс-валидации {{---}} разбить обучающую выборку на обучающую и тестовую, чтобы таким образом эмулировать наличие тестовой выборки, которая не участвует в обучении, но для которой известны правильные ответы. Более подробно про алгоритм кросс-валидации можно прочитать в [http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D1%80%D0%BE%D1%81%D1%81-%D0%B2%D0%B0%D0%BB%D0%B8%D0%B4%D0%B0%D1%86%D0%B8%D1%8F соответствующей статье]&lt;br /&gt;
&lt;br /&gt;
Достоинства и недостатки кросс-валидации:&lt;br /&gt;
# Ошибка в процедуре кросс-валидации является достаточно точной оценкой ошибки на генеральной совокупности;&lt;br /&gt;
# Проведение кросс-валидации требует значительного времени на многократное повторное обучение алгоритмов и применимо лишь для «быстрых» алгоритмов машинного обучения;&lt;br /&gt;
# Кросс-валидация плохо применима в задачах кластерного анализа и прогнозирования временных рядов.&lt;br /&gt;
&lt;br /&gt;
==== Мета-обучение ====&lt;br /&gt;
Целью мета-обучения является решение задачи выбора алгоритма из портфолио алгоритмов для решения поставленной задачи без непосредственного применения каждого из них. Решение этой задачи в рамках мета-обучения сводится к задаче [https://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D1%81_%D1%83%D1%87%D0%B8%D1%82%D0%B5%D0%BB%D0%B5%D0%BC обучения с учителем]. Для этого используется заранее отобранное множество наборов данных &amp;lt;tex&amp;gt; D &amp;lt;/tex&amp;gt;. Для каждого набора данных &amp;lt;tex&amp;gt; d \in D &amp;lt;/tex&amp;gt; вычисляется вектор мета-признаков, которые описывают свойства этого набора данных. Ими могут быть: число категориальных или численных признаков объеков в &amp;lt;tex&amp;gt; d &amp;lt;/tex&amp;gt;, число возможных меток, размер &amp;lt;tex&amp;gt; d &amp;lt;/tex&amp;gt; и [https://www.fruct.org/publications/ainl-fruct/files/Fil.pdf многие другие]. Каждый алгоритм запускается на всех наборах данных из &amp;lt;tex&amp;gt; D &amp;lt;/tex&amp;gt;. После этого вычисляется эмпирический риск, на основе которого формируются метки классов. Затем мета-классификатор обучается на полученных результатах. В качестве описания набора данных выступает вектор мета-признаков, а в качестве метки — алгоритм, оказавшийся самым эффективным с точки зрения заранее выбранной меры качества. &lt;br /&gt;
&lt;br /&gt;
Более подробно про мета-обучение можно почитать в соответствующей статье: [[Мета-обучение]]&amp;lt;sup&amp;gt;[на 08.01.19 не создан]&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Достоинства и недостатки мета-обучения:&lt;br /&gt;
# Алгоритм, обучающийся большое время, запускается меньшее количество раз, что сокращает время работы;&lt;br /&gt;
# Точность алгоритма может быть ниже, чем при кросс-валидации.&lt;br /&gt;
&lt;br /&gt;
==== Теория Вапника-Червоненкиса ====&lt;br /&gt;
Идея данной теории заключается в следующем: чем более «гибкой» является модель, тем хуже ее обобщающая способность. Данная идея базируется на том, что «гибкое» решающее правило способно настраиваться на малейшие шумы, содержащиеся в обучающей выборке.&lt;br /&gt;
&lt;br /&gt;
'''Емкость модели для задачи классификации''' {{---}} максимальное число объектов обучающей выборки, для которых при любом их разбиении на классы найдется хотя бы одно решающее правило, безошибочно их классифицирующее.&lt;br /&gt;
&lt;br /&gt;
По аналогии емкость обобщается на другие задачи машинного обучения.&lt;br /&gt;
&lt;br /&gt;
Очевидно, что чем больше емкость, тем более «гибкой» является модель и, соответственно, тем хуже. Значит нужно добиваться минимально возможного количества ошибок на обучении при минимальной возможной емкости.&lt;br /&gt;
&lt;br /&gt;
Существует формула Вапника, связывающая ошибку на обучении &amp;lt;tex&amp;gt; P_{train}(\theta) &amp;lt;/tex&amp;gt;, емкость &amp;lt;tex&amp;gt; h(\theta) &amp;lt;/tex&amp;gt; и ошибку на генеральной совокупности &amp;lt;tex&amp;gt; P_{test}(\theta) &amp;lt;/tex&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; P_{test}(\theta) &amp;lt;= P_{train}(\theta) + \sqrt{\frac{h(\Theta) * (\log{(\frac{2d}{h(\Theta)})} + 1) - \log{(\frac{\eta}{4})}}{n}} &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt; d &amp;lt;/tex&amp;gt; {{---}} размерность пространства признаков.&lt;br /&gt;
&lt;br /&gt;
Неравенство верно с вероятностью &amp;lt;tex&amp;gt; 1 - \eta &amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt; \forall \theta \in \Theta &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Алгоритм выбора модели согласно теории Вапника-Червоненкиса: Последовательно анализируя модели с увеличивающейся емкостью, необходимо выбирать модель с наименьшей верхней оценкой тестовой ошибки.&lt;br /&gt;
&lt;br /&gt;
Достоинства теории Вапника-Червоненкиса:&lt;br /&gt;
# Серьезное теоретическое обоснование, связь с ошибкой на генеральной совокупности;&lt;br /&gt;
# Теория продолжает развиваться и в наши дни.&lt;br /&gt;
Недостатки теории Вапника-Червоненкиса:&lt;br /&gt;
# Оценки ошибки на генеральной совокупности сильно завышены;&lt;br /&gt;
# Для большинства моделей емкость не поддается оценке;&lt;br /&gt;
# Многие модели с бесконечной емкостью показывают хорошие результаты на практике.&lt;br /&gt;
&lt;br /&gt;
== Существующие системы автоматического выбора модели ==&lt;br /&gt;
===Автоматизированный выбор модели в библиотеке [https://www.ml4aad.org/wp-content/uploads/2018/07/automl_book_draft_auto-weka.pdf auto-WEKA] для Java.===&lt;br /&gt;
Библиотека используется для одновременного поиска оптимальной модели и оптимальных гиперпараметров модели для задач классификации и регрессии (начиная с версии 2.0).&lt;br /&gt;
&lt;br /&gt;
Библиотека позволяет автоматически выбирать из 27 базовых алгоритмов, 10 мета-алгоритмов и 2 ансамблевых алгоритмов лучший, одновременно настраивая его гиперпараметры при помощи алгоритма [https://www.ml4aad.org/automated-algorithm-design/algorithm-configuration/smac/ SMAC]. Решение достигается полным перебором: оптимизация гиперпараметров запускается на всех алгоритмах по очереди. Недостатком такого подхода является слишком большое время выбора модели.&lt;br /&gt;
===Автоматизированный выбор модели в библиотеке [https://epistasislab.github.io/tpot/ Tree-base Pipeline Optimization Tool (TPOT)] для Python.===&lt;br /&gt;
Библиотека используется для одновременного поиска оптимальной модели и оптимальных гиперпараметров модели для задачи классификации.&lt;br /&gt;
&lt;br /&gt;
Выбор модели осуществляется на основе конвейера, организованного в древовидной структуре. Каждая вершина дерева {{---}} один из четырех операторов конвейера (preprocessing, decomposition, feature selection, modelling). Каждый конвейер начинается с одной или нескольких копий входного набора данных, которые являются листьями дерева и которые подаются в операторы в соответствии со структурой конвейера. Данные модифицируются оператором в вершине и поступают на вход следующей вершины. В библиотеке используются генетические алгоритмы для нахождения лучших конвейеров.&lt;br /&gt;
&lt;br /&gt;
После поиска конвейера его также можно экспортировать в файл Python.&lt;br /&gt;
===Автоматизированный выбор модели в библиотеке [https://automl.github.io/auto-sklearn/stable/ auto-sklearn] для Python.===&lt;br /&gt;
Библиотека используется для одновременного поиска оптимальной модели и оптимальных гиперпараметров модели для задачи классификации.&lt;br /&gt;
&lt;br /&gt;
Сначала используется мета-обучение, использующая различные признаки и мета-признаки набора данных, чтобы найти наилучшие модели. После этого используется подход [https://en.wikipedia.org/wiki/Bayesian_optimization Байесовской оптимизации], чтобы найти наилучшие гиперпараметры для наилучших моделей.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Настройка гиперпараметров]]&amp;lt;sup&amp;gt;[на 08.01.19 не создан]&amp;lt;/sup&amp;gt;&lt;br /&gt;
* [[Переобучение]]&lt;br /&gt;
* [[Мета-обучение]]&amp;lt;sup&amp;gt;[на 08.01.19 не создан]&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Примечания ==&lt;br /&gt;
# [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 Теория Вапника-Червоненкинса]&lt;br /&gt;
# [https://en.wikipedia.org/wiki/Cross-validation_(statistics) Кросс-валидация]&lt;br /&gt;
# [https://link.springer.com/article/10.1023/B:MACH.0000015878.60765.42 Мета-обучение]&lt;br /&gt;
# [https://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D1%81_%D1%83%D1%87%D0%B8%D1%82%D0%B5%D0%BB%D0%B5%D0%BC Обучение с учителем]&lt;br /&gt;
# [https://www.fruct.org/publications/ainl-fruct/files/Fil.pdf Datasets Meta-Feature Description for Recommending Feature Selection Algorithm]&lt;br /&gt;
# [https://www.ml4aad.org/automated-algorithm-design/algorithm-configuration/smac/ SMAC]&lt;br /&gt;
# [https://7bce9816-a-62cb3a1a-s-sites.googlegroups.com/site/automl2017icml/accepted-papers/AutoML_2017_paper_23.pdf?attachauth=ANoY7cr6uPaUoNh3gc3A-A1UbLXQgNEATEkfZmKD8kozB3hpCYtM9JwnOevEsW9W42CwurzJKrxxEatcB4DCjWNB_Ndvy1uC0lbQyCTlDIfrW6eYJXvdbFJPilYfmf8_ryilH0IwG0ddntLYy-VA3Fm1JeM495fTZxorYth0DDKiqtKvSR92dGl8CM_mUB7sun0R6wurCxM36QqcYEaf5kIm13MM0reWlR3aPZVNe_-AefOCpoXznR-wH04mSWjH8jmlk5Bw51AN&amp;amp;attredirects=0 Fast Automated Selection of Learning Algorithm And its Hyperparameters by Reinforcement Learning]&lt;br /&gt;
# Shalamov V., Efimova V., Muravyov S., and Filchenkov A. &amp;quot;Reinforcement-based Method for Simultaneous Clustering Algorithm Selection and its Hyperparameters Optimization.&amp;quot; Procedia Computer Science 136 (2018): 144-153.&lt;br /&gt;
== Источники информации ==&lt;br /&gt;
# [http://www.machinelearning.ru/wiki/images/0/05/BMMO11_4.pdf Выбор модели] - презентация на MachineLearning.ru&lt;br /&gt;
# [https://en.wikipedia.org/wiki/Hyperparameter_(machine_learning) Гиперпараметры] - статья на Википедии&lt;br /&gt;
# [https://machinelearningmastery.com/difference-between-a-parameter-and-a-hyperparameter/ Разница между параметрами и гиперпараметрами] - описание разницы между параметрами и гиперпараметрами модели&lt;br /&gt;
# [http://jmlda.org/papers/doc/2016/no2/Efimova2016Reinforcement.pdf Применение обучения с подкреплением для одновременного выбора модели алгоритма классификации и ее структурных параметров]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Автоматическое машинное обучение]]&lt;br /&gt;
[[Категория: Машинное обучение]]&lt;/div&gt;</summary>
		<author><name>5.18.238.36</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%B0_%D0%B8_%D0%B5%D1%91_%D0%B2%D1%8B%D0%B1%D0%BE%D1%80&amp;diff=68400</id>
		<title>Модель алгоритма и её выбор</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%B0_%D0%B8_%D0%B5%D1%91_%D0%B2%D1%8B%D0%B1%D0%BE%D1%80&amp;diff=68400"/>
				<updated>2019-01-16T10:37:43Z</updated>
		
		<summary type="html">&lt;p&gt;5.18.238.36: Исправлены замечания&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Понятие модели==&lt;br /&gt;
Пусть дана обучающая выборка &amp;lt;tex&amp;gt;(X, Y)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt; X &amp;lt;/tex&amp;gt; {{---}} множество признаков, описывающих объекты, а &amp;lt;tex&amp;gt; Y &amp;lt;/tex&amp;gt; {{---}} конечное множество меток.&lt;br /&gt;
&lt;br /&gt;
Пусть задана функция &amp;lt;tex&amp;gt; g: X \times \Theta \rightarrow Y &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt; \Theta &amp;lt;/tex&amp;gt; {{---}} множество дополнительных параметров (весов) функции.&lt;br /&gt;
&lt;br /&gt;
Описанная выше функция &amp;lt;tex&amp;gt; g &amp;lt;/tex&amp;gt; для фиксированного значения весов &amp;lt;tex&amp;gt; \theta \in \Theta &amp;lt;/tex&amp;gt; называется '''решающим правилом'''.&lt;br /&gt;
&lt;br /&gt;
'''Модель''' {{---}} это совокупность всех решающих правил, которые получаются путем присваивания весам всех возможных допустимых значений. &lt;br /&gt;
&lt;br /&gt;
Формально модель &amp;lt;tex&amp;gt; A = \{g(x, \theta)| \theta \in \Theta\} &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Модель определяется множеством допустимых весов &amp;lt;tex&amp;gt; \Theta &amp;lt;/tex&amp;gt; и структурой решающего правила &amp;lt;tex&amp;gt; g(x,\theta) &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Понятие гиперпараметров модели==&lt;br /&gt;
'''Гиперпараметры модели''' {{---}} это параметры, значения которых задается до начала обучения модели и не изменяется в процессе обучения. У модели может не быть гиперпараметров.&lt;br /&gt;
&lt;br /&gt;
'''Параметры модели''' {{---}} это параметры, которые изменяются и оптимизируются в процессе обучения модели и итоговые значения этих параметров являются результатом обучения модели. &lt;br /&gt;
&lt;br /&gt;
Примерами гиперпараметров могут служить количество слоев нейронной сети, а также количество нейронов на каждом слое. Примерами параметров могут служить веса ребер нейронной сети.&lt;br /&gt;
&lt;br /&gt;
Для нахождения оптимальных гиперпараметров модели могут применяться различные алгоритмы [[Настройка гиперпараметров | настройки гиперпараметров]]&amp;lt;sup&amp;gt;[на 08.01.19 не создан]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Задача выбора модели ==&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt; {{---}} модель алгоритма, характеризующаяся гиперпараметрами &amp;lt;tex&amp;gt; \lambda = \{\lambda_1, ..., \lambda_m\}, \lambda_1 \in \Lambda_1, ..., \lambda_m \in \Lambda_m &amp;lt;/tex&amp;gt;. Тогда с ней связано пространство гиперпараметров &amp;lt;tex&amp;gt; \Lambda = \Lambda_1 \times ... \times \Lambda_m &amp;lt;/tex&amp;gt;. За &amp;lt;tex&amp;gt; A_{\lambda}&amp;lt;/tex&amp;gt; обозначим алгоритм, то есть модель алгоритма, для которой задан вектор гиперпараметров &amp;lt;tex&amp;gt; \lambda \in \Lambda &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Для выбора наилучшего алгоритма необходимо зафиксировать меру качества работы алгоритма. Назовем эту меру &amp;lt;tex&amp;gt; Q(A_{\lambda}, D) &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Задачу выбора наилучшего алгоритма можно разбить на две подзадачи: подзадачу выбора лучшего алгоритма из портфолио и подзадачу настройки гиперпараметров.&lt;br /&gt;
&lt;br /&gt;
==== Подзадача выбора лучшего алгоритма из портфолио ====&lt;br /&gt;
Дано некоторое множество алгоритмов с фиксированными структурными параметрами &amp;lt;tex&amp;gt; \mathcal{A} = \{A^1_{\lambda_1}, ..., A^m_{\lambda_m}\}&amp;lt;/tex&amp;gt; и обучающая выборка &amp;lt;tex&amp;gt; D = \{d_1, ..., d_n\}&amp;lt;/tex&amp;gt;. Здесь &amp;lt;tex&amp;gt; d_i = (x_i, y_i) \in (X, Y)&amp;lt;/tex&amp;gt;. Требуется выбрать алгоритм &amp;lt;tex&amp;gt; A^*_{\lambda_*} &amp;lt;/tex&amp;gt;, который окажется наиболее эффективным с точки зрения меры качества &amp;lt;tex&amp;gt; Q &amp;lt;/tex&amp;gt;&lt;br /&gt;
==== Подзадача оптимизации гиперпараметров ====&lt;br /&gt;
Подзадача оптимизации гиперпараметров заключается в подборе таких &amp;lt;tex&amp;gt; \lambda^* \in \Lambda &amp;lt;/tex&amp;gt;, при которых заданная модель алгоритма &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt; будет наиболее эффективна.&lt;br /&gt;
&lt;br /&gt;
Гиперпараметры могут выбираться из ограниченного множества или с помощью перебора из неограниченного множества гиперпараметров, это зависит от непосредственной задачи. Во втором случае актуален вопрос максимального времени, которое можно потратить на поиск наилучших гиперпараметров, так как чем больше времени происходит перебор, тем лучше гиперпараметры можно найти, но при этом может быть ограничен временной бюджет, из-за чего перебор придется прервать.&lt;br /&gt;
&lt;br /&gt;
=== Методы выбора модели ===&lt;br /&gt;
Модель можно выбрать из некоторого множества моделей, проверив результат работы каждой модели из множества с помощью ручного тестирования, но ручное тестирование серьезно ограничивает количество моделей, которые можно перебрать, а также требует больших трудозатрат. Поэтому в большинстве случаев используются алгоритмы, позволяющие автоматически выбирать модель. Далее будут рассмотрены некоторые из таких алгоритмов.&lt;br /&gt;
&lt;br /&gt;
==== Кросс-валидация ====&lt;br /&gt;
Основная идея алгоритма кросс-валидации {{---}} разбить обучающую выборку на обучающую и тестовую, чтобы таким образом эмулировать наличие тестовой выборки, которая не участвует в обучении, но для которой известны правильные ответы. Более подробно про алгоритм кросс-валидации можно прочитать в [http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D1%80%D0%BE%D1%81%D1%81-%D0%B2%D0%B0%D0%BB%D0%B8%D0%B4%D0%B0%D1%86%D0%B8%D1%8F соответствующей статье]&lt;br /&gt;
&lt;br /&gt;
Достоинства и недостатки кросс-валидации:&lt;br /&gt;
# Ошибка в процедуре кросс-валидации является достаточно точной оценкой ошибки на генеральной совокупности;&lt;br /&gt;
# Проведение кросс-валидации требует значительного времени на многократное повторное обучение алгоритмов и применимо лишь для «быстрых» алгоритмов машинного обучения;&lt;br /&gt;
# Кросс-валидация плохо применима в задачах кластерного анализа и прогнозирования временных рядов.&lt;br /&gt;
&lt;br /&gt;
==== Мета-обучение ====&lt;br /&gt;
Целью мета-обучения является решение задачи выбора алгоритма из портфолио алгоритмов для решения поставленной задачи без непосредственного применения каждого из них. Решение этой задачи в рамках мета-обучения сводится к задаче [https://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D1%81_%D1%83%D1%87%D0%B8%D1%82%D0%B5%D0%BB%D0%B5%D0%BC обучения с учителем]. Для этого используется заранее отобранное множество наборов данных &amp;lt;tex&amp;gt; D &amp;lt;/tex&amp;gt;. Для каждого набора данных &amp;lt;tex&amp;gt; d \in D &amp;lt;/tex&amp;gt; вычисляется вектор мета-признаков, которые описывают свойства этого набора данных. Ими могут быть: число категориальных или численных признаков объеков в &amp;lt;tex&amp;gt; d &amp;lt;/tex&amp;gt;, число возможных меток, размер &amp;lt;tex&amp;gt; d &amp;lt;/tex&amp;gt; и [https://www.fruct.org/publications/ainl-fruct/files/Fil.pdf многие другие]. Каждый алгоритм запускается на всех наборах данных из &amp;lt;tex&amp;gt; D &amp;lt;/tex&amp;gt;. После этого вычисляется эмпирический риск, на основе которого формируются метки классов. Затем мета-классификатор обучается на полученных результатах. В качестве описания набора данных выступает вектор мета-признаков, а в качестве метки — алгоритм, оказавшийся самым эффективным с точки зрения заранее выбранной меры качества. &lt;br /&gt;
&lt;br /&gt;
Более подробно про мета-обучение можно почитать в соответствующей статье: [[Мета-обучение]]&amp;lt;sup&amp;gt;[на 08.01.19 не создан]&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Достоинства и недостатки мета-обучения:&lt;br /&gt;
# Алгоритм, обучающийся большое время, запускается меньшее количество раз, что сокращает время работы;&lt;br /&gt;
# Точность алгоритма может быть ниже, чем при кросс-валидации.&lt;br /&gt;
&lt;br /&gt;
==== Теория Вапника-Червоненкиса ====&lt;br /&gt;
Идея данной теории заключается в следующем: чем более «гибкой» является модель, тем хуже ее обобщающая способность. Данная идея базируется на том, что «гибкое» решающее правило способно настраиваться на малейшие шумы, содержащиеся в обучающей выборке.&lt;br /&gt;
&lt;br /&gt;
'''Емкость модели для задачи классификации''' {{---}} максимальное число объектов обучающей выборки, для которых при любом их разбиении на классы найдется хотя бы одно решающее правило, безошибочно их классифицирующее.&lt;br /&gt;
&lt;br /&gt;
По аналогии емкость обобщается на другие задачи машинного обучения.&lt;br /&gt;
&lt;br /&gt;
Очевидно, что чем больше емкость, тем более «гибкой» является модель и, соответственно, тем хуже. Значит нужно добиваться минимально возможного количества ошибок на обучении при минимальной возможной емкости.&lt;br /&gt;
&lt;br /&gt;
Существует формула Вапника, связывающая ошибку на обучении &amp;lt;tex&amp;gt; P_{train}(\theta) &amp;lt;/tex&amp;gt;, емкость &amp;lt;tex&amp;gt; h(\theta) &amp;lt;/tex&amp;gt; и ошибку на генеральной совокупности &amp;lt;tex&amp;gt; P_{test}(\theta) &amp;lt;/tex&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; P_{test}(\theta) &amp;lt;= P_{train}(\theta) + \sqrt{\frac{h(\Theta) * (\log{(\frac{2d}{h(\Theta)})} + 1) - \log{(\frac{\eta}{4})}}{n}} &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt; d &amp;lt;/tex&amp;gt; {{---}} размерность пространства признаков.&lt;br /&gt;
&lt;br /&gt;
Неравенство верно с вероятностью &amp;lt;tex&amp;gt; 1 - \eta &amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt; \forall \theta \in \Theta &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Алгоритм выбора модели согласно теории Вапника-Червоненкиса: Последовательно анализируя модели с увеличивающейся емкостью, необходимо выбирать модель с наименьшей верхней оценкой тестовой ошибки.&lt;br /&gt;
&lt;br /&gt;
Достоинства теории Вапника-Червоненкиса:&lt;br /&gt;
# Серьезное теоретическое обоснование, связь с ошибкой на генеральной совокупности;&lt;br /&gt;
# Теория продолжает развиваться и в наши дни.&lt;br /&gt;
Недостатки теории Вапника-Червоненкиса:&lt;br /&gt;
# Оценки ошибки на генеральной совокупности сильно завышены;&lt;br /&gt;
# Для большинства моделей емкость не поддается оценке;&lt;br /&gt;
# Многие модели с бесконечной емкостью показывают хорошие результаты на практике.&lt;br /&gt;
&lt;br /&gt;
== Существующие системы автоматического выбора модели ==&lt;br /&gt;
# [https://www.ml4aad.org/wp-content/uploads/2018/07/automl_book_draft_auto-weka.pdf Автоматизированный выбор модели в библиотеке WEKA для Java]&lt;br /&gt;
# [https://epistasislab.github.io/tpot/ Автоматизированный выбор модели в библиотеке TPOT для Python]&lt;br /&gt;
# [https://automl.github.io/auto-sklearn/stable/ Автоматизированный выбор модели в библиотеке sklearn для Python] &lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Настройка гиперпараметров]]&amp;lt;sup&amp;gt;[на 08.01.19 не создан]&amp;lt;/sup&amp;gt;&lt;br /&gt;
* [[Переобучение]]&lt;br /&gt;
* [[Мета-обучение]]&amp;lt;sup&amp;gt;[на 08.01.19 не создан]&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Примечания ==&lt;br /&gt;
# [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 Теория Вапника-Червоненкинса]&lt;br /&gt;
# [https://en.wikipedia.org/wiki/Cross-validation_(statistics) Кросс-валидация]&lt;br /&gt;
# [https://link.springer.com/article/10.1023/B:MACH.0000015878.60765.42 Мета-обучение]&lt;br /&gt;
# [https://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D1%81_%D1%83%D1%87%D0%B8%D1%82%D0%B5%D0%BB%D0%B5%D0%BC Обучение с учителем]&lt;br /&gt;
# [https://www.fruct.org/publications/ainl-fruct/files/Fil.pdf Datasets Meta-Feature Description for Recommending Feature Selection Algorithm]&lt;br /&gt;
== Источники информации ==&lt;br /&gt;
# [http://www.machinelearning.ru/wiki/images/0/05/BMMO11_4.pdf Выбор модели] - презентация на MachineLearning.ru&lt;br /&gt;
# [https://en.wikipedia.org/wiki/Hyperparameter_(machine_learning) Гиперпараметры] - статья на Википедии&lt;br /&gt;
# [https://machinelearningmastery.com/difference-between-a-parameter-and-a-hyperparameter/ Разница между параметрами и гиперпараметрами] - описание разницы между параметрами и гиперпараметрами модели&lt;br /&gt;
# [http://jmlda.org/papers/doc/2016/no2/Efimova2016Reinforcement.pdf Применение обучения с подкреплением для одновременного выбора модели алгоритма классификации и ее структурных параметров]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Автоматическое машинное обучение]]&lt;/div&gt;</summary>
		<author><name>5.18.238.36</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D1%80%D0%BE%D1%81%D1%81-%D0%B2%D0%B0%D0%BB%D0%B8%D0%B4%D0%B0%D1%86%D0%B8%D1%8F&amp;diff=68399</id>
		<title>Кросс-валидация</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D1%80%D0%BE%D1%81%D1%81-%D0%B2%D0%B0%D0%BB%D0%B8%D0%B4%D0%B0%D1%86%D0%B8%D1%8F&amp;diff=68399"/>
				<updated>2019-01-16T10:17:24Z</updated>
		
		<summary type="html">&lt;p&gt;5.18.238.36: Перенос из статьи Модель алгоритма и ее выбор&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Алгоритм кросс-валидации ==&lt;br /&gt;
# Обучающая выборка разбивается на &amp;lt;tex&amp;gt; k &amp;lt;/tex&amp;gt; непересекающихся одинаковых по объему частей;&lt;br /&gt;
# Производится &amp;lt;tex&amp;gt; k &amp;lt;/tex&amp;gt; итераций. На каждой итерации происходит следующее:&lt;br /&gt;
## Модель обучается на &amp;lt;tex&amp;gt; k - 1 &amp;lt;/tex&amp;gt; части обучающей выборки;&lt;br /&gt;
## Модель тестируется на части обучающей выборки, которая не участвовала в обучении;&lt;br /&gt;
# В результате можно посчитать различные метрики, показывающие, насколько модель удачная, например, среднюю ошибку на частях, которые не участвовали в обучающей выборке.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Модель алгоритма и ее выбор]]&lt;br /&gt;
* [[Мета-обучение]]&amp;lt;sup&amp;gt;[на 16.01.19 не создан]&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Примечания ==&lt;br /&gt;
# [https://en.wikipedia.org/wiki/Cross-validation_(statistics) Кросс-валидация]&lt;br /&gt;
# [https://www.ml4aad.org/wp-content/uploads/2018/07/automl_book_draft_auto-weka.pdf Автоматизированный выбор модели в библиотеке WEKA для Java]&lt;br /&gt;
# [https://epistasislab.github.io/tpot/ Автоматизированный выбор модели в библиотеке TPOT для Python]&lt;br /&gt;
# [https://automl.github.io/auto-sklearn/stable/ Автоматизированный выбор модели в библиотеке sklearn для Python]&lt;br /&gt;
== Источники информации ==&lt;br /&gt;
# [http://www.machinelearning.ru/wiki/images/0/05/BMMO11_4.pdf Выбор модели] - презентация на MachineLearning.ru&lt;br /&gt;
# [http://jmlda.org/papers/doc/2016/no2/Efimova2016Reinforcement.pdf Применение обучения с подкреплением для одновременного выбора модели алгоритма классификации и ее структурных параметров]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Машинное обучение]]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Автоматическое машинное обучение]]&lt;/div&gt;</summary>
		<author><name>5.18.238.36</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%B0_%D0%B8_%D0%B5%D1%91_%D0%B2%D1%8B%D0%B1%D0%BE%D1%80&amp;diff=68374</id>
		<title>Модель алгоритма и её выбор</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%B0_%D0%B8_%D0%B5%D1%91_%D0%B2%D1%8B%D0%B1%D0%BE%D1%80&amp;diff=68374"/>
				<updated>2019-01-14T16:44:26Z</updated>
		
		<summary type="html">&lt;p&gt;5.18.238.36: Исправлены замечания&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Понятие модели==&lt;br /&gt;
Пусть дана обучающая выборка &amp;lt;tex&amp;gt;(X, Y)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt; X &amp;lt;/tex&amp;gt; {{---}} множество признаков, описывающих объекты, а &amp;lt;tex&amp;gt; Y &amp;lt;/tex&amp;gt; {{---}} конечное множество меток.&lt;br /&gt;
&lt;br /&gt;
Пусть множество всевозможных значений признаков &amp;lt;tex&amp;gt; \hat{X} &amp;lt;/tex&amp;gt;, множество всевозможных классификаций &amp;lt;tex&amp;gt; \hat{T} &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Пусть задана функция &amp;lt;tex&amp;gt; f: \hat{X} -&amp;gt; W -&amp;gt; \hat{T} &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt; W &amp;lt;/tex&amp;gt; {{---}} множество дополнительных параметров (весов) функции.&lt;br /&gt;
&lt;br /&gt;
Описанная выше функция &amp;lt;tex&amp;gt; f &amp;lt;/tex&amp;gt; для фиксированного значения весов &amp;lt;tex&amp;gt; w \in W &amp;lt;/tex&amp;gt; называется '''решающим правилом'''.&lt;br /&gt;
&lt;br /&gt;
'''Модель''' {{---}} это совокупность всех решающих правил, которые получаются путем присваивания весам всех возможных допустимых значений. &lt;br /&gt;
&lt;br /&gt;
Формально модель &amp;lt;tex&amp;gt; M = \{f(., w)| w \in W\} &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Модель определяется множеством допустимых весов &amp;lt;tex&amp;gt; W &amp;lt;/tex&amp;gt; и структурой решающего правила &amp;lt;tex&amp;gt; f(.,.) &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Понятие гиперпараметров модели==&lt;br /&gt;
'''Гиперпараметры модели''' {{---}} это параметры, значения которых задается до начала обучения модели и не изменяется в процессе обучения. У модели может не быть гиперпараметров.&lt;br /&gt;
&lt;br /&gt;
'''Параметры модели''' {{---}} это параметры, которые изменяются и оптимизируются в процессе обучения модели и итоговые значения этих параметров являются результатом обучения модели. &lt;br /&gt;
&lt;br /&gt;
Примерами гиперпараметров могут служить количество слоев нейронной сети, а также количество нейронов на каждом слое. Примерами параметров могут служить веса ребер нейронной сети.&lt;br /&gt;
&lt;br /&gt;
Для нахождения оптимальных гиперпараметров модели могут применяться различные алгоритмы [[Настройка гиперпараметров | настройки гиперпараметров]]&amp;lt;sup&amp;gt;[на 08.01.19 не создан]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Задача выбора модели ==&lt;br /&gt;
Пусть &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt; {{---}} модель алгоритма, характеризующаяся гиперпараметрами &amp;lt;tex&amp;gt; \lambda = \{\lambda_1, ..., \lambda_m\}, \lambda_1 \in \Lambda_1, ..., \lambda_m \in \Lambda_m &amp;lt;/tex&amp;gt;. Тогда с ней связано пространство гиперпараметров &amp;lt;tex&amp;gt; \Lambda = \Lambda_1 \times ... \times \Lambda_m &amp;lt;/tex&amp;gt;. За &amp;lt;tex&amp;gt; A_{\lambda}&amp;lt;/tex&amp;gt; обозначим алгоритм, то есть модель алгоритма, для которой задан вектор гиперпараметров &amp;lt;tex&amp;gt; \lambda \in \Lambda &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Для выбора наилучшего алгоритма необходимо зафиксировать меру качества работы алгоритма. Назовем эту меру &amp;lt;tex&amp;gt; Q(A_{\lambda}, D) &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Задачу выбора наилучшего алгоритма можно разбить на две подзадачи: подзадачу выбора лучшего алгоритма из портфолио и подзадачу настройки гиперпараметров.&lt;br /&gt;
&lt;br /&gt;
==== Подзадача выбора лучшего алгоритма из портфолио ====&lt;br /&gt;
Дано некоторое множество алгоритмов с фиксированными структурными параметрами &amp;lt;tex&amp;gt; \mathcal{A} = \{A^1_{\lambda_1}, ..., A^m_{\lambda_m}\}&amp;lt;/tex&amp;gt; и обучающая выборка &amp;lt;tex&amp;gt; D = \{d_1, ..., d_n\}&amp;lt;/tex&amp;gt;. Здесь &amp;lt;tex&amp;gt; d_i = (x_i, y_i) \in (X, Y)&amp;lt;/tex&amp;gt;. Требуется выбрать алгоритм &amp;lt;tex&amp;gt; A^*_{\lambda_*} &amp;lt;/tex&amp;gt;, который окажется наиболее эффективным с точки зрения меры качества &amp;lt;tex&amp;gt; Q &amp;lt;/tex&amp;gt;&lt;br /&gt;
==== Подзадача оптимизации гиперпараметров ====&lt;br /&gt;
Подзадача оптимизации гиперпараметров заключается в подборе таких &amp;lt;tex&amp;gt; \lambda^* \in \Lambda &amp;lt;/tex&amp;gt;, при которых заданная модель алгоритма &amp;lt;tex&amp;gt; A &amp;lt;/tex&amp;gt; будет наиболее эффективна.&lt;br /&gt;
&lt;br /&gt;
Гиперпараметры могут выбираться из ограниченного множества или с помощью перебора из неограниченного множества гиперпараметров, это зависит от непосредственной задачи. Во втором случае актуален вопрос максимального времени, которое можно потратить на поиск наилучших гиперпараметров, так как чем больше времени происходит перебор, тем лучше гиперпараметры можно найти, но при этом может быть ограничен временной бюджет, из-за чего перебор придется прервать.&lt;br /&gt;
&lt;br /&gt;
=== Методы выбора модели ===&lt;br /&gt;
'''Методы выбора модели''' {{---}} алгоритмы, позволяющие проводить автоматический выбор модели.&lt;br /&gt;
&lt;br /&gt;
==== Кросс-валидация ====&lt;br /&gt;
Алгоритм кросс-валидации работает следующим образом:&lt;br /&gt;
# Обучающая выборка разбивается на &amp;lt;tex&amp;gt; k &amp;lt;/tex&amp;gt; непересекающихся одинаковых по объему частей;&lt;br /&gt;
# Производится &amp;lt;tex&amp;gt; k &amp;lt;/tex&amp;gt; итераций. На каждой итерации происходит следующее:&lt;br /&gt;
## Модель обучается на &amp;lt;tex&amp;gt; k - 1 &amp;lt;/tex&amp;gt; части обучающей выборки;&lt;br /&gt;
## Модель тестируется на части обучающей выборки, которая не участвовала в обучении;&lt;br /&gt;
# В результате можно посчитать различные метрики, показывающие, насколько модель удачная, например, среднюю ошибку на частях, которые не участвовали в обучающей выборке.&lt;br /&gt;
Таким образом эмулируется наличие тестовой выборки, которая не участвует в обучении, но для которой известны правильные ответы.&lt;br /&gt;
&lt;br /&gt;
Достоинства и недостатки кросс-валидации:&lt;br /&gt;
# Ошибка в процедуре кросс-валидации является достаточно точной оценкой ошибки на генеральной совокупности;&lt;br /&gt;
# Проведение кросс-валидации требует значительного времени на многократное повторное обучение алгоритмов и применимо лишь для «быстрых» алгоритмов машинного обучения;&lt;br /&gt;
# Кросс-валидация плохо применима в задачах кластерного анализа и прогнозирования временных рядов.&lt;br /&gt;
&lt;br /&gt;
==== Мета-обучение ====&lt;br /&gt;
Целью мета-обучения является решение задачи выбора алгоритма из портфолио алгоритмов для решения поставленной задачи без непосредственного применения каждого из них. Решение этой задачи в рамках мета-обучения сводится к задаче обучения с учителем. Для этого используется заранее отобранное множество наборов данных &amp;lt;tex&amp;gt; D &amp;lt;/tex&amp;gt;. Для каждого набора данных &amp;lt;tex&amp;gt; d \in D &amp;lt;/tex&amp;gt; вычисляется вектор мета-признаков, которые описывают свойства этого набора данных. Ими могут быть: число категориальных или численных признаков объеков в &amp;lt;tex&amp;gt; d &amp;lt;/tex&amp;gt;, число возможных меток, размер &amp;lt;tex&amp;gt; d &amp;lt;/tex&amp;gt; и многие другие. Каждый алгоритм запускается на всех наборах данных из &amp;lt;tex&amp;gt; D &amp;lt;/tex&amp;gt;. После этого вычисляется эмпирический риск, на основе которого формируются метки классов. Затем мета-классификатор обучается на полученных результатах. В качестве описания набора данных выступает вектор мета-признаков, а в качестве метки — алгоритм, оказавшийся самым эффективным с точки зрения заранее выбранной меры качества.&lt;br /&gt;
&lt;br /&gt;
Достоинства и недостатки мета-обучения:&lt;br /&gt;
# Алгоритм, обучающийся большое время, запускается меньшее количество раз, что сокращает время работы;&lt;br /&gt;
# Точность алгоритма может быть ниже, чем при кросс-валидации.&lt;br /&gt;
&lt;br /&gt;
==== Теория Вапника-Червоненкиса ====&lt;br /&gt;
Идея данной теории заключается в следующем: чем более «гибкой» является модель, тем хуже ее обобщающая способность. Данная идея базируется на том, что «гибкое» решающее правило способно настраиваться на малейшие шумы, содержащиеся в обучающей выборке.&lt;br /&gt;
&lt;br /&gt;
'''Емкость модели для задачи классификации''' {{---}} максимальное число объектов обучающей выборки, для которых при любом их разбиении на классы найдется хотя бы одно решающее правило, безошибочно их классифицирующее.&lt;br /&gt;
&lt;br /&gt;
По аналогии емкость обобщается на другие задачи машинного обучения.&lt;br /&gt;
&lt;br /&gt;
Очевидно, что чем больше емкость, тем более «гибкой» является модель и, соответственно, тем хуже. Значит нужно добиваться минимально возможного количества ошибок на обучении при минимальной возможной емкости.&lt;br /&gt;
&lt;br /&gt;
Существует формула Вапника, связывающая ошибку на обучении &amp;lt;tex&amp;gt; P_{train}(w) &amp;lt;/tex&amp;gt;, емкость &amp;lt;tex&amp;gt; h(W) &amp;lt;/tex&amp;gt; и ошибку на генеральной совокупности &amp;lt;tex&amp;gt; P_{test}(w) &amp;lt;/tex&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; P_{test}(w) &amp;lt;= P_{train}(w) + \sqrt{\frac{h(W) * (\log{(\frac{2d}{h(W)})} + 1) - \log{(\frac{\eta}{4})}}{n}} &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt; d &amp;lt;/tex&amp;gt; {{---}} размерность пространства признаков.&lt;br /&gt;
&lt;br /&gt;
Неравенство верно с вероятностью &amp;lt;tex&amp;gt; 1 - \eta &amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt; \forall w \in W &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Алгоритм выбора модели согласно теории Вапника-Червоненкиса: Последовательно анализируя модели с увеличивающейся емкостью, необходимо выбирать модель с наименьшей верхней оценкой тестовой ошибки.&lt;br /&gt;
&lt;br /&gt;
Достоинства теории Вапника-Червоненкиса:&lt;br /&gt;
# Серьезное теоретическое обоснование, связь с ошибкой на генеральной совокупности;&lt;br /&gt;
# Теория продолжает развиваться и в наши дни.&lt;br /&gt;
Недостатки теории Вапника-Червоненкиса:&lt;br /&gt;
# Оценки ошибки на генеральной совокупности сильно завышены;&lt;br /&gt;
# Для большинства моделей емкость не поддается оценке;&lt;br /&gt;
# Многие модели с бесконечной емкостью показывают хорошие результаты на практике.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Настройка гиперпараметров]]&amp;lt;sup&amp;gt;[на 08.01.19 не создан]&amp;lt;/sup&amp;gt;&lt;br /&gt;
* [[Переобучение]]&lt;br /&gt;
* [[Мета-обучение]]&amp;lt;sup&amp;gt;[на 08.01.19 не создан]&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Примечания ==&lt;br /&gt;
# [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 Теория Вапника-Червоненкинса]&lt;br /&gt;
# [https://en.wikipedia.org/wiki/Cross-validation_(statistics) Кросс-валидация]&lt;br /&gt;
# [https://link.springer.com/article/10.1023/B:MACH.0000015878.60765.42 Мета-обучение]&lt;br /&gt;
# [https://www.ml4aad.org/wp-content/uploads/2018/07/automl_book_draft_auto-weka.pdf Автоматизированный выбор модели в библиотеке WEKA для Java]&lt;br /&gt;
# [https://epistasislab.github.io/tpot/ Автоматизированный выбор модели в библиотеке TPOT для Python]&lt;br /&gt;
# [https://automl.github.io/auto-sklearn/stable/ Автоматизированный выбор модели в библиотеке sklearn для Python]&lt;br /&gt;
== Источники информации ==&lt;br /&gt;
# [http://www.machinelearning.ru/wiki/images/0/05/BMMO11_4.pdf Выбор модели] - презентация на MachineLearning.ru&lt;br /&gt;
# [https://en.wikipedia.org/wiki/Hyperparameter_(machine_learning) Гиперпараметры] - статья на Википедии&lt;br /&gt;
# [https://machinelearningmastery.com/difference-between-a-parameter-and-a-hyperparameter/ Разница между параметрами и гиперпараметрами] - описание разницы между параметрами и гиперпараметрами модели&lt;br /&gt;
# [http://jmlda.org/papers/doc/2016/no2/Efimova2016Reinforcement.pdf Применение обучения с подкреплением для одновременного выбора модели алгоритма классификации и ее структурных параметров]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Машинное обучение]]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Модель алгоритма и ее выбор]]&lt;/div&gt;</summary>
		<author><name>5.18.238.36</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%B0_%D0%B8_%D0%B5%D1%91_%D0%B2%D1%8B%D0%B1%D0%BE%D1%80&amp;diff=68354</id>
		<title>Модель алгоритма и её выбор</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%B0_%D0%B8_%D0%B5%D1%91_%D0%B2%D1%8B%D0%B1%D0%BE%D1%80&amp;diff=68354"/>
				<updated>2019-01-13T20:28:11Z</updated>
		
		<summary type="html">&lt;p&gt;5.18.238.36: Добавлены категории&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Понятие модели==&lt;br /&gt;
Пусть дана обучающая выборка &amp;lt;tex&amp;gt;(X, T)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt; X &amp;lt;/tex&amp;gt; {{---}} множество значений признаков, &amp;lt;tex&amp;gt; T &amp;lt;/tex&amp;gt; {{---}} множество, содержащее для каждого элемента из X его классификацию.&lt;br /&gt;
&lt;br /&gt;
Пусть множество всевозможных значений признаков &amp;lt;tex&amp;gt; \hat{X} &amp;lt;/tex&amp;gt;, множество всевозможных классификаций &amp;lt;tex&amp;gt; \hat{T} &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Пусть задана функция &amp;lt;tex&amp;gt; f: \hat{X} -&amp;gt; W -&amp;gt; \hat{T} &amp;lt;/tex&amp;gt;, где W - множество дополнительных параметров (весов) функции.&lt;br /&gt;
&lt;br /&gt;
Описанная выше функция &amp;lt;tex&amp;gt; f &amp;lt;/tex&amp;gt; для фиксированного значения весов &amp;lt;tex&amp;gt; w \in W &amp;lt;/tex&amp;gt; называется '''решающим правилом'''.&lt;br /&gt;
&lt;br /&gt;
'''Модель''' {{---}} это совокупность всех решающих правил, которые получаются путем присваивания весам всех возможных допустимых значений. &lt;br /&gt;
&lt;br /&gt;
Формально модель &amp;lt;tex&amp;gt; M = \{f(., w)| w \in W\} &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Модель определяется множеством допустимых весов &amp;lt;tex&amp;gt; W &amp;lt;/tex&amp;gt; и структурой решающего правила &amp;lt;tex&amp;gt; f(.,.) &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Понятие гиперпараметров модели==&lt;br /&gt;
'''Гиперпараметры модели''' {{---}} это параметры, значения которых задается до начала обучения модели и не изменяется в процессе обучения. У модели может не быть гиперпараметров.&lt;br /&gt;
&lt;br /&gt;
'''Параметры модели''' {{---}} это параметры, которые изменяются и оптимизируются в процессе обучения модели и итоговые значения этих параметров являются результатом обучения модели. &lt;br /&gt;
&lt;br /&gt;
Примерами гиперпараметров могут служить количество слоев нейронной сети, а также количество нейронов на каждом слое. Примерами параметров могут служить веса ребер нейронной сети.&lt;br /&gt;
&lt;br /&gt;
Для нахождения оптимальных гиперпараметров модели могут применяться различные алгоритмы [[Настройка гиперпараметров | настройки гиперпараметров]]&amp;lt;sup&amp;gt;[на 08.01.19 не создан]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Задача выбора модели ==&lt;br /&gt;
'''Выбрать модель''' {{---}} определить множество весов &amp;lt;tex&amp;gt; W &amp;lt;/tex&amp;gt; и структуру решающего правила &amp;lt;tex&amp;gt; f(., .) &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть есть две модели &amp;lt;tex&amp;gt; M_1 = \{f_1(., w)| w \in W_1\} &amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt; M_2 = \{f_2(., w)| w \in W_2\} &amp;lt;/tex&amp;gt;. Необходимо выбрать наилучшую модель из этих двух.&lt;br /&gt;
&lt;br /&gt;
Стоит отметить, что недостаточно обучить обе модели на обучающей выборке и выбрать ту, которая лучше работает на обучающей выборке, потому что лучшая работа может быть следствием переобучения. Также выбирать модель надо исходя из желаемого времени обучения и времени получения ответа - более сложная модель может давать более точные результаты, но работать значительно дольше более простой модели.&lt;br /&gt;
&lt;br /&gt;
=== Методы выбора модели ===&lt;br /&gt;
'''Методы выбора модели''' {{---}} алгоритмы, позволяющие проводить автоматический выбор модели.&lt;br /&gt;
&lt;br /&gt;
==== Кросс-валидация ====&lt;br /&gt;
Алгоритм кросс-валидации работает следующим образом:&lt;br /&gt;
# Обучающая выборка разбивается на &amp;lt;tex&amp;gt; k &amp;lt;/tex&amp;gt; непересекающихся одинаковых по объему частей;&lt;br /&gt;
# Производится &amp;lt;tex&amp;gt; k &amp;lt;/tex&amp;gt; итераций. На каждой итерации происходит следующее:&lt;br /&gt;
## Модель обучается на &amp;lt;tex&amp;gt; k - 1 &amp;lt;/tex&amp;gt; части обучающей выборки;&lt;br /&gt;
## Модель тестируется на части обучающей выборки, которая не участвовала в обучении;&lt;br /&gt;
# В результате можно посчитать различные метрики, показывающие, насколько модель удачная, например, среднюю ошибку на частях, которые не участвовали в обучающей выборке.&lt;br /&gt;
Таким образом эмулируется наличие тестовой выборки, которая не участвует в обучении, но для которой известны правильные ответы.&lt;br /&gt;
&lt;br /&gt;
Достоинства и недостатки кросс-валидации:&lt;br /&gt;
# Ошибка в процедуре кросс-валидации является достаточно точной оценкой ошибки на генеральной совокупности;&lt;br /&gt;
# Проведение кросс-валидации требует значительного времени на многократное повторное обучение алгоритмов и применимо лишь для «быстрых» алгоритмов машинного обучения;&lt;br /&gt;
# Кросс-валидация плохо применима в задачах кластерного анализа и прогнозирования временных рядов.&lt;br /&gt;
&lt;br /&gt;
==== Теория Вапника-Червоненкиса ====&lt;br /&gt;
Идея данной теории заключается в следующем: чем более «гибкой» является модель, тем хуже ее обобщающая способность. Данная идея базируется на том, что «гибкое» решающее правило способно настраиваться на малейшие шумы, содержащиеся в обучающей выборке.&lt;br /&gt;
&lt;br /&gt;
'''Емкость модели для задачи классификации''' {{---}} максимальное число объектов обучающей выборки, для которых при любом их разбиении на классы найдется хотя бы одно решающее правило, безошибочно их классифицирующее.&lt;br /&gt;
&lt;br /&gt;
По аналогии емкость обобщается на другие задачи машинного обучения.&lt;br /&gt;
&lt;br /&gt;
Очевидно, что чем больше емкость, тем более «гибкой» является модель и, соответственно, тем хуже. Значит нужно добиваться минимально возможного количества ошибок на обучении при минимальной возможной емкости.&lt;br /&gt;
&lt;br /&gt;
Существует формула Вапника, связывающая ошибку на обучении &amp;lt;tex&amp;gt; P_{train}(w) &amp;lt;/tex&amp;gt;, емкость &amp;lt;tex&amp;gt; h(W) &amp;lt;/tex&amp;gt; и ошибку на генеральной совокупности &amp;lt;tex&amp;gt; P_{test}(w) &amp;lt;/tex&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; P_{test}(w) &amp;lt;= P_{train}(w) + \sqrt{\frac{h(W) * (\log{(\frac{2d}{h(W)})} + 1) - \log{(\frac{\eta}{4})}}{n}} &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt; d &amp;lt;/tex&amp;gt; {{---}} размерность пространства признаков.&lt;br /&gt;
&lt;br /&gt;
Неравенство верно с вероятностью &amp;lt;tex&amp;gt; 1 - \eta &amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt; \forall w \in W &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Алгоритм выбора модели согласно теории Вапника-Червоненкиса: Последовательно анализируя модели с увеличивающейся емкостью, необходимо выбирать модель с наименьшей верхней оценкой тестовой ошибки.&lt;br /&gt;
&lt;br /&gt;
Достоинства теории Вапника-Червоненкиса:&lt;br /&gt;
# Серьезное теоретическое обоснование, связь с ошибкой на генеральной совокупности;&lt;br /&gt;
# Теория продолжает развиваться и в наши дни.&lt;br /&gt;
Недостатки теории Вапника-Червоненкиса:&lt;br /&gt;
# Оценки ошибки на генеральной совокупности сильно завышены;&lt;br /&gt;
# Для большинства моделей емкость не поддается оценке;&lt;br /&gt;
# Многие модели с бесконечной емкостью показывают хорошие результаты на практике.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Настройка гиперпараметров]]&amp;lt;sup&amp;gt;[на 08.01.19 не создан]&amp;lt;/sup&amp;gt;&lt;br /&gt;
* [[Переобучение]]&lt;br /&gt;
* [[Мета-обучение]]&amp;lt;sup&amp;gt;[на 08.01.19 не создан]&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Примечания ==&lt;br /&gt;
# [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 Теория Вапника-Червоненкинса]&lt;br /&gt;
# [https://en.wikipedia.org/wiki/Cross-validation_(statistics) Кросс-валидация]&lt;br /&gt;
== Источники информации ==&lt;br /&gt;
# [http://www.machinelearning.ru/wiki/images/0/05/BMMO11_4.pdf Выбор модели] - презентация на MachineLearning.ru&lt;br /&gt;
# [https://en.wikipedia.org/wiki/Hyperparameter_(machine_learning) Гиперпараметры] - статья на Википедии&lt;br /&gt;
# [https://machinelearningmastery.com/difference-between-a-parameter-and-a-hyperparameter/ Разница между параметрами и гиперпараметрами] - описание разницы между параметрами и гиперпараметрами модели&lt;br /&gt;
&lt;br /&gt;
[[Категория: Машинное обучение]]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Модель алгоритма и ее выбор]]&lt;/div&gt;</summary>
		<author><name>5.18.238.36</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%B0_%D0%B8_%D0%B5%D1%91_%D0%B2%D1%8B%D0%B1%D0%BE%D1%80&amp;diff=68350</id>
		<title>Модель алгоритма и её выбор</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%B0_%D0%B8_%D0%B5%D1%91_%D0%B2%D1%8B%D0%B1%D0%BE%D1%80&amp;diff=68350"/>
				<updated>2019-01-13T20:01:45Z</updated>
		
		<summary type="html">&lt;p&gt;5.18.238.36: Исправлены кавычки&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Понятие модели==&lt;br /&gt;
Пусть дана обучающая выборка &amp;lt;tex&amp;gt;(X, T)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt; X &amp;lt;/tex&amp;gt; {{---}} множество значений признаков, &amp;lt;tex&amp;gt; T &amp;lt;/tex&amp;gt; {{---}} множество, содержащее для каждого элемента из X его классификацию.&lt;br /&gt;
&lt;br /&gt;
Пусть множество всевозможных значений признаков &amp;lt;tex&amp;gt; \hat{X} &amp;lt;/tex&amp;gt;, множество всевозможных классификаций &amp;lt;tex&amp;gt; \hat{T} &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Пусть задана функция &amp;lt;tex&amp;gt; f: \hat{X} -&amp;gt; W -&amp;gt; \hat{T} &amp;lt;/tex&amp;gt;, где W - множество дополнительных параметров (весов) функции.&lt;br /&gt;
&lt;br /&gt;
Описанная выше функция &amp;lt;tex&amp;gt; f &amp;lt;/tex&amp;gt; для фиксированного значения весов &amp;lt;tex&amp;gt; w \in W &amp;lt;/tex&amp;gt; называется '''решающим правилом'''.&lt;br /&gt;
&lt;br /&gt;
'''Модель''' {{---}} это совокупность всех решающих правил, которые получаются путем присваивания весам всех возможных допустимых значений. &lt;br /&gt;
&lt;br /&gt;
Формально модель &amp;lt;tex&amp;gt; M = \{f(., w)| w \in W\} &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Модель определяется множеством допустимых весов &amp;lt;tex&amp;gt; W &amp;lt;/tex&amp;gt; и структурой решающего правила &amp;lt;tex&amp;gt; f(.,.) &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Понятие гиперпараметров модели==&lt;br /&gt;
'''Гиперпараметры модели''' {{---}} это параметры, значения которых задается до начала обучения модели и не изменяется в процессе обучения. У модели может не быть гиперпараметров.&lt;br /&gt;
&lt;br /&gt;
'''Параметры модели''' {{---}} это параметры, которые изменяются и оптимизируются в процессе обучения модели и итоговые значения этих параметров являются результатом обучения модели. &lt;br /&gt;
&lt;br /&gt;
Примерами гиперпараметров могут служить количество слоев нейронной сети, а также количество нейронов на каждом слое. Примерами параметров могут служить веса ребер нейронной сети.&lt;br /&gt;
&lt;br /&gt;
Для нахождения оптимальных гиперпараметров модели могут применяться различные алгоритмы [[Настройка гиперпараметров | настройки гиперпараметров]]&amp;lt;sup&amp;gt;[на 08.01.19 не создан]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Задача выбора модели ==&lt;br /&gt;
'''Выбрать модель''' {{---}} определить множество весов &amp;lt;tex&amp;gt; W &amp;lt;/tex&amp;gt; и структуру решающего правила &amp;lt;tex&amp;gt; f(., .) &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть есть две модели &amp;lt;tex&amp;gt; M_1 = \{f_1(., w)| w \in W_1\} &amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt; M_2 = \{f_2(., w)| w \in W_2\} &amp;lt;/tex&amp;gt;. Необходимо выбрать наилучшую модель из этих двух.&lt;br /&gt;
&lt;br /&gt;
Стоит отметить, что недостаточно обучить обе модели на обучающей выборке и выбрать ту, которая лучше работает на обучающей выборке, потому что лучшая работа может быть следствием переобучения. Также выбирать модель надо исходя из желаемого времени обучения и времени получения ответа - более сложная модель может давать более точные результаты, но работать значительно дольше более простой модели.&lt;br /&gt;
&lt;br /&gt;
=== Методы выбора модели ===&lt;br /&gt;
'''Методы выбора модели''' {{---}} алгоритмы, позволяющие проводить автоматический выбор модели.&lt;br /&gt;
&lt;br /&gt;
==== Кросс-валидация ====&lt;br /&gt;
Алгоритм кросс-валидации работает следующим образом:&lt;br /&gt;
# Обучающая выборка разбивается на &amp;lt;tex&amp;gt; k &amp;lt;/tex&amp;gt; непересекающихся одинаковых по объему частей;&lt;br /&gt;
# Производится &amp;lt;tex&amp;gt; k &amp;lt;/tex&amp;gt; итераций. На каждой итерации происходит следующее:&lt;br /&gt;
## Модель обучается на &amp;lt;tex&amp;gt; k - 1 &amp;lt;/tex&amp;gt; части обучающей выборки;&lt;br /&gt;
## Модель тестируется на части обучающей выборки, которая не участвовала в обучении;&lt;br /&gt;
# В результате можно посчитать различные метрики, показывающие, насколько модель удачная, например, среднюю ошибку на частях, которые не участвовали в обучающей выборке.&lt;br /&gt;
Таким образом эмулируется наличие тестовой выборки, которая не участвует в обучении, но для которой известны правильные ответы.&lt;br /&gt;
&lt;br /&gt;
Достоинства и недостатки кросс-валидации:&lt;br /&gt;
# Ошибка в процедуре кросс-валидации является достаточно точной оценкой ошибки на генеральной совокупности;&lt;br /&gt;
# Проведение кросс-валидации требует значительного времени на многократное повторное обучение алгоритмов и применимо лишь для «быстрых» алгоритмов машинного обучения;&lt;br /&gt;
# Кросс-валидация плохо применима в задачах кластерного анализа и прогнозирования временных рядов.&lt;br /&gt;
&lt;br /&gt;
==== Теория Вапника-Червоненкиса ====&lt;br /&gt;
Идея данной теории заключается в следующем: чем более «гибкой» является модель, тем хуже ее обобщающая способность. Данная идея базируется на том, что «гибкое» решающее правило способно настраиваться на малейшие шумы, содержащиеся в обучающей выборке.&lt;br /&gt;
&lt;br /&gt;
'''Емкость модели для задачи классификации''' {{---}} максимальное число объектов обучающей выборки, для которых при любом их разбиении на классы найдется хотя бы одно решающее правило, безошибочно их классифицирующее.&lt;br /&gt;
&lt;br /&gt;
По аналогии емкость обобщается на другие задачи машинного обучения.&lt;br /&gt;
&lt;br /&gt;
Очевидно, что чем больше емкость, тем более «гибкой» является модель и, соответственно, тем хуже. Значит нужно добиваться минимально возможного количества ошибок на обучении при минимальной возможной емкости.&lt;br /&gt;
&lt;br /&gt;
Существует формула Вапника, связывающая ошибку на обучении &amp;lt;tex&amp;gt; P_{train}(w) &amp;lt;/tex&amp;gt;, емкость &amp;lt;tex&amp;gt; h(W) &amp;lt;/tex&amp;gt; и ошибку на генеральной совокупности &amp;lt;tex&amp;gt; P_{test}(w) &amp;lt;/tex&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; P_{test}(w) &amp;lt;= P_{train}(w) + \sqrt{\frac{h(W) * (\log{(\frac{2d}{h(W)})} + 1) - \log{(\frac{\eta}{4})}}{n}} &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt; d &amp;lt;/tex&amp;gt; {{---}} размерность пространства признаков.&lt;br /&gt;
&lt;br /&gt;
Неравенство верно с вероятностью &amp;lt;tex&amp;gt; 1 - \eta &amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt; \forall w \in W &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Алгоритм выбора модели согласно теории Вапника-Червоненкиса: Последовательно анализируя модели с увеличивающейся емкостью, необходимо выбирать модель с наименьшей верхней оценкой тестовой ошибки.&lt;br /&gt;
&lt;br /&gt;
Достоинства теории Вапника-Червоненкиса:&lt;br /&gt;
# Серьезное теоретическое обоснование, связь с ошибкой на генеральной совокупности;&lt;br /&gt;
# Теория продолжает развиваться и в наши дни.&lt;br /&gt;
Недостатки теории Вапника-Червоненкиса:&lt;br /&gt;
# Оценки ошибки на генеральной совокупности сильно завышены;&lt;br /&gt;
# Для большинства моделей емкость не поддается оценке;&lt;br /&gt;
# Многие модели с бесконечной емкостью показывают хорошие результаты на практике.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Настройка гиперпараметров]]&amp;lt;sup&amp;gt;[на 08.01.19 не создан]&amp;lt;/sup&amp;gt;&lt;br /&gt;
* [[Переобучение]]&lt;br /&gt;
* [[Мета-обучение]]&amp;lt;sup&amp;gt;[на 08.01.19 не создан]&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Примечания ==&lt;br /&gt;
# [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 Теория Вапника-Червоненкинса]&lt;br /&gt;
# [https://en.wikipedia.org/wiki/Cross-validation_(statistics) Кросс-валидация]&lt;br /&gt;
== Источники информации ==&lt;br /&gt;
# [http://www.machinelearning.ru/wiki/images/0/05/BMMO11_4.pdf Выбор модели] - презентация на MachineLearning.ru&lt;br /&gt;
# [https://en.wikipedia.org/wiki/Hyperparameter_(machine_learning) Гиперпараметры] - статья на Википедии&lt;br /&gt;
# [https://machinelearningmastery.com/difference-between-a-parameter-and-a-hyperparameter/ Разница между параметрами и гиперпараметрами] - описание разницы между параметрами и гиперпараметрами модели&lt;/div&gt;</summary>
		<author><name>5.18.238.36</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%B0_%D0%B8_%D0%B5%D1%91_%D0%B2%D1%8B%D0%B1%D0%BE%D1%80&amp;diff=68349</id>
		<title>Модель алгоритма и её выбор</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%B0_%D0%B8_%D0%B5%D1%91_%D0%B2%D1%8B%D0%B1%D0%BE%D1%80&amp;diff=68349"/>
				<updated>2019-01-13T19:59:11Z</updated>
		
		<summary type="html">&lt;p&gt;5.18.238.36: Добавлены задача выбора модели и методы выбора модели&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Понятие модели==&lt;br /&gt;
Пусть дана обучающая выборка &amp;lt;tex&amp;gt;(X, T)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt; X &amp;lt;/tex&amp;gt; {{---}} множество значений признаков, &amp;lt;tex&amp;gt; T &amp;lt;/tex&amp;gt; {{---}} множество, содержащее для каждого элемента из X его классификацию.&lt;br /&gt;
&lt;br /&gt;
Пусть множество всевозможных значений признаков &amp;lt;tex&amp;gt; \hat{X} &amp;lt;/tex&amp;gt;, множество всевозможных классификаций &amp;lt;tex&amp;gt; \hat{T} &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Пусть задана функция &amp;lt;tex&amp;gt; f: \hat{X} -&amp;gt; W -&amp;gt; \hat{T} &amp;lt;/tex&amp;gt;, где W - множество дополнительных параметров (весов) функции.&lt;br /&gt;
&lt;br /&gt;
Описанная выше функция &amp;lt;tex&amp;gt; f &amp;lt;/tex&amp;gt; для фиксированного значения весов &amp;lt;tex&amp;gt; w \in W &amp;lt;/tex&amp;gt; называется '''решающим правилом'''.&lt;br /&gt;
&lt;br /&gt;
'''Модель''' {{---}} это совокупность всех решающих правил, которые получаются путем присваивания весам всех возможных допустимых значений. &lt;br /&gt;
&lt;br /&gt;
Формально модель &amp;lt;tex&amp;gt; M = \{f(., w)| w \in W\} &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Модель определяется множеством допустимых весов &amp;lt;tex&amp;gt; W &amp;lt;/tex&amp;gt; и структурой решающего правила &amp;lt;tex&amp;gt; f(.,.) &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Понятие гиперпараметров модели==&lt;br /&gt;
'''Гиперпараметры модели''' {{---}} это параметры, значения которых задается до начала обучения модели и не изменяется в процессе обучения. У модели может не быть гиперпараметров.&lt;br /&gt;
&lt;br /&gt;
'''Параметры модели''' {{---}} это параметры, которые изменяются и оптимизируются в процессе обучения модели и итоговые значения этих параметров являются результатом обучения модели. &lt;br /&gt;
&lt;br /&gt;
Примерами гиперпараметров могут служить количество слоев нейронной сети, а также количество нейронов на каждом слое. Примерами параметров могут служить веса ребер нейронной сети.&lt;br /&gt;
&lt;br /&gt;
Для нахождения оптимальных гиперпараметров модели могут применяться различные алгоритмы [[Настройка гиперпараметров | настройки гиперпараметров]]&amp;lt;sup&amp;gt;[на 08.01.19 не создан]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Задача выбора модели ==&lt;br /&gt;
'''Выбрать модель''' {{---}} определить множество весов &amp;lt;tex&amp;gt; W &amp;lt;/tex&amp;gt; и структуру решающего правила &amp;lt;tex&amp;gt; f(., .) &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пусть есть две модели &amp;lt;tex&amp;gt; M_1 = \{f_1(., w)| w \in W_1\} &amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt; M_2 = \{f_2(., w)| w \in W_2\} &amp;lt;/tex&amp;gt;. Необходимо выбрать наилучшую модель из этих двух.&lt;br /&gt;
&lt;br /&gt;
Стоит отметить, что недостаточно обучить обе модели на обучающей выборке и выбрать ту, которая лучше работает на обучающей выборке, потому что лучшая работа может быть следствием переобучения. Также выбирать модель надо исходя из желаемого времени обучения и времени получения ответа - более сложная модель может давать более точные результаты, но работать значительно дольше более простой модели.&lt;br /&gt;
&lt;br /&gt;
=== Методы выбора модели ===&lt;br /&gt;
'''Методы выбора модели''' {{---}} алгоритмы, позволяющие проводить автоматический выбор модели.&lt;br /&gt;
&lt;br /&gt;
==== Кросс-валидация ====&lt;br /&gt;
Алгоритм кросс-валидации работает следующим образом:&lt;br /&gt;
# Обучающая выборка разбивается на &amp;lt;tex&amp;gt; k &amp;lt;/tex&amp;gt; непересекающихся одинаковых по объему частей;&lt;br /&gt;
# Производится &amp;lt;tex&amp;gt; k &amp;lt;/tex&amp;gt; итераций. На каждой итерации происходит следующее:&lt;br /&gt;
## Модель обучается на &amp;lt;tex&amp;gt; k - 1 &amp;lt;/tex&amp;gt; части обучающей выборки;&lt;br /&gt;
## Модель тестируется на части обучающей выборки, которая не участвовала в обучении;&lt;br /&gt;
# В результате можно посчитать различные метрики, показывающие, насколько модель удачная, например, среднюю ошибку на частях, которые не участвовали в обучающей выборке.&lt;br /&gt;
Таким образом эмулируется наличие тестовой выборки, которая не участвует в обучении, но для которой известны правильные ответы.&lt;br /&gt;
&lt;br /&gt;
Достоинства и недостатки кросс-валидации:&lt;br /&gt;
# Ошибка в процедуре кросс-валидации является достаточно точной оценкой ошибки на генеральной совокупности;&lt;br /&gt;
# Проведение кросс-валидации требует значительного времени на многократное повторное обучение алгоритмов и применимо лишь для &amp;quot;быстрых&amp;quot; алгоритмов машинного обучения;&lt;br /&gt;
# Кросс-валидация плохо применима в задачах кластерного анализа и прогнозирования временных рядов.&lt;br /&gt;
&lt;br /&gt;
==== Теория Вапника-Червоненкиса ====&lt;br /&gt;
Идея данной теории заключается в следующем: чем более &amp;quot;гибкой&amp;quot; является модель, тем хуже ее обобщающая способность. Данная идея базируется на том, что &amp;quot;гибкое&amp;quot; решающее правило способно настраиваться на малейшие шумы, содержащиеся в обучающей выборке.&lt;br /&gt;
&lt;br /&gt;
'''Емкость модели для задачи классификации''' {{---}} максимальное число объектов обучающей выборки, для которых при любом их разбиении на классы найдется хотя бы одно решающее правило, безошибочно их классифицирующее.&lt;br /&gt;
&lt;br /&gt;
По аналогии емкость обобщается на другие задачи машинного обучения.&lt;br /&gt;
&lt;br /&gt;
Очевидно, что чем больше емкость, тем более &amp;quot;гибкой&amp;quot; является модель и, соответственно, тем хуже. Значит нужно добиваться минимально возможного количества ошибок на обучении при минимальной возможной емкости.&lt;br /&gt;
&lt;br /&gt;
Существует формула Вапника, связывающая ошибку на обучении &amp;lt;tex&amp;gt; P_{train}(w) &amp;lt;/tex&amp;gt;, емкость &amp;lt;tex&amp;gt; h(W) &amp;lt;/tex&amp;gt; и ошибку на генеральной совокупности &amp;lt;tex&amp;gt; P_{test}(w) &amp;lt;/tex&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; P_{test}(w) &amp;lt;= P_{train}(w) + \sqrt{\frac{h(W) * (\log{(\frac{2d}{h(W)})} + 1) - \log{(\frac{\eta}{4})}}{n}} &amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt; d &amp;lt;/tex&amp;gt; {{---}} размерность пространства признаков.&lt;br /&gt;
&lt;br /&gt;
Неравенство верно с вероятностью &amp;lt;tex&amp;gt; 1 - \eta &amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt; \forall w \in W &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Алгоритм выбора модели согласно теории Вапника-Червоненкиса: Последовательно анализируя модели с увеличивающейся емкостью, необходимо выбирать модель с наименьшей верхней оценкой тестовой ошибки.&lt;br /&gt;
&lt;br /&gt;
Достоинства теории Вапника-Червоненкиса:&lt;br /&gt;
# Серьезное теоретическое обоснование, связь с ошибкой на генеральной совокупности;&lt;br /&gt;
# Теория продолжает развиваться и в наши дни.&lt;br /&gt;
Недостатки теории Вапника-Червоненкиса:&lt;br /&gt;
# Оценки ошибки на генеральной совокупности сильно завышены;&lt;br /&gt;
# Для большинства моделей емкость не поддается оценке;&lt;br /&gt;
# Многие модели с бесконечной емкостью показывают хорошие результаты на практике.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Настройка гиперпараметров]]&amp;lt;sup&amp;gt;[на 08.01.19 не создан]&amp;lt;/sup&amp;gt;&lt;br /&gt;
* [[Переобучение]]&lt;br /&gt;
* [[Мета-обучение]]&amp;lt;sup&amp;gt;[на 08.01.19 не создан]&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Примечания ==&lt;br /&gt;
# [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 Теория Вапника-Червоненкинса]&lt;br /&gt;
# [https://en.wikipedia.org/wiki/Cross-validation_(statistics) Кросс-валидация]&lt;br /&gt;
== Источники информации ==&lt;br /&gt;
# [http://www.machinelearning.ru/wiki/images/0/05/BMMO11_4.pdf Выбор модели] - презентация на MachineLearning.ru&lt;br /&gt;
# [https://en.wikipedia.org/wiki/Hyperparameter_(machine_learning) Гиперпараметры] - статья на Википедии&lt;br /&gt;
# [https://machinelearningmastery.com/difference-between-a-parameter-and-a-hyperparameter/ Разница между параметрами и гиперпараметрами] - описание разницы между параметрами и гиперпараметрами модели&lt;/div&gt;</summary>
		<author><name>5.18.238.36</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%B0_%D0%B8_%D0%B5%D1%91_%D0%B2%D1%8B%D0%B1%D0%BE%D1%80&amp;diff=68199</id>
		<title>Модель алгоритма и её выбор</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%B0_%D0%B8_%D0%B5%D1%91_%D0%B2%D1%8B%D0%B1%D0%BE%D1%80&amp;diff=68199"/>
				<updated>2019-01-08T17:07:00Z</updated>
		
		<summary type="html">&lt;p&gt;5.18.238.36: Добавлена секция примечания&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Понятие модели==&lt;br /&gt;
Пусть дана обучающая выборка &amp;lt;tex&amp;gt;(X, T)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt; X &amp;lt;/tex&amp;gt; {{---}} множество значений признаков, &amp;lt;tex&amp;gt; T &amp;lt;/tex&amp;gt; {{---}} множество, содержащее для каждого элемента из X его классификацию.&lt;br /&gt;
&lt;br /&gt;
Пусть множество всевозможных значений признаков &amp;lt;tex&amp;gt; \hat{X} &amp;lt;/tex&amp;gt;, множество всевозможных классификаций &amp;lt;tex&amp;gt; \hat{T} &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Пусть задана функция &amp;lt;tex&amp;gt; f: \hat{X} -&amp;gt; W -&amp;gt; \hat{T} &amp;lt;/tex&amp;gt;, где W - множество дополнительных параметров (весов) функции.&lt;br /&gt;
&lt;br /&gt;
Описанная выше функция f для фиксированного значения весов &amp;lt;tex&amp;gt; w \in W &amp;lt;/tex&amp;gt; называется '''решающим правилом'''.&lt;br /&gt;
&lt;br /&gt;
'''Модель''' {{---}} это совокупность всех решающих правил, которые получаются путем присваивания весам всех возможных допустимых значений. &lt;br /&gt;
&lt;br /&gt;
Формально модель &amp;lt;tex&amp;gt; M = \{f(., w)| w \in W\} &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Модель определяется множеством допустимых весов &amp;lt;tex&amp;gt; W &amp;lt;/tex&amp;gt; и структурой решающего правила &amp;lt;tex&amp;gt; f(.,.) &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Понятие гиперпараметров модели==&lt;br /&gt;
'''Гиперпараметры модели''' {{---}} это параметры, значения которых задается до начала обучения модели и не изменяется в процессе обучения. У модели может не быть гиперпараметров.&lt;br /&gt;
&lt;br /&gt;
'''Параметры модели''' {{---}} это параметры, которые изменяются и оптимизируются в процессе обучения модели и итоговые значения этих параметров являются результатом обучения модели. &lt;br /&gt;
&lt;br /&gt;
Примерами гиперпараметров могут служить количество слоев нейронной сети, а также количество нейронов на каждом слое. Примерами параметров могут служить веса ребер нейронной сети.&lt;br /&gt;
&lt;br /&gt;
Для нахождения оптимальных гиперпараметров модели могут применяться различные алгоритмы [[Настройка гиперпараметров | настройки гиперпараметров]]&amp;lt;sup&amp;gt;[на 08.01.19 не создан]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Настройка гиперпараметров]]&amp;lt;sup&amp;gt;[на 08.01.19 не создан]&amp;lt;/sup&amp;gt;&lt;br /&gt;
* [[Переобучение]]&lt;br /&gt;
* [[Мета-обучение]]&amp;lt;sup&amp;gt;[на 08.01.19 не создан]&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Примечания ==&lt;br /&gt;
# [http://www.machinelearning.ru/wiki/images/0/05/BMMO11_4.pdf Выбор модели]&lt;br /&gt;
# [https://en.wikipedia.org/wiki/Hyperparameter_(machine_learning) Hyperparameters]&lt;br /&gt;
# [https://machinelearningmastery.com/difference-between-a-parameter-and-a-hyperparameter/ Difference between parameter and hyperparameter]&lt;br /&gt;
== Источники информации ==&lt;br /&gt;
# [http://www.machinelearning.ru/wiki/images/0/05/BMMO11_4.pdf Выбор модели] - презентация на MachineLearning.ru&lt;br /&gt;
# [https://en.wikipedia.org/wiki/Hyperparameter_(machine_learning) Гиперпараметры] - статья на Википедии&lt;br /&gt;
# [https://machinelearningmastery.com/difference-between-a-parameter-and-a-hyperparameter/ Разница между параметрами и гиперпараметрами] - описание разницы между параметрами и гиперпараметрами модели&lt;/div&gt;</summary>
		<author><name>5.18.238.36</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%B0_%D0%B8_%D0%B5%D1%91_%D0%B2%D1%8B%D0%B1%D0%BE%D1%80&amp;diff=68198</id>
		<title>Модель алгоритма и её выбор</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%B0_%D0%B8_%D0%B5%D1%91_%D0%B2%D1%8B%D0%B1%D0%BE%D1%80&amp;diff=68198"/>
				<updated>2019-01-08T17:03:09Z</updated>
		
		<summary type="html">&lt;p&gt;5.18.238.36: Добавлены понятия параметров и гиперпараметров, секции смотри также и источники информации&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Понятие модели==&lt;br /&gt;
Пусть дана обучающая выборка &amp;lt;tex&amp;gt;(X, T)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt; X &amp;lt;/tex&amp;gt; {{---}} множество значений признаков, &amp;lt;tex&amp;gt; T &amp;lt;/tex&amp;gt; {{---}} множество, содержащее для каждого элемента из X его классификацию.&lt;br /&gt;
&lt;br /&gt;
Пусть множество всевозможных значений признаков &amp;lt;tex&amp;gt; \hat{X} &amp;lt;/tex&amp;gt;, множество всевозможных классификаций &amp;lt;tex&amp;gt; \hat{T} &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Пусть задана функция &amp;lt;tex&amp;gt; f: \hat{X} -&amp;gt; W -&amp;gt; \hat{T} &amp;lt;/tex&amp;gt;, где W - множество дополнительных параметров (весов) функции.&lt;br /&gt;
&lt;br /&gt;
Описанная выше функция f для фиксированного значения весов &amp;lt;tex&amp;gt; w \in W &amp;lt;/tex&amp;gt; называется '''решающим правилом'''.&lt;br /&gt;
&lt;br /&gt;
'''Модель''' {{---}} это совокупность всех решающих правил, которые получаются путем присваивания весам всех возможных допустимых значений. &lt;br /&gt;
&lt;br /&gt;
Формально модель &amp;lt;tex&amp;gt; M = \{f(., w)| w \in W\} &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Модель определяется множеством допустимых весов &amp;lt;tex&amp;gt; W &amp;lt;/tex&amp;gt; и структурой решающего правила &amp;lt;tex&amp;gt; f(.,.) &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Понятие гиперпараметров модели==&lt;br /&gt;
'''Гиперпараметры модели''' {{---}} это параметры, значения которых задается до начала обучения модели и не изменяется в процессе обучения. У модели может не быть гиперпараметров.&lt;br /&gt;
&lt;br /&gt;
'''Параметры модели''' {{---}} это параметры, которые изменяются и оптимизируются в процессе обучения модели и итоговые значения этих параметров являются результатом обучения модели. &lt;br /&gt;
&lt;br /&gt;
Примерами гиперпараметров могут служить количество слоев нейронной сети, а также количество нейронов на каждом слое. Примерами параметров могут служить веса ребер нейронной сети.&lt;br /&gt;
&lt;br /&gt;
Для нахождения оптимальных гиперпараметров модели могут применяться алгоритмы [[Настройка гиперпараметров | настройки гиперпараметров]]&amp;lt;sup&amp;gt;[на 08.01.19 не создан]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Настройка гиперпараметров]]&amp;lt;sup&amp;gt;[на 08.01.19 не создан]&amp;lt;/sup&amp;gt;&lt;br /&gt;
* [[Переобучение]]&lt;br /&gt;
* [[Мета-обучение]]&amp;lt;sup&amp;gt;[на 08.01.19 не создан]&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Источники информации ==&lt;br /&gt;
# [http://www.machinelearning.ru/wiki/images/0/05/BMMO11_4.pdf Выбор модели] - презентация на MachineLearning.ru&lt;br /&gt;
# [https://en.wikipedia.org/wiki/Hyperparameter_(machine_learning) Гиперпараметры] - статья на Википедии&lt;br /&gt;
# [https://machinelearningmastery.com/difference-between-a-parameter-and-a-hyperparameter/ Разница между параметрами и гиперпараметрами] - описание разницы между параметрами и гиперпараметрами модели&lt;/div&gt;</summary>
		<author><name>5.18.238.36</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%B0_%D0%B8_%D0%B5%D1%91_%D0%B2%D1%8B%D0%B1%D0%BE%D1%80&amp;diff=68197</id>
		<title>Модель алгоритма и её выбор</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%B0_%D0%B8_%D0%B5%D1%91_%D0%B2%D1%8B%D0%B1%D0%BE%D1%80&amp;diff=68197"/>
				<updated>2019-01-08T15:33:12Z</updated>
		
		<summary type="html">&lt;p&gt;5.18.238.36: Добавлено описание модели&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Понятие модели==&lt;br /&gt;
Пусть дана обучающая выборка &amp;lt;tex&amp;gt;(X, T)&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt; X &amp;lt;/tex&amp;gt; {{---}} множество значений признаков, &amp;lt;tex&amp;gt; T &amp;lt;/tex&amp;gt; {{---}} множество, содержащее для каждого элемента из X его классификацию.&lt;br /&gt;
&lt;br /&gt;
Пусть множество всевозможных значений признаков &amp;lt;tex&amp;gt; \hat{X} &amp;lt;/tex&amp;gt;, множество всевозможных классификаций &amp;lt;tex&amp;gt; \hat{T} &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Пусть задана функция &amp;lt;tex&amp;gt; f: \hat{X} -&amp;gt; W -&amp;gt; \hat{T} &amp;lt;/tex&amp;gt;, где W - множество дополнительных параметров (весов) функции.&lt;br /&gt;
&lt;br /&gt;
Описанная выше функция f для фиксированного значения весов &amp;lt;tex&amp;gt; w \in W &amp;lt;/tex&amp;gt; называется '''решающим правилом'''.&lt;br /&gt;
&lt;br /&gt;
'''Модель''' - это совокупность всех решающих правил, которые получаются путем присваивания весам всех возможных допустимых значений. &lt;br /&gt;
&lt;br /&gt;
Формально модель &amp;lt;tex&amp;gt; M = \{f(., w)| w \in W\} &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Модель определяется множеством допустимых весов &amp;lt;tex&amp;gt; W &amp;lt;/tex&amp;gt; и структурой решающего правила &amp;lt;tex&amp;gt; f(.,.) &amp;lt;/tex&amp;gt;&lt;/div&gt;</summary>
		<author><name>5.18.238.36</name></author>	</entry>

	</feed>