Como você está confuso, deixe-me começar relatando o problema e respondendo suas perguntas uma a uma. Você tem um tamanho de amostra de 10.000 e cada amostra é descrita por um vetor de recurso . Se você deseja executar a regressão usando funções de base radial gaussiana, procura uma função da forma f ( x ) = ∑ j w j ∗ g j ( x ; μ j , σ j ) , j = 1 .. m onde g eux∈R31
f(x)=∑jwj∗gj(x;μj,σj),j=1..m
gi são o seu funções básicas. Especificamente, você precisa encontrar os
pesos
m modo que, para os parâmetros determinados
μ j e
σ j você minimiza o erro entre
ywjμjσjy e o correspondente predição
y =
f ( x ) - tipicamente vai minimizar o erro de mínimos quadrados.
y^f(x^)
O que exatamente é o parâmetro Mu subscrito j?
Você precisa encontrar funções básicas g j . (Você ainda precisa determinar o número m ) Cada função básica terá um µ j e um σ jmgjmμjσj (também desconhecido). O índice varia de 1 a m .j1m
O um vetor?μj
Sim, é um ponto em . Em outras palavras, é um ponto em seu espaço de recurso e umµdeve ser determinado para cada uma dasmfunções básicas.R31μm
Eu li que isso governa os locais das funções básicas. Então não é isso que significa alguma coisa?
O função base t h está centrada em µ j . Você precisará decidir onde esses locais estão. Portanto, não, não é necessariamente o meio de nada (mas veja mais abaixo maneiras de determiná-lo)jthμj
Agora, o sigma que "governa a escala espacial". O que exatamente é isso?
é mais fácil de entender se recorrermos às funções básicas.σ
Ela ajuda a pensar nas funções de base radial de Gauss em dimensons mais baixos, dizem ou R 2 . Em R 1 a função de base radial Gaussiana é apenas a curva de sino conhecido. O sino pode, é claro, ser estreito ou largo. A largura é determinada por σ - quanto maior σ, mais estreita é a forma do sino. Em outras palavras, σR1R2R1σσσ escala a largura da forma do sino. Portanto, para = 1, não temos escala. Para grandesσ , temos escala substancial.σ
Você pode perguntar qual é o objetivo disso. Se você pensar na campainha cobrindo uma parte do espaço (uma linha em ) - uma campainha estreita cobrirá apenas uma pequena parte da linha *. Os pontos x próximos ao centro do sino terão um valor maior de g j ( x ) . Os pontos distantes do centro terão um valor menor de g j ( x ) . A escala tem o efeito de empurrar pontos para mais longe do centro - à medida que a campainha estreita, os pontos serão localizados mais longe do centro - reduzindo o valor deR1xgj(x)gj(x)gj(x)
Cada função base converte o vetor de entrada x em um valor escalar
Sim, você está avaliando as funções básicas em algum momento x∈R31 .
exp(−∥x−μj∥222∗σ2j)
Você obtém um escalar como resultado. O resultado escalar depende da distância do ponto do centro μ jxμj dado por e do escalar σ j .∥x−μj∥σj
Eu já vi algumas implementações que tentam valores como .1, .5, 2.5 para esse parâmetro. Como esses valores são calculados?
É claro que esse é um dos aspectos interessantes e difíceis do uso de funções de base radial gaussiana. se você pesquisar na web, encontrará muitas sugestões sobre como esses parâmetros são determinados. Descreverei em termos muito simples uma possibilidade baseada no agrupamento. Você pode encontrar essa e várias outras sugestões online.
Comece agrupando suas 10000 amostras (você pode primeiro usar o PCA para reduzir as dimensões seguidas pelo armazenamento em cluster k-Means). Você pode permitir que seja o número de clusters encontrados (normalmente empregando validação cruzada para determinar o melhor m ). Agora, crie uma função de base radial g j para cada cluster. Para cada função de base radial, μ jmmgjμj é o centro (por exemplo, média, centróide, etc.) do cluster. Deixe refletir a largura do cluster (por exemplo, raio ...) Agora vá em frente e faça sua regressão (esta descrição simples é apenas uma visão geral - ele precisa de muito trabalho a cada etapa!)σj
* Obviamente, a curva de sino é definida de - a∞ portanto terá um valor em qualquer lugar da linha. No entanto, os valores longe do centro são insignificantes∞
Deixe-me tentar dar uma explicação simples. Em tal notação, pode ser o número da linha, mas também pode ser o número da característica. Se escrevermos y = β 0 + ∑ j = 1 : 31 β j ϕ j ( x ), então j indica o número da característica, y é o vetor da coluna , y é o vetor da coluna, β j é escalar e ϕ j ( x ) é o vetor da coluna. Se escrevermos y j = β ϕ j (j y=β0+∑j=1:31βjϕj(x) j y βj ϕj(x) entãoyj=βϕj(x) indica o número da linha, y j é escalar, βé o vetor da linha. A notação em que i denota linha e j denota coluna é mais comum, portanto, vamos usar a primeira variante.j yj β é vetor de coluna e ϕj(x) i j
Apresentando função gaussiana base em regressão linear, (escalar) já não depende dos valores numéricos das características x i (vector), mas sobre as distâncias entre x i e o centro de todos os outros pontos u i . Em tal forma y i não depende de se j valor característica -ésimo de i observação -ésimo é alta ou pequena, mas depende de se j valor característica -ésimo está perto ou longe da média para que j -feature μ i j . entãoyi xi xi μi yi j i j j μij μj não é um parâmetro, pois não pode ser ajustado. É apenas uma propriedade de um conjunto de dados. O parâmetro é um valor escalar, controla a suavidade e pode ser ajustado. Se for pequena, as pequenas mudanças na distância terão um grande efeito (lembre-se de uma gaussiana acentuada: todos os pontos já localizados a uma pequena distância do centro têm valores y minúsculos ). Se for grande, as pequenas mudanças na distância terão um efeito baixo (lembre-se de gaussiano plano: a diminuição de y com o aumento da distância do centro é lenta). O valor ideal de σ 2 deve ser procurado (geralmente é encontrado com validação cruzada).σ2 y y σ2
fonte
fonte