Ciência da Computação Aprendizado de Máquina (Machine Learning) Aula 03 Aprendizado Supervisionado / : Modelo MCP e Perceptron Max Pereira
Neurônio Booleano de McCulloch- Pitts (Modelo MCP) Proposto em 1943 por Warren McCulloch (médico) e Walter Pitts (estatístico) Publicação no Bulletin of Mathematical Biophysics Título: A Logical Calculus of the Ideas Immanet in Nervous Activity Referência número 1 para a teoria das redes neurais artificiais.
Neurônio Booleano de McCulloch- Pitts (Modelo MCP) n terminais de entrada x 1, x 2,,x n (dendritos) Apenas um terminal de saída y (axônio) Terminais de entradas com pesos associados w 1, w 2,,w n cujos valores podem ser positivos ou negativos (sinapses) O efeito de uma sinapse particular i no neurônio pós-sináptico é dado por x i w i.
Neurônio Booleano de McCulloch- Pitts (Modelo MCP)
Neurônio Booleano de McCulloch- Pitts (Modelo MCP) Neurônio biológico dispara quando a soma dos impulsos ultrapassa o seu limiar de excitação (threshold). Modelo MCP faz a soma dos valores x i w i (soma ponderada) e decide se o neurônio deve ou não disparar (0 ou 1). A ativação do neurônio é obtida pela função de ativação.
Neurônio Booleano de McCulloch- Pitts (Modelo MCP) No modelo MCP a função de ativação é dada pela função de limiar n i=1 x i w i θ Onde n é o número de entradas, w i é o peso associado à entrada x i e o é o limiar (threshold) do neurônio.
Neurônio Booleano de McCulloch- Pitts (Modelo MCP) Modelo simplificado. Considera que os nodos em cada camada disparam sincronamente. Redes MCP com apenas uma camada só conseguem implementar funções linearmente separáveis. Pesos negativos são mais adequados para representar disparos inibidores. Modelo proposto com pesos fixos, não-ajustáveis.
Neurônio Booleano de McCulloch- Pitts (Modelo MCP) O Modelo MCP é um discriminador linear que pode ser usado, em certos casos, como classificador de padrões. As funções lógicas E e OU são linearmente separáveis (implementáveis com o modelo MCP) A função XOR ou ou-exclusivo não é linearmente separável.
Funções Booleanas representadas no plano binário x 2 x 2 x 2 (0,1) (1,1) (0,1) (1,1) (0,1) (1,1) (0,0) (1,0) x 1 (0,0) (1,0) x 1 (0,0) (1,0) x 1 AND OR XOR
Função E (And) com valores bipolares - X 2 + Entrada(x 1,x 2 ) Saída(y) (1,1) +1 (1,-1) -1 (-1,1) -1 (-1,-1) -1 X 1 - -
Funções de Ativação Uma função y=f(x) descreve uma relação (mapeamento entradasaída) de x para y. Exemplo 1: O limiar (threshold) ou função sinal sgn(x) é definida como:
Funções de Ativação Exemplo 2: A função logística ou sigmóide Sigmoid(x) é definida como:
Aprendizado Capacidade de aprender por exemplos; Determinar a intensidade de conexões entre neurônios; Processo iterativo de ajustes aplicado aos pesos; Conhecimento distribuído por toda a rede; Capacidade de extrair regras básicas a partir de dados reais.
Aprendizado Supervisionado Método mais comum no treinamento das RNAs. A entrada e saída desejadas para a rede são fornecidas por um supervisor externo. Ajustar os parâmetros da rede, de forma a encontrar uma ligação entre os pares de entrada e saída fornecidos.
Aprendizado Supervisionado SUPERVISOR SAÍDA ENTRADA RNA _ + ERRO
Aprendizado Supervisionado A desvantagem do método é que, na ausência do supervisor, a rede não conseguirá aprender novas estratégias para situações não cobertas pelos exemplos do treinamento da rede. Algoritmos mais conhecidos: regra delta e o algoritmo backpropagation.
Correção de Erros Procura minimizar a diferença entre a soma ponderada das entradas pelos pesos (saída calculada pela rede) e a saída desejada (erro de resposta atual da rede). O termo e(t) apresenta-se como: e(t) = d(t) y(t), onde d(t) é a saída desejada e y(t) é a resposta atual (calculada) no instante do tempo t.
Correção de Erros A forma genérica para alteração dos pesos por correção de erros é: w i (t+1)=w i (t) + e(t)x i (t) Onde é a taxa de aprendizado e x i (t) é a entrada para o neurônio i no tempo t. O ajuste dos pesos deve ser proporcional ao produto do erro pelo valor de entrada da sinapse naquele instante de tempo.
Regra Delta Possui uma saída desejada d j, assim o peso será proporcional à saída. W ij =(d j a j )a i A Regra Delta depende da função de ativação dos neurônios e minimiza o erro entre a saída desejada e o valor de ativação do neurônio. i j ENTRADA a i a j W ij
Perceptron Frank Rosenblatt (1958) Reconhecimento de letras maiúsculas do alfabeto A conectividade desenvolvida nas redes biológicas contém um grande número aleatório de elementos; Pode ser treinado; A topologia original era composta por unidades de entrada (retina), por um nível intermediário e por um nível de saída formado pelas unidades de resposta.
Perceptron Embora a topologia original possua três camadas, ela é conhecida como perceptron de uma única camada. A retina consiste basicamente em unidades sensoras, e as unidades intermediárias de associação
Perceptron Retina Saída Associação
Perceptron X1 1 w 1 b rede=b+ i Saída=f(rede) = x i w i {1 se rede, 0 se rede < } X2 w 2 Y w 3 X3 Equação fundamental do Perceptron x1.w1+x2.w2+x3.w3= Equação de uma reta
Perceptron (Algoritmo) Passo 1. Inicializar pesos e bias (para simplificar, setar os pesos e bias igual a zero e a taxa de aprendizado (0 < 1) Passo 1. Enquanto a condição de parada for falsa, faça os passos 2 até 6. Passo 2. Para cada par de treinamento s:t, faça os passos 3 até 5 Passo 3. Unidades de entrada (valores) Passo 4. Calcular o valor da unidade de saída rede=b+ i y = 1 se rede, 0 se - rede, -1 se rede < - Passo 5. Ajustar pesos e bias se ocorrer um erro para o padrão Se y t w i (new)=w i (old)+ tx i b(new)=b(old)+ t senão w i (new)=w i (old) b(new0=b(old) Passo 6. Testar condição de parada Se nenhum peso mudou no passo 2, para; senão continua x i w i
Perceptron Múltiplas saídas