Trabalho 2: Apredizagem em perceptrões multicamada. Discentes: Ricardo Seromenho a23842 Rui Dias a24254
|
|
- Isabel Neto Martinho
- 7 Há anos
- Visualizações:
Transcrição
1 Universidade do Algarve Faculdade de Ciências e Tecnologia Departamento de Engª Electrónica e Informática Inteligência Artificial (2005/2006 2º Semestre) Trabalho 2: Apredizagem em perceptrões multicamada Discentes: Ricardo Seromenho a23842 Rui Dias a
2 Índice Introdução... 3 Modelo do perceptrão... 4 Classe Perceptrão variáveis... 4 Classe Perceptrão métodos... 5 Modelo da camada... 6 Classe Camada variáveis... 6 Classe Camada métodos... 7 Modelo da Rede... 9 Classe Rede variáveis... 9 Classe Rede métodos Apresentação de resultados A melhor topologia Manual do utilizador Conclusão Referências Anexo Anexo
3 Introdução Com este trabalho pretende se implementar um perceptrão multicamada, com aprendizagem por retropopagação de erro e com um número de entradas, saídas, camadas e de neurónios a definir pelo utilizador. Neste trabalho específico, cada padrão, é um vector com 9 valores inteiros que corresponde ao caracter a ser classificado. A camada de entrada tem como entrada cada padrão (ver anexo 1), e a camada de saída tem 4 valores. Onde a activação de cada valor corresponde a um caracter codificado internamente (ver anexo 2). Outro dos objectivos do trabalho prático é com o treino da rede, construir um classificador. Classificador esse que não seja apenas capaz de reconhecer padrões utilizados, durante o treino da rede, mas que seja também capaz de generalizar, ou seja, reconhecer entradas com ruído. 3
4 Modelo do perceptrão O perceptrão recebe como entrada um vector de dimensão N, produzindo um valor de saída. Este valor é obtido através da função de custo (f(si)) sobre o somatório dos valores da entrada multiplicado por cada peso dessa entrada. Classe Perceptrão variáveis public double []weight; Array que corresponde aos pesos das entradas no neurónio. Este array terá tantos pesos, quantas as entradas da camada mais um. Este mais um peso, é o peso do thresholder que é guardado na última posição do array. public double []deltas; Array que vai guardar o delta de cada peso. Cada posição neste array corresponde ao delta do peso, na mesma posição do array dos pesos. public double eta = 0.001; Valor do eta a utilizar na actualização dos pesos 4
5 Classe Perceptrão métodos public void InitWeight(int n_entradas) Inicia os pesos dos neurónios aleatóriamente no intervalo de [ 0.5, 0.5], e inicia também o array dos deltas. Os deltas são iniciados a zero. O método recebe como entrada a dimensão do array dos pesos para este neurónio., ou seja, o número total de entradas da camada a que o neuório pertence, ao que depois se acrescente uma unidade para guardar o peso do thresholder. public Perceptrao CreateNewPerceptrao(int n_entradas) Cria um perceptrão novo. Recebe o número de entradas da camada a que o neurónio pertence, pois este método depois invoca o método initweight. Este método retorna o novo perceptrão criado. public void calculadeltas(double []in, double gradiente, int thresholder) Calcula e actualiza os deltas dos pesos do neurónio de acordo com a fórmula: w = entrada * erro gradiente Onde, a entrada é o valor da entrada que entra no caminho que tem o pesso correspondente, e o erro gradiente, é o erro gradiente do neurónio. public void limpadeltas() Depois de uma iteracção, é necessário limpar os valores dos deltas. Este método coloca os valores dos deltas do neurónio a zero. public void actualizapesos() Actualizar os pesos do neurónio, segundo: o valor do peso novo é igual ao valor do peso antigo somado com a multiplicação do valor do eta pelo delta delta desse peso. w_novo = w_antigo + (eta * Delta w) public int numeropesos() Conta e retorna o número de pesos que um neurónio tem. O programa foi desenvolvido em JAVA, devido a ser uma linguagem orientada a objectos, sendo por isso no nosso ver, mais simples de resolver o problema. 5
6 Modelo da camada A nossa rede neuronal é uma rede de feed forward, em que cada neurónio de uma camada está ligado a todos os neurónios da camada seguinte. O que nos levou a concluir que o número de entradas da camada de entrada é o número de entradas do padrão, e o número de entradas das camadas seguinte corresponde ao número de saídas da camada anterior. Classe Camada variáveis // Array que guarda os neurónios que constituem a camada private Perceptrao []neuronios; Array de perceptrões que vão contituir a camada. public double []erro_gradiente; Array que guarda o erro gradiente de cada neurónio. O indice de cada erro deste array é o mesmo indice do array dos perceptrões da camada. public double []in; Uma vez que, e como já foi dito acima, cada neurónio da camada está ligado a todos os neurónios da camaada seguinte, então todos os neurónios vão ter as mesmas entradas. Por isso podemos guardar as entradas em camada em vez de guardar em cada perceptrão. public double []out; Array que guarda as saídas da camada. Este array tem tantas posições como o número de neurónios que a camada tem. public int thresholder = 1; Valor do thresholder. Pode ser outro valor, mas optámos por 1. 6
7 Classe Camada métodos public void InitEntradas(int []entradas ) Inicia as entradas da camada de entrada. Recebe um array de inteiros, que corresponde ao array das entradas do padrão que entra na rede. public void InitEntradas(double[]out ) Inicia as entradas das camadas escondidas e da camada de saída. O parâmetro deste método é um array de doubles, que corresponde ao array das saídas da camada anterior à que está a ser inicializada o array. O que este método faz, é igualar cada posição da instância []in desta camada a cada posição da instância []out da camada anterior. public Camada NewCamada(int numero_neuronios,int n_entradas) Este método é como se fosse um construtor da classe camada. Faz o que um construtor faz, cria a camada com o numero de neurónios iagual ao parâmetro numero_neuronios, e inicializa o tamanho do array das entradas da camada. Este método devolve a camada criada. public void somatorio () Preenche o array das saídas da camada. Em cada posição do array coloca no indice correspondente ao índice do neurónio o valor da saída de um. Esse valor é a tangente hiperbólica do somatório da multiplicação dos pesos pelas entradas. public void calculaerrogradiente(double[] erros) Como a fórmula do erro gradiente é diferente da camada de saída e das restantes camadas. Existem dois métodos para calcular o erro gradiente. Este calcula os erros gradientes para a camada de saída. A fórmula para calcular o erro gradiente é: Erro gradiente(i) = ( 1 yi 2 ) * erro(i) Aonde i é a posição do neurónio ao qual está a ser calculado o erro gradiente. public void calculaerrogradiente(camada x){ Calcular os erros gradientes dos neurónios das camadas escondidas e camada de entrada. 7
8 Tem como parâmetro dde entrada a camada a seguir à qual se está a calcular os erros gradientes. Pois a fórmula é: Erro gradiente = ( 1 yi 2 ) * ( erro gradiente(k) * w(k) ) Ou seja, o erro gradiente de um neurónio que esteja numa camada escondida ou na camada de entrada é igual a 1 a saída desse neurónio ao quadrado, vezes o somatório do erro gradiente pelo peso das ligações que esse neurónio tem com os neurónios da camada seguinte. public void calculadeltas() Calcular os deltas da camada. Este método chama o método de calcular os deltas do perceptrão. Ou seja, para cada perceptrão, vão ser calculados os seus deltas. public void limpadeltas() Após cada iteracção é necessário reiniciar os deltas a zero. Este método reinicializa os deltas de uma camda a zero. Para isso, em cada perceptrão, chama o método de limpadeltas. public void actualizapesos() Actualiza os pesos da camada. Como os pesos estão na classe do perceptrão, para cada neurónio da camada é chamado o método de actualizapesos. public int numeropesos() Conta e retorna o número de pesos da camada. 8
9 Modelo da Rede O modelo da nossa rede é o do tipo da que é pedida no trabalho prático que é uma rede de perceptrões multimcamada. Classe Rede variáveis public Camada []camadas; Uma rede multicamada é constiuída por um conjunto de camadas. Assim sendo esta instância da classe rede é exactamente isso: o conjunto de camadas da rede. public int N = 0; Número de padrões do conjunto de treino. Inicado a zero, e posteriormente colocado no seu valor correcto. public int n_camadas = 0; Número de camadas da rede. public double []erros; Array dos erros de cada saída da rede. Cada valor deste array corresponde ao erro produzido na camada de saída pelo nurónio que está no mesmo índice na camada. public double erro_global = 500; Erro global da rede. Calculado pela fórmula que está no enunciado do trabalho prático. É iniciado num valor maior que para que se posso entrar no ciclo da retropopagação. public int [][] desejado Está explicada no anexo 2. 9
10 Classe Rede métodos public Rede(ReadTopologia reader,int n_entradas) throws IOException tem. Construtor da classe. Recebe a topologia da rede e o número de entradas que esta É neste construtor em que é chamado o método da criação de uma camada e consequentemente a criação dos perceptrões. public void propagacao(int []entrada) throws IOException{ Recebe um vector com as entradas a propagar pela rede. Depois, faz a propagação deas mesmas. public void initerro(){ De iteracção em iteracção é necessário reiniciar os valores do erros das saídas da rede a zero. É isso que este método faz. public void calculaerro(int padrao) Calcular e actualizar os erros nas saídas da rede. Cada padrão tem um valor desejado de saída e a fórmula do erro na saída é a subtracção entre o desejado e o que saiu na rede. Daí o parâmetro de entrada deste método ser o padrão que se propagou. Pois o valor do padrão corresponde ao índice da instância das saídas desejadas. public void calculaerroglobal() Calcular o erro global da rede de acordo com a fórmula do enunciado do trabalho prático. public void calculadeltas() Calcular os deltas da rede. Uma vez que os deltas são guardados nos perceptrões, e estes são guardados nas camadas, para cada camada da rede é chamado public void limpadeltas() Desce tal como o método de calcular os deltas até à classe dos perceptrões. Coloca os deltas a zero. Este método é chamdo a cada iteracção do algoritmo da retropopagação. 10
11 public void actualizapesos() Actualizar os deltas da rede. Utiliza a mesma ideia de descer até à classe dos perceptrões para, lá sim, actualizar os pesos. public void retropropagacao(int [][]entrada) throws IOException Este método contém quase todo o algoritmo da retropopagação que se encontra na página 261 da referência [6]. É esse algorimto a partir do ponto 2.1, pois os pontos 1 e 2 desse algoritmo estão no método main do programa. public int numeropesos() Este método calcula e retorna o número total de pesos da rede. 11
12 Apresentação de resultados As várias topologias testadas cada uma teve 7 reinicializações aleatórias dos pesos. Designação da Topologia Descrição da Topologia* Número de pesos Média de iteracções** A A A A A A *Ordem do número de neurónios por camada **Valores arredondados para inteiros A melhor topologia Designação da Topologia Descrição da Topologia* Número de pesos Média de iteracções** A Escolhemos esta topologia porque foi uma topologia que sempre que era inicializada reconhecia todos os caractéres que temos no conjunto de testes. Os pesos iniciais e finais deta topologia são muitos, como tal existe uma função para imprimir os pesos. Se se pretender imprimir os pesos. Basta chamar o método no inicio quando a rede é criada e no fim, depois da rede estar treinada. 12
13 O gráfico do erro global ao longo de um treino da rede. De uma análise feita a este gráfico podemos concluir que supostamente alguma coisa está mal, ou então está menos bem, pois o valor do erro global deveria de decrescer monotonamente. Quando isto acontece e de acordo com o professor ou revela ou eta elevado ou existe algum erro de implementação. Mas o que é certo é que depois de introduzido o conjunto de teste, a rede classifica o bem. 13
14 Manual do utilizador 1. O programa deve ser chamado com dois argumentos. O primeiro de conter a topologia da rede e o segundo deve conter o conjunto de treino da rede. Exemplo de um ficheiro da topologia da rede: O número de neurónios na camada de saída deve ser 4. Obrigatoriamente. Exemplo de um ficheiro de conjunto de treino: Ver anexo 2 2. Depois da rede estar treinada, é pedido ao utilizador o ficheiro que contém o caracter a ser classificado. Já se encontram na directoria dos ficheiros da aplicação os 8 ficheiros com os caracteres do conjunto de treino, mais três com ruído. Exemplo de um ficheiro: Ao que a rede responderia que é um o. 3. O ponto 2 é repetido até que seja inserida a string vazia. 4. O programa vai de maneira que os pontos 1,2 e 3 sejam corridos. Para verfificar outras coisas, como correr a mesma topologia várias vezes, e verificar o erro, ou numero médio de interacções. É necessário alterar o código. 5. O output do programa é a classificação correcta da entrada. 14
15 Conclusão Da análise da apresentação de resultados podemos concluir que as topologias de rede que têm muitos neurónios escondidos, ou seja, as topologias que têm mais neurónios na ou nas camadas escondidas são as topologias que têm um número médio de iteracções até chegar à condição de paragem mais pequeno. Verifica se também que com poucos neurónios (menos que as entradas) na camada de entrada a média de iteracções até chegar à condição de paragem é maior. O número de neurónios da camada de entrada deve ser igual ao número de entradas e o número de nuerónios da camada de saída deve ser igual à quantidade de saídas pretendidas. Já o número de neurónios da camada escondida de ve ser e o número de camadas escondidas, é um caso a estudar para cada problema. Não deve ser um número nem muito grande nem muito pequeno. 15
16 Referências [1] [2] [3] [4] Maria Isabel de Almeida Milho, Redes neuronais e reconhecimento de caracteres (2000), IPL ISEL, Lisboa [5] Michael Negnevitsky, Artificial Intelligence: A guide to Intelligent Systems, Addison Wesley, Pearson Education, 2002 [6] Ernesto Costa e Anabela Simões, Inteligência Artificial: Fundamentos e Aplicações, FCA, Fev
17 i i o o h h t t Anexo 1 17
18 Codificação das saídas desejadas. Anexo 2 Onde cada linha deste array corresponde ao caracter da que está na mesma linha no array dos caracteres (que foi lido do ficheiro de entradas). public int [][] desejado = { }; {1,0,0,0}, {1,0,0,0}, {0,1,0,0}, {0,1,0,0}, {0,0,1,0}, {0,0,1,0}, {0,0,0,1}, {0,0,0,1} Esta instância foi criada porque não foi criado um método que codificasse internamente as saídas desejadas. Logicamente que achamos que o trabalho ficava mais completo se o tivessemos feito, mas também o tempo apertou e também achámos que o objectivo principal do trabalho prático está conseguido. 18
Universidade do Algarve Faculdade de Ciências e Tecnologia
Universidade do Algarve Faculdade de Ciências e Tecnologia Inteligência Artificial (2006-2007 2º Semestre) Trabalho prático 2: Uma rede neuronal para o quebra-cabeças da AMI Discentes: Filipe Silva Pereira
Leia maisTrabalho 1: Caminho mais curto entre duas cidades. Discentes: Ricardo Seromenho a23842 Rui Dias a24254
Universidade do Algarve Faculdade de Ciências e Tecnologia Departamento de Engª Electrónica e Informática Inteligência Artificial (2005/2006 2º Semestre) Trabalho 1: Caminho mais curto entre duas cidades
Leia maisUNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular INTELIGÊNCIA ARTIFICIAL Ano Lectivo 2017/2018
Programa da Unidade Curricular INTELIGÊNCIA ARTIFICIAL Ano Lectivo 2017/2018 1. Unidade Orgânica Ciências da Economia e da Empresa (1º Ciclo) 2. Curso Engenharia Informática 3. Ciclo de Estudos 1º 4. Unidade
Leia maisPROGRAMAÇÃO DE MICROPROCESSADORES 2007 / 2008
Departamento de Engenharia Electrotécnica PROGRAMAÇÃO DE MICROPROCESSADORES 2007 / 2008 Mestrado Integrado em Engenharia Electrotécnica e Computadores 1º ano 1º semestre Funções e Vectores http://tele1.dee.fct.unl.pt
Leia maisSobrecarga. Algoritmos e Programação II. Aula 3 Sobrecarga
Algoritmos e Programação II Aula 3 Sobrecarga *Adaptado do material do Prof. Júlio Machado Sobrecarga Em várias linguagens é comum encontrarmos rotinas que fazem basicamente a mesma coisa, porém, com nomes
Leia maisApresentação da Unidade Curricular 2012/13
Inteligência Artificial Apresentação da Unidade Curricular 2012/13 Objectivos, Programa,, Bibliografia,... Paulo Fazendeiro Universidade da Beira Interior 1 Conteúdo Objectivos Programa Bibliografia Atendimento
Leia maisMestrado Integrado em Engenharia Electrotécnica e de Computadores 2006/2007. Programação 2
Grupo 6 Pretende-se fazer um programa para adivinhar o tipo de um ponto qualquer do plano. O tipo de um ponto pode ser GOOD, FAIR e POOR (pretende traduzir alguma medida de qualidade). Considere as classes
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro
3 Classes e instanciação de objectos (em Java) Suponhamos que queremos criar uma classe que especifique a estrutura e o comportamento de objectos do tipo Contador. As instâncias da classe Contador devem
Leia maisAplicação de Redes Neuronais Artificiais no Comportamento da Precipitação em Portugal Continental.
2º ENCONTRO DE PÓS-GRADUAÇÃO EM INVESTIGAÇÃO E ENSINO DAS CIÊNCIAS FÍSICAS E DA TERRA DA UNIVERSIDADE DE ÉVORA Aplicação de Redes Neuronais Artificiais no Comportamento da Precipitação em Portugal Continental.
Leia maisExame de 1ª Época Introdução à Programação IGE e ETI 2003/02/25-1º semestre de 2002/2003 ISCTE
Recibo do Exame de 1ª Época de Introdução à Programação (IGE e ETI), 2003/02/25 1º semestre de 2002/2003, ISCTE Nome do aluno:... Número do aluno:... Assinatura do docente:... Notas: Exame de 1ª Época
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro
9 Classes Abstractas e Interfaces Classe Abstracta Classe em que pelo menos um dos métodos de instância não é implementado. Exemplo: public abstract class Forma{ public abstract double area(); public abstract
Leia maisProgramação Orientada aos Objectos I
Programação Orientada aos Objectos I UEM Fevereiro 2014 Docente: eng a Tatiana Kovalenko AULA TEÓRICA 1 Tema 1. Introdução à POO Ø Revisão: POO. Classes e Objectos. Elaborado por eng.tatiana Kovalenko,
Leia mais3 Redes Neurais Artificiais
3 Redes Neurais Artificiais 3.1. Introdução A capacidade de implementar computacionalmente versões simplificadas de neurônios biológicos deu origem a uma subespecialidade da inteligência artificial, conhecida
Leia maisRedes Neuronais (outras redes)
Redes Neuronais (outras redes) Victor Lobo Principais arquitecturas de redes Aprendizagem Supervisionada MLP com BP Multi-Layer Perceptron (perceptrão multicamada) Treinado com Backpropagation (retropropagação
Leia maisComputação e Programação (2007/2008-1º Semestre)
Computação e Programação (2007/2008-1º Semestre) Exame Tipo: 2008-01-14 MEMec - LEAN DURAÇÃO: 3 horas Leia com atenção os pontos que se seguem: Comece por escrever o seu nome e número nesta folha, e número
Leia maisRelatório Trabalho Final Reservas de Viagens de Avião
Programação de Microprocessadores 2011/12 Sem. Par Aluno: 34086 Relatório Trabalho Final Reservas de Viagens de Avião Este relatório tem por base o trabalho realizado nesta disciplina sobre Reservas de
Leia maisMelhor caminho entre duas estações de metro
Melhor caminho entre duas estações de metro Concepção e Análise de Algoritmos Turma Nuno Machado Matos Tiago Daniel Sá Cunha Data: 11 de Junho de 2010 Introdução No âmbito da realização do projecto da
Leia maisComputação e Programação Exame Época de recurso
Nome : Número : Computação e Programação 2013-2014 Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas DECivil Exame Época de recurso 29 de Janeiro de 2014 v
Leia maisLinguagem de Programação III
Linguagem de Programação III Aula-4 Construtores e Sobrecarga Prof. Esbel Tomás Valero Orellana Até Aqui Modelos e POO Classes e sua implementação em Java Encapsulamento Tipos de dados nativos em Java
Leia maisProposta de trabalho
Proposta de trabalho 1º semestre 2004/2005 No âmbito das disciplinas de: Algoritmos e Estruturas de Dados I José Braga de Vasconcelos jvasco@ufp.pt Linguagens de Programação I Rui Silva Moreira rmoreira@ufp.pt
Leia maisClasses e Objetos. Sintaxe de classe em Java
Classes e Objetos Classes e Objetos A Programação Orientada a Objetos (POO) é uma técnica de programação que se baseia na construção de classes e utilização de objetos. Os objetos são formados por dados
Leia maisIntrodução à Lógica de Programação
Introdução à Lógica de Programação Não estamos aqui para sobreviver e sim para explorar a oportunidade de vencer adquirindo o saber! (Autor Desconhecido) A lógica é a arte de pensar correctamente e, visto
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro
Variáveis e Métodos de Classe Em Java, quer as classes quer as instâncias das classes são objectos. Onde está o estado da classe? Com que operações é manipulado? UBI, Departamento de Informática T04-1
Leia maisIntrodução a classes e objetos. Prof. Marcelo Roberto Zorzan
Introdução a classes e objetos Prof. Marcelo Roberto Zorzan Aula de Hoje Abstração de Dados Classes e Objetos Definição de Métodos Métodos com parâmetro Abstração de Dados Processo mental através do qual
Leia maisExame de 2ª Época. Introdução à Programação (IGE e ETI), 2004/3/11, 1º semestre de 2003/2004, ISCTE
Recibo do Exame de 2ª Época Introdução à Programação (IGE e ETI), 2004/3/11, 1º semestre de 2003/2004, ISCTE Nome do aluno:... Número do aluno:... Assinatura do docente:... Notas: Exame de 2ª Época Introdução
Leia maisTeoria da Computação. 2006/2007 Trabalho prático nº 1. Trabalho realizado por: Pedro Oliveira ( ) Rui Costa ( ) Turma: TP1
2006/2007 Trabalho prático nº 1 Trabalho realizado por: Pedro Oliveira (501062444) Rui Costa (501062452) Turma: TP1 1 - Introdução O objectivo deste trabalho era implementar um simulador de Autómatos Finitos
Leia maisLinguagem de Programação C. Vetores
Vetores Cristiano Lehrer Declaração de Vetores (1/5) Um vetor pode conter elementos de qualquer tipo de dados. No entanto, os elementos do vetor são todos do mesmo tipo, o qual é definido na declaração
Leia maisTÉCNICO DE INFORMÁTICA - SISTEMAS
782 - Programação em C/C++ - estrutura básica e conceitos fundamentais Linguagens de programação Linguagem de programação são conjuntos de palavras formais, utilizadas na escrita de programas, para enunciar
Leia maisMestrado Integrado em Engenharia Electrotécnica e de Computadores 2006/2007. Programação 2
Grupo 5 Pretende-se escrever um programa em C++, denominado Biblioteca, para gerir uma biblioteca particular. O programa deve conter as seguintes classes: class CLivro string author; string title; string
Leia mais2 Vectores de objectos
2 Vectores de objectos Agenda de contactos 3 Objectivo Manipular uma agenda de contactos. Descrição e Funcionalides Cada contacto na agenda caracteriza-se por um nome, um telefone e um e-mail. Na agenda,
Leia mais[Magee 1999] Concurrency State Models and Java Programs, Jeff Magee, Jeff Kramer, John Wiley 1999.
Cap. IV - Programação Concorrente [Magee 1999] Concurrency State Models and Java Programs, Jeff Magee, Jeff Kramer, John Wiley 1999. [Gosling] The Java Language Specification James Gosling, Bill Joy and
Leia maisInstituto de Informática Estrutura de Dados II
Instituto de Informática Estrutura de Dados II Revisão de Métodos em Classes Aplicada a Estrutura de Dados Básicas 20/08/2018 Profa. Lucília Gomes Ribeiro Prof. Dirson S Campos Programação em Java q O
Leia maisLP II / 1ª Lista de Exercícios
LP II - 2013.2 / 1ª Lista de Exercícios Em todos os exercícios a aluno deve atender aos requisitos enunciados. Métodos e variáveis auxiliares podem ser criadas e usadas, desde que pertinentes. O aluno
Leia maisRedes Neurais Artificial. Prática. Inteligência Artificial
Redes Neurais Artificial Prática Inteligência Artificial Professor: Rosalvo Ferreira de Oliveira Neto Estrutura 1. Introdução a MLP 2. Base de dados e Pré-Processamento 3. Prática MLP - Introdução Redes
Leia maisFamiliarização com a ferramenta JavaCC
Ficha nº 2 Familiarização com a ferramenta JavaCC Estrutura do ficheiro JavaCC O JavaCC utiliza um ficheiro com a extensão.jj, onde são descritos, pelo utilizador, o léxico e a sintaxe da linguagem e gera
Leia maisAULA TEÓRICA 7 Tema 7. Colecções (cont.) Vector Ø Criação Ø Manipulação
AULA TEÓRICA 7 Tema 7. Colecções (cont.) Vector Ø Criação Ø Manipulação 1 Vector Os vectores são semelhantes aos arrays, pois também podem conter um conjunto de objectos aos quais é atribuído um índice.
Leia maisProgramação 2. Trabalho Prático P4A. Efectue as tarefas de programação descritas abaixo, usando a linguagem C++ em ambiente Linux.
Mestrado Integrado em Engenharia Electrotécnica e de Computadores 2006/2007 Programação 2 2º Semestre Trabalho Prático P4A Efectue as tarefas de programação descritas abaixo, usando a linguagem C++ em
Leia maisTeoria da Computação. 2006/2007 Trabalho prático nº 2. Trabalho realizado por: Pedro Oliveira ( ) Rui Costa ( ) Turma: TP1
2006/2007 Trabalho prático nº 2 Trabalho realizado por: Pedro Oliveira (501062444) Rui Costa (501062452) Turma: TP1 1 - Introdução O objectivo deste trabalho foi desenvolver um Simplificador de Gramáticas
Leia maisRedes Neuronais. Apontamentos Aulas TP de Inteligência Artificial LEI/ISEP Introdução às Redes Neuronais. Friday, April 5, 13
Redes Neuronais 1 Modelo do Perceptrão Cada neurónio é composto por dois elementos: o primeiro adiciona os produtos entre os sinais de entrada e respectivos pesos este produto, representado por a representa
Leia maisProgramação I Ponteiros e alocação dinâmica de memória. Prof. Carlos Alberto
Programação I Ponteiros e alocação dinâmica de memória Prof. Carlos Alberto carlos.batista@facape.br carlos36_batista@yahoo.com.br Ponteiros O ponteiro é um tipo de dado como int, char ou float; Variáveis
Leia maisRedes Neurais Artificiais - Introdução. Visão Computacional
Redes Neurais Artificiais - Introdução Visão Computacional Inspiração 2 Inspiração 3 Inspiração Atividade seletivanas conexões Soma os impulsos e passa a diante 4 Inspiração As conexões entre os dendritos
Leia maisMestrado Integrado em Engenharia Electrotécnica e de Computadores 2006/2007. Programação 2. Trabalho Prático P2B
Mestrado Integrado em Engenharia Electrotécnica e de Computadores 2006/2007 Programação 2 2º Semestre Trabalho Prático P2B Efectue as tarefas de programação descritas abaixo, usando a linguagem C++ em
Leia maisEscreva em Java a classe NumeroComplexo que represente um número complexo. A classe deverá ter os seguintes construtores:
Lista 2 1 - Números Complexos Números complexos são os que são escritos da forma: a + b*i onde a é a parte real e b a parte imaginária. Escreva em Java a classe NumeroComplexo que represente um número
Leia maisLição 7 Array em Java
Lição 7 Array em Java Introdução à Programação I 1 Objetivos Ao final desta lição, o estudante será capaz de: Declarar e criar arrays Acessar elementos de um array Determinar o número de elementos em um
Leia maisFamiliarização com o processo de implementação de classes. Comentários. Métodos simples, construtores e acesso a membros de dados. Variáveis locais.
Capítulo 3 Implementação de classes Familiarização com o processo de implementação de classes. Comentários. Métodos simples, construtores e acesso a membros de dados. Variáveis locais. Identificação de
Leia maisRui Carneiro, Rui Pereira, Tiago Orfão
Geração de Gráficos SVG através de PHP Rui Carneiro, Rui Pereira, Tiago Orfão Faculdade de Engenharia da Universidade do Porto, R. Dr. Roberto Frias, 4200-465 Porto. {ei04073,ei04077,ei03102}@fe.up.pt
Leia maisProgramação Orientada por Objectos 2007/2008
Programação Orientada por Objectos 2007/2008 Segundo Teste, 30/6/2008, Duração 1h30 (20 valores) 1 [2v] Considere que pretende desenvolver uma função num jogo que trata uma colisão entre dois objectos
Leia maisPROGRAMAÇÃO DE MICROPROCESSADORES 2009 / 2010
Departamento de Engenharia Electrotécnica PROGRAMAÇÃO DE MICROPROCESSADORES 2009 / 2010 Mestrado Integrado em Engenharia Electrotécnica e Computadores 1º ano 2º semestre Trabalho nº 5 Funções e Vectores
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro
Java Collections Framework (JCF) Uma coleção (collection) é um objeto que agrupa vários elementos. A JCF consiste numa arquitetura para representação e manipulação de coleções. Contém: - Um conjunto de
Leia maisCommon Object Request Broker Architecture
Common Object Request Broker Architecture OMG: Object Management Group. Organização internacional, sem fins lucrativos, fundada em 1989. Mais de 800 membros (incluindo fabricantes de sistemas, produtores
Leia maisConcepção e Fabrico Assistido por Computador
Concepção e Fabrico Assistido por Computador João Pedro Amorim Lobato: gei00017@fe.up.pt Turma: LGEI Trabalho sobre Regressões em Visual Basic Licenciatura em Gestão e Engenharia Industrial
Leia maisPROGRAMAÇÃO FUNÇÕES NA LINGUAGEM C
PROGRAMAÇÃO FUNÇÕES NA LINGUAGEM C 1 Implementações básicas: a) Implementar o procedimento LerMatriz que preenche uma matriz de L linhas por C colunas de inteiros (L, C 1); b) Implementar o procedimento
Leia maisArrays. Professor: Ricardo Luis dos Santos IFSUL Campus Sapucaia do Sul
Professor: Ricardo Luis dos Santos IFSUL 2015 Arrays ou vetores são estruturas de dados que armazenam usualmente uma quantidade fixa de dados de um determinado tipo Também são conhecidos como estruturas
Leia maisFicheiros de texto 1. Ficheiros de texto. 1. Implementar um programa que leia uma frase do teclado e a escreva num ficheiro.
Ficheiros de texto 1 Ficheiros de texto 1. Implementar um programa que leia uma frase do teclado e a escreva num ficheiro. 2. Implementar um programa que procure num ficheiro uma palavra lida do teclado.
Leia maisUNIVERSIDADE DE AVEIRO PROGRAMAÇÃO I EXAME PRÁTICO
UNIVERSIDADE DE AVEIRO PROGRAMAÇÃO I EXAME PRÁTICO Nome: N.º Mec.: Curso: Sala: Data: 2007-01-03 9h30 Exame: E1.1 A B Total: Informações prévias 1. No seu computador, existe a pasta C:\EXAME. Só os ficheiros
Leia maisIntrodução às Redes Neurais Artificiais
Introdução às Redes Neurais Artificiais Perceptrons de Múltiplas Camadas I Prof. João Marcos Meirelles da Silva www.professores.uff.br/jmarcos Departamento de Engenharia de Telecomunicações Escola de Engenharia
Leia maisUNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica
PERCEPTRON MULTICAMADAS: TÉCNICAS DE VALIDAÇÃO Prof. Dr. André A. P. Biscaro 2º Semestre de 2016 UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT Aspectos de seleção topológica de redes PMC A especificação
Leia maisAULA TEÓRICA 4. Tema 2. Introdução a programação em Java (Continuação) Tema 3. Instruções básicas de entrada e saída
AULA TEÓRICA 4 Tema 2. Introdução a programação em Java (Continuação) Ø Expressões. Ø Operadores de incrementação e de decrementação unária de variáveis. Ø Classe Math. Ø Conversões de tipo. Ø Expressões
Leia maisAULA TEÓRICA 5 Tema 3. Instruções básicas de entrada e saída (continuação)
AULA TEÓRICA 5 Tema 3. Instruções básicas de entrada e saída (continuação) Ø Um primeiro programa em Java. Elaborado por eng.tatiana Kovalenko, UEM Um primeiro programa em Java Nossa tarefa não só aprender
Leia maisInstituto Politécnico de Setúbal. Escola Superior de Tecnologia. Departamento de Sistemas e Informática. Guia para codificação em JAVA
Instituto Politécnico de Setúbal Escola Superior de Tecnologia Departamento de Sistemas e Informática Guia para codificação em JAVA Disciplina de Introdução à Programação Ano Lectivo 2003/2004 CONTEÚDO
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro
2 A tecnologia Java Uma ideia base da linguagem JAVA é a de que, um programa em JAVA deve poder ser executado em qualquer tipo de computador sem ter que ser alterado ou compilado novamente. Em Java o código
Leia maisInformática para Ciências e Engenharias 2013/14. Teórica 3
Informática para Ciências e Engenharias 2013/14 Teórica 3 Na aula de hoje... Ciclo for for end Vectores numéricos e strings sequências de números indexação de vectores Percursos em vectores 2 Ciclo for
Leia maisUnidade 8: Sobrecarga de Funções e Vetores e Matrizes (Arrays) Prof. Daniel Caetano
Linguagem de Programação Atualização: // Unidade 8: Sobrecarga de Funções e Vetores e Matrizes (Arrays) Prof. Daniel Caetano Objetivo: Uso de sobrecarga de funções para criação de código intuitivo e uso
Leia maisAlgoritmos e Estruturas de Dados. Grupo 1
Licenciatura em Engenharia Electrotécnica e de Computadores Algoritmos e Estruturas de Dados Trabalho prático P1B 2003/04 2 o semestre Efectue as tarefas de programação descritas abaixo, usando a linguagem
Leia maisObjectivos. Programação I (2010/2011) 2 o Trabalho de Programação
Programação I (2010/2011) 2 o Trabalho de Programação Introdução As progressões aritméticas e geométricas são exemplos de sucessões numéricas onde o elemento n + 1 depende do elemento n e de uma constante.
Leia maisPROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012
Departamento de Engenharia Electrotécnica PROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012 Mestrado Integrado em Engenharia Electrotécnica e Computadores 1º ano 1º semestre Trabalho nº 5 Funções http://tele1.dee.fct.unl.pt/pm
Leia mais1 - Ambiente de desenvolvimento
Neste documento começa-se por apresentar o ambiente de desenvolvimento integrado do Visual Basic (menu bar, toolbars, toolbox, project explorer window, properties window, form designer e code editor window).
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro
6 Exceções Quando um programa viola as restrições semânticas da linguagem, a JVM assinala um erro ao programa, sob a forma de exceção. Uma exceção é um erro recuperável O controlo da execução do programa
Leia maisApêndice A. Alguns construtores e métodos importantes e úteis da classe Vector são:
Apêndice A Classe Vector A classe Vector permite a representação de um vetor de dados de maneira similar à de um array, visto na disciplina Programação Orientada a Objetos I, mas com maior flexibilidade.
Leia maisComputação e Programação Exame Resolvido 1ª Época
Computação e Programação 2012-2013 Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas DECivil Exame Resolvido 1ª Época 9 de janeiro de 2012 Exame sem consulta
Leia maisFicha 1 Noções de sequência e decisão em algoritmia
Ficha 1 Noções de sequência e decisão em algoritmia 1. Ler uma temperatura em Celsius e converter para Fahrenheit. Elabore o algoritmo e especifique as estruturas de dados necessárias para a resolução
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro
Quando um programa viola as restrições semânticas da linguagem, a JVM assinala um erro ao programa, sob a forma de exceção. Uma exceção é um erro recuperável O controlo da execução do programa é transferido
Leia maisLinguagem C Introdução. Contexto Histórico Principais diferenças do Java Funções em C Compilar programas em C no Linux
Linguagem C Introdução Contexto Histórico Principais diferenças do Java Funções em C Compilar programas em C no Linux Porquê C em AC? A linguagem C fornece um modelo de programação próximo da máquina física
Leia maisExercícios de Excel com Programação em VBA. Luís Vieira Lobo
Exercícios de Excel com Programação em VBA Luís Vieira Lobo Enunciados 1) Considere o seguinte livro Excel constituído pelas folhas de cálculo Pauta e Exame (ver Fig. 1 e Fig. 2). Fig. 1 Folha de cálculo
Leia maisMódulo 2 Gestão de Base
Didáxis - Escola Cooperativa de Vale S. Cosme Módulo 2 Gestão de Base de Dados Aula Nº 59/60 16-01-2008 Sumário: Revisões da matéria Dada. Propriedades dos Campos. Elaboração e correcção de uma ficha de
Leia mais9 Classes Abstractas e Interfaces
9 Classes Abstractas e Interfaces Classe Abstracta Classe em que pelo menos um dos métodos de instância não é implementado. Exemplo: public abstract class Forma{ public abstract double area(); public abstract
Leia maisTrabalho Prático Data de Entrega : 30 de Maio
Escola Superior de Tecnologia / Instituto Politécnico de Setúbal Algoritmos e Tipos Abstractos de Informação 2005/2006 Trabalho Prático Data de Entrega : 30 de Maio O problema Pretende-se realizar um jogo
Leia maisProgramação. Folha Prática 5. Lab. 5. Departamento de Informática Universidade da Beira Interior Portugal Copyright 2010 All rights reserved.
Programação Folha Prática 5 Lab. 5 Departamento de Informática Universidade da Beira Interior Portugal 2015 Copyright 2010 All rights reserved. 1. Revisão. 2. Objectivos. 3. Exercícios LAB. 5 5ª semana
Leia maisLEIC-A / MEIC-A 2007/2008 (1º
1/11 LEIC-A / MEIC-A 2007/2008 (1º Semestre) Teste (versão A) 08 de Janeiro de 2008, 09:00 (120 minutos) Nome: Primeira Parte (5 valores) PERGUNTA RESPOSTA 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 Segunda
Leia maisProgramação Orientada a Objetos. Aula 1.9 this e static. Prof. Bruno Moreno
Programação Orientada a Objetos Aula 1.9 this e static Prof. Bruno Moreno bruno.moreno@ifrn.edu.br Relembre: Clase RoboSimples Os métodos move() e move(int passos) podem ser reescrito sem redundância de
Leia maisQuando um programa viola as restrições semânticas da linguagem, a JVM assinala um erro ao programa, sob a forma de exceção.
6 Exceções Quando um programa viola as restrições semânticas da linguagem, a JVM assinala um erro ao programa, sob a forma de exceção. Uma exceção é um erro recuperável - O controlo da execução do programa
Leia maisPROGRAMAÇÃO ORIENTADA A OBJETOS: OCULTAR INFORMAÇÕES E ENCAPSULAMENTO
COLÉGIO ESTADUAL ULYSSES GUIMARÃES CURSO TÉCNICO PROFISSIONALIZANTE EM INFORMÁTICA ERINALDO SANCHES NASCIMENTO PROGRAMAÇÃO ORIENTADA A OBJETOS: OCULTAR INFORMAÇÕES E ENCAPSULAMENTO FOZ DO IGUAÇU 2013 LISTA
Leia maisRESOLUÇÃO. Computação e Programação (2009/2010-1º Semestre) 1º Teste (11/11/2009) Nome. Número. Leia com atenção os pontos que se seguem:
Computação e Programação (2009/2010-1º Semestre) 1º Teste MEMec - LEAN (11/11/2009) DURAÇÃO: 1h30m RESOLUÇÃO Leia com atenção os pontos que se seguem: Comece por escrever o seu nome e número nesta folha,
Leia maisPROGRAMAÇÃO DE MICROPROCESSADORES 2007 / 2008
Departamento de Engenharia Electrotécnica PROGRAMAÇÃO DE MICROPROCESSADORES 2007 / 2008 Mestrado Integrado em Engenharia Electrotécnica e Computadores 1º ano 1º semestre TRABALHO FINAL DE AVALIAÇÃO Gestão
Leia maisProcalc v1.0. Versão Utilizador (Manual de Utilizador)
Procalc v1.0 Versão Utilizador (Manual de Utilizador) Conteúdo Procalc... 4 Botões Numéricos... 5 Funções Básicas... 6 Funções avançadas... 7 Logaritmo... 7 Logaritmo Natural... 7 Expoente... 7 Factorial...
Leia maisEstrutura de Dados Funções e Procedimentos
Estrutura de Dados Funções e Procedimentos Prof. Salustiano Rodrigues de Oliveira saluorodrigues@gmail.com www.profsalu.wordpress.com Java A linguagem Java utiliza o paradigma de programação orientada
Leia maisReconhecimento de Padrões/Objetos
Reconhecimento de Padrões/Objetos André Tavares da Silva andre.silva@udesc.br Capítulo 2 de Gonzales Classificação Linear Introdução Para utilizar uma função discriminante linear (Linear Discriminant Function)
Leia maisPrevisão de consumos a curto prazo
Previsão de consumos a curto prazo Cláudio Monteiro Distribuição de Energia II 5º ano da LEEC - ramo de Energia (FEUP) O que são? são técnicas computacionais que apresentam um modelo matemático inspirado
Leia maisFUNDAMENTOS DA PROGRAMAÇÃO 2º Teste, 1 de junho de 2013, 1h30m
FUNDAMENTOS DA PROGRAMAÇÃO 2º Teste, 1 de junho de 2013, 1h30m 1. (3.25) Escreva um programa que pede o nome (mais de 2 caracteres) e o sobrenome (mais de 4 caracteres) a um utilizador e gera um username
Leia maisImplementando classes em C# Curso Técnico Integrado em Informática Fundamentos de Programação
Implementando classes em C# Curso Técnico Integrado em Informática Fundamentos de Programação Introdução Além de utilizar as classes presentes na biblioteca padrão, programadores podem definir suas próprias
Leia maisInstruções de repetição
Folha Prática Instruções de repetição 1 Instruções de repetição Repetição (e componentes associadas a qualquer repetição: inicialização, teste da condição de paragem e actualização) Repetição com teste
Leia maisUNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica
REDES NEURAIS ARTIFICIAIS PERCEPTRON MULTICAMADAS Prof. Dr. André A. P. Biscaro 1º Semestre de 2018 Arquitetura Redes Perceptron de Múltiplas Camadas (PMC), também conhecidas como redes MLP (Multiple Layer
Leia maisComputação e Programação Exame Época de recurso
Nome : Número : Computação e Programação 2013-2014 Mestrado Integrado em Engenharia Civil Licenciatura Bolonha em Engenharia Geológica e de Minas DECivil Exame Época de recurso 29 de Janeiro de 2014 v
Leia maisUNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS C1105 INTRODUÇÃO À PROGRAMAÇÃO EM C
UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS C1105 INTRODUÇÃO À PROGRAMAÇÃO EM C 1º Semestre 2006/2007 27/02/2007 (D) Leia com atenção as perguntas e justifique todas as suas respostas. 1. Explique
Leia maisProgramação Orientada a Objetos Introdução a POO
Introdução a POO Implementação Técnico em Informática, M.Sc. Objetos 12/04/2012 20:17 Redes de Computadores 2 Domínio e Aplicação Domínio Composto pelas entidades, informações e processos relacionados
Leia maisAula teórica 10 Tema 10. Selecção Instruções de selecção:
Aula teórica 10 Tema 10. Selecção Instruções de selecção: Selecção simples. Instrução if Selecção em alternativa. Instrução if Testes múltiplos Selecção múltipla. Instrução switch - case Objectivos da
Leia mais