Dados em altas dimensões
Dados no R
n• Alguns dados são apresentados como vetores em Rn
• Alguns dados não são apresentados como vetores mas podem ser representados como vetores (e.g. Texto)
Dados no R
n• Texto
– Cada termo uma dimensão
– Valor da dimensão: frequência da palavra – Lingua inglesa 25000 termos dimensão alta
Dados no R
n• Similaridade/distância entre vetores
– Distância euclideana
– Ângulo entre vetores/ produto interno
• Como essas medidas funcionam em altas dimensões?
Dados no R
n• Colocar desenho no quadro e pedir intuição dos alunos
• Em dimensão alta pontos sorteados aleatoriamente estão mais próximos dos vértices ou do centro de um hipercubo de lado 1?
Dados no R
n• Colocar desenho no quadro e pedir intuição dos alunos
• Em dimensão alta pontos sorteados aleatoriamente estão mais próximos dos vértices ou do centro de um hipercubo de lado 1?
– Considerar volume de hipercubo de lado 0.9 com centro na origem.
Probabilidade e Volume
• Qual a probabilidade de um ponto sorteado aleatoriamente em um quadrado de lado um com centro na origem cair em um cículo de raio 1 com centro na origem?
Propriedades do hipercubo
Fatos importantes• Para dimensão d todo vértice do hipercubo de arestas com comprimento 2 e centro na origem tem distância d1/2 da origem
Propriedades da bola unitária
Fato. O volume de uma bola de raio r em uma dimensão fixa d é proporcional a (2r) d
– d=2: volume= r2
– d=3: volume = 4/3 r3
Justificativa:
– um hipercubo com centro na origem e lado 2r/d0.5
está contido na bola e que seu volume é (2r/d0.5)d
– A bola está contida em um hipercubo com centro na origem e lado 2r e seu volume é (2r)d
Propriedades da bola unitária
Lema (2.6). O volume de uma bola de raio 1 em
dimensão d tende a 0 quando d tende a infinito.
Corolário. A probabilidade de um ponto
escolhido uniformemente em um hipercubo de lado 1 estar dentro de uma bola de raio 1 tende a 0 quando d cresce
Propriedades da bola unitária
Fato. Em uma bola de raio 1 em dimensão d a maior parte do volume está concentrada em um ‘anullus’ de largura 1/d
Justificativa. Basta usar o fato que o volume é proporcional a rd
Teorema (2.7). Para c ≥1 e d ≥ 3, se x é um ponto
sorteado aleatoriamente em uma bola d-dimensional de raio 1 então |x1| ≤ c / (d-1)0.5
com probabilidade ≥ 1-2/(c exp(c2/2))
Propriedades da bola unitária
Teorema (2.7). Para c ≥1 e d ≥ 3, se x é um ponto sorteado aleatoriamente em uma bola d-dimensional de raio 1 então |x1| ≤ c / (d-1)0.5
com probabilidade ≥ 1-2/(c exp(c2/2))
• Para c=3, a probabilidade é maior que 99%
Propriedades da bola unitária
Propriedades da bola unitária
Consequência 1. (por simetria)
Dada uma direção v (norte). A maior parte do volume está concentrada próxima ao equador (plano normal a v), ou seja, pontos cujo produto interno com v tem valor absoluto O(1/d0.5)
Propriedades da bola unitária
Consequência 2. O volume da bola de raio 1 tende a 0 quando d vai para infinito
Seja c=2 (ln d) 0.5
• Segue do Teorema 2.7 que a probabilidade de um ponto sorteado ter coordenada maior em módulo que c/ (d-1)0.5 é menor que 1/d2 • Segue do union bound que a probabilidade de
um ponto sorteado em uma bola de raio 1 estar fora de um box de lado 2c/ (d-1)0.5 centrado na origem é menor que d (1/d ) < 1/2
Propriedades da bola unitária
Consequência 2. O volume da bola de raio 1
tende a 0 quando d vai para infinito • O volume do box é O( (ln d / (d-1))d/2).
• Quando d vai para infinito o volume do box vai para 0 e, portanto, o volume da bola também
Propriedades da bola unitária
Teorema 2.8. Sejam x1,…,xn n pontos escolhidos de forma aleatória em uma bola de raio 1. Então com probabilidade 1-O(1/n) temos
1. |xi| ≥1 – 2ln n / d, para todo i
2. |xi xj| <= (6 ln n ) 0.5 / (d-1)0.5, para todo i e j.
Em palavras ...
Dois pontos sorteados na bola são ‘quase’ ortogonais.
Geração de vetores unitários
Como gerar vetores na esfera de raio 1?
Geração de vetores unitários
Idéia 1– Sortear pontos aleatoriamente no hipercubo de lado 1 e normalizar os pontos
• Distribuição não é uniforme já que a grande parte do volume está concentrada próximo aos vértices
Geração de vetores unitários
Idéia 2• Sortear pontos aleatoriamente no hipercubo de lado 2 e descartar os pontos com norma maior que 1.
– Inviável para dimensão alta já que a probabilidade de cair dentro da hiperesfera de raio 1 tende a 0 (volume da esfera)
Geração de vetores unitários
• Distribuição normal com média e desvio
Geração de vetores unitários
Idéia 31. Sortear pontos: cada coordenada é obtida utilizando uma dist. normal de média =0 e desvio padrão =1.
2. Normalizar pontos obtidos.
Geração de vetores unitários
Idéia 3A distribuição de probabilidade é dada por
Obs: distribuição simétrica em relação a esfera Obs 2: A distribuição não é uniforme em relação a bola
Geração de pontos de acordo com
uma dada distribuição f
F: distribuição acumulativa de uma função densidade de probabilidade f
F(u): −∞𝑢 𝑓 𝑥 𝑑𝑥
1. Sorteamos uniformemente um número v entre 0 e 1
Geração de pontos de acordo com
uma dada distribuição f
Explicação
• A probabilidade de obter um número no intervalo [a,b] é F(b)-F(a) = 𝑓 𝑥 𝑑𝑥𝑎𝑏 . • Segue que a probabilidade de escolher um
número b é lim 𝑒→0 𝑓 𝑣 𝑑𝑣 𝑏 𝑏−𝑒 = 𝑓(𝑏)
Redução de dimensionalidade
Motivação• S: conjunto de N documentos representados por bag of words em dimensão d
– d é cerca de 25000 para ingles/português
• Cada documento está associado a um tópico
Redução de dimensionalidade
Motivação (cont’d)• Ao chegar um novo documento D queremos
encontrar o documento do conjunto S mais próximo a D (distância euclidiana)
• O custo computacional é proporcional a Nxd
– inviável quando Nxd é grande
Redução de dimensionalidade
É possível representar os documentos em uma dimensão menor de modo que as características dos dados originais sejam preservadas?
Redução de dimensionalidade
Algumas possibilidades
• Random Projections: Distâncias preservadas (aproximadamente)
• SVD/PCA: Minimizar custo de reconstrução
Projeções Aleatórias
Objetivo• projetar um conjunto de N dados em dimensão d em um espaço de n dimensões, com n<<d, de modo que as distâncias no espaço original sejam (aproximadamente) preservadas
Projeções Aleatórias
Objetivo intermediário• projetar um ponto x em dimensão d em um ponto p(x) no espaço de dimensão n de modo que a norma de x seja preservada:
|x|=|p(x)|
Projeções Aleatórias
Abordagem 1• Escolher n coordenadas aleatórias das d disponíveis e descartar as demais.
Exemplo
x=(21,-3,13,44,55,17,4) e n=3.
Escolhendo as coordenadas (1,4,5) temos p(x)=(21,44,55)
Projeções Aleatórias
Propriedade. Seja p(x) o ponto aleatório obtido a partir de x conforme a Abordagem 1. Temos que
E[ |p(x)| ] = (n/d) |x|
Portanto, escolhendo n coordenadas aleatórias e multiplicando os valores por (d/n)0.5 obtemos
E[ |p(x)| ] = |x|
Projeções Aleatórias
Problema• Não temos concentração em torno do valor esperado
• Se uma coordenada é muito maior que as demais a variância é muito grande.
Exemplo
– x=(5555,0,0,0,0,0).
– Quando a coordenada 1 não for escolhida a contração será muito grande
Projeções Aleatórias
Abordagem 1• Pode ser vista como a projeção dos pontos no subespaço gerado por n direções escolhidas arbitrariamente a partir da base canônica em dimensão d.
– ‘Adversário’ atrapalha a nossa abordagem escolhendo um ponto em uma das d direções
Projeções Aleatórias
Abordagem 2• Projetar os pontos no subespaço gerado por n direções (quase ortonormais) escolhidas arbitrariamente a partir de um número infinito de direções.
– Fica complicado o adversário escolher um ponto ruim…
Projeções Aleatórias
Abordagem 2• Projetar os pontos no subespaço gerado por n direções (quase ortonormais) escolhidas arbitrariamente a partir de um número infinito de direções.
Como???
Projeções Aleatórias
Abordagem 2• Projetar os pontos no subespaço gerado por n direções (quase ortonormais) escolhidas arbitrariamente a partir de um número infinito de direções
Direções são escolhidas em uma hiper-esfera de dimensão d
Projeções Aleatórias
• N(0,1/n): Gaussiana com média 0 e variância 1/n
Geração da matriz aleatória W Para i=1,...,n
Para j=1,...,d
W(i,j) valor sorteado a partir de N(0,1/n)
Complexidade. O(nd) sorteios
Projeções Aleatórias
O que tem de especial na matriz sorteada?
• As linhas da matriz são, com alta
probabilidade, pontos em uma esfera de dimensão d e raio (d/n)0.5
• Com alta probabilidade as linhas são ortogonais entre si
Projeções Aleatórias
Lema 1. O valor esperado de |Wx|2 é |x|2
Prova
wi: i-ésimo vetor linha da matriz gerada
Projeções Aleatórias
Consequência.Em termos de valor esperado a norma de x é preservada
Projeções Aleatórias
Lema. Seja 0 <<3 e seja x um ponto em Rd.
Então,
Prova (ideia):
Desigualdades de cauda: utiliza o fato que |Wx| tem distribuição chi-quadrada
Projeções Aleatórias
Em palavras...
• A probabilidade da norma da projeção de um vetor sobre um subespaço aleatório diferir da norma original decai exponencialmente com o crescimento de n
Projeções Aleatórias
Consequência• A distância entre um par de pontos x e y é dada por |x – y|
• A distância entre os pontos projetados é |Wx-Wy|=|W(x-y)|
• Se (x-y) é um vetor no espaço Rd então W(x-y) é um vetor no Rn
• A probabilidade da distorsão de ||W(x-y)|| em relação a ||x-y|| ser maior que é limitada pelo lema anterior.
Projeções Aleatórias
Lema (Johnson-Linderstrauss)
S: conjunto de N vetores em dimensão d
: número entre 0 e 1; 23 𝑛= 6 (ln (N2/ )) / 2
Então, com probabilidade 1- temos que
para todo x=u-v tal que u e v são vetores em S
Projeções Aleatórias
Lema (Johnson-Linderstrauss) Prova (sketch)
1. Um conjunto de N vetores geram N(N-1)/2 pares de vetores.
2. Eij: evento em que a distorsão do ponto xi –xj é maior que
3. Pelo Lema 2 a probabilidade de Eij ocorrer é limitada por 2exp(- 2n/6)
Projeções Aleatórias
Lema (Johnson-Linderstrauss) Prova (sketch)
4. Pelo bound da união temos que a
probabilidade de um dos eventos ocorrer é limitada por N(N-1) exp( - 2n/6)
5. A probabilidade de sucesso é pelo menos 1- N(N-1) exp( - 2n/6)
Projeções Aleatórias
Exemplo
Observação Importante
• O teorema não depende da dimensão original mas sim do número de pontos
N n
10000 0.001 0.5 607 2000 0.001 0.5 530 2000 0.001 0.25 2123
Projeções Aleatórias
Implementação Prática (Achiloptas)1. Escolher Wij segundo a seguinte distribuição Wij = 1 com prob 1/6
Wij = 0 com prob 2/3
Wij = - 1 com prob 1/6
2. Multiplicar resultados por 3/𝑛
Propriedade Importante. Aritmética inteira para
projetar
Bibliografia
• Cap 23, Understanding Machine Learning: From Theory to Algorithms by Shai Shalev-Shwartz and Shai Ben-David
• Cap 2. Foundations of Data Science, Avrim Blum, John Hopcroft and Ravindran Kannan http://www.cs.cornell.edu/jeh/book.pdf