MC886 — Aprendizado de Máquina

Instituto de Computação (IC/Unicamp)
Profa. Sandra Avila (sandra@ic.unicamp.br)

 

Avisos Importantes:

  • [16/12/2019] Todas as notas foram divulgadas.
  • [06/11/2019] Todas as aulas acontecerão na sala PB06.
  • [29/09/2019] As notas do T1 foram divulgadas. Comentários para cada trabalho estão no Moodle.
  • [24/07/2019] Não teremos aula nos dias 05/08/2019 e 07/08/2019 devido à Semana de Computação da Unicamp (SECOMP).

Horário e Local: Segundas e quartas, das 19h às 21h. Sala PB09 PB06.

Atendimento: O horário de atendimento será prestado sempre depois das aulas pela professora, ou pelo Slack (ml-unicamp-2019.slack.com), ou agendado com antecedência por e-mail com o PED Erik Perillo (erik.perillo@gmail.com) ou a PAD Akari Ishikawa (ueda.aka@gmail.com).

Programa da Disciplina: Introdução ao Aprendizado de Máquina, Regressão Linear, Regressão Logística, PCA e LDA, k-means, Rede Neural, Deep Learning, SVM e Kernels, Boosting e Random Forest.

Data Assunto Material da Aula
05/08/2019 Semana de Computação da Unicamp (SECOMP)
07/08/2019 Semana de Computação da Unicamp (SECOMP)
12/08/2019 Introdução e Plano de Desenvolvimento Aula
14/08/2019 Regressão Linear Aula, Linear Regression: A friendly introduction
19/08/2019 Regressão Linear Aula
21/08/2019 Regressão Logística Aula, Logistic Regression, IPython Notebook
26/08/2019 Regularização Aula
28/08/2019 Métricas/Protocolos de Avaliação Aula
02/09/2019 Bases & Problemas em ML Aula
09/09/2019 Redes Neurais Aula
11/09/2019 Redes Neurais Aula, Neural Networks by 3Blue1Brown
16/09/2019 Redes Neurais Aula
18/09/2019 k-means Aula
23/09/2019 Clustering Aula, IPython Notebook
25/09/2019 Clustering Aula, k-means and Hierarchical
30/09/2019 Redução de Dimensionalidade Aula
02/10/2019 PCA & LDA Aula
07/10/2019 Produzindo para YouTube
09/10/2019 t-SNE & Deep Learning (Introdução) Aula, t-SNE, Clearly Explained & IPython Notebook
14/10/2019 Redes Neurais Convolucionais Aula, A friendly introduction to CNNs
16/10/2019 CNNs & Arquiteturas Aula
21/10/2019 CNNs & Arquiteturas Aula
23/10/2019 CNNs & Treinamento Aula
30/10/2019 Redes Neurais Recorrentes Aula, Código
04/11/2019 Redes Neurais Recorrentes Aula
06/11/2019 Ensemble Learning Aula
11/11/2019 Aprendizado por Reforço (Esther Colombini) Aula
13/11/2019 Aprendizado por Reforço (Esther Colombini)
25/11/2019 SVM & Random Forests Aula, SVMs: A friendly introduction
28/11/2019 Apresentação dos Projetos Finais Vídeos

Linguagem de Programação: A linguagem de programação utilizada na disciplina é Python.

Avaliação: A avaliação será baseada na participação ativa em sala de aula, atividades propostas, e projetos práticos, sendo:

  • Ao final da aula, a(o) aluna(o) deverá enviar via Moodle qual foi o ponto de maior dúvida da aula (D), uma pergunta sucinta. Caso não tenha dúvidas (sério?), o(a) aluno(a) deverá ressaltar o ponto que achou mais interessante. Respostas do tipo “não tive dúvidas” ou respostas em branco não serão aceitas.
  • Quatro tarefas em dupla, T1, T2, T3 e T4. O código e o relatório deverão ser entregues via Moodle.
  • Um projeto final PF a ser realizado em grupo:
    • A(O) aluna(o) só poderá fazer o projeto final PF caso tenha entregue as quatro tarefas T1, T2, T3 e T4.
    • Os grupos devem ter de 3 a 4 alunas(os), necessariamente.
    • O código e o relatório deverão ser entregues via Moodle, sendo que o relatório deve apresentar uma explicação sobre a técnica implementada, ilustrações dos resultados, e uma discussão sobre os resultados obtidos em formato de artigo científico, no modelo sugerido pela professora.
    • O projeto deverá ser apresentado em sala, pelo grupo, na data agendada.
  • A média final, M, será calculada como: M = 0,1 x T1 + 0,2 x T2 + 0,15 x T3 + 0,1 x T4 + 0,4 x PF + 0,05 x D
    • Aprovada(o): se M ≥ 5.0 e Frequência ≥ 75%
    • Reprovada(o): se M < 5.0 ou Frequência < 75%

Submissão de Atividades: Todas as atividades da disciplina deverão ser submetidas pelo sistema Moodle na área correspondente da disciplina.

Datas das Entregas das Avaliações: As datas abaixo estão sujeitas a alterações.

  • Maior Dúvida (D): Até às 15h do dia seguinte a aula.
  • Tarefa 1 (T1): 28/08/2019 02/09/2019
  • Tarefa 2 (T2): 23/09/2019 05/10/2019
  • Tarefa 3 (T3): 14/10/2019 03/11/2019
  • Tarefa 4 (T4): 06/11/2019
  • Projeto Final (PF):
    • Submissão da proposta (tema e base de dados): 04/09/2019 09/09/2019
    • Submissão do baseline: 07/10/2019 19/10/2019
    • Apresentação (vídeos de até 4 minutos): 25-27/11/2019. Exemplos 2017.2 Exemplos 2018.2
    • Submissão do PF (relatório e código): 06/12/2019

Observações:

  • Não haverá provas ou exame para essa disciplina.
  • Qualquer tentativa de fraude nas atividades da disciplina implicará em média final M = 0 (zero) para todas as pessoas envolvidas, sem prejuízo de outras sanções.

Referências: A professora não seguirá um livro texto específico, entretanto, os seguintes livros cobrem o que será visto em aula:

  • “Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow”, A. Géron, 2019.
  • “Pattern Recognition and Machine Learning”, Christopher M. Bishop, 2006.
  • “Pattern Classification”, David G. Stork, Peter E. Hart, and Richard O. Duda, 2000.
  • “Deep Learning”, Ian Goodfellow , Yoshua Bengio, Aaron Courville, 2016.