Как машины могут учиться лучше?

машинное обучение

Эта серия представляет собой краткое изложение курса «Основы машинного обучения», предлагаемого профессором Сюань-Тянь Линем с факультета информационной инженерии Тайваньского национального университета. Основное внимание уделяется уходу, а не подробным заметкам, поэтому некоторые детали могут быть опущены.

Курс состоит из 16 лекций, разделенных на 4 части:

  1. Когда машины смогут учиться? (Когда машины смогут учиться?)
  2. Почему машины могут учиться? (Почему машины могут учиться?)
  3. Как машины учатся? (Как машины могут учиться?)
  4. Как машины могут учиться лучше? (Как машины могут учиться лучше?)

Эта статья является частью 4, соответствующей лекциям 13-16 исходного курса.

Основное содержание этого раздела:

  • Проблема переобучения, взаимосвязь между переоснащением и шумом, а также сложность целевой функции;
  • Регуляризация, связь между регуляризацией и теорией ВК;
  • Валидация, перекрестная проверка с исключением одного и V-кратная перекрестная проверка;
  • Три принципа обучения, а именно бритва Оккама, предвзятость выборки и отслеживание данных.

1 Проблема переобучения

1.1 Возникновение переобучения

Теперь предположим, что 5 сэмплов сгенерированы с полиномом 2-й степени с небольшим шумом, для этих 5 сэмплов он может быть идеально аппроксимирован полиномом 4-й степени:

это позволяетEin=0E_\text{in}=0,ноEoutE_\text{out}Но он будет очень большим.

если он появитсяEinE_\text{in}маленький,EoutE_\text{out}В большом случае плохое обобщение. Если во время тренировкиEinE_\text{in}Становясь все меньше и меньше,EoutE_\text{out}больше и больше, это называется переоснащением (overfitting).

И шум, и масштаб данных могут влиять на переоснащение. Давайте сначала посмотрим на следующие два набора данных:

  • Данные генерируются полиномом 10-й степени с некоторым шумом;
  • Данные генерировались полиномами 50-й степени и не содержали шумов.

Изображение набора данных выглядит следующим образом:

Если мы аппроксимируем два вышеуказанных набора данных полиномами степени 2 и 10 соответственно, тоg2еH2g_2 \in \mathcal{H}_2прибытьg10еH10g_{10} \in \mathcal{H}_{10}Будет ли происходить переобучение в процессе?

Результаты подгонки следующие:

После сравнения обнаруживается, что в обоих наборах данных происходит переобучение!

Научитесь изучать кривую, когдаNN\to \inftyочевидноH10\mathcal{H}_{10}будет меньшеEout\overline{E_{out}},ноNNКогда он мал, у него будет большая ошибка обобщения. Серая область — это место, где происходит переобучение.

Фактически, для данных, сгенерированных свободным от шума полиномом 50-й степени, сама «сложность целевой функции» может рассматриваться как аналогичный шум.

Далее проведите более подробный эксперимент. использовать

y=f(x)+ϵGaussian(q=0Qfальфаqxq,о2)\begin{aligned} y &= f(x) + \epsilon\\ &\sim \text{Gaussian}\left(\sum_{q=0}^{Q_f} \alpha_q x^q, \sigma^2 \right) \end{aligned}

генерироватьNNданные, из нихϵ\epsilon— независимый и одинаково распределенный гауссовский шум, а уровень шума равено2\sigma^2,f(x)f(x)Об уровне сложностиQfQ_fраспределяется равномерно. То есть целевая функция имеетQfQ_fио2\sigma^2две переменные.

Затем исправьтеQf=20Q_f=20ио2=0.1\sigma^2=0.1, или подогнать данные полиномами степени 2 и 10 соответственно, и использоватьEout(g10)Eout(g2)E_\text{out}(g_{10})-E_\text{out}(g_{2})Измеряет уровень переобучения. Результат выглядит следующим образом:

Области с красноватыми цветами переоснащаются.

добавлено2\sigma^2Гауссов шум можно назвать стохастическим шумом, а степень целевой функцииQfQ_fТакже присутствует шумоподобный эффект, поэтому его можно назватьdeterministic noise.

еслиfHf\notin \mathcal{H},ТакffДолжны быть некоторые части, которые не могут бытьH\mathcal{H}поймал, лучшийh*еHh^*\in\mathcal{H}иffРазница заключается в детерминированном шуме, который ведет себя как случайный шум (аналогично генераторам псевдослучайных чисел). Он отличается от стохастического шума тем, чтоH\mathcal{H}связанных, и для каждогоxx, его значение детерминировано:

1.2 Обработка переобучения

Вообще говоря, идеи для борьбы с переоснащением следующие:

  • Начните с простой модели;
  • очистка данных (data cleaning), исправьте ошибочные данные (например, исправив категорию метки);
  • Сокращение данных (data pruning), удаляя выбросы (outlier);
  • data hinting, когда размера выборки недостаточно, вы можете выполнить некоторую простую обработку существующих выборок, чтобы увеличить размер выборки.Например, в цифровой классификации вы можете немного повернуть или перевести данные, не меняя их метки, так что выборка размер можно увеличить;
  • Регуляризация(regularization), см. следующий раздел;
  • проверять(validation), увидеть ниже.

2 Регуляризация

2.1 Регуляризация

Идея регуляризации как бы начинается сH10\mathcal{H}_{10}«отступить» наH2\mathcal{H}_{2}. Происхождение названия заключается в том, что на заре аппроксимации функций многие задачи были некорректными, то есть было много функций, удовлетворяющих решению задачи, поэтому были добавлены некоторые ограничения. В некотором смысле переобучение в машинном обучении также является проблемой «слишком много правильных решений».

H10\mathcal{H}_{10}Общая форма предположения в

w0+w1x+w2x2+w3x3++w10x10w_0+w_1 x+w_2 x^2+w_3 x^3+\cdots+w_{10} x^{10}

иH2\mathcal{H}_{2}Общая форма предположения в

w0+w1x+w2x2w_0+w_1 x+w_2 x^2

На самом деле, пока пределw3=w4==w10=0w_3=w_4=\cdots=w_{10}=0, там будетH10=H2\mathcal{H}_{10}=\mathcal{H}_{2}. при использованииH10\mathcal{H}_{10}При добавлении этого ограничения фактически используетсяH2\mathcal{H}_2Займитесь машинным обучением.

H2\mathcal{H}_2гибкость ограничена, ноH10\mathcal{H}_{10}Это тоже очень опасно.Есть ли компромиссный набор гипотез? Можно также ослабить это состояние и статьq=0101[w10]3\sum\limits_{q=0}^{10}\mathbf{1}_{[w_1\ne 0]}\le 3, множество допущений при этом ограничении записывается какH2'\mathcal{H}_2',имеютH2H2'H10\mathcal{H}_{2}\subset \mathcal{H}_{2}' \subset \mathcal{H}_{10}, то есть большеH2\mathcal{H}_{2}более гибкий, но безH10\mathcal{H}_{10}Так опасно.

существуетH2'\mathcal{H}_{2}', решаемая задача трансформируется в

minwеR10+1Ein(w)с.т.q=0101[w10]3\min\limits_{\mathbf{w}\in \mathbb{R}^{10+1}} E_\text{in}(\mathbf{w})\quad \text{s.t. } \sum\limits_{q=0}^{10}\mathbf{1}_{[w_1\ne 0]}\le 3

Это NP-сложная задача высокой сложности. вместо того, чтобы изменить его на

minwеR10+1Ein(w)с.т.q=010wq2C\min\limits_{\mathbf{w}\in \mathbb{R}^{10+1}} E_\text{in}(\mathbf{w})\quad \text{s.t. } \sum\limits_{q=0}^{10}w^2_q \le C

Пусть набор гипотез будетH(C)\mathcal{H}(C), что то же самое, чтоH2'\mathcal{H}_2'частично перекрывается, а дляCCИмеет мягкую, гладкую структуру:

H0H1H=H10\mathcal{H}_{0} \subset \mathcal{H}_{1} \subset \cdots \subset \mathcal{H}_{\infty} =\mathcal{H}_{10}

в умеH(C)\mathcal{H}(C)Оптимальное решение, найденное ниже,wREG\mathbf{w}_\text{REG}.

При отсутствии регуляризации направление обновления параметров с градиентным спускомEin(w)-\nabla E_\text{in}(\mathbf{w}). при добавлении регуляризацииwTwC\mathbf{w}^T \mathbf{w}\le CКогда лимит установлен, он должен быть обновлен ниже лимита, как показано ниже:

wTw=C\mathbf{w}^T \mathbf{w}= CНормальный векторw\mathbf{w}, из рисунка видно, что покаEin(w)-\nabla E_\text{in}(\mathbf{w})иw\mathbf{w}не параллельна, она может продолжать убывать ниже этого пределаEin(w)E_\text{in}(\mathbf{w}), поэтому при достижении оптимального решения должно быть

Ein(w)wREG-\nabla E_\text{in}(\mathbf{w}) \propto \mathbf{w}_\text{REG}

Из этого проблема может быть преобразована в решение

Ein(wREG)+2λNwREG=0\nabla E_\text{in}(\mathbf{w}_\text{REG}) +\dfrac{2 \lambda}{N} \mathbf{w}_\text{REG}=0

вλ\lambda— введенный множитель Лагранжа. Предположим, известноλ>0\lambda>0, просто напишите формулу градиента, то есть:

2N(XTXwREGXTy)+2λNwREG=0\dfrac{2}{N}(X^T X\mathbf{w}_\text{REG}-X^T \mathbf{y})+\dfrac{2 \lambda}{N} \mathbf{w}_\text{REG}=0

можно решить напрямую

wREG(XTX+λI)1XTy\mathbf{w}_\text{REG}\leftarrow (X^T X+\lambda I)^{-1} X^T\mathbf{y}

если толькоλ>0\lambda>0,XTX+λIX^T X+\lambda IЯвляется положительно определенной матрицей, она должна быть обратимой.

В статистике это часто называют гребневой регрессией (ridge regression).

С другой точки зрения решить

Ein(wREG)+2λNwREG=0\nabla E_\text{in}(\mathbf{w}_\text{REG}) +\dfrac{2 \lambda}{N} \mathbf{w}_\text{REG}=0

Это эквивалентно решению (эквивалентно интегрированию обеих частей приведенной выше формулы)

minwEin(w)+λNwTw\min\limits_{\mathbf{w}} E_\text{in}(\mathbf{w})+\dfrac{\lambda}{N}\mathbf{w}^T\mathbf{w}

wTw\mathbf{w}^T\mathbf{w}Вызываемый регуляризатор, весьEin(w)+λNwTwE_\text{in}(\mathbf{w})+\dfrac{\lambda}{N}\mathbf{w}^T\mathbf{w}Можно назвать дополненной ошибкойEaug(w)E_\text{aug}(\mathbf{w}).

Таким образом, изначально даноCCТеперь после решения условной задачи на максимальное значение она преобразуется в заданнуюλ\lambdaБезусловная задача максимального значения.

возможно+λNwTw+\dfrac{\lambda}{N}\mathbf{w}^T\mathbf{w}называется регуляризацией затухания веса, потому что чем большеλ\lambda, что эквивалентно тому, чтоw\mathbf{w}короче, также эквивалентноCCМеньше.

Небольшая деталь: при преобразовании признаков, если вы используетеΦ(x)=(1,x,x2,,xQ)\Phi(\mathbf{x})=(1,x,x^2,\ldots,x^Q), предполагаяxnе[1,+1]x_n \in [-1,+1],Такxnqx^q_nбыл бы очень мал, что потребовало бы большогоwqw_qЕсли в это время снова использовать регуляризацию, она «сверхштрафует» многомерные коэффициенты, потому что они должны быть относительно большими. Поэтому в пространстве полиномов можно найти некоторые ортонормированные базисные функции, которые представляют собой специальные полиномы, называемые полиномами Лежандра (Legendre Polynomials), а затем используйте эти полиномы для преобразования признаков(1,L1(x),L2(x),,LQ(x))(1,L_1(x),L_2(x),\ldots,L_Q(x))Вот и все. Первые пять полиномов Легендра, как показано ниже:

2.2 Регуляризация и теория ВК

При минимизации аугментированной ошибки, хотя она и эквивалентна задаче на максимум с ограничениями, на самом деле это не так.w\mathbf{w}ограничено вH(C)\mathcal{H}(C)середина. Так как же именно происходит регуляризация?

Увеличенную ошибку можно увидеть с другого ракурса:

Eaug(w)=Ein(w)+λNwTwE_\text{aug}(\mathbf{w})=E_\text{in}(\mathbf{w})+\dfrac{\lambda}{N}\mathbf{w}^T\mathbf{w}

Руо КиwTw\mathbf{w}^T\mathbf{w}заОм(w)\Omega(\mathbf{w}), который измеряет гипотезуw\mathbf{w}сложность. в то время как в VC Bound

Eout(w)Ein(w)+Ом(H)E_\text{out}(\mathbf{w})\le E_\text{in}(\mathbf{w})+\Omega(\mathcal{H})

Ом(H)\Omega(\mathcal{H})измерить всеH\mathcal{H}сложность. еслиλNОм(w)\dfrac{\lambda}{N}\Omega(\mathbf{w})иОм(H)\Omega(\mathcal{H})есть какая-то связь,EaugE_\text{aug}прямо какEoutE_\text{out}агент, нет необходимости проходитьEinE_\text{in}сделать хорошоEoutE_\text{out}, и в то же время наслаждаться всемH\mathcal{H}высокая гибкость.

Другой ракурс, первоначально для всейH\mathcal{H}имеютdVC(H)=d~+1d_\text{VC}(\mathcal{H})=\tilde{d}+1, что теперь эквивалентно только рассмотрениюH(C)\mathcal{H}(C)Допущение в , т. е. размерность ВК, становитсяdVC(H(C))d_\text{VC}(\mathcal{H}(C)). «Эффективное измерение VC» может быть определеноdEFF(H,A)d_\text{EFF}(\mathcal{H},\mathcal{A}),если толькоA\mathcal{A}Если регуляризация проводится в эффективном измерении VC будет меньше.

2.3 Более общие регулярные термины

Существует ли более общий регулярный терминОм(w)\Omega(\mathbf{w})? Как выбрать? Есть следующие предложения:

  • относящийся к цели (target-dependent), если мы знаем некоторые свойства целевой функции, мы можем ее выписать.Например, если мы заранее знаем, что целевая функция близка к четной функции, мы можем выбрать1[qстранно]wq2\sum \mathbf{1}_{[q \text{ is odd}]} w^2_q;
  • разумный(plausible), вы можете выбрать гладкий или простой, например, обычный член L1 для разреженностиwq\sum\vert w_q \vert, что будет объяснено ниже;
  • Дружелюбный (friendly), то есть легко поддающийся оптимизации, например L2 обычный терминwq2\sum w_q^2;
  • Даже если выбранный регулярный срок не подходит, это не имеет значения, потому что вы можете положиться наλ\lambdaЧтобы настроить, худшее эквивалентно тому, что вы не добавляете обычный термин.

Обычный термин L1 выглядит следующим образом:

Оно выпукло, но не везде дифференцируемо, и после его добавления решение разрежено. L1 полезен, если на практике требуются разреженные решения.

λ\lambdaКак выбрать? в соответствии сEoutE_\text{out}лучший выбранныйλ\lambda, пример такой (жирная точка - лучшаяλ\lambda):

Как видно из рисунка, чем больше шум, тем больше нужно увеличивать регуляризацию.

А вообще по шуму неизвестно, как выбрать подходящийλ\lambda?

3 Проверка

3.1 Набор для проверки

λ\lambdaКак выбрать? мы понятия не имеемEoutE_\text{out}, а также не может напрямую пройтиEinE_\text{in}принимать решения. Было бы неплохо иметь набор тестов, который никогда не используется, чтобы вы могли выбирать на основе набора тестов:

m*=argmin1mM(Em=Etest(Am(D)))m^*=\mathop{\arg\min}\limits_{1\le m\le M} \left( E_m=E_\text{test}(\mathcal{A}_m(\mathcal{D})) \right)

И это гарантирует обобщение (Хёффдинг):

Eout(gm*)Etest(gm*)+O(logMNtest)E_\text{out}(g_{m^*})\le E_\text{test}(g_{m^*})+O(\sqrt{\dfrac{\log M}{N_\text{test}}})

Но где же настоящий тестовый набор? только компромисс отD\mathcal{D}Разделите часть данных как набор проверкиDvalD\mathcal{D}_\text{val}\subset \mathcal{D}конечно, также требуется, чтобы он никогда не использовался в прошломAm\mathcal{A}_mиспользуется уже.

Разделите набор проверкиDval\mathcal{D}_\text{val}Процесс выглядит следующим образом:

Использовать тренировочный наборgmg^-_m, также могут иметь гарантии обобщения:

Eout(gm)Eval(gm)+O(logMK)E_\text{out}(g_m^-)\le E_\text{val}(g_m^-)+O(\sqrt{\dfrac{\log M}{K}})

Общий процесс проверки выглядит следующим образом:

Видно, что лучшая модель выбирается с помощью проверочного набораgm*g^-_{m^*}После этого еще необходимо обучить лучшую модель со всеми данными.gm*g_{m^*}Выходите, вообще говоря, что вы получите от этого тренингаgm*g_m^*будет ниже из-за большего количества обучающих данныхEoutE_\text{out},Увидеть ниже:

Нижняя пунктирная линия на рисункеEoutE_\text{out}. можно увидеть,KKне может быть слишком большим или слишком маленьким, еслиKKслишком мал, хотяgmgmg_m^-\approx g_m,ноEvalE_\text{val}иEoutE_\text{out}будет сильно различаться, и еслиKKслишком большой, хотяEvalEoutE_\text{val}\approx E_\text{out}, но сделаетgmg_m^-Сравниватьgmg_mНамного хуже.

Что мы действительно хотим сделать, так это

Eout(g)Eout(g)Eval(g)E_\text{out}(g)\approx E_\text{out}(g^-)\approx E_\text{val}(g^-)

требование первого заветаKKМеньше, второй знак равенства требуетKKбольше, поэтому необходимо выбрать подходящийKK, необязательно, как правилоK=N5K=\dfrac{N}{5}.

3.2 Перекрестная проверка с исключением одного (LOOCV)

если позволитьK=1K=1, то есть оставить только один образецnnВ качестве проверочного набора запишите

Eval(n)(gn)=err(gn(xn),yn)=enE_\text{val}^{(n)}(g_n^-)=\text{err}(g_n^-(\mathbf{x}_n),y_n)=e_n

но одинene_nне в состоянии сообщить нам точную информацию, пытаясь найти способEval(n)(gn)E_\text{val}^{(n)}(g_n^-)Возьмите среднее. Вы можете использовать перекрестную проверку с исключением одного (Leave-One-Out Cross Validation):

Eloocv(H,A)=1Nn=1Nen=1Nn=1Nerr(gn(xn),yn)E_\text{loocv}(\mathcal{H},\mathcal{A})=\dfrac{1}{N}\sum\limits_{n=1}^{N} e_n=\dfrac{1}{N} \sum\limits_{n=1}^{N} \text{err}(g_n^- (\mathbf{x}_n),y_n)

На что мы надеемсяEloocv(H,A)Eout(g)E_\text{loocv}(\mathcal{H},\mathcal{A})\approx E_\text{out}(g). Можно доказать:

EDEloovc(H,A)=ED1Nn=1Nen=1Nn=1NEDen=1Nn=1NEDnE(xn,yn)err(gn(xn),yn)=1Nn=1NEDnEout(gn)=1Nn=1NEout(N1)=Eout(N1)\begin{aligned} &\mathop{\mathcal{E}}\limits_{\mathcal{D}} E_\text{loovc}(\mathcal{H},\mathcal{A})\\ =& \mathop{\mathcal{E}}\limits_{\mathcal{D}}\dfrac{1}{N}\sum\limits_{n=1}^{N} e_n\\ =&\dfrac{1}{N} \sum\limits_{n=1}^{N} \mathop{\mathcal{E}}\limits_{\mathcal{D}} e_n\\ =&\dfrac{1}{N} \sum\limits_{n=1}^{N} \mathop{\mathcal{E}}\limits_{\mathcal{D}_n} \mathop{\mathcal{E}}\limits_{(\mathbf{x}_n,y_n)} \text{err}(g_n^-(\mathbf{x}_n),y_n)\\ =&\dfrac{1}{N} \sum\limits_{n=1}^{N} \mathop{\mathcal{E}}\limits_{\mathcal{D}_n} E_\text{out}(g_n^-)\\ =&\dfrac{1}{N} \sum\limits_{n=1}^{N} \overline{E_\text{out}}(N-1)\\ =& \overline{E_\text{out}}(N-1) \end{aligned}

так какEloovc(H,A)E_\text{loovc}(\mathcal{H},\mathcal{A})ожидания расскажут нам кое-что оEout(g)E_\text{out}(g^-)желаемая информация, поэтому также называетсяEout(g)E_\text{out}(g)«Почти беспристрастная оценка» .

Используйте распознавание рукописных цифр - классифицируйте, равно ли число 1 - посмотрите эффект, два основных признака - симметрия и средняя интенсивность, выполните преобразование признаков (увеличьте количество признаков), а затем используйтеEinE_\text{in}иEloocvE_\text{loocv}Выполните выбор параметра (параметром является количество преобразованных объектов), и результаты будут следующими:

еслиEoutE_\text{out},EinE_\text{in},EloocvE_\text{loocv}Случаи, которые изменяются с изменением количества признаков, рисуются, как показано на рисунке:

3.3 VV- Сложите перекрестную проверку

Если есть 1000 точек, выполните перекрестную проверку с исключением одного, чтобы вычислить 1000 раз.ene_n, каждый расчет также использует 999 выборок для обучения, за исключением нескольких алгоритмов (таких как линейная регрессия, которая имеет аналитическое решение), что в большинстве случаев требует очень много времени. С другой стороны, как видно из конца предыдущего раздела, посколькуEloocvE_\text{loocv}Это усреднение в одной точке, и результат будет дрожащим и недостаточно стабильным. Поэтому на практике loocv используется не очень часто.

На практике чаще используетсяVVСвернуть перекрестную проверку (VV-Fold Cross Validation), вскореD\mathcal{D}случайным образом разделены наVVРазделите на равные части, используйте каждую часть для проверки по очереди, а остальные используйтеV1V-1обучение, обычно проводимое на практикеV=10V=10,Как показано ниже:

Это может вычислить

Ecv(H,A)=1Vv=1VEval(v)(gv)E_\text{cv}(\mathcal{H}, \mathcal{A})=\dfrac{1}{V}\sum\limits_{v=1}^{V} E_\text{val}^{(v)}(g_v^-)

Затем используйте его для выбора параметров:

m*=argmin1mM(Em=Ecv(Hm,Am))m^*=\mathop{\arg\min}\limits_{1\le m\le M} \left( E_m=E_\text{cv}(\mathcal{H}_m, \mathcal{A}_m) \right)

Стоит отметить, что поскольку процесс проверки также делает выбор, его результаты все же будут более оптимистичными, чем окончательные результаты тестирования. Поэтому в конечном итоге важноконтрольная работарезультаты, не найденолучшая проверкарезультат.

4 Три принципа обучения

Вот три принципа обучения.

4.1 Бритва Оккама

Первый — это бритва Оккама (Occam's Razor).

An explanation of the data should be made as simple as possible, but no simpler.

--Albert Einsterin (?)

Легенда гласит, что это сказал Эйнштейн, но доказательств этому нет. Это можно проследить до слов Оккама:

entia non sunt multiplicanda praeter necessitatem (entities must not be multiplied beyond necessity)

--William of Occam (1287-1347)

В машинном обучении часто разумнее всего говорить о самой простой модели, которая может соответствовать данным.

Что такое простая модель? для одной гипотезыhhскажем, требоватьОм(h)\Omega(h)Меньше означает меньше параметров для модели (набор гипотез)H\mathcal{H}скажем, требоватьОм(H)\Omega(\mathcal{H})Меньше означает, что он не содержит многих возможных гипотез. Эти два связаны, напримерH\vert \mathcal{H} \vertшкала22^\ell, то фактически только\ellпараметры могут описать всеhh, поэтому маленькийОм(H)\Omega(\mathcal{H})значит маленькийОм(h)\Omega(h).

В философском смысле, чем проще модель, тем меньше вероятность того, что произойдет «подгонка», а если она произойдет, значит, в данных могут быть какие-то важные закономерности.

4.2 Смещение выборки

Во-вторых, нужно знать о систематической ошибке выборки (Sampling Bias).

Если процесс выборки данных предвзят, то машинное обучение также даст предвзятый результат.

При объяснении измерения VC было упомянуто предварительное условие, то есть учебные данные и тестовые данные должны прийти из того же распределения. Когда это невозможно, правило большого пальца заключается в том, чтобы попытаться подобрать тестовые и тренировочные среды как можно ближе.

4.3 Отслеживание данных

В-третьих, обратить внимание на отслеживание данных (Data Snooping).

Если вы обнаружите, что данные больше соответствуют определенной модели путем наблюдения, а затем выберете эту модель, это будет более опасно, потому что это эквивалентно добавлению сложности модели в вашем мозгу.

Фактически, в любом процессе использования данных данные косвенно отслеживаются. Принятие любого решения после просмотра производительности данных вводит «мозговую» сложность.

Например, при выполнении масштабирования вы не можете объединить обучающие наборы и тестовые наборы для масштабирования, а можете только сделать это.

На самом деле подобные ситуации возникают и в передовых исследованиях машинного обучения. Например, первая бумага, обнаруженнаяH1\mathcal{H}_1Будет вD\mathcal{D}работал лучше, в то время как во втором документе предлагалосьH2\mathcal{H}_2, это вD\mathcal{D}СравниватьH1\mathcal{H}_1Выступила лучше (иначе она не была бы опубликована), и третья тоже... Если рассматривать все статьи как одну итоговую, то реальная размерность ВК на самом делеdvc(mHm)d_\text{vc}(\cup_m \mathcal{H}_m), оно будет очень большим, а обобщение будет очень плохим. Это потому, что фактически на каждом этапе процесса автор шпионит за данными, читая предыдущую литературу.

Поэтому при машинном обучении необходимо аккуратно обращаться с данными. Чтобы избежать использования данных для принятия некоторых решений, лучше заранее добавить в модель знания предметной области, а не добавлять некоторые функции в модель после наблюдения за данными. Кроме того, всегда будьте скептичны, будь то на практике, в процессе чтения статьи или при работе с вашими собственными результатами.