No livro de Bishop, "Classificação de padrões e aprendizado de máquina", descreve uma técnica para regularização no contexto de redes neurais. No entanto, não entendo um parágrafo descrevendo que, durante o processo de treinamento, o número de graus de liberdade aumente junto com a complexidade do modelo. A cotação relevante é a seguinte:
Uma alternativa à regularização como forma de controlar a complexidade efetiva de uma rede é o procedimento de parada antecipada. O treinamento de modelos de rede não lineares corresponde a uma redução iterativa da função de erro definida com relação a um conjunto de dados de treinamento. Para muitos dos algoritmos de otimização usados no treinamento em rede, como gradientes conjugados, o erro é uma função não crescente do índice de iteração. No entanto, o erro medido em relação aos dados independentes, geralmente chamado de conjunto de validação, geralmente mostra uma diminuição no início, seguida de um aumento quando a rede começa a se ajustar demais. Portanto, o treinamento pode ser interrompido no menor erro em relação ao conjunto de dados de validação, conforme indicado na Figura 5.12, para obter uma rede com bom desempenho de generalização.O comportamento da rede, neste caso, às vezes é explicado qualitativamente em termos do número efetivo de graus de liberdade na rede, em que esse número começa pequeno e depois cresce durante o processo de treinamento, correspondendo a um aumento constante na eficiência complexidade do modelo.
Ele também diz que o número de parâmetros aumenta durante o curso do treinamento. Eu estava assumindo que por "parâmetros", ele se refere ao número de pesos controlados pelas unidades ocultas da rede. Talvez eu esteja errado porque os pesos são impedidos de aumentar em magnitude pelo processo de regularização, mas eles não mudam em número. Poderia estar se referindo ao processo de encontrar um bom número de unidades ocultas?
O que é um grau de liberdade em uma rede neural? Quais parâmetros aumentam durante o treinamento?
fonte
Respostas:
Eu suspeito que é isso que Bishop quer dizer:
Se você pensa em uma rede neural como uma função que mapeia entradas para uma saída, quando você inicializa uma rede neural com pequenos pesos aleatórios, a rede neural se parece muito com uma função linear. A função de ativação sigmóide é quase linear em torno de zero (basta fazer uma expansão de Taylor), e os pequenos pesos recebidos garantirão que o domínio eficaz de cada unidade oculta seja apenas um pequeno intervalo em torno de zero, de modo que toda a rede neural, independentemente de quantas camadas que você possui, parecerá muito com uma função linear. Assim, você pode descrever heuristicamente a rede neural como tendo um pequeno número de graus de liberdade (igual à dimensão da entrada). À medida que você treina a rede neural, os pesos podem se tornar arbitrariamente grandes e a rede neural pode aproximar melhor funções não lineares arbitrárias. Assim, à medida que o treinamento avança,
fonte
A frase "às vezes explicada qualitativamente" sugere que ele está apenas fazendo uma analogia à regressão linear simples. Cada vez que adicionamos um termo a um modelo de regressão linear, adicionamos um grau de liberdade ao modelo e subtraímos um grau de liberdade daqueles associados ao termo de erro. Se colocarmos termos independentes suficientes em um modelo, poderemos "predizer" a história perfeitamente a partir de um conjunto de números aleatórios, mas seremos totalmente incapazes de prever o futuro.
fonte
Eu acho que algo semelhante foi fornecido pela HTF Sec. 7.6 , embora surpreendentemente não se refiram a Ye (1998). Eles se referem a Bishop como um caso especial, no entanto.
fonte
Ele diz que a "complexidade efetiva da rede". Na verdade, ele se refere ao tamanho dos pesos da rede. Isso pode ser entendido em termos do princípio do comprimento mínimo da descrição . Mas, antes de entrar nisso, a intuição é que, quanto maiores os pesos, mais diferentes tipos de funções sua rede pode caber e, portanto, maiores os graus de liberdade (e complexidade efetiva).
Nesse capítulo, ele está falando sobre regularização, que é uma técnica para reduzir efetivamente o risco de sobreajuste, exigindo que os pesos sejam o menor possível. Em geral,
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).
fonte