Por que o repentino fascínio por tensores?

171

Ultimamente, tenho notado que muitas pessoas estão desenvolvendo equivalentes a tensores de vários métodos (fatoração de tensão, núcleos de tensor, tensores para modelagem de tópicos etc.). Estou me perguntando, por que o mundo de repente é fascinado por tensores? Existem trabalhos recentes / resultados padrão que são particularmente surpreendentes, que trouxeram isso? É computacionalmente muito mais barato do que se suspeitava anteriormente?

Não estou sendo simplista, sinceramente estou interessado e, se houver alguma indicação para os papéis sobre isso, eu adoraria lê-los.

YS
fonte
25
Parece que o único recurso de retenção que os "tensores de big data" compartilham com a definição matemática usual é que eles são matrizes multidimensionais. Então, eu diria que os tensores de big data são uma maneira comercial de dizer "matriz multidimensional", porque duvido muito que as pessoas de aprendizado de máquina se importem com as simetrias ou leis de transformação que os tensores usuais de matemática e física desfrutam, especialmente sua utilidade na formação de equações livres de coordenadas.
Alex R.
2
@AlexR. sem invariância a transformações não há tensores
Aksakal
2
@ Aksakal Estou certamente familiarizado com o uso de tensores na física. Meu argumento seria que as simetrias nos tensores da física provêm da simetria da física, e não de algo essencial na definição do tensor.
24616 Aginensky
3
@aginensky Se um tensor não passava de uma matriz multidimensional, por que as definições de tensores encontradas nos livros de matemática parecem tão complicadas? Da Wikipedia: "Os números na matriz multidimensional são conhecidos como componentes escalares do tensor ... Assim como os componentes de um vetor mudam quando mudamos a base do espaço vetorial, os componentes de um tensor também mudam sob esse Cada tensor vem equipado com uma lei de transformação que detalha como os componentes do tensor respondem a uma mudança de base ". Em matemática, um tensor não é apenas uma matriz.
25416
4
Apenas algumas considerações gerais sobre essa discussão: acho que, como nos vetores e matrizes, a aplicação real frequentemente se torna uma instanciação muito simplificada de uma teoria muito mais rica. Estou lendo este artigo com mais profundidade: epubs.siam.org/doi/abs/10.1137/07070111X?journalCode=siread e uma coisa que realmente me impressiona é que as ferramentas "representacionais" para matrizes (decomposições de valores de autovalores e valores singulares) ter generalizações interessantes em ordens superiores. Tenho certeza de que existem também muitas propriedades mais bonitas, além de apenas um bom recipiente para mais índices. :)
YS

Respostas:

89

Os tensores geralmente oferecem representações mais naturais dos dados, por exemplo, considere o vídeo, que consiste em imagens obviamente correlacionadas ao longo do tempo. Você pode transformar isso em uma matriz, mas simplesmente não é natural ou intuitivo (o que significa uma fatoração de alguma representação matricial do vídeo?).

Os tensores estão tendendo por vários motivos:

  • nosso entendimento da álgebra multilinear está melhorando rapidamente, especificamente em vários tipos de fatorações, o que por sua vez nos ajuda a identificar novas aplicações em potencial (por exemplo, análise de componentes de várias vias )
  • ferramentas de software estão surgindo (por exemplo, Tensorlab ) e estão sendo bem-vindas
  • Os aplicativos de Big Data geralmente podem ser resolvidos usando tensores, por exemplo , sistemas de recomendação , e o próprio Big Data é quente
  • aumenta o poder computacional, pois algumas operações de tensores podem ser pesadas (essa também é uma das principais razões pelas quais o aprendizado profundo é tão popular agora)
Marc Claesen
fonte
9
Na parte do poder computacional: acho que o mais importante é que a álgebra linear pode ser muito rápida nas GPUs e, ultimamente, elas obtêm memórias maiores e mais rápidas, que é a maior limitação ao processar grandes dados.
Davidmh 23/02
6
A resposta de Marc Claesen é boa. David Dunson, ilustre professor de estatística da Duke, tem sido um dos principais expoentes de abordagens baseadas em tensores para modelagem, como nesta apresentação, Regressão Bayesiana de Tensores . icerm.brown.edu/materials/Slides/sp-f12-w1/…
Mike Hunter
Conforme mencionado por David, os algoritmos tensores geralmente se prestam bem ao paralelismo, em que hardware (como aceleradores de GPU) estão cada vez melhor.
Thomas Russell
1
Presumi que as melhores capacidades de memória / CPU estavam desempenhando um papel, mas a recente explosão de atenção foi interessante; Eu acho que deve ser por causa de muitos sucessos surpreendentes recentes com sistemas de recomendação, e talvez também kernels para SVMs, etc. Obrigado pelos links! ótimos lugares para começar a aprender sobre essas coisas ...
YS
5
Se você armazenar um vídeo como uma matriz multidimensional, não vejo como essa matriz multidimensional teria alguma das propriedades de invariância que um tensor deve ter. Não parece que a palavra "tensor" seja apropriada neste exemplo.
littleO
73

Eu acho que sua pergunta deve ser combinada com uma resposta que seja igualmente livre e de mente aberta como a própria pergunta. Então, aqui estão minhas duas analogias.

Primeiro, a menos que você seja um matemático puro, provavelmente foi ensinado probabilidades e estatísticas univariadas primeiro. Por exemplo, provavelmente seu primeiro exemplo de OLS provavelmente estava em um modelo como este: Muito provavelmente, você as estimativas, minimizando realmente a soma dos mínimos quadrados: Em seguida, você escreve o FOC s para os parâmetros e obtém a solução:

yi=a+bxi+ei
TSS=i(yia¯b¯xi)2
T T S
TTSa¯=0

Mais tarde, você será informado de que há uma maneira mais fácil de fazer isso com a notação de vetor (matriz):

y=Xb+e

e o TTS se torna:

TTS=(yXb¯)(yXb¯)

Os FOCs são:

2X(yXb¯)=0

E a solução é

b¯=(XX)1Xy

Se você é bom em álgebra linear, seguirá a segunda abordagem depois de aprendê-la, porque na verdade é mais fácil do que escrever todas as somas na primeira abordagem, especialmente depois de entrar em estatísticas multivariadas.

Portanto, minha analogia é que mover para tensores de matrizes é semelhante a mover de vetores para matrizes: se você souber tensores, algumas coisas parecerão mais fáceis dessa maneira.

Segundo, de onde vêm os tensores? Não tenho certeza de toda a história dessa coisa, mas as aprendi em mecânica teórica. Certamente, tínhamos um curso sobre tensores, mas eu não entendia qual era o problema com todas essas maneiras sofisticadas de trocar índices naquele curso de matemática. Tudo começou a fazer sentido no contexto do estudo das forças de tensão.

Então, na física, eles também começam com um exemplo simples de pressão definido como força por unidade de área, portanto: Isso significa que você pode calcular o vetor de força multiplicando a pressão (escalar) pela unidade de área (vetor normal). É quando temos apenas uma superfície plana infinita. Neste caso, há apenas uma força perpendicular. Um balão grande seria um bom exemplo.

F=pdS
FpdS

No entanto, se você estiver estudando a tensão dentro dos materiais, estará lidando com todas as direções e superfícies possíveis. Nesse caso, você tem forças em qualquer superfície puxando ou empurrando em todas as direções, não apenas perpendiculares. Algumas superfícies são separadas por forças tangenciais "laterais" etc. Então, sua equação se torna: A força ainda é um vetor e a área da superfície ainda é representada por seu vetor normal , mas é um tensor agora, não um escalar.

F=PdS
FdSP

Ok, um escalar e um vetor também são tensores :)

Outro local em que os tensores aparecem naturalmente são as matrizes de covariância ou correlação. Basta pensar no seguinte: como transformar uma vez a matriz de correlação em outra ? Você percebe que não podemos fazer isso da seguinte maneira: onde porque precisamos manter todos os positivos semi-definidos.C0C1

Cθ(Eu,j)=C0 0(Eu,j)+θ(C1(Eu,j)-C0 0(Eu,j)),
θ[0 0,1]Cθ

Portanto, teríamos que encontrar o caminho forma que , onde seja um pequeno distúrbio para uma matriz. Existem muitos caminhos diferentes, e poderíamos procurar os mais curtos. É assim que chegamos à geometria Riemanniana, manifolds e ... tensores.δCθC1=C0 0+θδCθδCθ

UPDATE: o que é tensor, afinal?

@amoeba e outros entraram em uma animada discussão sobre o significado de tensor e se é o mesmo que uma matriz. Então, pensei que um exemplo estivesse em ordem.

Digamos, vamos a um bazar para comprar mantimentos, e há dois caras comerciantes, e . Nós percebeu que se nós pagar dólares para e dólares para então nos vende libras de maçãs, e nos vende laranjas. Por exemplo, se pagarmos 1 dólar, ou seja, , devemos obter 1 libra de maçãs e 1,5 de laranjas.d1d2x1d1x2d2d1y1=2x1-x2d2y2=-0,5x1+2x2x1=x2=1

Podemos expressar essa relação na forma de uma matriz :P

 2   -1
-0.5  2 

Então os comerciantes produzem tanto maçãs e laranjas se lhes pagarmos dólares: x

y=Px

Isso funciona exatamente como uma matriz por multiplicação de vetores.

Agora, digamos que, em vez de comprar os produtos desses comerciantes separadamente, declaramos que existem dois pacotes de gastos que utilizamos. Pagamos ambos os 0,71 dólares ou 0,71 dólares e exigimos 0,71 dólares do volta. Como no caso inicial, vamos a um bazar e gastamos no pacote 1 e no pacote 2.d1d2z1z2

Então, vejamos um exemplo em que gastamos apenas no pacote 1. Nesse caso, o primeiro comerciante recebe dólar e o segundo comerciante recebe o mesmo . Portanto, precisamos obter as mesmas quantidades de produtos, como no exemplo acima, não é?z1=2x1=1x2=1

Talvez talvez não. Você notou que a matriz não é diagonal. Isso indica que, por alguma razão, quanto um comerciante cobra pelos seus produtos depende também de quanto pagamos ao outro comerciante. Eles devem ter uma idéia de quanto pagá-los, talvez através de rumores? Nesse caso, se começarmos a comprar em pacotes, eles saberão com certeza quanto pagamos a cada um deles, porque declaramos nossos pacotes ao bazar. Nesse caso, como sabemos que a matriz deve permanecer a mesma?PP

Talvez com a informação completa de nossos pagamentos no mercado, as fórmulas de preços também mudem! Isso mudará nossa matriz , e não há como dizer exatamente.P

É aqui que entramos nos tensores. Essencialmente, com tensores, dizemos que os cálculos não mudam quando começamos a negociar em pacotes, em vez de diretamente com cada comerciante. Essa é a restrição, que imporá regras de transformação em , que chamaremos de tensor.P

Particularmente, podemos notar que temos uma base ortonormal , em que significa um pagamento de 1 dólar para um comerciante nada para o outro. Também podemos notar que os pacotes configuráveis ​​também formam uma base ortonormal , que também é uma rotação simples da primeira base 45 graus no sentido anti-horário. É também uma decomposição de PC de primeira base. portanto, estamos dizendo que mudar para os pacotes configuráveis ​​é uma simples mudança de coordenadas e não deve alterar os cálculos. Observe que essa é uma restrição externa que impusemos ao modelo. Não veio de propriedades matemáticas puras de matrizes.d¯1,d¯2dEuEud¯1,d¯2

Agora, nossas compras podem ser expressas como um vetor . Os vetores também são tensores, btw. O tensor é interessante: ele pode ser representado como e os mantimentos como . Com compras, significa libra de produtos do comerciante , não os dólares pagos.x=x1d¯1+x2d¯2

P=EujpEujd¯Eud¯j
y=y1d¯1+y2d¯2yEuEu

Agora, quando alteramos as coordenadas para agrupar, a equação do tensor permanece a mesma:

y=Pz

Isso é legal, mas os vetores de pagamento agora estão em uma base diferente: , enquanto podemos manter os vetores de produção na base antiga . O tensor também muda: . É fácil derivar como o tensor deve ser transformado, será , onde a matriz de rotação é definida como . No nosso caso, é o coeficiente do pacote.

z=z1d¯1+z2d¯2
y=y1d¯1+y2d¯2
P=EujpEujd¯Eud¯j
PUMAd¯=UMAd¯

Podemos elaborar as fórmulas para a transformação tensorial, e elas produzirão o mesmo resultado que nos exemplos com e .x1=x2=1z1=0,71,z2=0 0

Aksakal
fonte
2
Fiquei confuso por aqui: So, let's look at an example where we spend just z1=1.42 on bundle 1. In this case, the first merchant gets x1=1 dollars, and the second merchant gets the same x2=1.Antes você diz que o primeiro pacote é que nós pay both 0.71 dollars. Portanto, gastar 1,42 no primeiro pacote deve receber 0,71 cada e não 1, não?
Ameba
@ameba, a ideia é que um pacote 1 seja , portanto, com pacote 1, você obtém , ou seja, 1 $ cadad¯1/2+d¯2/2ˉ d 1+ ˉ d 22d¯1+d¯2
Aksakal
2
@ Akksakal, eu sei que essa discussão é bastante antiga, mas também não entendo isso (embora eu realmente estivesse tentando). De onde vem a idéia de que um pacote 1 é ? Você poderia elaborar? Como é que, quando você paga 1,42 pelo pacote, ambos os comerciantes recebem 1? d¯1/2+d¯2/2
Matek 14/09/16
@Aksakal Isso é ótimo, obrigado! Eu acho que você tem um erro de digitação na última linha, onde você diz x1 = x2 = 1 (correto) e z1 = 0,71, z2 = 0. Presumindo que eu entendi tudo corretamente, z1 deve ser 1,42 (ou 1,41, um pouco mais próximo) para 2 ^ 0,5).
Mike Williamson
71

Esta não é uma resposta para sua pergunta, mas um comentário estendido sobre o assunto que foi levantado aqui em comentários de pessoas diferentes, a saber: os "tensores" de aprendizado de máquina são a mesma coisa que os tensores em matemática?

Agora, de acordo com Cichoki 2014, Era do Big Data Processing: Uma Nova Abordagem via Redes Tensores e Decomposições de Tensores , e Cichoki et al. 2014, Decomposições de Tensores para Aplicações de Processamento de Sinais ,

Um tensor de ordem superior pode ser interpretado como uma matriz de múltiplas vias, [...]

Um tensor pode ser pensado como uma matriz numérica com vários índices, [...]

Tensores (ou seja, matrizes de várias vias) [...]

Os chamados tensores no aprendizado de máquina

Portanto, no aprendizado de máquina / processamento de dados, um tensor parece ser simplesmente definido como uma matriz numérica multidimensional. Um exemplo desse tensor 3D seria quadros de vídeo de tamanho. Uma matriz de dados usual é um exemplo de um tensor 2D de acordo com esta definição.640 × 480 n × p1000640×480n×p

Não é assim que os tensores são definidos em matemática e física!

Um tensor pode ser definido como uma matriz multidimensional que obedece a certas leis de transformação sob a mudança de coordenadas ( consulte Wikipedia ou a primeira frase no artigo MathWorld ). Uma definição melhor, mas equivalente ( veja Wikipedia ) diz que um tensor no espaço vetorial é um elemento de . Note-se que isto significa que, quando representado como matrizes multidimensionais, tensores são de tamanho ou etc., onde é a dimensionalidade da .V ... V * p × p p × p × p p VVV...Vp×pp×p×ppV

Todos os tensores conhecidos em física são assim: o tensor de inércia na mecânica é , o tensor eletromagnético na relatividade especial é , o tensor de curvatura de Riemann na relatividade geral é . Curvatura e tensores eletromagnéticas são realmente campos tensores, que são seções de pacotes tensor (ver por exemplo aqui , mas fica técnico), mas tudo isso é definido sobre um espaço vetorial .3×34×44×4×4×4 V

Obviamente, pode-se construir um produto tensorial de um dimensional e dimensional mas seus elementos geralmente não são chamados de "tensores", como declarado, por exemplo, aqui na Wikipedia :VWpVqW

Em princípio, pode-se definir um "tensor" simplesmente para ser um elemento de qualquer produto tensorial. No entanto, a literatura matemática geralmente reserva o termo tensor para um elemento de um produto tensorial de um único espaço vetorial e seu dual, como acima.V

Um exemplo de um tensor real em estatística seria uma matriz de covariância. É e se transforma de uma maneira particular quando o sistema de coordenadas no espaço de característica dimensional é alterado. É um tensor. Mas uma matriz de dados não é.p×ppVn×pX

Mas podemos pelo menos pensar em como um elemento do produto tensorial , onde é dimensional e é dimensional? Para concretude, deixe as linhas em corresponderem a pessoas (assuntos) e colunas a algumas medidas (características). Uma mudança de coordenadas em corresponde à transformação linear de recursos, e isso é feito nas estatísticas o tempo todo (pense no PCA). Mas uma mudança de coordenadas em parece não corresponder a nada significativo (e exorto qualquer pessoa que tenha um contra-exemplo a me informar nos comentários)XWVWnVpXVW. Assim, não parece que haja algo ganhou por considerar como um elemento de .XWV

E, de fato, a notação comum é escrever , onde é um conjunto de todas as matrizes (que, a propósito, são definido como matrizes retangulares de números, sem nenhuma propriedade de transformação assumida).XRn×pRn×pn×p

Minha conclusão é: (a) os tensores de aprendizado de máquina não são tensores de matemática / física e (b) também não é útil vê-los como elementos de produtos de tensores.

Em vez disso, são generalizações multidimensionais de matrizes. Infelizmente, não há um termo matemático estabelecido para isso, então parece que esse novo significado de "tensor" chegou para ficar.

ameba
fonte
19
Sou um matemático puro, e esta é uma resposta muito boa. Em particular, o exemplo de uma matriz de covariância é uma excelente maneira de entender as "propriedades de transformação" ou "simetrias" que pareciam causar confusão acima. Se você alterar as coordenadas em seu espaço de características dimensional, a matriz de covariância transforma em um determinado e possivelmente surpreendente caminho; se você fizesse uma transformação mais ingênua em suas covariâncias, acabaria com resultados incorretos. p
Tom Church
10
Obrigado, @ Tom, agradeço que você tenha se registrado no CrossValidated para deixar este comentário. Faz muito tempo que eu estudava geometria diferencial, então fico feliz se alguém confirmar o que escrevi. É uma pena que não exista um termo estabelecido em matemática para "matrizes multidimensionais"; parece que "tensor" ficará na comunidade de aprendizado de máquina como um termo para isso. Como você acha que alguém deveria chamá-lo? A melhor coisa que me vem à mente são matrizes (por exemplo, matrizes para se referir a um objeto de vídeo), de maneira semelhante às categorias. n3n
Ameba
4
@amoeba, na programação as matrizes multidimensionais são geralmente chamadas de matrizes , mas algumas linguagens como o MATLAB as chamariam de matrizes . Por exemplo, no FORTRAN, as matrizes podem ter mais de 2 dimensões. Em linguagens como C / C ++ / Java, as matrizes são unidimensionais, mas você pode ter matrizes de matrizes, fazendo com que funcionem também como matrizes multidimensionais. O MATLAB suporta matrizes tridimensionais ou mais na sintaxe.
Aksakal
3
Isso é muito interessante. Espero que você enfatize esse ponto. Mas tome cuidado para não confundir um conjunto com um espaço vetorial que ele determina, porque a distinção é importante nas estatísticas. Em particular (para pegar um de seus exemplos), embora uma combinação linear de pessoas não faça sentido, uma combinação linear de funções com valor real em um conjunto de pessoas é significativa e importante. É a chave para resolver a regressão linear, por exemplo.
whuber
8
Por T. Kolda, B, Bada, "Decomposições e Aplicativos de Tensores" SIAM Review 2009, epubs.siam.org/doi/pdf/10.1137/07070111X 'Um tensor é um arranjo multidimensional. Mais formalmente, um tensor de N ou de ordem N é um elemento do produto tensorial de N espaços vetoriais, cada um dos quais com seu próprio sistema de coordenadas. Esta noção de tensores não deve ser confundido com tensores em física e engenharia (como tensores de estresse) ,, que são geralmente referidos como campos tensores em matemática "
Mark L. Stone
14

Como alguém que estuda e constrói redes neurais e fez repetidamente essa pergunta, concluí que tomamos emprestados aspectos úteis da notação tensorial simplesmente porque eles facilitam muito a derivação e mantêm nossos gradientes em suas formas nativas. A regra da cadeia tensorial é uma das ferramentas de derivação mais elegantes que eu já vi. Notações adicionais de tensor encorajam simplificações computacionais eficientes que são simplesmente pesadelos para serem encontradas ao usar versões estendidas comuns do cálculo vetorial.

No cálculo Vector / Matrix, por exemplo, existem 4 tipos de produtos matriciais (Hadamard, Kronecker, Ordinary e Elementwise), mas no cálculo tensorial, existe apenas um tipo de multiplicação, mas abrange todas as multiplicações matriciais e muito mais. Se você quer ser generoso, interprete tensor como uma matriz multidimensional para a qual pretendemos usar cálculo baseado em tensor para encontrar derivadas, não que os objetos que estamos manipulando sejam tensores .

Com toda a honestidade, provavelmente chamamos nossos arrays multidimensionais de tensores, porque a maioria dos especialistas em aprendizado de máquina não se preocupa muito em seguir as definições de matemática ou física de alto nível. A realidade é que estamos apenas tomando emprestado Convenções e Cálculos de Soma de Einstein bem desenvolvidos e que são tipicamente usados ​​na descrição de tensores e não queremos dizer repetidamente o cálculo baseado em convenções de soma de Einstein. Talvez um dia possamos desenvolver um novo conjunto de notações e convenções que roubam apenas o que precisam do cálculo tensorial especificamente para analisar redes neurais, mas como um campo jovem que leva tempo.

James Ryland
fonte
Registre e / ou mescle suas contas (você pode encontrar informações sobre como fazer isso na seção Minha conta da nossa central de ajuda ), para poder editar e comentar suas próprias respostas.
gung
10

Agora, na verdade, eu concordo com a maior parte do conteúdo das outras respostas. Mas vou interpretar o advogado do diabo em um ponto. Novamente, o fluxo será livre, então desculpas ...

O Google anunciou um programa chamado Tensor Flow para aprendizado profundo. Isso me fez pensar o que era 'tensor' no aprendizado profundo, pois não conseguia fazer a conexão com as definições que tinha visto.

insira a descrição da imagem aqui

Os modelos de aprendizado profundo tratam da transformação de elementos de um espaço para outro. Por exemplo, se considerarmos duas camadas de alguma rede, você pode escrever coordenadas de uma variável transformada como uma função não-linear da camada anterior, usando a notação de soma sofisticada:Euy

yEu=σ(βEujxj)

Agora, a idéia é encadear várias dessas transformações para chegar a uma representação útil das coordenadas originais. Assim, por exemplo, após a última transformação de uma imagem, uma regressão logística simples produzirá excelente precisão de classificação; enquanto que na imagem crua definitivamente não.

Agora, o que parece ter sido perdido de vista são as propriedades de invariância procuradas em um tensor adequado. Particularmente quando as dimensões das variáveis ​​transformadas podem ser diferentes de camada para camada. [Por exemplo, algumas das coisas que eu vi nos tensores não fazem sentido para jacobianos não quadrados - talvez eu esteja faltando alguns métodos]

O que foi retido é a noção de transformações de variáveis, e que certas representações de um vetor podem ser mais úteis que outras para tarefas específicas. Analogia é se faz mais sentido resolver um problema nas coordenadas cartesianas ou polares.


EDIT em resposta a @Aksakal:

O vetor não pode ser perfeitamente preservado devido às alterações no número de coordenadas. No entanto, em certo sentido, pelo menos as informações úteis podem ser preservadas em transformação. Por exemplo, com o PCA, podemos descartar uma coordenada, portanto não podemos inverter a transformação, mas a redução da dimensionalidade pode ser útil, no entanto. Se todas as transformações sucessivas forem invertíveis, você poderá mapear de volta da penúltima camada para o espaço de entrada. Como é, só vi modelos probabilísticos que permitem isso (RBMs) por amostragem.

conjecturas
fonte
1
No contexto das redes neurais, eu sempre assumi que os tensores estavam agindo como matrizes multidimensionais. Você pode elaborar como as propriedades de invariância estão ajudando na classificação / representação?
YS
Talvez eu não tenha sido claro acima, mas parece-me - se a interpretação está correta - o objetivo das propriedades invariantes foi descartado. O que parece ter sido mantido é a ideia de transformações variáveis.
conjectures
r¯
mas isso não é mais uma propriedade da transformação do que o tensor? Pelo menos com transformações lineares e do tipo elemento-elemento, que parecem mais populares nas redes neurais, elas estão igualmente presentes com vetores e matrizes; Quais são os benefícios adicionais dos tensores?
YS
1
@conjectures, PCA é apenas uma rotação e projeção. É como girar o espaço N-dimensional para o PC e depois projetar para o subespaço. Os tensores são usados ​​em situações semelhantes na física, por exemplo, ao observar as forças nas superfícies internas dos corpos etc.
Aksakal
7

Aqui está um trecho levemente editado (de contexto) de Fatoração de Tensores Não Negativos com Aplicações em Estatística e Visão Computacional, A. Shashua e T. Hazan, que aborda o porquê de pelo menos algumas pessoas serem fascinadas por tensores.

Qualquer problema n-dimensional pode ser representado em forma bidimensional concatenando dimensões. Assim, por exemplo, o problema de encontrar uma decomposição não-negativa de baixa classificação de um conjunto de imagens é um 3-NTF (Fatoração de Tensor Não-negativo), com as imagens formando as fatias de um cubo 3D, mas também pode ser representado como um problema de NMF (fatoração de matriz não-negativa), vetorizando as imagens (imagens formando colunas de uma matriz).

Há duas razões pelas quais uma representação matricial de uma coleção de imagens não seria apropriada:

  1. Redundância espacial (pixels, não necessariamente vizinhos, com valores semelhantes) é perdida na vetorização, portanto, esperamos uma fatoração menos eficiente, e
  2. Uma decomposição de NMF não é única, portanto, mesmo que exista um modelo generativo (de partes locais), o NMF não se moveria necessariamente nessa direção, o que foi verificado empiricamente por Chu, M., Diele, F., Plemmons, R., & Ragni, S. "Optimalidade, computação e interpretação de fatorações matriciais não-negativas" SIAM Journal on Matrix Analysis, 2004. Por exemplo, partes invariantes no conjunto de imagens tenderiam a formar fantasmas em todos os fatores e contaminar o efeito de dispersão. Um NTF é quase sempre único, portanto, esperamos que o esquema NTF avance para o modelo generativo, e especificamente não seja influenciado por partes invariantes.
Mark L. Stone
fonte
6

[EDIT] Acabei de descobrir o livro de Peter McCullagh, Tensor Methods in Statistics .

Os tensores exibem propriedades de interesse na identificação desconhecida da mistura em um sinal (ou uma imagem), especialmente em torno da noção de decomposição de tensores poládicos canônicos (CP), veja, por exemplo, Tensores: uma breve introdução , P. Comon, 2014. O campo é conhecido sob o nome "separação da fonte cega (BSS)":

As decomposições por tensor estão no centro de muitos algoritmos de Separação de fonte cega (BSS), explícita ou implicitamente. Em particular, a decomposição de tensores poládicos canônicos (CP) desempenha um papel central na identificação de misturas sub-determinadas. Apesar de algumas semelhanças, a CP e a Decomposição de Valor Singular (SVD) são bem diferentes. De maneira mais geral, tensores e matrizes desfrutam de propriedades diferentes, como apontado nesta breve introdução.

Alguns resultados de singularidade foram obtidos recentemente para tensores de terceira ordem: Sobre a singularidade da decomposição poládica canônica de tensores de terceira ordem ( parte 1 , parte 2 ), I. Domanov et al. , 2013.

As decomposições por tensor são formas nodais, muitas vezes ligadas a decomposições esparsas, por exemplo, impondo estrutura aos fatores de decomposição (ortogonalidade, Vandermonde, Hankel) e classificação baixa, para acomodar com não exclusividade.

Com uma crescente necessidade de análise de dados incompleta e determinação de medições complexas a partir de matrizes de sensores, os tensores são cada vez mais utilizados para a conclusão da matriz, análise de variáveis ​​latentes e separação de fontes.

Nota adicional: aparentemente, a decomposição poládica canônica também é equivalente à decomposição de Waring de um polinômio homogêneo como uma soma de potências de formas lineares, com aplicações na identificação de sistemas (modelos de espaço de estado paralelo estruturado em bloco, Wiener-Hammerstein ou não-linear).

Laurent Duval
fonte
3

Gostaria de recomendar respeitosamente meu livro: Kroonenberg, PM Applied Multiway Data Analysis e Smilde et al. Análise Multiway. Aplicações nas ciências químicas (ambas Wiley). De interesse também pode ser o meu artigo: Kroonenberg, PM (2014). História da análise de componentes de múltiplas vias e análise de correspondência de três vias. In Blasius, J. e Greenacre, MJ (Eds.). Visualização e verbalização de dados (pp. 77-94). Nova York: Chapman & Hall / CRC. ISBN 9781466589803.

Essas referências falam sobre dados de várias vias em vez de tensores, mas referem-se à mesma área de pesquisa.

PM Kroonenberg
fonte
-1

É verdade que as pessoas no Machine Learning não veem os tensores com o mesmo cuidado que os matemáticos e médicos. Aqui está um artigo que pode esclarecer essa discrepância: Comon P., "Tensores: uma breve introdução" IEEE Sig. Proc. Revista , 31 de maio de 2014

Moun
fonte
5
A distinção entre um tensor em matemática / física e um tensor em aprendizado de máquina é realmente um "cuidado"? Parece que o pessoal do aprendizado de máquina usa "tensor" como um termo genérico para matrizes de números (escalar, vetor, matriz e matrizes com 3 ou mais eixos, por exemplo, no TensorFlow), enquanto "tensor" em um contexto de matemática / física tem um diferente significado. Sugerir que a pergunta é sobre "cuidado" é, na minha opinião, descaracterizar o uso como "incorreto" na capacidade de aprendizado de máquina, quando na verdade o contexto de aprendizado de máquina não tem a intenção de replicar com precisão o uso de matemática / física.
Sycorax