Capa do livro Probabilidade de Barry James

PÓS-GRADUAÇÃO  EM  CIÊNCIA  DA  COMPUTAÇÃO - DCC, UFMG

Fundamentos Estatísticos para Ciência dos Dados A

FECD A

  1. Informações gerais
  2. Objetivos da disciplina
  3. Tópicos cobertos
  4. Material de apoio: Livro-texto e livros suplementares
  5. Material de aula: slides, exercícios, etc
  6. Avaliação da Aprendizagem
  7. Pré-requisitos da disciplina


Informações Gerais



Objetivos da disciplina

Permitir ao aluno dominar princípios, técnicas e metodologias associadas ao raciocínio probabilístico e à análise de dados estatísticos. Há uma explosão no uso de modelos estocásticos e no desenvolvimento de métodos de inferência bastante sofisticados em computação. Algumas das áreas que vem usando intensamente estes modelos incluem as seguintes: robótica probabilística, processamento de linguagem natural, recuperação de informação, redes de sensores e análise de redes sociais. Além destas aplicações, existem as áreas de aprendizado de máquina, mineração de dados e modelos gráficos, ensinadas em quase todos os programas de excelência em ciência da computação. É impossível desenvolver pesquisa de qualidade nestas últimas três áreas sem um sólido conhecimento de probabilidade e estatística.

Esta disciplina é dirigida a alunos de ciência da computação. Ela visa a oferecer os fundamentos básicos de probabilidade, processos estocásticos e inferência para análise de dados a alunos de graduação que estejam nos últimos períodos e alunos que estejam iniciando na pós-graduação. O objetivo é que os alunos possam acompanhar e desenvolver novas idéias nos campos de aplicação de computação que têm usado métodos estocásticos com intensidade. O outro objetivo fundamental é que, ao final do curso, os alunos sejam capazes de ler os capítulos mais avançados dos livros de aprendizado de máquina, tais como An Introduction to Statistical Learning, de Gareth James, Daniela Witten, Trevor Hastie and Robert Tibshirani, 2013, ou The Nature of Statistical Learning Theory, de Vapnik, e de modelos gráficos probabilísticos, tais como Probabilistic Graphical Models de Koller and Friedman, ou Pattern Recognition and Machine Learning, de Bishop.

Novidade a partir de 2021: Teremos uma importante mudança a partir . Eu nunca consegui cobrir todo o programa de FECD. É muita coisa. Os alunos reclamam que eu corro muito com a matéria e eles não absorvem direito. Por isto, a partir deste semestre eu estou quebrando a disciplina em duas, FECD A e FECD B, uma sendo pré-requisito da outra. Nós estaremos trabalhando na disciplina A este semestre (2021/01). No próximo, eu planejo oferecer FECD B. Abaixo, em Tópicos cobertos, eu descrevo  o conteúdo de cada uma dessas duas  disciplinas.

Embora a disciplina tenha muitos exercícios práticos com análise de dados reais usando a linguagem R (e migrando para Python), nós vamos focar nos fundamentos da análise de dados enfatizando os aspectos que são específicos a aplicações em CC. Não vamos enfatizar os aspects práticos da análise de dados, por falta de tempo. Isto é uma pena, mas uma limitação inevitável devido ao tempo disponível (apenas 60 horas de aula). A razão para a decepção é que a prática da análise de dados é diferente da teoria (os fundamentos). Ao analisar dados reais é preciso compreender o problema aplicado para decidir quais são os aspectos relevantes e que devem ser modelados probabilisticamente. Outros aspectos, considerados irrelevantes, são todos despejados numa cesta genérica do modelo (o termo de "erro"). Esta escolha de quais fatores são os relevantes é muitas vezes subjetiva e vai sendo aprimorada na prática da análise de dados. É preciso também decidir quais dados devem ser coletados e como eles devem ser processados. É preciso explorar e visualizar os dados, transformar os dados em medidas ou esclaas mais convenientes para o problema. Adicionalmente, precisamos selecionar os modelos e métodos computacionais a serem aplicados e finalmente ser capazes de comunicar os resultados das análises para gerentes ou o público em geral. Essas habilidades geralmente não são ensinadas nos cursos tradicionais de ciência da computação ou estatística. Elas são obtidas através da experiência, na prática cotidiana da análise de dados e em colaboração com outros analistas ou interagindo com pessoas interessadas nos resultados das análises. Similar ao treinamento médico, depois de passar por várias disciplinas e laboratórios, o médico faz um período de residência médica onde, sob supervisão de professores e médicos experientes, ele é exposto à prática médica real, num hospital ou clínica.  Infelizmente, nós não temos ainda nada parecido em ciência dos dados. Os estágios em empresas são o mais próximo dessa residência prática dos médicos mas ainda fica distante do que eles conseguem realizar. Existe pelo menos uma boa notícia. É que a falta de experiência é o melhor defeito do mundo pois ele desaparece com o tempo.

Carga de Trabalho Semanal: O trabalho na forma de listas de exercícios semanais corresponde a 40% da nota final. Por causa desse alto peso na nota final, você pode esperar uma carga substancial de trabalho fora da sala de aula. Não faça esta matéria se você não tiver tempo. Estas listas lhe darão a oportunidade de testar seu entendimento da matéria, de estender seu aprendizado e de usar as técnicas de análise em alguns problemas de análise de dados. Haverá pelo menos 14 listas semanais, uma por semana. Você deverá entregá-las via moodle às terças-feiras até 23h59. Todos as listas contam igualmente e totalizam 40% da nota final. As três notas mais baixas das listas serão descartadas. Conseqüentemente, não será aceita nenhuma lista atrasada por qualquer motivo. A ênfase colocada nesta última sentença é para que você e eu não nos esqueçamos disso ao longo do semestre (isto foi uma piada).


Tópicos cobertos

FECD A

  1. Revisão de Probabilidade: Regra de Bayes.
  2. Principais distribuições de probabilidade;
  3. Distribuições conjuntas e condicionais.
  4. Momentos e desigualdades.
  5. Convergência de variáveis aleatórias;
  6. Boostrap, Jackknife e teste de Kolmogorov.
  7. Revisão de álgebra de matrizes
  8. Normal multivariada 
  9. Métrica para medir distância entre distribuições de probabilidade: entropia, Kullback-Leibler e Kolmogorov
  10. Modelos probabilísticos com a normal multivariada: PCA e análise fatorial
  11. Seleção de modelos: entropia, critério de informação de Akaike (AIC) e minimum description length (MDL)
  12. Modelos de mistura: análise de clusters
FECD B
  1. Ainda a normal multivariada: regressão linear e classificação
  2. Modelos com dados não-normais: logística e Poisson
  3. Modelos com dados dependentes: espaciais e temporais.
  4. Principios de inferência estatística: vício, variância, consistência, eficiência.
  5. Métodos de estimação: distância mínima, mínimos quadrados, mínimo qui-quadrado,  máxima verossimilhança.
  6. Exemplos com máxima verossimilhanca. 
  7. Propriedades de otimalidade do estimador de máxima verossimilhança.
  8. Algoritmo EM.
  9. Intervalos de Confiança
  10. Testes de Hipótese e p-valores.
  11. Famílias exponenciais de distribuições e GLM
  12. Modelos de fatores latentes: filtragem colaborativa.
  13. Modelos de mistura: análise de clusters com modelos probabilísticos
  14. Seleção de modelos de novo.



Material de apoio


Capa FECD Fundamentos Estatísticos de Ciência dos Dados
Renato Assunção (DCC-UFMG) 

Livro em andamento.
Ele será  atualizado várias vezes ao longo do semestre.
Paul_Meyer_capa Probabilidade: Aplicações à Estatística
por Paul L. Meyer
LTC Editora; 2a. Edição, 1983

ISL_capa An Introduction to Statistical Learning
James, Witten, Hastie and Tibshirani
Springer, 2013


FREE pdf - no link acima
All of Statistics All of Statistics
Larry Wasserman (Carnegie Mellon University) 
Springer, 2010, ISBN 978-0387402727
Murphy Machine Learning: A Probabilistic Perspective

Keith Murphy (Google)
MIT Press, 2012, ISBN 978-0262018029
Shalizi - Trotsky
Advanced Data Analysis from an Elementary Point of View

Cosma Shalizi do Departamento de Estatística da Carnegie Mellon University


FREE pdf - no link acima
OpenIntro Statistics OpenIntro Statistics
David Diez, Christopher Barr, Mine Çetinkaya-Rundel


FREE pdf no link acima

Cover Gueron Book Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow, 2nd Edition
Aurélien Gueron

Publisher: O'Reilly Media
Release Date: September 2019

Vou seguir, linha por linha, o conteúdo do meu livro que vai aos poucos sendo escrito. Como ele está incompleto, faço uso de outros livros. Este material será atualizado várias vezes ao longo do semestre. Por isto, você precisará fazer atualizações periódicas  a medida que a disciplina progride.

Vamos cobrir todo o livro de Paul Meyer e os cinco primeiros capitulos do livro  All of Statistics de Larry Wasserman nas 4 primeiras semanas.
Larry Wasserman é professor do departamento de Machine Learning de Carnegie Mellon University. O livro de Paul Meyer é muito antigo mas  eu ainda o considero  um excelente livro para aprender  probabilidade  pela primeira vez. 

A segunda parte da disciplina vai se basear no livro Machine Learning: a Probabilistic Perspective, de Kevin Murphy, que trabalha no Google atualmente.
Vamos cobrir integralmente os capitulos: 2, 4, 6, 7, 8, 9.
Vamos cobrir parcialmente os capitulos 3 (3.2 e 3.5) , 12 (12.1, 12.2, 12.3), 13 (13.3 e 13.4), 14 (14.2 e 14.3)

Os outros livros são opcionais.

Este link possui uma lista de livros gratuitos sobre aprendizado de máquina, estatística, mineração de dados, etc.

Michael Jordan, da Univ California, Berkeley, uma das estrelas principais do aprendizado de máquina, recomendou uma série de leituras para quem quer apenas usar aprendizado de máquina e também para quem quer fazer pesquisa em aprendizado de máquina.

Um curso excelente cobrindo o básico de ciência dos dados é ICD - Introdução à Ciência dos Dados, elaborado por Pedro Olmo Vaz de Melo e Flávio Figueiredo, ambos professores do DCC-UFMG.

Material de aula: slides, exercícios, etc

Clique aqui

Avaliação da Aprendizagem

3 provas (20, 20, 20): 60
Listas de exercícios semanais: 40

Importante:


Pré-requisitos da disciplina

O primeiro pré-requisito essencial é alguma exposição anterior a cálculo I e II (derivadas parciais e integrais duplas). Você vai precisar mais dos conceitos do que da manipulação extensiva; nem eu me lembro mais de todas as regras de integração. Entretanto, você deverá estar à vontade quando solicitado a derivar expressões, integrar funções simples (polinômios e exponenciais), calcular o gradiente de uma função f(x,y), etc.

O segundo pré-requisito essencial é álgebra de matrizes, incluindo espaços e subespaços vetoriais. As primeiras 13 páginas (isto mesmo, apenas 13)
do livro Data Mining and Analysis: Fundamental Concepts and Algorithms, de Mohammed Zaki e Wagner Meira, disponível gratuitamente na web, formam uma excelente revisão deste assunto.

O terceiro pré-requisito essencial é a exposição anterior à probabilidade. Vou fazer uma breve revisão de probabilidade nas primeiras 4 semanas supondo que os alunos já estudaram este assunto. 

Para você ter uma noção clara do que espero como pré-requisito e para rever os conceitos antes de iniciar a disciplina, faça esta lista de exrecícios, que deve ser entregue na primeira semana de aula.

Quora é um website de perguntas e respostas muito bom para perguntas "nerd". Vários pesquisadores top escrevem respostas longas para perguntas para as quais você também gostaria de ter uma resposta. Aqui estão algumas perguntas sobre o que uma pessoa deveria saber para dominar aprendizado de máquina com respostas dadas por Andrew Ng, Keith Murphy e outras estrelas.

I do not have strong mathematics background, what should I learn in mathematics to be able to master Machine Learning and AI?

How do I learn machine learning?

How do I learn mathematics for machine learning?

Não deixe de ler esta resposta de Sridhar Mahadevan  à pergunta anterior:
How do I learn mathematics for machine learning?

De maneira mais geral, existe a resposta de Ben Zhao para:
As a computer scientist, how much math do you actually use?


Última modificação em 04/03/2020.