Há dois tipos de projetos que devem ser feitos pelos estudantes:
Projetos parciais; e
Projeto final.
Os projetos parciais devem ser apresentados pelos estudantes após cada prova com as seguintes características:
Implementação computacional, de preferência em linguagem Python, sobre o tema proposto pelo professor;
Apresentação oral com slides com duração de 8 a 10 minutos;
Relatório escrito, preferencialmente em LaTeX, com o formato padrão de um artigo científico, devendo conter as seguintes seções:
Resumo;
Abstract (em inglês);
Introdução;
Trabalhos Relacionados;
Metodologia;
Experimentos;
Resultados;
Conclusão e Trabalhos Futuros (este somente quando aplicável);
Referências.
O projeto final deve ser apresentado pelo estudante ao final da disciplina, com as seguintes características:
Implementação computacional, de preferência em linguagem Python, sobre o tema proposto pelo estudante em acordo com o professor;
Apresentação oral com slides com duração de 20 a 25 minutos;
Relatório escrito, em LaTeX, com o formato padrão de um artigo científico, devendo conter as seguintes seções:
Resumo;
Abstract (em inglês);
Introdução;
Trabalhos Relacionados;
Metodologia;
Experimentos;
Resultados;
Conclusão e Trabalhos Futuros;
Referências.
Projeto Parcial 1
Neste primeiro projeto parcial, o estudante deverá:
Escolher um banco de dados de acesso público (ver, por exemplo, os bancos do UCI https://archive.ics.uci.edu/ml/datasets.php), com as seguintes características:
Deve poder ser usado para classificação;
Deve possuir mais de 1000 (mil) amostras;
Deve possuir mais de 2 (duas) características.
O banco de dados deve ser separado aleatoriamente em conjunto de treinamento e conjunto de teste.
Implementar, em linguagem Python, o algoritmo K-NN sem e com ponderações.
Apresentar a matriz de confusão dos resultados;
Apresentar os resultados sob três ou mais métricas de avaliação, cujas fórmulas devem estar explícitas no relatório.
As apresentações e entrega dos relatórios serão na aula do dia 29 de abril de 2019, segunda-feira.
Projeto Parcial 2
Neste segundo projeto parcial, o estudante deverá:
Baixar o banco de dados Abalone, retirando a característica categórica ("sex").
Baixar o notebook linear_regression.ipynb, disponível neste site e fazer alguns experimentos (não precisa relatá-los).
Parte 1:
Implementar, em linguagem Python, a regressão linear utilizando a decomposição QR estudada, aplicando-a ao banco de dados Abalone (a função numpy.linalg.qr deve ser usada).
Comparar os resultados obtidos em linear_regression.ipynb com os obtidos com a implementação acima.
Parte 2:
Ler a primeira parte do artigo Stoppiglia2003 sobre feature ranking (classificação/seleção de características).
Implementar, em linguagem Python, o feature ranking descrito acima, aplicando-o às 7 características numéricas do banco de dados Abalone.
Parte 3:
Implementar (faça uma busca na internet) os algoritmos K-Means e EM (para gaussianas).
Aplique o Modelo de Misturas Gaussianas (GMM) ao banco de dados Abalone com $k = 1, 2, 3$ gaussianas para realizar a regressão dos dados.
Calcule a raiz do erro quadrático médio (RMS) para os três casos de GMM, lembrando de utilizar validação cruzada.
As apresentações e entrega dos relatórios serão na aula do dia 10 de junho de 2019, segunda-feira.
Projeto Parcial 3
Não haverá o Projeto Parcial 3.
Projeto Final
No Projeto Final, o estudante deverá:
Baixar o banco de imagens faciais ORL e outro banco de imagens (faciais ou não) com mais de 1000 amostras.
Converter as imagens do segundo banco de dados para níveis de cinza, se forem coloridas.
Na validação cruzada no banco ORL, utilizar o esquema leave-one-out.
Na validação cruzada do segundo banco de imagens, utilizar k = 4 ou k=5 (escolha).
Utilizando a função que realiza a SVD do NumPy e a distância euclidiana como medida de dissimilaridade, realizar o reconhecimento (facial ou de objeto) para os seguintes níveis de energia acumulada: 70, 80 e 90%.
Calcular acurácia média e tempo de execução do reconhecimento (não incluir o treinamento, isto é, o pré-processsamento e o cálculo da SVD).
Produzir os gráficos ou tabelas de acurácia média e tempo de processamento.
Todo o processo deve ser explicado com detalhes no Relatório Final, feito no estilo de artigo científico (veja as instruções acima).
As apresentações e entrega dos relatórios serão nas aulas dos dias 8 e 10 de julho.