Qual é o papel do viés nas redes neurais?

807

Estou ciente da descida do gradiente e do algoritmo de propagação traseira. O que não entendo é: quando é importante usar um viés e como você o usa?

Por exemplo, ao mapear a ANDfunção, quando eu uso 2 entradas e 1 saída, ela não fornece os pesos corretos; no entanto, quando eu uso 3 entradas (uma das quais é uma tendência), ela fornece os pesos corretos.

Karan
fonte
17
Confira esta pergunta: stackoverflow.com/questions/1697243/help-with-perceptron para um exemplo de um problema real, onde o OP não estava usando um termo viés
Amro
6
E aqui é um bom exemplo em Python de por que o viés é importante :) stackoverflow.com/questions/38248657/...
minerais
3
aqui está um ótimo artigo completo de matemática de backprop, também cobrindo atualizações tendenciosas: theclevermachine.wordpress.com/2014/09/06/…
Andy

Respostas:

1361

Eu acho que preconceitos são quase sempre úteis. Com efeito, um valor de viés permite que você mude a função de ativação para a esquerda ou direita , o que pode ser crítico para um aprendizado bem-sucedido.

Pode ajudar olhar um exemplo simples. Considere esta rede de 1 entrada e 1 saída que não possui viés:

rede simples

A saída da rede é calculada multiplicando a entrada (x) pelo peso (w 0 ) e passando o resultado por algum tipo de função de ativação (por exemplo, uma função sigmóide).

Aqui está a função que essa rede calcula, para vários valores de w 0 :

saída de rede, considerando diferentes pesos w0

Alterar o peso w 0 altera essencialmente a "inclinação" do sigmóide. Isso é útil, mas e se você quiser que a rede produza 0 quando x for 2? Apenas mudar a inclinação do sigmóide não funcionará realmente - você deseja alterar toda a curva para a direita .

É exatamente isso que o viés permite que você faça. Se adicionarmos um viés a essa rede, assim:

rede simples com um viés

... então a saída da rede se torna sig (w 0 * x + w 1 * 1.0). Aqui está a aparência da saída da rede para vários valores de w 1 :

saída de rede, considerando diferentes pesos w1

Ter um peso de -5 para w 1 muda a curva para a direita, o que nos permite ter uma rede que gera 0 quando x é 2.

Nate Kohl
fonte
6
@ user1621769: A abordagem mais simples é uma rede com um único nó de polarização que se conecta a todos os nós que não são de entrada na rede.
Nate Kohl
65
@ user1621769: A principal função de um viés é fornecer a cada nó um valor constante treinável (além das entradas normais que o nó recebe). Você pode conseguir isso com um único nó de polarização com conexões com N nós ou com N nós de polarização, cada um com uma única conexão; o resultado deve ser o mesmo.
Nate Kohl
4
@ user1621769: Você pode estar deixando de levar em consideração os pesos? Cada conexão tem uma ponderação treinável e o nó de polarização tem um valor fixo.
Dimpl
4
@ user132458, se o algoritmo de treinamento descobrir que você não precisa da mudança de polarização, os pesos de polarização provavelmente se aproximarão de 0. Assim, eliminando o sinal de polarização.
Jorgenkg
8
@ Gabriel: Deve haver um viés por neurônio oculto.
343

Só para adicionar meus dois centavos.

Uma maneira mais simples de entender qual é o viés: é de alguma forma semelhante à constante b de uma função linear

y = ax + b

Permite mover a linha para cima e para baixo para ajustar melhor a previsão aos dados. Sem b, a linha sempre passa pela origem (0, 0) e você pode ter um ajuste mais fraco.

zfy
fonte
5
boa anologia, mas se definirmos o viés como 1, por que faz diferença para o ajuste agora que todas as linhas passam agora (0,1) em vez de (0,0)? Como todas as linhas agora são tendenciosas para y = 1 em vez de y = 0, por que isso é útil?
blue-sky
36
@ blue-sky Porque, ao multiplicar um viés por um peso, você pode alterá-lo por um valor arbitrário.
Carcigenicate
3
É correto chamar b a "coeficiente"? Um "coeficiente" não é um número usado para multiplicar uma variável?
18716 Ben
8
b não é "coeficiente" e sim interceptação.
Espanta
22
b é o coeficiente de $ x ^ 0 $. a é o coeficiente de $ x ^ 1 $
65

Esse tópico realmente me ajudou a desenvolver meu próprio projeto. Aqui estão algumas ilustrações adicionais que mostram o resultado de uma rede neural simples de avanço de duas camadas com e sem unidades de polarização em um problema de regressão de duas variáveis. Os pesos são inicializados aleatoriamente e a ativação ReLU padrão é usada. Como as respostas antes de mim concluíram, sem o viés, a rede ReLU não pode desviar de zero em (0,0).

insira a descrição da imagem aqui

insira a descrição da imagem aqui

JP K.
fonte
1
Você pode adicionar a função plotada com rótulos de eixo?
Komal-SkyNET
46

Dois tipos diferentes de parâmetros podem ser ajustados durante o treinamento de uma RNA, os pesos e o valor nas funções de ativação. Isso é impraticável e seria mais fácil se apenas um dos parâmetros fosse ajustado. Para lidar com esse problema, um neurônio de viés é inventado. O neurônio de viés está em uma camada, está conectado a todos os neurônios na camada seguinte, mas nenhum na camada anterior e sempre emite 1. Como o neurônio de viés emite 1, os pesos, conectados ao neurônio de viés, são adicionados diretamente a a soma combinada dos outros pesos (equação 2.1), exatamente como o valor t nas funções de ativação. 1 1

A razão pela qual isso é impraticável é porque você está ajustando simultaneamente o peso e o valor, para que qualquer alteração no peso possa neutralizar a alteração no valor que foi útil para uma instância de dados anterior ... adicionar um neurônio de polarização sem alterar o valor permite você para controlar o comportamento da camada.

Além disso, o viés permite que você use uma única rede neural para representar casos semelhantes. Considere a função booleana AND representada pela seguinte rede neural:

ANN
(fonte: aihorizon.com )

  • w0 corresponde a b .
  • w1 corresponde a x1 .
  • w2 corresponde a x2 .

Um único perceptron pode ser usado para representar muitas funções booleanas.

Por exemplo, se assumirmos valores booleanos de 1 (verdadeiro) e -1 (falso), uma maneira de usar um perceptron de duas entradas para implementar a função AND é definir os pesos w0 = -3 e w1 = w2 = .5. Esse perceptron pode ser criado para representar a função OR, alterando o limite para w0 = -.3. De fato, AND e OR podem ser vistos como casos especiais de funções m-de-n: isto é, funções em que pelo menos m das n entradas do perceptron devem ser verdadeiras. A função OR corresponde a m = 1 e a função AND a m = n. Qualquer função m-de-n é facilmente representada usando um perceptron, configurando todos os pesos de entrada para o mesmo valor (por exemplo, 0,5) e, em seguida, configurando o limite w0 de acordo.

Perceptrons podem representar todas as funções booleanas primitivas AND, OR, NAND (1 AND) e NOR (1 OR). Aprendizado de máquina - Tom Mitchell)

O limiar é o viés e w0 é o peso associado ao neurônio do viés / limiar.

Kiril
fonte
8
Pense nisso como uma regra geral: adicione viés! As redes neurais são "imprevisíveis" até certo ponto; portanto, se você adicionar um neurônio de viés, é mais provável que encontre soluções mais rapidamente do que se não tiver um viés. É claro que isso não é matematicamente comprovado, mas é o que observei na literatura e no uso geral.
19410 Kiril
25

O viés não é um NNtermo, é um termo genérico de álgebra a ser considerado.

Y = M*X + C (equação de linha reta)

Agora, se C(Bias) = 0sim, a linha sempre passará pela origem, ou seja (0,0), e depende de apenas um parâmetro, ou seja M, qual é a inclinação, portanto, temos menos coisas para brincar.

C, que é o viés, leva qualquer número e tem a atividade de mudar o gráfico e, portanto, capaz de representar situações mais complexas.

Em uma regressão logística, o valor esperado do destino é transformado por uma função de link para restringir seu valor ao intervalo da unidade. Dessa forma, as previsões de modelo podem ser vistas como probabilidades de resultado primário, como mostrado: Função sigmóide na Wikipedia

Essa é a camada de ativação final no mapa NN que liga e desliga o neurônio. Aqui também o viés tem um papel a desempenhar e muda a curva de maneira flexível para nos ajudar a mapear o modelo.

Pradi KL
fonte
1
então, que problemas no treinamento / aprendizado da rede neural ocorrem quando a linha sempre passa pela origem quando o viés não é usado?
Daniyal Javaid
@DaniyalJavaid Essa pode ser uma possibilidade e não o problema #
Pradi KL 29/17
23

Uma camada em uma rede neural sem viés nada mais é do que a multiplicação de um vetor de entrada com uma matriz. (O vetor de saída pode ser passado por uma função sigmóide para normalização e para uso em RNA de várias camadas posteriormente, mas isso não é importante.)

Isso significa que você está usando uma função linear e, portanto, uma entrada com todos os zeros sempre será mapeada para uma saída com todos os zeros. Essa pode ser uma solução razoável para alguns sistemas, mas, em geral, é muito restritiva.

Usando um viés, você efetivamente adiciona outra dimensão ao seu espaço de entrada, que sempre assume o valor um, para evitar um vetor de entrada com todos os zeros. Você não perde nenhuma generalidade com isso porque sua matriz de peso treinada não precisa ser adjetiva, portanto ainda pode ser mapeada para todos os valores possíveis anteriormente.

2d ANN:

Para uma RNA mapeando duas dimensões para uma dimensão, como na reprodução das funções AND ou OR (ou XOR), você pode pensar em uma rede neuronal da seguinte maneira:

No plano 2d, marque todas as posições dos vetores de entrada. Portanto, para valores booleanos, você deseja marcar (-1, -1), (1,1), (-1,1), (1, -1). O que sua RNA agora faz é desenhar uma linha reta no plano 2d, separando a saída positiva dos valores negativos.

Sem viés, essa linha reta precisa passar pelo zero, enquanto que com o viés, você é livre para colocá-lo em qualquer lugar. Então, você verá que, sem viés, está enfrentando um problema com a função AND, pois não pode colocar ambos (1, -1) e (-1,1) no lado negativo. (Eles não podem estar na linha.) O problema é igual para a função OU. Com um viés, no entanto, é fácil traçar a linha.

Observe que a função XOR nessa situação não pode ser resolvida mesmo com viés.

Debilski
fonte
4
Se você usar uma função de transferência sigmóide, introduzirá a não linearidade. Afirmar que esta é uma função linear está errado e também de alguma forma perigoso, pois a não linearidade do sigmóide é essencial para a solução de vários problemas. Além disso, sigmóide (0) = 0,5, e não há x para o qual sigmóide (x) = 0.
bayer
2
Sim, mas é 0,5 para qualquer entrada de 0 sem viés, independentemente da aparência da função linear anterior. E esse é o ponto. Você normalmente não treina sua função sigmóide, apenas vive com ela. O problema da linearidade acontece bem antes da função sigmóide.
21410 Debilski
Entendi: a camada não é capaz de aprender uma saída diferente para 0 do que aquela com a qual começou. Isso é correto e importante. No entanto, o "argumento da função linear" simplesmente não se aplica na minha opinião. Mesmo com um viés, a função ainda é linear. A propriedade linearidade é enganosa aqui. (Sim, eu poderia ser picuinhas.)
Bayer
Eu diria que, com um viés, é afim . ( pt.wikipedia.org/wiki/Affine_transformation#Representation )
Debilski
Sim, você está correto. Obrigado por apontar essa diferença para mim. (Por que chamamos de regressão linear então, btw, embora seja afim?)
bayer
20

Quando você usa ANNs, raramente conhece os componentes internos dos sistemas que deseja aprender. Algumas coisas não podem ser aprendidas sem um viés. Por exemplo, dê uma olhada nos seguintes dados: (0, 1), (1, 1), (2, 1), basicamente uma função que mapeia qualquer x para 1.

Se você possui uma rede de uma camada (ou um mapeamento linear), não consegue encontrar uma solução. No entanto, se você tem um viés, é trivial!

Em um cenário ideal, um viés também pode mapear todos os pontos para a média dos pontos-alvo e permitir que os neurônios ocultos modelem as diferenças a partir desse ponto.

bayer
fonte
18

A modificação dos pesos dos neurônios por si só serve apenas para manipular a forma / curvatura da sua função de transferência, e não seu equilíbrio / zero ponto de cruzamento .

A introdução do viés neurônios permite que você altere a curva da função de transferência horizontalmente (esquerda / direita) ao longo do eixo de entrada, mantendo a forma / curvatura inalterada. Isso permitirá que a rede produza saídas arbitrárias diferentes dos padrões e, portanto, você pode personalizar / alterar o mapeamento de entrada para saída para atender às suas necessidades específicas.

Veja aqui a explicação gráfica: http://www.heatonresearch.com/wiki/Bias

Oke Uwechue
fonte
16

Só para acrescentar a tudo isso algo que falta muito e que o resto, provavelmente, não sabia.

Se você estiver trabalhando com imagens, talvez prefira não usar um viés. Em teoria, dessa forma, sua rede será mais independente da magnitude dos dados, como se a imagem é escura ou brilhante e vívida. E a rede vai aprender a fazer seu trabalho estudando a relatividade dentro de seus dados. Muitas redes neurais modernas utilizam isso.

Para outros dados, ter vieses pode ser crítico. Depende de que tipo de dados você está lidando. Se sua informação é invariável em magnitude --- se a entrada [1,0,0.1] deve levar ao mesmo resultado que a entrada [100,0,10], você pode estar melhor sem um viés.

Íhor Mé
fonte
você provavelmente está melhor com a normalização. O que é um exemplo de uma rede moderna que usa "falta de preconceito" para produzir invariância de magnitude?
precisa saber é o seguinte
@AwokeKnowing, acredito, o ResNet usual utiliza isso, pois faz parte de sua "inicialização", mas não sei exatamente se eles fizeram isso para esse fim estritamente ou, talvez, por considerações de tamanho / eficiência do modelo e eu " Não tenho certeza se esse conceito foi publicado em qualquer lugar. Mas acho que é completamente compreensível em nível teórico. Se você não tem um viés que não escala, quando você escala valores, todas as saídas simplesmente escalam de acordo. Consciente desse conceito, ou não, grande parte das arquiteturas modernas não tem desvios pelo menos em grande parte de suas estruturas.
Íhor Mé 26/02
16

Em algumas experiências em minha tese de mestrado (por exemplo, página 59), descobri que o viés pode ser importante para a (s) primeira (s) camada (s), mas especialmente nas camadas totalmente conectadas no final, parece não desempenhar um grande papel.

Isso pode ser altamente dependente da arquitetura / conjunto de dados da rede.

Martin Thoma
fonte
Isso soa completamente análogo ao processo de modelagem de sistemas "à mão" com regressão linear. O modelo mais simples seria Y_bar = média (Y). Em seguida, você adiciona complexidade incluindo vários termos X, parando quando não há ganho significativo de informações.
IRTFM
15

A polarização decide quanto ângulo você deseja que seu peso gire.

No gráfico bidimensional, peso e viés nos ajudam a encontrar o limite de decisão dos resultados. Digamos que precisamos construir a função AND, o par de entrada (p) - saída (t) deve ser

{p = [0,0], t = 0}, {p = [1,0], t = 0}, {p = [0,1], t = 0}, {p = [1,1] , t = 1}

insira a descrição da imagem aqui

Agora precisamos encontrar um limite de decisão, o limite da ideia deve ser:

insira a descrição da imagem aqui

Vejo? W é perpendicular ao nosso limite. Assim, dizemos que W decidiu a direção do limite.

No entanto, é difícil encontrar o W correto na primeira vez. Principalmente, escolhemos o valor W original aleatoriamente. Assim, o primeiro limite pode ser este: insira a descrição da imagem aqui

Agora, o limite é o pareller do eixo y.

Queremos girar os limites, como?

Mudando o W.

Então, usamos a função de regra de aprendizado: W '= W + P: insira a descrição da imagem aqui

W '= W + P é equivalente a W' = W + bP, enquanto b = 1.

Portanto, alterando o valor de b (viés), você pode decidir o ângulo entre W 'e W. Essa é "a regra de aprendizado da RNA".

Você também pode ler Design de Rede Neural de Martin T. Hagan / Howard B. Demuth / Mark H. Beale, capítulo 4 "Regra de Aprendizagem Perceptron"


fonte
1
Explicação útil / ilustração
javadba 13/06/19
10

Em particular, de Nate resposta , de ZAt resposta , e de Pradi resposta são grandes.

Em termos mais simples, os vieses permitem que mais e mais variações de pesos sejam aprendidas / armazenadas ... ( nota lateral : às vezes, dado algum limite). De qualquer forma, mais variações significam que os vieses adicionam uma representação mais rica do espaço de entrada aos pesos aprendidos / armazenados do modelo. (Onde pesos melhores podem aumentar o poder de adivinhação da rede neural)

Por exemplo, nos modelos de aprendizado, a hipótese / palpite é desejavelmente delimitada por y = 0 ou y = 1, dada alguma entrada, talvez em alguma tarefa de classificação ... ou seja, alguns y = 0 para alguns x = (1,1) e alguns y = 1 para alguns x = (0,1). (A condição na hipótese / resultado é o limite mencionado acima. Observe que meus exemplos configuram entradas X para cada x = um vetor com valor duplo ou 2, em vez das entradas x com valor único de Nate de alguma coleção X).

Se ignorarmos o viés, muitas entradas podem acabar sendo representadas por muitos dos mesmos pesos (ou seja, os pesos aprendidos ocorrem principalmente perto da origem (0,0). O modelo seria limitado a quantidades mais baixas de bons pesos, em vez de muitos outros pesos bons, ele poderia aprender melhor com viés (onde pesos mal aprendidos levam a suposições mais ruins ou a uma diminuição no poder de adivinhação da rede neural)

Portanto, é ideal que o modelo aprenda próximo à origem, mas também em tantos lugares quanto possível dentro dos limites do limiar / decisão. Com o viés, podemos permitir graus de liberdade próximos à origem, mas não limitados à região imediata da origem.

Jordan Bennett
fonte
9

Expandindo a explicação @zfy ... A equação para uma entrada, um neurônio e uma saída deve ser:

y = a * x + b * 1    and out = f(y)

onde x é o valor do nó de entrada e 1 é o valor do nó de polarização; y pode ser diretamente sua saída ou ser passado para uma função, geralmente uma função sigmóide. Observe também que o viés pode ser constante, mas para tornar tudo mais simples, sempre escolhemos 1 (e provavelmente isso é tão comum que o @zfy fez isso sem mostrar e explicar).

Sua rede está tentando aprender os coeficientes aeb para se adaptar aos seus dados. Assim, você pode ver por que adicionar o elemento b * 1permite que ele se ajuste melhor a mais dados: agora você pode alterar a inclinação e a interceptação.

Se você tiver mais de uma entrada, sua equação será semelhante a:

y = a0 * x0 + a1 * x1 + ... + aN * 1

Observe que a equação ainda descreve uma rede de um neurônio, uma saída; se você tiver mais neurônios, basta adicionar uma dimensão à matriz do coeficiente, para multiplexar as entradas em todos os nós e somar novamente a contribuição de cada nó.

Que você pode escrever em formato vetorizado como

A = [a0, a1, .., aN] , X = [x0, x1, ..., 1]
Y = A . XT

ou seja, colocando coeficientes em uma matriz e (entradas + viés) em outra, você tem a solução desejada como o produto escalar dos dois vetores (você precisa transpor X para que a forma esteja correta, escrevi para XT um 'X transposto')

Portanto, no final, você também pode ver seu viés, pois é apenas mais uma entrada para representar a parte da saída que é realmente independente da sua entrada.

RobMcZag
fonte
Lembro-me da aula de Andrew Ng que o viés foi deixado de fora em parte do processo de treinamento. você poderia atualizar sua resposta para explicar que, considerando sua conclusão de que é "apenas mais uma entrada"?
precisa saber é o seguinte
@AwokeKnowing Não me lembro disso da aula de Andrew Ng, mas isso foi há alguns anos atrás. O viés também pode ser ativado ou desativado, dependendo do que você está tentando aprender. Eu li que no processamento de imagem eles não o usam para permitir o dimensionamento. Para mim, se você usá-lo, você também o usa no treinamento. O efeito é estabilizar os coeficientes quando todas ou parte das entradas são nulas ou quase nulas. Por que você não usaria o viés durante o treinamento e depois o usou ao usar o NN para prever saídas para novas entradas? Como isso poderia ser útil?
precisa saber é o seguinte
Não, era mais parecido com, use-o no passe para frente, mas não use-o ao calcular o gradiente para backprop, ou algo assim.
usar o seguinte comando
@AwokeKnowing Suponho que seja uma maneira de economizar memória e tempo. Você pode decidir que não deseja aprender coeficientes para as unidades de polarização. Isso pode ser bom se você tiver pelo menos uma camada oculta, pois o viés fornecerá alguma entrada para essa camada e a saída pode ser aprendida pelos coeficientes da primeira para a segunda camada. Não tenho certeza se a velocidade da convergência mudará. No meu exemplo de uma camada, você é forçado a aprender também o coeficiente de polarização aplicado à saída.
precisa saber é o seguinte
Em muitos problemas simples, os dados de destino foram modificados e redimensionados, portanto, não é necessário viés. O potencial de influência externa excessiva em variáveis ​​com amplos intervalos é reduzido.
IRTFM 07/04
9

Além das respostas mencionadas .. Gostaria de acrescentar outros pontos.

Viés atua como nossa âncora. É uma maneira de termos algum tipo de linha de base onde não vamos abaixo disso. Em termos de gráfico, pense em como y = mx + b é como um intercepto em y dessa função.

output = input vezes o valor do peso e adicionou um valor de polarização e, em seguida, aplica uma função de ativação.

Naren Babu R
fonte
8

Para pensar de maneira simples, se você tem y = w1 * x onde y é sua saída e w1 é o peso, imagine uma condição em que x = 0 então y = w1 * x é igual a 0 , se você deseja atualizar seu peso, Para calcular a quantidade de alterações delw = target-y em que target é a saída de destino, nesse caso, 'delw' não será alterado, pois y é calculado como 0. Portanto, suponha que, se você puder adicionar algum valor extra, isso ajudará y = w1 * x + w0 * 1 , em que o viés = 1 e o peso podem ser ajustados para obter um viés correto. Considere o exemplo abaixo.

Em termos de linha, a interceptação de inclinação é uma forma específica de equações lineares.

y = mx + b

verifique a imagem

imagem

aqui b é (0,2)

se você quiser aumentá-lo para (0,3), como você o fará alterando o valor de b, que será seu viés

Yumlembam Rahul
fonte
7

Para todos os livros de ML que estudei, o W é sempre definido como o índice de conectividade entre dois neurônios, o que significa que quanto maior a conectividade entre dois neurônios, mais fortes serão os sinais transmitidos do neurônio disparador para o neurônio alvo ou Y = w * X, como resultado, para manter o caráter biológico dos neurônios, precisamos manter o 1> = W> = -1, mas na regressão real, o W terminará com | W | > = 1, que contradiz o funcionamento dos neurônios, como resultado, proponho W = cos (teta), enquanto 1> = | cos (teta) | , e Y = a * X = W * X + b enquanto a = b + W = b + cos (teta), b é um número inteiro

Edward
fonte
7

Nas redes neurais:

  1. Cada neurônio tem um viés
  2. Você pode visualizar o viés como limite (geralmente valores opostos do limite)
  3. Soma ponderada das camadas de entrada + viés decide a ativação do neurônio
  4. A polarização aumenta a flexibilidade do modelo.

Na ausência de viés, o neurônio não pode ser ativado considerando apenas a soma ponderada da camada de entrada. Se o neurônio não estiver ativado, as informações desse neurônio não serão transmitidas pelo restante da rede neural.

O valor do viés é passível de aprendizado.

insira a descrição da imagem aqui

Efetivamente, viés = - limiar. Você pode pensar no viés como é fácil fazer com que o neurônio produza um 1 - com um viés realmente grande, é muito fácil para o neurônio produzir um 1, mas se o viés é muito negativo, é difícil.

em resumo: o viés ajuda a controlar o valor no qual a função de ativação será acionada.

Siga este vídeo para mais detalhes

Alguns links mais úteis:

geeksforgeeks

Para a ciência

Ravindra babu
fonte
1
Boa interpretação. Mas não estou claro como o viés é passível de aprendizado (ou treinável?). Em um caso simples em que perda = ReLU (ômega * x + a), o ômega do peso pode ser treinado através da regra da cadeia, mas como o viés pode aser treinado quando o gradiente aé sempre uma constante?
Libin Wen
4

O termo viés é usado para ajustar a matriz de saída final como a interceptação em y. Por exemplo, na equação clássica, y = mx + c, se c = 0, a linha sempre passará por 0. Adicionar o termo de viés fornece mais flexibilidade e melhor generalização ao nosso modelo de Rede Neural.

Aman pradhan
fonte
0

Em geral, no aprendizado de máquina, temos essa fórmula base Tradeoff de desvios de variância, porque na NN temos o problema de Overfitting (problema de generalização do modelo em que pequenas alterações nos dados levam a grandes mudanças no resultado do modelo) e, por isso, temos grande variação, introduzindo um um pequeno viés poderia ajudar muito. Considerando a fórmula acima do tradeoff de desvio e desvio , onde o desvio é elevado ao quadrado, a introdução de um desvio pequeno pode levar a uma redução significativa da variação. Portanto, apresente viés, quando houver grande variação e perigo de sobreajuste.

Euler
fonte
3
Unidades de polarização e o tradeoff de variação de polarização são conceitos separados. A questão é sobre o primeiro.
SigmaX
0

O viés ajuda a obter uma equação melhor

Imagine a entrada e a saída como uma função y = ax + be você precisará colocar a linha correta entre a entrada (x) e a saída (y) para minimizar o erro global entre cada ponto e a linha. Se você mantiver a equação assim y = ax, terá um parâmetro apenas para adaptação, mesmo que você encontre o melhor para aminimizar o erro global, ele estará meio longe do valor desejado

Você pode dizer que o viés torna a equação mais flexível para se adaptar aos melhores valores

Karam Mohamed
fonte