MO432 -Outros assuntos

Jacques Wainer

Explainable ML

De vez em quando voce precisa explicar as decisões do seu classificador

Voce quer explicar um exemplo e não o classificador como um todo

Voce quer simplificar o classificador em volta desse exemplo

Um blog e um livro

Eu usei o LIME em um projeto

Fairness em classificação

Um blog

Varias definições de justiça. Por exemplo: o classificador tem a mesma taxa de acerto para subgrupos “relevantes”

vários artigos e propostas sobre fairness.

quase sempre ha uma perda em acurácia global (que é medida em relação aos dados do passado!) para melhorar o fairness do algoritmo.

Open set

Problema multiclasse onde voce não tem todas as classes no conjunto de treino.

No teste voce precisa dizer a classe se voce sabe ou dizer que não conhece essa classe.

Open set recognition ou zero-shot recognition

Classification with Reject option

Voce pode não dar uma classificação se o classificador nao esta muito confiante da previsão.

Isso aumenta o PPV - a confiança que o usuario tem numa classificação positiva (ou negativa) . Isso só piora a acurácia “global”

Use o termo “Classification reject option” para procurar papers.

Use a medida de confiança para tomar essa decisão. O thershold é um hiperparametro.

semi-supervised learning

alguns/vários dos dados não tem a “saída” correta - só alguns. Importante onde há um custo para saber a classe/valor certo de um dado.

O sistema tem que aprender não só a fronteira que separa os dados com label mas ir fazendo pressuposições sobre os dados sem label para melhorar essa fronteira.

active learning

o classificador pode perguntar para um professor a classificação de um dado.

melhorar as fronteiras de classificação

lembre-se da tensão entre exploration e exploitation (para quem fez MO431) dos otimizadores não convexos. Aqui há a mesma tensão

Online learning

O classificador recebe um dado por vez. Ele (talvez) precisa atualizar as fronteiras de classificação com esse dado novo mas não pode usar os dados velhos. So pode usar as estruturas de dados internas no classificador.

Concept drift as classes vao mudando lentamente - importante mesmo em problemas que não são online learning.

Multiple instance learning

Os dados não são uma única coisa/ponto, mas são conjuntos de coisas/instances

Uma ou poucas coisas/instances dentro do conjunto é responsável pela classificação do conjunto como um todo

Problema é que os “dados” não tem tamanho fixo (log pode ser curto ou longo ou o ECG pode ser de 3 minutos ou 3 horas)

A solução tradicional é ter uma combinação de um número fixo de descritores do dado/conjunto. Descritores globais e locais:

ECG:

Feature Engineering

Descobrir e/ou criar features novas dos dados é normalmente onde voce obtém ganhos grandes.

A maioria das técnicas não se dá bem com atributos irrelevantes. Técnicas baseadas em distancias são particularmente sensíveis (KNN). Teoricamente regularização L1 deveria resolver esse problema. Exceção sao as arvores - funcionam com atributos irrelevantes.

Talvez todas as técnicas não são capazes de lidar com interações entre features (produtos dos valores)

Um livro sobre feature engineering.

Metric learning

De álgebra linear: x^T x é o quadrado do modulo de x

Aprende-se usando varias trincas: d(x,y) < d(x,z) x esta mais próximo de y que de z.

Resolver problemas tipo “qual são os dados mais próximos de x” (patentes, casos médicos, etc)

Deployment

Sistemas preditivos quando colocados para funcionar em empresas.

MLOps - Machine Learning Operations https://github.com/visenger/awesome-mlops

Algumas coisas: