A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

CS276: Information Retrieval and Web Search

Apresentações semelhantes


Apresentação em tema: "CS276: Information Retrieval and Web Search"— Transcrição da apresentação:

1 CS276: Information Retrieval and Web Search
Christopher Manning and Prabhakar Raghavan Lecture 11: Text Classification; Vector space classification [Borrows slides from Ray Mooney]

2 Recap: Classificadores Naïve Bayes
Classificar baseado no peso prévio da classe e no parametro condicional para cada palavra: Treinamento é feito pela contagem e divisão: Não se esqueça da suavização

3 O restante da classificação textual
Veremos hoje: Métodos de espaço vetorial para classificação textual Classificação em espaços vetoriais utilizando centroides (Rocchio) K Vizinhos mais próximos (K-NN) Fronteiras de decisão, classificadores lineares e não-lineares Lidando com mais de 2 classes Nos próximos capitulos Mais classificação textual Support Vector Machines Problemas especificos de classificação textual

4 Relembrando: Representação do espaço vetorial
Sec.14.1 Relembrando: Representação do espaço vetorial Cada documento é um vetor, uma componente para cada termo (= palavra). Normalmente vetores normalizados para uma unidade de tamanho. Espaco vetorial de alta dimensao: Os termos são eixos Mais de dimensões, ou ate mesmo Docs são vetores nesse espaço Como podemos fazer a classificação nesse espaço?

5 Classificação usando espaços vetoriais
Sec.14.1 Classificação usando espaços vetoriais Como antes, o conjunto de treinamento é um conjunto de documentos, cada um rotulado com sua classe (Ex., topico) Na classificação em espaço vetorial, este conjunto corresponde a um conjunto de pontos rotulados (ou, equivalentemente, vetores) no espaço vetorial Premissa 1: Documentos da mesma classe formam uma região continua do espaço Premissa 2: Documentos de diferentes classes não se sobrepõem (muito) Nós definimos superficies para delinear as classes no espaço

6 Documentos em um espaco vetorial
Sec.14.1 Documentos em um espaco vetorial Governo Ciências Artes

7 Documento de teste pertence a qual classe?
Sec.14.1 Documento de teste pertence a qual classe? Governo Ciências Artes

8 Documento de teste = Governo
Sec.14.1 Documento de teste = Governo Esta hipótese de similaridade sempre será verdadeira? Governo Ciências Artes Nosso principal tema hoje é como encontrar bons separadores

9 Graficos 2D/3D podem ser enganosos
Sec.14.1 Graficos 2D/3D podem ser enganosos

10 K-Nearest Neighbor Classificação realizada por meio da aplicação de uma função de distância. Existem diversos modelos utilizados como função de distância

11 K-Nearest Neighbor Classificação realizada por meio da aplicação de uma função de distância. Existem diversos modelos utilizados como função de distância O3 O2 O1 R q O q

12 Manhattan / City-block
K-Nearest Neighbor Classificação realizada por meio da aplicação de uma função de distância. Existem diversos modelos utilizados como função de distância O3 O2 O1 R q O q L1 Manhattan / City-block {O1}

13 Manhattan / City-block
K-Nearest Neighbor Classificação realizada por meio da aplicação de uma função de distância. Existem diversos modelos utilizados como função de distância L2 Euclidiana {O1, O2} O3 O2 O1 R q O q L1 Manhattan / City-block {O1}

14 Manhattan / City-block
K-Nearest Neighbor Classificação realizada por meio da aplicação de uma função de distância. Existem diversos modelos utilizados como função de distância L2 Euclidiana {O1, O2} O3 L∞ Chebychev / Infinity {O1, O2, O3} O2 O1 R q O q L1 Manhattan / City-block {O1}

15 K-Nearest Neighbor Recupera os k objetos mais próximos de um objeto referência (Oq) Cidades do Brasil Oq = Uberlândia K = 3

16 K-Nearest Neighbor Recupera os k objetos mais próximos de um objeto referência (Oq) Cidades do Brasil Oq = Uberlândia K = 3 d() = L1

17 K-Nearest Neighbor Recupera os k objetos mais próximos de um objeto referência (Oq) Cidades do Brasil Oq = Uberlândia K = 3 d() = L2

18 K-Nearest Neighbor Recupera os k objetos mais próximos de um objeto referência (Oq) Cidades do Brasil Oq = Uberlândia K = 3 d() = L∞

19 K-Nearest Neighbor Um documento é classificado ao analisar os k documentos mais próximos a ele

20 K-Nearest Neighbor Um documento é classificado ao analisar os k documentos mais próximos a ele 5 4 3 2 1 ? = classe 1 = classe 2

21 K-Nearest Neighbor Um documento é classificado ao analisar os k documentos mais próximos a ele Para k = 1 5 4 3 2 1 ? = classe 1 = classe 2

22 K-Nearest Neighbor Um documento é classificado ao analisar os k documentos mais próximos a ele Para k = 1 Documento pertence a classe 1 5 4 3 2 1 ? = classe 1 = classe 2

23 K-Nearest Neighbor Um documento é classificado ao analisar os k documentos mais próximos a ele Para k = 3 5 4 3 2 1 ? = classe 1 = classe 2

24 K-Nearest Neighbor Um documento é classificado ao analisar os k documentos mais próximos a ele Para k = 3 Documento pertence a classe 2 5 4 3 2 1 ? = classe 1 = classe 2

25 Rocchio Similar ao kNN, porém representa os documentos como uma média (centróide) Para classificar um documento, calculamos a sua distância às médias

26 Rocchio Similar ao kNN, porém representa os documentos como uma média (centróide) Para classificar um documento, calculamos a sua distância às médias 5 4 3 2 1 ? = classe 1 = classe 2

27 Rocchio Similar ao kNN, porém representa os documentos como uma média (centróide) Para classificar um documento, calculamos a sua distância às médias 5 4 3 2 1 ? = classe 1 = classe 2

28 Rocchio Similar ao kNN, porém representa os documentos como uma média (centróide) Para classificar um documento, calculamos a sua distância às médias 3.5 5 4 3 2 1 ? 3.66 = classe 1 = classe 2

29 Rocchio Similar ao kNN, porém representa os documentos como uma média (centróide) Para classificar um documento, calculamos a sua distância às médias Documento pertence a classe 2 3.5 5 4 3 2 1 ? 3.66 = classe 1 = classe 2

30 Utilizando Rocchio para classificação textual
Sec.14.2 Utilizando Rocchio para classificação textual Métodos de “relevance feedback” podem ser adaptados para classificação textual Como visto anteriormente, “relevance feedback” pode ser visto como uma classificação entre 2 classes Documentos relevantes vs. documentos não-relevantes Utiliza o padrão tf-idf de vetores ponderados para representar documentos de texto Para documentos de treinamento em cada categoria, calcula-se um vetor protótipo pela soma dos vetores dos documentos de treinamento da categoria. Protótipo = centroide dos membros da classe Atribui os documentos de teste a categoria com o vetor protótipo mais próximo, levando-se em conta a similaridade do cosseno.

31 Ilustração da Categorização de Texto Rocchio
Sec.14.2 Ilustração da Categorização de Texto Rocchio

32 Definição de centroide
Sec.14.2 Definição de centroide Onde Dc é o conjunto de todos os documentos que pertencem classe c e v(d) é a representação de d no espaço vetorial. Note que o centroide, em geral, não será um vetor unitario mesmo quando as entradas são vetores unitários.

33 Sec.14.2 Propriedades Rocchio Constitui uma simples generalização dos exemplos em cada classe (um protótipo). O vetor protótipo não precisa ser normalizado, já que a similaridade por cosseno é insensivel ao comprimento do vetor. A classificação é baseada na similaridade com os protótipos das classes. Não garante que a classificação seja consistente com os dados de treinamento. Por que não?

34 Irregularidade Rocchio
Sec.14.2 Irregularidade Rocchio Modelos de protótipos tem problemas com categorias polimorficas (disjuntiva).

35 Classificação Rocchio
Sec.14.2 Classificação Rocchio Rocchio forma uma representação simples para cada classe: o centroide / protótipo A classificação é baseada na similaridade de / para a distância a partir do protótipo/centroide Isso não garante que as classificações sejam consistentes com os dados de treinamento É pouco utilizado fora da classificação textual Tem sido utilizado de forma bastante eficaz para a classificação textual Mas, em geral, pior que o Naïve Bayes Novamente, mais barato para treinar e testar documentos

36 Classificação k vizinhos mais próximos
Sec.14.3 Classificação k vizinhos mais próximos kNN = k Nearest Neighbor Para classificar um documento d em uma classe c: Definir os k vizinhos mais próximos de d Contar o número de documentos i em N que pertencem a c Estime P(c|d) igual a i/k Escolha como classe argmaxc P(c|d) [ = classe majoritaria]

37 Sec.14.3 Exemplo: k=6 (6NN) P(ciência| )? Governo Ciência Artes

38 Algoritmo de aprendizagem Vizinho mais próximo
Sec.14.3 Algoritmo de aprendizagem Vizinho mais próximo Aprender é apenas armazenar as representações dos exemplos de treinamento em D. Exemplo de teste x (em 1NN): Calcule a similaridade entre x e todos os exemplos em D. Atribuir x a categoria do exemplo mais similar em D. Não calcular explicitamente uma generalização ou protótipos da categoria. Também chamado de: Aprendizagem baseada em caso Aprendizagem baseada em memória Aprendizagem preguiçosa

39 kNN é próximo do ótimo Cover and Hart (1967)
Sec.14.3 kNN é próximo do ótimo Cover and Hart (1967) A taxa de erro para a classificação 1-NN é 2 vezes menor do que a classificação Bayes [taxa de erro para o classificador sabendo o modelo que gerou os dados] Em particular, a taxa de erro será 0 sempre que a taxa para o classificador Bayes for 0. Assuma: ponto de consulta coincide com o ponto de treinamento. Both query point and training point contribute error → 2 times Bayes rate

40 k Vizinhos mais próximos
Sec.14.3 k Vizinhos mais próximos Utilizar apenas o exemplo mais próximo (1NN) para determinar a classe, está sujeito a erros devido a: Um único exemplo atípico. Ruído (i.e., um erro) no rotulo de uma categoria em um único exemplo de treinamento. Alternativa mais robusta é encontrar os k exemplos mais similares e retornar a categoria da maioria desses k exemplos. Valores de k normalmente é ímpar, 3 e 5 são os mais comuns.

41 Sec.14.3 kNN limites de decisão Limites são, em princípio, superfícies arbitrárias, mas em geral poliedros Governo Ciência Artes kNN define limites de bordas entre classes – pontos distantes não influenciam cada decisão de classificação (ao contrário de Naïve Bayes, Rocchio, etc.)

42 Métricas de similaridade
Sec.14.3 Métricas de similaridade Vizinho mais próximo depende de uma medida de similaridade (ou distância). Exemplo mais simples para o espaço continuo m-dimensional é a Distância Euclidiana. Exemplo mais simples para o espaço m-dimensional binário é a Distância de Hamming (número de valores de caracteristicas que diferem). Para texto, a similaridade do cosseno de vetores ponderados de tf.idf, normalmente é mais eficaz.

43 Ilustração de 3 vizinhos mais próximos para Espaço Vetorial Textual
Sec.14.3 Ilustração de 3 vizinhos mais próximos para Espaço Vetorial Textual

44 3 Vizinhos mais próximos vs. Rocchio
Vizinhos mais próximos tendem a lidar com categorias polimórficas melhor do que Rocchio/NB.

45 Vizinhos mais próximos com Indice Invertido
Sec.14.3 Vizinhos mais próximos com Indice Invertido Encontrar os vizinhos mais próximos requer uma buscar linear sobre os documentos |D| em uma coleção Mas determinar os k vizinhos mais próximos é o mesmo que determinar os k melhores recuperados usando um documento de teste como uma consulta a uma base de documentos de treinamento. Usa os métodos padrão de indice invertido de espacos vetoriais para encontrar os k vizinhos mais próximos. Testing Time: O(B|Vt|) onde B é o número médio de documentos de treinamento em que a palavra test-document aparece. Tipicamente B << |D|

46 kNN: Discussão Não é necessário seleção de características
Sec.14.3 kNN: Discussão Não é necessário seleção de características Funciona bem com grande número de classes Não precisa treinar n classificadores para n classes Classes podem influenciar umas as outras Pequenas mudanças em uma classe pode ter efeito cascata Pontuações podem ser difíceis de converter para probabilidades Não é necessário treinamento Na verdade: talvez não seja verdade. (Edição de dados, etc.) Na maioria dos casos é mais preciso do que o NB ou Rocchio

47 kNN vs. Naive Bayes Tendência/Troca de variância
Sec.14.6 kNN vs. Naive Bayes Tendência/Troca de variância Variância ≈ Capacidade kNN tem alta variance e baixa bias. Memória infinita NB tem baixa variance e alta bias. Superfície de decisão deve ser linear (hiperplano – veja adiante) Considere a pergunta a um botânico: É um objeto de uma árvore? Muito capacity/variance, baixo bias Botânico que memoriza Sempre dirá “não“ ao novo objeto (e.g., diferentes # de folhas) Pouco capacity/variance, alto bias Botânico preguiçoso Diz “sim” se o objeto é verde Você quer o meio termo Bias/variance in terms of resulting classifier given randomly selected training set; why it is a tradeoff; when to choose low-bias method, when to choose low-variance method (Exemplo devido a C. Burges)

48 Bias vs. variance: Escolhendo o modelo correto de capacidade
Sec.14.6 Bias vs. variance: Escolhendo o modelo correto de capacidade

49 Classificadores lineares e binários e classificação multiclasse
Considere 2 classes de problema Decidir entre 2 classe, talvez, governo e não-governo Classificação one-versus-rest Como podemos definir (e encontrar) a superfície de separação? Como vamos decidir em qual região um test doc está?

50 Separação por Hiperplanos
Sec.14.4 Separação por Hiperplanos Uma forte suposição high-bias é a separabilidade linear: em 2 dimensões, pode separar classes por uma linha em dimensões superiores, é necessário hiperplanos Pode encontrar hiperplanos separando por programação linear (ou ajustar iterativamente a solução via perceptron): Separador pode ser expresso como ax + by = c

51 Programação Linear / Perceptron
Sec.14.4 Programação Linear / Perceptron Encontre a,b,c, tal que ax + by > c para pontos vermelhos ax + by < c para pontos azuis

52 Qual Hiperplano? Em geral, muitas possíveis soluções para a,b,c.
Sec.14.4 Qual Hiperplano? Em geral, muitas possíveis soluções para a,b,c.

53 Qual Hiperplano? Muitas possíveis soluções para a,b,c.
Sec.14.4 Qual Hiperplano? Muitas possíveis soluções para a,b,c. Alguns métodos encontram um hiperplano de separação, mas não existe um método ótimo [de acordo com algum critério] E.g., perceptron Maioria dos métodos buscam um hiperplano de separação ótimo Quais aspectos devem influenciar a escolha de um hiperplano ótimo? Todos os pontos Regressão logística/linear Naïve Bayes Apenas “pontos difíceis” próximos da fronteira de decisão Support vector machines

54 Classificador Linear: Exemplo
Sec.14.4 Classificador Linear: Exemplo Classe: “interesse” (as in interest rate) Exemplo de características de uma classificador linear wi ti wi ti Para classificar, encontrar o produto escalar do vetor de características e os pesos 0.70 prime 0.67 rate 0.63 interest 0.60 rates 0.46 discount 0.43 bundesbank −0.71 dlrs −0.35 world −0.33 sees −0.25 year −0.24 group −0.24 dlr

55 Classificadores Lineares
Sec.14.4 Classificadores Lineares Muitos classificadores de texto comuns, são classificadores lineares Naïve Bayes Perceptron Rocchio Regressão Logística Support vector machines (with linear kernel) Regressão Linear com threshold Apesar dessa similaridade, notáveis diferenças de desempenho Para problemas de separação, existe um numero infinito de hiperplanos de separação. Qual deles você escolheria? Diferentes métodos de treinamento selecionam diferentes hiperplanos Classificadores mais poderosos do que o linear muitas vezes não têm melhor desempenho em problemas de texto. Por quê?

56 Rocchio 2-classes como um classificador linear
Sec.14.2 Rocchio 2-classes como um classificador linear Linha ou hiperplano definido por: For Rocchio, set: [Para o pessoal do ML/stats: Classificação Rocchio é uma simplificação do clássico Discriminante Linear de Fisher onde você não modela a variancia (ou assumir que é esférico).]

57 Rocchio é um classificador linear
Sec.14.2 Rocchio é um classificador linear

58 Naive Bayes é um classificador linear
Sec.14.4 Naive Bayes é um classificador linear 2-classes Naive Bayes. Nós calculamos: Decida a classe C se as probabilidades são maiores que 1, ou seja, se o log das probabilidades é maior que 0. Então o limite de decisão é um hiperplano:

59 Sec.14.4 Um problema não linear Um classificador linear como Naïve Bayes não faz essa tarefa muito bem kNN vai fazer muito bem (assumindo que exista dados de treinamento suficientes)

60 Sec.14.4 Dados de Alta Dimensão Figuras como a da direita é absolutamente enganosa! Os documentos são zero ao longo de quase todos os eixos A maioria dos pares de documento são muito distantes um dos outro (isto é, não estritamente ortogonais, mas apenas compartilham palavras muito comuns) Em termos de classificação: muitas vezes conjuntos de documentos são separáveis, para a maioria de qualquer classificação Esta é parte da razão pela qual os classificadores lineares são bem sucedidos nesse domínio

61 Mais de Duas Classes Classificação Any-of ou multivalorada
Sec.14.5 Mais de Duas Classes Classificação Any-of ou multivalorada Classes são independentes umas das outras. Um documento pode pertencer a 0, 1, ou >1 classes. Decompor em n problemas binários Muito comum para documentos Classificação One-of ou multinomial ou politômica Classes são mutualmente exclusivas. Cada documento pertence a exatamente uma classe E.g., reconhecimento de digitos é uma classificação politômica Digitos são mutualmento exclusivos

62 Conjunto de classificadores binários: Any of
Sec.14.5 Conjunto de classificadores binários: Any of Constroi um separador para cada classe e seu conjunto complementar (docs de todas as outras classes). Dado o doc de teste, avalia se é membro em cada classe. Aplica o critério de decisão dos classificadores independentemente Feito Entretando talvez seja melhor considerar as dependências entre categorias

63 Conjunto de classificadores binários: One of
Sec.14.5 Conjunto de classificadores binários: One of Constroi um separador para cada classe e seu conjunto complementar (docs de todas as outras classes). Dado o doc de teste, avalia se é membro em cada classe. Atribui o documento a classe com: Máxima pontuação Máxima confiança Máxima probabilidade ?

64 Resumo: Representação de Categorização de Atributos de Texto
Representações de texto geralmente são de altas dimensões (uma caracteristica para cada palavra) Algoritmos High-bias que previnem overfitting em espacos de altas dimensões devem geralmente funcionar melhor* Para a maioria das tarefas de categorização de texto, existem muitas caracteristicas relevantes e muitas irrelevantes Métodos que combinam evidências de muitas ou todas as caracteristicas (e.g. naive Bayes, kNN) tendem a trabalhar melhor do que os que tentam isolar apenas algumas caracteristicas relevantes* *Embora os resultados sejam um pouco mais confuso do que o esperado Explain supervised learning

65 Qual classsficador eu uso para um problema de classificação textual dado?
Existe um metodo de aprendizagem que é ideal para todos os problemas de classifiação textual? Não, porque existe uma troca entre bias e variance. Fatores para levar em conta: Quantos dados de treinamento estão disponíveis? O quanto simples/complexo é o problema? (linear vs. nonlinear decision boundary) O quanto de ruido possui esses dados? O quanto o problema é estável ao longo do tempo? Para um problema de instabilidade, é melhor usar um classificador simples e robusto.

66 Resources for today’s lecture
Ch. 14 Resources for today’s lecture IIR 14 Fabrizio Sebastiani. Machine Learning in Automated Text Categorization. ACM Computing Surveys, 34(1):1-47, 2002. Yiming Yang & Xin Liu, A re-examination of text categorization methods. Proceedings of SIGIR, 1999. Trevor Hastie, Robert Tibshirani and Jerome Friedman, Elements of Statistical Learning: Data Mining, Inference and Prediction. Springer-Verlag, New York. Open Calais: Automatic Semantic Tagging Free (but they can keep your data), provided by Thompson/Reuters Weka: A data mining software package that includes an implementation of many ML algorithms


Carregar ppt "CS276: Information Retrieval and Web Search"

Apresentações semelhantes


Anúncios Google