Página da disciplina de Inteligência Artificial, Turma de 2010/02.

Semestres anteriores:

Ementa Original

Técnicas de inteligência artificial aplicadas à resolução de problemas. Representação de conhecimento. Sistemas baseados em conhecimento. Aprendizagem de máquina. Arquiteturas de sistemas de Inteligência Artificial.

Programa Proposto

  • Introdução a linguagem Python
    • O que é Python e como apresenta-se um programa em Python. Variáveis, expressões e comandos. Funções. Condicionais e Recursividade. Iteração. Strings. Listas. Tuplas. Dicionários. Classes e objetos. Classes e funções. Classes e métodos. Listas encadeadas. Pilhas. Filas. Árvores. Funções lambda.
    • Prática: exercícios em laboratório e com data de entrega.
    • OBJETIVO: INTRODUZIR O ALUNO À UMA LINGUAGEM DE PROGRAMAÇÃO, RELEMBRANDO CONCEITOS APRENDIDOS EM LPG{1, 2, 3}.
  • Introdução e histórico da IA
    • OBJETIVO: APRESENTAR A IA COMO UM TODO, VISLUMBRANDO AS PARTES ESPECÍFICAS QUE SERÃO ESTUDADAS DURANTE O SEMESTRE.
  • Introdução a Inteligência Coletiva
    • O que é Inteligência Coletiva (IC). Aprendizado de máquina. Limites. Exemplos reais. Usos alternativos para algoritmos com aprendizado. Caso de exemplo: filtragem colaborativa. Apresentar a dinâmica da disciplina durante o semestre.
    • Prática: aplicação de recomendação de links extraídos do serviço del.icio.us.
    • OBJETIVO: ESCLARECER O QUE É IC, SUAS ÁREAS PRINCIPAIS. MOTIVAR ATRAVÉS DE APLICAÇÃO REAL.
  • Clusterização (Agrupamento) e Aprendizado de Máquina
    • Aprendizado supervisionado e não-supervisionado. Vetores de palavras. Clusterização hierárquica. Dendogramas. Clusterização por colunas. Clusterização K-Means. Métricas de distâncias. Visualização de resultados. Outras coisas para agrupar.
    • Prática: agrupamento de blogs e pessoas a partir de seus interesses.
    • OBJETIVO: INTRODUZIR O CONCEITO DE CLUSTERIZAÇÃO DE DADOS (AGRUPAMENTO). MÉTODOS PARA DESCOBRIR E VISUALIZAR GRUPOS DE DADOS, PESSOAS, COISAS QUE ESTÃO INTIMAMENTE RELACIONADOS.
  • Busca e Classificação
    • Máquinas de busca. Crawling. Indexação em BD. Ranking baseado em conteúdo. O algoritmo Google PageRank. Redes neurais. Treinamento e teste de RN.
    • Prática: buscas em bases textuais.
    • OBJETIVO: APRESENTAR ALGORITMOS DE BUSCA EM BASES TEXTUAIS E COMO APRESENTAR TAIS RESULTADOS EM UM RANKING.
  • Otimização
    • Representação de soluções. Função de custo. Busca aleatória. Hill climbing. Simulated annealing. Algoritmos genéticos. Visualização de redes.
    • Prática: buscas em bases de dados de vôos.
    • OBJETIVO: COMO RESOLVER PROBLEMAS DE COLABORAÇÃO COM OTIMIZAÇÃO ESTOCÁSTICA. PROBLEMAS COM MÚLTIPLAS VARIÁVEIS.
  • Filtragem de Documentos
    • Filtrando Spam. Documentos e palavras. Treinando o classificador. Classificador Naïve. Introdução ao Teorema de Bayes. O método de Fischer. Filtrando feeds de blogs.
    • OBJETIVO: COMO CLASSIFICAR DOCUMENTOS BASEANDO-SE EM SEUS CONTEÚDOS.
  • Modelagem com Árvores de Decisão
    • Árvores de decisão. Treinando árvores. Construção recursiva de árvores. Visualização de árvores. Classificação de novas observações.
    • Prática: aplicações que modelem temas "quentes" (preços, cidades, esportes, ...)
    • OBJETIVO: CONFRONTAR OS CLASSIFICADORES APRESENTADOS ATÉ ENTÃO (RN, BAYES, ...) COM OS BASEADOS EM ÁRVORES DE DECISÃO
  • Criando modelos de preços
    • K-Vizinhos. Função Gaussiana. Cross-validation.
  • Classificação Avançada
    • Métodos Kernel. Support-Vector Machines.
  • Identificação de Características Independentes
  • Programação Genética

Horários

HorárioSegundaTerçaQuartaQuintaSexta
07:30 ~ 08:20  IA  
08:20 ~ 09:10IA IA  
09:20 ~ 10:10IA IA  

Monitoria

Email do monitor Alan Fachini: alfakini <arroba> gmail <ponto> com

Aulas

     Para instalar a API pydelicious:

     1. Faça o download da API em http://pydelicious.googlecode.com/files/pydelicious-0.5.0.zip
     2. Descompacte o arquivo, entre no diretório e instale a biblioteca pydelicious:

          unzip pydelicious-0.5.0.zip
          cd pydelicious-0.5.0
          sudo python setup.py install

     3. Para utilizá-lo, basta importar o módulo pydelicious em seu programa Python:

          import pydelicious
          pydelicious.get_popular(tag='programming)

     4. Consulte a documentação da API para conhecer outras funções.

     ou simplesmente (dica do Alessandro):

          sudo easy_install http://pydelicious.googlecode.com/files/pydelicious-0.5.0.zip

Arquivos/APIs/Softwares

APIs

Todas as APIs dependem da instalação do pacote python-setuptools em Debian GNU/Linux. Portanto, antes de utilizar o easy_install, instale-o:

     sudo aptitude install python-setuptools

Também é recomendada a instalação de iPython:

     sudo aptitude install ipython

feedparser

Instalando...

     sudo easy_install feedparser

     ou...

     sudo aptitude install python-feedparser

Testando...

     ipython
     >>> import feedparser
     >>> feedparser.parse('http://automata.cc/index.php/feed/')

pydelicious

Instalando...

     1. Faça o download da API em http://pydelicious.googlecode.com/files/pydelicious-0.5.0.zip
     2. Descompacte o arquivo, entre no diretório e instale a biblioteca pydelicious:

          unzip pydelicious-0.5.0.zip
          cd pydelicious-0.5.0
          sudo python setup.py install

     3. Para utilizá-lo, basta importar o módulo pydelicious em seu programa Python:

          import pydelicious
          pydelicious.get_popular(tag='programming)

     4. Consulte a documentação da API para conhecer outras funções.

     ou simplesmente (dica do Alessandro):

          sudo easy_install http://pydelicious.googlecode.com/files/pydelicious-0.5.0.zip

Testando...

     ipython
     >>> import pydelicious
     >>> pydelicious.get_popular(tag='lisp')

pil

Instalando...

     sudo easy_install pil

matplotlib

Instalando...

     sudo aptitude install python-matplotlib

Usando...

     ipython
     >>> from pylab import *

Referências

IA

  • SEGARAN, Toby. Programming Collective Intelligence. O'Reilly, 2007.
  • RUSSEL, Stuart; NORVIG, Peter. Inteligência Artificial. Campus, São Paulo, 2004.
  • NORVIG, Peter. Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp. Morgan Kaufmann, 1992.
  • WINSTON, Patrick Henry. Artificial Intelligence. 3rd. Edition. Addison-Wesley. Reading, 1992.

Python

Diversas


Page last modified on September 02, 2010, at 04:00 AM