Apresenta-se nas Tabelas 5.2 e 5.3 os conteúdos programáticos detalhadas da disciplina. Seguidamente, elaboramos uma análise detalhada do programa.
Programa Detalhado de TRP: Cap. 1 Cap. 3
| ||
Cap 1.– Introdução às Técnicas de Reconhecimento de Padrões (TRP)
| ||
1.1 | – Conceito de Padrão | |
1.2 | – Semelhança de Padrões | |
1.2.1 – Classificação | ||
1.2.2 – Regressão | ||
1.3 | – Classes, Padrões e Características | |
1.4 | – Abordagens de TRP | |
1.4.1 – Classificação Estatística | ||
1.4.2 – Redes Neuronais | ||
1.4.3 – Agrupamento de Dados (Clustering) | ||
1.4.4 – Máquinas de Vectores de Suporte | ||
1.4.5 – Reconhecimento de Padrões Sintático | ||
1.5 | – Projecto RP | |
1.51 – Fases de Projecto | ||
1.5.2 – Treino e Teste | ||
1.5.3 – Software RP | ||
Cap 2.– Discriminação de Padrões
| ||
2.1 | – Regiões de Decisão e Funções | |
2.1.1 – Funções de Decisão Generalizadas | ||
2.1.2 – Separabilidade de Hiperplanos | ||
2.2 | – Métricas de Espaços de Características | |
2.3 | – Matriz de Covariância | |
2.4 | – Componentes Principais | |
2.5 | – Avaliação de Características | |
2.5.1 – Inspecção Gráfica | ||
2.5.2 – Desempenho de Modelos | ||
2.5.3 – Testes de Inferência Estatística | ||
2.6 | – Problema da Dimensionalidade | |
Cap 3.– Classificação Estatística
| ||
3.1 | – Discriminantes Lineares | |
3.1.1 – Classificador de Distância Mínima | ||
3.1.2 – Discriminante Euclidiano | ||
3.1.3 – Discriminante de Mahalanobis | ||
3.1.4 – Discriminante de Fisher | ||
3.2 | – Classificação Bayesiana | |
3.2.1 – Regra de Bayes para o Risco Mínimo | ||
3.2.2 – Classificação Bayesiana Normal | ||
3.2.3 – Razão de Dimensionalidade e Estimação do Erro | ||
3.3 | Técnicas Não Paramétricas | |
3.3.1 – Janelas de Parzen | ||
3.3.3 – Método dos k–vizinhos Mais Próximos | ||
3.4 | – A curva ROC (Receiver Operating Characteristic) | |
3.5 | – Selecção de Características | |
3.6 | – Desempenho de Classificadores | |
Programa Detalhado de TRP: Cap. 4 Cap. 6
| ||
Cap 4.– Redes Neuronais
| ||
4.1 | – Funções de Activação | |
4.2 | – Conceito do Perceptrão | |
4.3 | – Tipos de Redes Neuronais (RN) | |
4.4 | – Rede de Múltipla Camada | |
4.4.1 – O Algoritmo de Retropropagação | ||
4.42 – Aspectos Práticos | ||
4.4.3 – Séries Temporais | ||
4.5 | – Desempenho das RN | |
4.5.1 – Medidas de Erro | ||
4.5.2 – A Matriz Hessiana | ||
4.5.3 – O Dilemma Bias – Variância | ||
4.5.4 – Complexidade | ||
4.6 | Métodos de Aproximação | |
4.6.1 – Método do Gradiente Conjugado | ||
4.6.2 – Método Levenberg – Marquardt | ||
4.7 | – Redes Radial Basis Function | |
4.8 | – Redes de Kohonen | |
4.9 | – Redes Modulares | |
Cap 5.– Agrupamento de Dados (Clustering)
| ||
5.1 | – Classificação Não Supervisionada | |
5.2 | – Clustering Hierárquico Aglomerativo | |
5.3 | – Medida de Semelhança entre Clusters | |
5.4 | – Extracção de Características | |
5.5 | – Algoritmo de Clustering das K– Médias | |
Cap 6.– Máquinas de Vectores de Suporte
| ||
6.1 | – Introdução | |
6.2 | – Dimensão VC | |
6.3 | – Risco Estrutural | |
6.4 | – Espaços de Características e Kernels | |
6.5 | – Tipos de Kernels | |
6.5.1 – Linear | ||
6.5.2 – Polinomial | ||
6.5.3 – Sigmoide | ||
6.5.4 – Gaussiano | ||
6.5.5 – Exponencial | ||
6.5.6 – Outras Funções de Kernel | ||
6.6 | – Kernel Trick (Teorema de Mercer) | |
6.6 | – Máquinas de Vectores de Suporte | |
6.6.1 – Classificação | ||
6.6.2 – Regressão | ||
6.6.3 – Exemplos | ||
6.7 | – Técnicas de Implementação | |
Programa Detalhado de TRP: Cap. 7
| ||
Cap. 7 – Combinação de classificadores
| ||
7.1 | – Combinação de classificadores | |
7.2 | – Técnicas de combinação | |
7.3 | – Arquitecturas de combinação | |
7.3.1 – Série/Cascata | ||
7.3.2 – Paralela | ||
7.3.3 – Hierárquica | ||
7.4 | – Construção de Conjuntos de Classificadores | |
7.4.1 – Boosting | ||
7.4.2 – Bagging | ||
7.4.3 – Clustering | ||
7.5 | Conclusão | |
Nesta secção, far-se-á uma análise do programa, re-discriminando os conteúdos por capítulo e indicando-se os objectivos a atingir em cada um. Pretende-se, assim, dar uma ideia das principais questões que nos propomos examinar. A granularidade de cada capítulo, que aqui se expõe, será então ditada pelo preceito da prossecução desses objectivos. No entanto, poderá esperar-se uma certa adaptatividade do programa, consoante aspectos menos claros em matérias a montante da disciplina.
O objectivo do Capítulo 1 (cf. Tabela 5.5) é dar ao aluno uma perspectiva global das Técnicas de Reconhecimento de Padrões (TRP), assim como das suas especificidades. Em particular procurar-se-á dar relevância ao tipo de informação que os sistemas de Reconhecimento de Padrões podem extrair e que normalmente a capacidade humana não extrai. Embora possamos dar uma resposta afirmativa quando se trata de saber se uma máquina é capaz de decidir ou de aprender a decidir, não podemos, perante estas questões fascinantes, deixar de nos posicionar relativamente à aprendizagem e capacidade de decisão humana em reconhecer e classificar objectos. Procurar-se-á, pois, posicionar as TRP relativamente às áreas que lhe são afins, realçando os aspectos quer de índole conceptual, quer prática.
O capítulo é introdutório, definindo os conceitos fundamentais, bem como a arquitectura de um sistema de reconhecimento de padrões e os problemas que se colocam na fase de projecto do sistema [?]. Embora se enunciem as Técnicas de Reconhecimento Sintático de Padrões como uma das possíveis abordagens, não iremos incluí-las no programa, porque dificilmente caberiam num curso semestral, sem prejuízo de outras matérias.
Cap. 1 – Introdução às Técnicas de Reconhecimento de Padrões (TRP)
| ||
1.1 | – Conceito de Padrão | |
1.2 | – Semelhança de Padrões | |
1.2.1 – Classificação | ||
1.2.2 – Regressão | ||
1.3 | – Classes, Padrões e Características | |
1.4 | – Abordagens de TRP | |
1.4.1 – Classificação Estatística | ||
1.4.2 – Redes Neuronais | ||
1.4.3 – Agrupamento de Dados (Clustering) | ||
1.4.4 – Máquinas de Vectores de Suporte | ||
1.4.5 – Reconhecimento de Padrões Sintático | ||
1.5 | – Projecto RP | |
1.51 – Fases de Projecto | ||
1.5.2 – Treino e Teste | ||
1.5.3 – Software RP | ||
No Capítulo 2. (cf. Tabela 5.6) pretende-se munir o aluno com os conceitos de discriminação de padrões, estudando as funções de decisão generalizadas e regiões de decisão [?]. A separabilidade de hiperplanos é essencial em termos de rigor, quer quando se utilizam técnicas estatísticas, quer quando se utilizam técnicas neuronais, máquinas de vectores de suporte, híbridas, etc., pelo que se recorrerá à interpretação geométrica, nos casos de espaços de baixa dimensionalidade, para uma melhor compreensão do problema. Serão estudadas as métricas de espaços de características e será dado realce ao papel da matriz de covariância. Para precaver dos problemas que podem ocorrer quando são aplicadas técnicas de reconhecimento de padrões em espaços de dimensionalidade elevada, é conveniente recorrer-se a métodos de redução da dimensionalidade. Embora, em geral, a redução da dimensionalidade do espaço de entrada conduza a uma perda de informação, persegue-se o objectivo de preservar a maior informação possível. A análise de componentes principais é uma técnica de redução linear muito efectiva em problemas complexos, pelo que é importante a sua inclusão neste capítulo. A avaliação de características, seja por inspecção gráfica, análise do desempenho de modelos ou testes de inferência estatística, é um tópico que deve ser igualmente tratado neste capítulo [?].
Cap. 2 – Discriminação de Padrões
| ||
2.1 | – Regiões de Decisão e Funções | |
2.1.1 – Funções de Decisão Generalizadas | ||
2.1.2 – Separabilidade de Hiperplanos | ||
2.2 | – Métricas de Espaços de Características | |
2.3 | – Matriz de Covariância | |
2.4 | – Componentes Principais | |
2.5 | – Avaliação de Características | |
2.5.1 – Inspecção Gráfica | ||
2.5.2 – Desempenho de Modelos | ||
2.5.3 – Testes de Inferência Estatística | ||
2.6 | – Problema da Dimensionalidade | |
Cap. 3 – Classificação Estatística
| ||
3.1 | – Discriminantes Lineares | |
3.1.1 – Classificador de Distância Mínima | ||
3.1.2 – Discriminante Euclidiano | ||
3.1.3 – Discriminante de Mahalanobis | ||
3.1.4 – Discriminante de Fisher | ||
3.2 | – Classificação Bayesiana | |
3.2.1 – Regra de Bayes para o Risco Mínimo | ||
3.2.2 – Classificação Bayesiana Normal | ||
3.2.3 – Razão de Dimensionalidade e Estimação do Erro | ||
3.3 | Técnicas Não Paramétricas | |
3.3.1 – Janelas de Parzen | ||
3.3.3 – Método dos k–vizinhos Mais Próximos | ||
3.3.4 – A curva ROC (Receiver Operating Characteristic) | ||
3.4 | – Selecção de Características | |
3.5 | – Desempenho de Classificadores | |
O Capítulo 3 contém a abordagem estatística de reconhecimento de padrões (cf. Tabela 5.7). Para além das funções discriminantes lineares, abordar-se-ão princípios da teoria da decisão de Bayes que permite definir métodos de decisão óptimos que minimizam o risco de decisão e a probabilidade de erro. Admitem-se conhecidas as distribuições de probabilidade das observações, conquanto, em casos reais, essa informação não se encontra, em geral, disponível. Para uma cobertura mais ampla da classificação estatística aflorar-se-ão as técnicas não paramétricas, em particular, janelas de Parzen, método dos k-vizinhos mais próximos e a curva de ROC (Receiver Operating Characteristic). Procura-se, tanto quanto possível, dar uma visão alargada da importância da selecção de características, as quais serão também utilizadas nas técnicas subsequentes de RP. A problemática de encontrar o melhor subconjunto de características representativas ou, por assim dizer, de descrição de um dado problema, passa pela apresentação do método teórico - computacionalmente impraticável -, pelos métodos heurísticos, ou mesmo pela procura de soluções recorrendo a algoritmos genéticos, grafos, etc.. Este capítulo termina com a avaliação dos classificadores através da análise do seu desempenho [?].
Cap. 4 – Redes Neuronais
| ||
4.1 | – Funções de Activação | |
4.2 | – Conceito do Perceptrão | |
4.3 | – Tipos de Redes Neuronais (RN) | |
4.4 | – Rede de Múltipla Camada | |
4.4.1 – O Algoritmo de Retropropagação | ||
4.42 – Aspectos Práticos | ||
4.4.3 – Séries Temporais | ||
4.5 | – Desempenho das RN | |
4.5.1 – Medidas de Erro | ||
4.5.2 – A Matriz Hessiana | ||
4.5.3 – O Dilemma Bias – Variância | ||
4.5.4 – Complexidade | ||
4.6 | Métodos de Aproximação | |
4.6.1 – Método do Gradiente Conjugado | ||
4.6.2 – Método Levenberg – Marquardt | ||
4.7 | – Redes Radial Basis Functions | |
4.8 | – Redes de Kohonen | |
4.9 | – Redes Modulares | |
No capítulo seguinte (cf. Tabela 5.8), pela sua importância, serão re-visitados os conceitos básicos das redes multicamada e o algoritmo de retropropagação do erro1 . Serão analisados os classificadores neuronais em que se conhecem exemplos de decisão correcta (Aprendizagem Supervisionada) e para situações em que essa informação não existe (Aprendizagem Não Supervisionada). Será abordado o desempenho das redes neuronais sendo analisado, pela sua relevância, o dilema bias-variância ou aspectos de complexidade.
A importância de métodos de aproximação, como o método do Gadiente Conjugado e o método de Levenberg-Marquardt, justificam a sua inclusão no capítulo, bem como os aspectos principais dos respectivos algoritmos que mostram as suas vantagens/desvantagens em relação ao método do gradiente. As redes de Kohonen permitem ‘racionalizar’ mecanismos de organização topológica do cérebro, exemplificando-se a sua aplicação em vários problemas de Engenharia [?]. As redes modulares serão referidas pelo benefício que apresentam na resolução de problemas mais complexos. Em relação às técnicas fornecidas no Capítulo 3, a principal mudança metodológica consiste em deixar de estimar as estatísticas das observações para passar a estimar a lei de decisão directamente [?].
Cap. 5 – Agrupamento de Dados (Clustering)
| ||
5.1 | – Classificação Não Supervisionada | |
5.2 | – Clustering Hierárquico Aglomerativo | |
5.3 | – Medida de Semelhança entre Clusters | |
5.4 | – Extracção de Características | |
5.5 | – Algoritmo de Clustering das K– Médias | |
No Capítulo 5 (cf. Tabela 5.9) abordar-se-ão algoritmos de classificação não supervisionada, designadamente os métodos de agrupamento de dados (clustering). Será estudado o método de clustering hierárquico aglomerativo, por ser habitualmente usado em reconhecimento de padrões e pela sua simplicidade de implementação. Devido à sua importância serão incluídos métodos de similaridade entre clusters como, por exemplo, o de ligação simples, centroide, mediana, média do grupo e método de Ward. A inclusão da matéria relativa à selecção e extracção de características não deixa dúvidas quanto à sua importância em casos reais de milhares de características. Finalmente, concluir-se-á o capítulo com o algoritmo das k-médias. Ficam por incluir os métodos particionais de clustering desde o algoritmo de Lloyd-Max generalizado ao algoritmo de Forgy, dado que seria incorportável a cobertura da matéria indicada. Deixar-se-á ao aluno mais interessado no tópico a possibilidade de o fazer [?].
Cap. 6 – Máquinas de Vectores de Suporte
| ||
6.1 | Introdução | |
6.2 | Dimensão Vapnik–Chervonenkis (VC) | |
6.3 | Risco Estrutural | |
6.4 | Espaços de Características e Kernels | |
6.5 | Tipos de Kernels | |
6..5.1 – Linear | ||
6.5.2 – Polinomial | ||
6.5.3 – Sigmoide | ||
6.5.4 – Gaussiano | ||
6.5.5 – Exponencial | ||
6.5.5 – Outras Funções de Kernel | ||
6.6 | – Teorema de Mercer (Kernel Trick) | |
6.6 | – Máquinas de Vectores de Suporte | |
6.6.1 – Classificação | ||
6.6.2 – Regressão | ||
6.6.3 – Exemplos | ||
6.7 | – Técnicas de Implementação | |
No Capítulo 6 (cf. Tabela 5.10) abordar-se-ão as máquinas de vectores de suporte que são consideradas o estado-da-arte em técnicas de classificação (e regressão). Possuem um potencial muito elevado pela sua eficácia em aplicações de Engenharia. A redução de custos computacionais (e o consequente aumento de velocidade de resposta) que se consegue tomando em atenção determinadas técnicas de solução do problema de optimização convexa resultante, constitui uma das vantagens comparativamente a outras metodologias, sobretudo em aplicações em tempo real. Desde a sua introdução em 1995, as máquinas de vectores de suporte (Support Vector Machines, SVM) marcaram o início de uma nova era no paradigma da aprendizagem computacional baseada em exemplos. Tendo as suas raízes na Teoria Estatística da Aprendizagem [?], desenvolvida por Vladimir Vapnik nos Laboratórios AT&T, as SVM desde logo sobressaíram em aplicações de reconhecimento de padrões, de modelização e predição de séries temporais devido a um conjunto de características, quer de carácter teórico, quer de carácter prático.
Cap. 7 – Combinação de Classificadores
| ||
7.1 | – Combinação de classificadores | |
7.2 | – Técnicas de combinação | |
7.3 | – Arquitecturas de combinação | |
7.3.1 – Série/Cascata | ||
7.3.2 – Paralela | ||
7.3.3 – Hierárquica | ||
7.4 | – Construção de Conjuntos de Classificadores | |
7.4.1 – Boosting | ||
7.4.2 – Bagging | ||
7.4.3 – Clustering | ||
7.5 | Conclusão | |
Este capítulo dedica-se ao seu estudo, preocupando-se com estas duas vertentes (teórica e prática) que passam pela introdução do conceito de risco estrutural por contraposição ao risco empírico (redes neuronais) e pela formulação das SVMs na classificação ( e regressão). Em particular serão abordados os conceitos da dimensão Vapnik-Chervonenkis (VC), hiperplano óptimo de separação e interpretação geométrica da margem. A robustez estatística da função de custo e a modularidade da função de kernel são tópicos que proporcionam o rigor e o tratamento da complexidade necessários. Para além disso, serão efectuadas demonstrações das potencialidades que as SVMs possuem no desenvolvimento de métodos automáticos de decisão.
A combinação de classificadores é tratada no último capítulo (cf. Tabela 5.11). Em sistemas complexos pode vir a ser necessária, por exemplo, quando se utilizam técnicas de classificação distintas com os mesmos dados ou quando se dispõe de conjuntos de treino diferentes (sampling). Para além destas, por vezes, há que considerar os casos em que se tem acesso a classificadores diferentes, cada um deles desenvolvido num contexto distinto mas baseado em representações diferentes para o mesmo problema. Da combinação de classificadores resultará a decisão final do sistema. Serão dadas respostas a questões como: quando invocar cada classificador? Como interagem os classificadores entre si? O capítulo é, em certa medida, conclusivo dado que dá uma perspectiva das arquitecturas de combinação de classificadores, passando ainda pelas técnicas de construção de conjuntos de classificadores tais como boosting, bagging, clustering, etc.. Por fim, chamar-se-á a atenção do aluno para o facto de existir escassez de estudos teóricos de combinação de classificadores, reduzindo-se, na sua maioria, ao binómio “bias-variance” do erro de classificação, embora existam numerosos estudos experimentais.
Em relação ao programa apresentado na secção anterior os tempos de escolaridade atribuídos a cada um dos capítulos são os seguintes:
Cap. 1. – 1 semana Cap. 2. – 1 semana Cap. 3. – 2 semanas Cap. 4. – 3.5 semanas Cap. 5. – 2 semanas Cap. 6. – 3.5 semanas Cap. 7. – 2 semanas |
´
As aulas teóricas (duas horas por semana) seguem, predominantemente, a via tradicional com a tarefa de exposição centrada no docente. O estabelecimento de diálogo com os alunos contribui, sempre que a ocasião se proporciona (considerando as limitações de tempo), para estimular a atenção dos alunos e vivificar o seu espírito especulativo. Encaminhar os estudantes no descobrimento dos factos científicos, procurando despertar o espírito crítico, é fundamental para o desenvolvimento de capacidades que lhes permitirão, no futuro, encarar a resolução de novos problemas e de vencer os desafios de uma sociedade em permanente mudança. A exposição deverá, assim, ser feita de modo a suscitar um elevado grau de interacção com os alunos. O princípio a adoptar será de ir colocando perguntas de modo que através das respostas possa ocorrer essa interacção. A dinâmica resultante da colocação de perguntas e a partir das respostas dadas, levará a que percebam as relações entre os conceitos que vão sendo apresentados.
Cada aula teórica inicia-se com uma introdução, em que se faz a ligação com a matéria exposta na aula precedente. Caso se trate de um capítulo novo procede-se à sua contextualização no programa global. No final de cada aula é sempre apresentado um resumo, focando os aspectos essenciais dos temas apresentados, e são anunciados os temas a leccionar na aula seguinte.
Para apoiar a exposição das matérias utilizam-se diversos meios: quadro, acetatos e diapositivos. Serão utilizadas projecções por computador, mas sempre de forma equilibrada. Assim, o seu emprego deve ser cuidadosamente doseado de forma a que não se apresentem mais de 10 ‘slides’ por cada hora lectiva. Por outro lado, os ‘slides’ não podem ser uma cópia do texto de estudo ou um seu resumo, destinando-se antes à apresentação de gráficos, imagens ou demonstrações matemáticas mais extensas. Equaciona-se ainda o recurso ao quadro para esclarecimento de dúvidas ou questões mais pertinentes, em particular, especificidades de demonstrações e interpretações geométricas de certos aspectos dos algoritmos de optimização, por exemplo. As aulas teóricas devem, em certa medida, conter as directivas de preparação da aula prática, indicando aspectos de pormenor a ter em atenção quando se tratam casos práticos. Por outro lado, as aulas teóricas devem lançar questões e desafios, remetendo ‘ponteiros’ ou referências de assuntos para explorar extra aula. Apela-se ainda à utilização dos Foruns no Moodle para discussão de temas de interesse relacionados com as várias componentes da disciplina, em particular com os Seminários e Projecto. Embora se incentive fortemente a consulta de bibliografia conceituada nesta área de conhecimento, são postas à disposição dos alunos as lições escritas pela candidata no âmbito da disciplina.