MO432 -Outros assuntos
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
Eu usei o LIME em um projeto
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.
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
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.
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.
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
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.
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:
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.
De álgebra linear: x^T x é o quadrado do modulo de x
(x-y)^T (x-y) é a distancia (euclidiana) ao quadrado entre x e y
aprender uma matriz A que modifica as distancias em x. A é simétrica e definida positiva (autovalores > 0)
(x-y)^T A (x-y) é a nova medida de distancia entre x e y
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)
Sistemas preditivos quando colocados para funcionar em empresas.
MLOps - Machine Learning Operations https://github.com/visenger/awesome-mlops
Algumas coisas:
ambiente de laboratorio vs de produção
retreino
acompanhamento
drift