Adaline
Pesquisas Acadêmicas: Adaline. Pesquise 861.000+ trabalhos acadêmicosPor: diegoddm • 4/6/2014 • 2.424 Palavras (10 Páginas) • 898 Visualizações
Adaline é uma rede neural de camada única com vários nós onde cada nó aceita múltiplas entradas e gera uma saída. Dadas as seguintes variáveis:
x é o vetor de entrada
w é o vetor de pesos
n é o número de entradas
\ Theta alguma constante
y é a saída
então descobrimos que a saída é y = \ sum_ {j = 1} ^ {n} x_j w_j + \ theta. Se ainda assumir que
x_ {1} n = 1
w_ {n +1} = \ theta
em seguida, o / p reduz o produto de ponto de x e w y = x \ cdot w
Algoritmo de aprendizagem
Vamos supor:
\ Eta é a taxa de aprendizagem (uma constante)
y é a saída desejada
\ Hat {y} é a saída real
em seguida, os pesos são actualizados como segue w \ leftarrow w + \ eta (y - \ hat {y}) x. Os converge Adaline para as praças de erro menos o que é E = (\ hat {y} - y) ^ 2. [ 2 ] Esta regra de atualização é de fato a descida de gradiente estocástico atualização para regressão linear .
Apresentando a Adaline
A Adaline (Adaptative Linear Neuron) foi desenvolvida por Widrow e Hoff em 1959. Foi criada anos depois do aparecimento do Perceptron e é um clássico modelo de neurônio que permite saídas tanto diretas quanto contínuas e pode ser usado para tarefas de classificação e regressão.
Para estas tarefas, o Adaline apresenta uma regra de aprendizado sofisticado, a Regra Delta, que se trata de um método de regressão linear que diminuía a cada exemplo a distância entre a saída obtida e a desejada através de adaptações graduais dos pesos do Perceptron.
Mas o que seria Regressão linear ?
A regressão consiste na busca por uma função que represente, de forma aproximada o comportamento apresentado pelo fenômeno em estudo. A forma mais conhecida de regressão é a linear, por exemplo, uma reta que minimiza o erro médio entre todos os valores considerados.
O gráfico abaixo ilustra um exemplo de um problema de regressão linear em duas dimensões. A busca pela "melhor" reta que melhor represente o conjunto de dados pode ser obtida através da rede Neural Adaline, o qual será explicado nos próximos tópicos.
Problema de regressão de linear
Treinamento
O Adaline é similar ao Perceptron, com diferença apenas pelo seu algoritmo de treinamento. Enquanto o Perceptron ajusta os pesos somente quando um padrão é classificado incorretamente, o Adaline utiliza a regra Delta para minimizar o erro médio (MSE) após cada padrão ser apresentado, ajustando os pesos proporcionalmente ao erro.
A regra Delta foi projetada para eliminar a deficiência do algoritmo de treinamento do perceptron quando são apresentados dados não linearmente separáveis. Ela simplesmente converge até um valor desejado aproximado, onde a função tem taxa de variação máxima. Para isso, ela utiliza de um algoritmo de gradiente descendente, com a intenção de diminuir o valor da função de erro. Este algoritmo pode ser visto como uma "caminhada" no domínio da função do erro , em que casa passo é feito no sentido oposto ao gradiente da função no ponto atual.
Imagine um ADALINE com apenas uma entrada x. Neste caso o neurônio terá apenas 2 pesos, w0 e w1. Logo, a função de erro será bidimensional. No figura abaixo é apresentado o
gráfico da função de erro para 50 padrões de treinamento criados aleatoriamente.
O algoritmo de treinamento do Adaline trabalha tentando minimizar o erro das saídas em relação aos valores desejados di pertencentes ao conjunto de treinamento. A função de custo a ser minimizada é a soma dos erros quadráticos descrita na equação:
Para uma condição inicial qualquer w(0)=wi deseja-se obter a direção do ajuste a ser aplicado no vetor de pesos de forma a caminhar em direção à solução ótima. Para a superfície de erro definida pela equação acima, a direção do ajuste no tempo t pode ser obtida pelo gradiente da função de custo no ponto w(t). Segundo esta regra, o ajuste deve ser feito em direção contrária ao vetor gradiente no ponto w(t). A figura abaixo ilustra o conceito apresentado acima. Os pesos iniciais começam a caminhar (convergir) em direção à solução ótima que seria quando o erro for o mínimo possível.
Baseado nesses conceitos a equação de atualização dos pesos pode ser definida por:
wi wi + (d - y)xi
b b + (d - y)
Veremos agora através de implementação pelo código como esse algoritmo funciona. Utilizaremos o exemplo demonstrado na figura acima do problema de regressão linear, onde dado um conjunto de pontos, precisamos definir a melhor reta (y = ax + b) que represente esse que represente, de forma aproximada o comportamento apresentado pelo fenômeno estudado.
Para resolvermos esse problema nós precisamos de uma rede representada pela figura abaixo, da mesma maneira que o Perceptron com apenas algumas diferenças na saída do neurônio, onde a saída agora é passada por uma função de ativação linear em vez de uma função degrau (1 ou -1).
Como vocês podem observar, cada nó de entrada (input) está diretamente conectado ao nó de saída (output). Ajustando os valores dos pesos (weight) que conectam tais nós , a rede é capaz de aprender.
Veremos abaixo como isso funciona.
Um algoritmo simples
Segue o código-fonte relacionado ao neurônio. Há uma pequena diferença em relação ao Perceptron, em relação ao cálculo do erro global, que é realizado após o treinamento da rede e o surgimento de uma nova variável que é o limiar de erro (biasError), já que as saídas são contínuas no Adaline.
##################################################
...