• Nenhum resultado encontrado

Aula 5: k-means. Paulo C. Marques F. 1 de Abril de Aula ministrada no Insper. Insper Aula 5: k-means 1 de Abril de / 19

N/A
N/A
Protected

Academic year: 2021

Share "Aula 5: k-means. Paulo C. Marques F. 1 de Abril de Aula ministrada no Insper. Insper Aula 5: k-means 1 de Abril de / 19"

Copied!
19
0
0

Texto

(1)

Aula 5: k -means

Paulo C. Marques F.

Aula ministrada no Insper

(2)

Aprendizagem n˜ao supervisionada

Encerramos, por hora, o cap´ıtulo sobre aprendizagem

supervisonada e iniciamos o estudo dos casos de “aprendizagem n˜ao supervisionada”.

Situa¸c˜oes inferenciais em que as observa¸c˜oes n˜ao est˜ao

relacionadas a uma resposta yi fornecida por um “supervisor”.

A partir de agora, os dados n˜ao possuem mais r´otulos que os classifiquem, ou respostas quantitativas (como nos problemas de regress˜ao).

´

E uma ´area muito menos desenvolvida em “Machine Learning”.

(3)

An´alise de clusters (1)

O problema exemplar em aprendizagem n˜ao supervisionada ´e a an´alise de clusters (conglomerados).

O objetivo ´e definir classes de equivalˆencia tais que os dados dentro de uma mesma classe sejam “similares” segundo alguma perspectiva.

Queremos encontrar estruturas nos dados.

O resultado de uma an´alise de clusters pode ser utilizado para verificar as decis˜oes de um eventual supervisor.

(4)

An´alise de clusters (2)

Para cada unidade amostral i = 1, . . . , n, conhecemos apenas o vetor xi = (xi 1, . . . , xip) ∈ Rp.

Formalmente, um cluster Ci ´e o conjunto dos ´ındices dos dados

que pertencem a ele.

Queremos construir k ≥ 1 clusters C1, . . . , Ck tais que

∪k

i =1Ci = {1, . . . , n},

e Ci ∩ Cj = ∅ (hard clustering), quando i 6= j , de modo a

minimizar a dispers˜ao intra-clusters

W = 1 2 k X r =1 1 nr X i ∈Cr X j ∈Cr kxi− xjk2,

em que nr ´e o n´umero de observa¸c˜oes no cluster Cr e

kxi− xjk2 =Pℓ=1p (xi ℓ− xj ℓ)2 ´e o quadrado da distˆancia euclidiana

entre xi e xj.

(5)

An´alise de clusters (3)

De quantas maneiras A(n, k ) podemos formar os k clusters a partir das n observa¸c˜oes?

Suponha que vocˆe ´e a n-´esima unidade amostral. Vocˆe pode fazer duas escolhas, mutuamente exclusivas.

Vocˆe pode decidir criar um cluster apenas para vocˆe e as demais n− 1 pessoas se agrupar˜ao em k − 1 clusters de A(n − 1, k − 1) maneiras.

Ou vocˆe pode escolher entrar em um de k clusters e as demais n− 1 pessoas se agrupar˜ao nestes k clusters de A(n − 1, k ) maneiras.

Deste modo, obtemos a rela¸c˜ao de recorrˆencia

A(n, k ) = A(n − 1, k − 1) + k · A(n − 1, k ), com as condi¸c˜oes A(n, 1) = A(n, n) = 1.

(6)

An´alise de clusters (4)

A <- function(n, k) { if (k == 1 || k == n) { return(1) } return(A(n-1, k-1) + k*A(n-1, k)) }

H´a casos fact´ıveis: A(10, 4) = 34 105, por exemplo. No entanto, A(30, 4) ≈ 1016 e o problema se torna

computacionalmente intrat´avel.

Os A(n, k ) s˜ao conhecidos na literatura de combinat´oria como n´umeros de Stirling de segunda esp´ecie.

De fato, ´e poss´ıvel (vide Polya ou Knuth) resolver a rela¸c˜ao de recorrˆencia e encontrar A(n, k ) = 1 k! k X r =1 (−1)k −rk r  rn.

(7)

Em busca de uma aproxima¸c˜ao (1)

Lema 1. Vale a identidade X i ∈Cr X j ∈Cr kxi − xjk2 = 2 nr X i ∈Cr kxi− ¯xrk2, em que ¯xr = P

i ∈Cr xi/nr ´e a m´edia das observa¸c˜oes pertencentes ao cluster Cr.

A id´eia da demonstra¸c˜ao ´e usar que

ku − v k2 = hu − v , u − v i = kuk2− 2 hu, v i + kv k2

(8)

Em busca de uma aproxima¸c˜ao (2)

Demonstra¸c˜ao X i ∈Cr X j ∈Cr kxi− xjk2= X i ∈Cr X j ∈Cr k(xi − ¯xr) − (xj − ¯xr)k2 = X i ∈Cr X j ∈Cr kxi − ¯xrk2− 2 hxi − ¯xr, xj − ¯xri + kxj − ¯xrk2  = X i ∈Cr  nrkxi − ¯xrk2− 2 * xi − ¯xr, X j ∈Cr (xj − ¯xr) + + X j ∈Cr kxj − ¯xrk2   = 2 nr X i ∈Cr kxi− ¯xrk2.

(9)

Em busca de uma aproxima¸c˜ao (3)

Portanto, pelo Lema 1, o problema original arg min C1,...,Ck 1 2 k X r =1 1 nr X i ∈Cr X j ∈Cr kxi − xjk2 ´e equivalente a arg min C1,...,Ck k X r =1 X i ∈Cr kxi− ¯xrk2.

(10)

Em busca de uma aproxima¸c˜ao (4)

Lema 2. Para os vetores u1, . . . , um ∈ Rp, a quantidade

m

X

i =1

kui− ck2

´e minimizada escolhendo-se o vetor c = ¯u=Pm

i =1ui/m. Demonstra¸c˜ao m X i =1 kui − ck2 = m X i =1 k(ui − ¯u) − (c − ¯u)k2 = m X i =1 kui− ¯uk2− 2 hui− ¯u, c − ¯ui + kc − ¯uk2  = m X i =1 kui − ¯uk2+ mkc − ¯uk2.

(11)

Em busca de uma aproxima¸c˜ao (5)

Usando o Lema 2, o problema original equivale a minimizar o “custo estendido” arg min C1,...,Ck m1,...,mk k X r =1 X i ∈Cr kxi− mrk2.

Esta representa¸c˜ao do problema sugere uma solu¸c˜ao iterativa em que primeiramente fixamos os mr’s e minimizamos o custo

estendido escolhendo os Cr’s adequadamente, e posteriormente

fixamos os Cr’s e minimizamos o custo estendido escolhendo os

mr’s como sendo as m´edias das observa¸c˜oes nos respectivos

(12)

Algoritmo k -means (Lloyd (1957))

Inicializamos arbitrariamente m1, . . . mk.

Alocamos a observa¸c˜ao xi no cluster Cr tal que

r = arg min

1≤r ≤kkxi − mrk,

para i = 1, . . . , n. Deste modo, determinamos C1, . . . , Ck.

Fazemos mr = ¯xr, para r = 1, . . . , k .

Iteramos os dois passos anteriores at´e que o valor de W fique inalterado.

(13)

O algoritmo k -means converge

Note que os dois passos iterativos do algoritmo k -means reduzem o valor do custo estendido

k X r =1 X i ∈Cr kxi − mrk2.

Uma vez que o conjunto sobre o qual minimizamos ´e finito, o algoritmo k -means eventualmente converge.

No entanto, n˜ao h´a nenhuma garantia de que encontraremos um m´ınimo global de W .

De fato, o algoritmo k -means fornece uma configura¸c˜ao de clusters que produz um m´ınimo local para W .

Por este motivo, os praticantes executam o algoritmo diversas vezes com inicializa¸c˜oes distintas para os mr’s.

(14)

Itera¸c˜oes de exemplo

Exemplo com xi ∈ R2, n = 300 e k = 3 (Tibshirani).

(15)

Como escolher k ?

Algumas vezes k ´e escolhido subjetivamente (no “olhˆometro”). H´a aplica¸c˜oes em que k ´e determinado a priori : suponha que temos k especialistas que ir˜ao examinar as unidades amostrais e queremos distribuir dados “similares” para cada um deles. Uma alternativa seria obter W (k ) para diversos k ’s e pegar o menor deles.

Definindo a dispers˜ao entre-clusters B(k ) = k X r =1 nrk¯xr − ¯xk, em que ¯x =Pn

i =1xi/n ´e a m´edia de todas as observa¸c˜oes, uma

(16)

Dispers˜ao entre-clusters

Exemplo com xi ∈ R2, n = 100 e k = 2 (Tibshirani).

(17)

Nenhuma das alternativas funciona

(18)

´Indice CH

A id´eia de Calinski e Harabasz (1974) ´e obter simultaneamente um W pequeno e um B grande definindo o ´ındice

CH(k ) = B(k )/(k − 1)

W(k )/(n − k ); kˆ= arg2≤k ≤kmaxmax

CH(k ). Exemplo com xi ∈ R2, n = 250 e k = 2, . . . , 10 (Tibshirani).

(19)

Referências

Documentos relacionados

O fato de que as coisas têm tamanhos, pesos, volumes, temperatura diferentes e que tais diferenças frequentemente são assinaladas pelos outros (está longe, está perto,

Em 2019, essas transações (tomadas e pagamentos) foram tratadas pela Companhia como atividades operacionais na demonstração dos fluxos de caixa da controladora (não há impacto

Caso não estejam reunidos os condicionalismos previstos na verba 5.5 da lista I, anexa ao CIVA, a transmissão da &#34;Biomassa Florestal&#34; transformada está sujeita a imposto

6 Consideraremos que a narrativa de Lewis Carroll oscila ficcionalmente entre o maravilhoso e o fantástico, chegando mesmo a sugerir-se com aspectos do estranho,

Por meio de um deslocamento da metodologia da Autoconfrontação, originalmente elaborada pelo linguista francês Daniel Faïta (1992; 1995; 2005) no contexto da Clínica

Outro estudo feito por Roltsch et al., (2001) em que utilizou-se de um grande número de exercícios em seus estudos (n=12), não identificou nenhuma redução

E nessa incursão, é válido mencionar, os sujeitos – sejam os do ensino (aluno e professor), sejam eles os aqui constituídos em objetos de investigação –

A Secretaria Municipal de Mobilidade e Transportes, por meio da CET – Companhia de Engenharia de Tráfego elaborará esquema especial objetivando a operação de trânsito durante