В книге Бишопа «Классификация образов и машинное обучение» описывается метод регуляризации в контексте нейронных сетей. Тем не менее, я не понимаю параграф, описывающий, что в процессе обучения количество степеней свободы увеличивается вместе со сложностью модели. Соответствующая цитата следующая:
Альтернативой регуляризации как способу управления эффективной сложностью сети является процедура ранней остановки. Обучение нелинейным сетевым моделям соответствует итеративному уменьшению функции ошибки, определенной в отношении набора обучающих данных. Для многих из алгоритмов оптимизации, используемых для обучения сети, таких как сопряженные градиенты, ошибка является нерастущей функцией индекса итерации. Однако ошибка, измеренная по отношению к независимым данным, обычно называемым набором проверки, часто сначала показывает уменьшение, а затем увеличение, когда сеть начинает переполняться. Поэтому обучение может быть остановлено в точке наименьшей ошибки по отношению к набору данных проверки, как показано на рисунке 5.12, для того, чтобы получить сеть с хорошими характеристиками обобщения.Поведение сети в этом случае иногда качественно объясняется с точки зрения эффективного числа степеней свободы в сети, при котором это число начинается с малого, а затем увеличивается в процессе обучения, что соответствует устойчивому увеличению эффективного сложность модели.
Это также говорит о том, что количество параметров растет в процессе обучения. Я предполагал, что под «параметрами» он подразумевает количество весов, контролируемых скрытыми единицами сети. Может быть, я ошибаюсь, потому что веса не могут увеличиться в результате процесса регуляризации, но их количество не меняется. Может быть, речь идет о процессе поиска большого количества скрытых юнитов?
Какая степень свободы в нейронной сети? Какие параметры увеличиваются во время тренировки?
Ответы:
Я подозреваю, что это означает, что епископ:
Если вы думаете о нейронной сети как о функции, которая отображает входные данные на выход, то при первой инициализации нейронной сети с небольшими случайными весами нейронная сеть выглядит как линейная функция. Функция активации сигмоида близка к линейной около нуля (просто сделайте разложение по Тейлору), а малые входящие веса гарантируют, что эффективный домен каждой скрытой единицы - это всего лишь небольшой интервал около нуля, поэтому вся нейронная сеть, независимо от того, сколько слои, которые вы имеете, будут очень похожи на линейную функцию. Таким образом, вы можете эвристически описать нейронную сеть как имеющую небольшое количество степеней свободы (равное измерению входных данных). По мере обучения нейронной сети веса могут становиться сколь угодно большими, и нейронная сеть может лучше приближать произвольные нелинейные функции. Так как обучение прогрессирует,
источник
Фраза «иногда объясняется качественно» предполагает, что он просто проводит аналогию с простой линейной регрессией. Каждый раз, когда мы добавляем термин в модель линейной регрессии, мы добавляем в модель степень свободы и вычитаем степень свободы из тех, которые связаны с термином ошибки. Если мы поместим достаточное количество независимых терминов в модель, мы сможем идеально «предсказать» историю из набора случайных чисел, но мы не сможем предсказать будущее.
источник
Я думаю, что нечто подобное было предоставлено HTF Sec. 7.6 , хотя они на удивление не относятся к Ye (1998). Тем не менее, они относятся к епископу как к особому случаю.
источник
Он говорит «эффективная сложность сети». Он на самом деле относится к размеру весов сети. Это можно понять с точки зрения принципа минимальной длины описания . Но прежде чем углубиться в это, интуиция заключается в том, что чем больше вес, тем больше функций может соответствовать вашей сети, и, следовательно, тем выше степень свободы (и эффективная сложность).
В этой главе он говорит о регуляризации, которая является техникой эффективного снижения риска переоснащения, требуя, чтобы веса были как можно меньше. В общем,
More generally, you have that the MAP estimate is equivalent to the following,
The right hand side of the expression can be interpreted as the number of bits necessary to describe your classifier. The first term represent the number of bits necessary to code the errors your network does on the training data. The second represents the number of bits necessary to code the weights.
The MAP estimate is thus equivalent to choosing the most compact representation possible. In other words, you look for the set of weights which account for the training data as faithfully as possible which can be expressed with the least number of bits.
Notice that this is another form of the bias/variance problem: the bigger the weights, the lower the first term, because the network can fit the training data better (overfitting). But at the same time the higher the complexity of weights. The smaller the weights, the smaller the complexity of the network, but the higher the error term (bias). The higher the number of bits necessary to code the errors of the network.
Hope this gives you an good enough idea of what he is referring to.
P.S. adding a longer argument to the ongoing discussion Maybe I misunderstand you. Let me please try to explain myself a last time.
The prior on the weights means represent the assumption we make about the function you want to fit. The bigger the prior (i.e. the weights) the broader the Gaussian, i.e. the more possible configurations one considers to fit the network.
Let us consider the case of regression (as in the paper I referred to). Low generalization error means that the network is able to map unseen samples very close to the actual values. If you are fitting a straight line, then a first order polynomial suffices (low complexity). Now, you could also fit the data with a higher order polynomial (let higher order coefficients be different from zero). The complexity of the network is higher because you allow for oscillations, for a more complex curve. Nevertheless, if the coefficients corresponding to higher order terms are low enough, the network can approximate the straight line very well, thus resulting in good generalization.
So the whole point of MDL is to make your weights as small as possible, as long as the generalization error can me minimized along.
Finally, quoting you: "I still find troublesome the argument that as the model starts to overfit, its capabilities to model other functions will increase. I think that's quite the opposite because a model that overfits, can't generalize to be applied to new information.". Yes, it can model OTHER, more complex functions, but it will fail to model the function at hand properly. In the figure 5.12 in the book, the error first declines, as the size of the weight increases (reduction in bias). Up to a given point when it starts to increase again (decrease in generalization, overfit).
источник