[Arquivo!] Pura matemática, física, química, etc.: problemas de treinamento do cérebro não relacionados ao comércio de qualquer forma - página 561

 

Estou dormindo, estou dormindo.

 
Parece haver um procedimento padrão para a construção de um conjunto orthonormal. Seja Lagrangiano ou qualquer outra coisa. Muito bem, se você resolveu o problema e o provou, então o que há para falar...
 
Mathemat:
Parece haver um procedimento padrão para a construção de um conjunto orthonormal. Ou de Lagrange ou de qualquer outra coisa. Muito bem, se você resolveu o problema e o provou, então o que há para falar...

Não, não, não!!! Se você tem um, vá em frente e afixe! Muito interessante, ainda não encontrei nenhum.

Interessado de diferentes maneiras, pois pode afetar a velocidade de solução do problema alvo.

 
tara:

Faz sentido. Em que vamos ganhar dinheiro?

Forex!
 
MetaDriver: Nenenyenne!!! Se houver, vá em frente e afixe! É muito interessante, eu a procurei e não consegui encontrar.

Bem, eu ainda não me aprofundei muito nisso. O processo Gram-Schmidt, está em álgebra linear. Ou formas quadráticas.

Tanto quanto sei, é o suficiente para começar e não o primeiro passo. Há uma prova disso também, e interpolações geométricas.

Tenho esta suspeita de que deveria haver algo nativo para este processo em funções OpenCL.

 

O método de ortogonalização em série pode ser visto no pedaço de código abaixo. O gradiente é um vetor aleatório do qual são retiradas as projeções sobre os vetores de base. A base está localizada em uma matriz unidimensional Sarray . Todas as arrays são declaradas como globais. O processo é, creio eu, claro a partir dos comentários.

//+------------------------------------------------------------------+
//|  в массиве Sarray записан ортонормированный базис из k векторов  |
//|  размерности NeuroCellDim каждый                                 |
//|  строится ортогональная проекция вектора Gradient на базис       |
//|  в случае успеха проекция нормируется                            |
//|  и добавляется в базис, если позволяет признак записи: write > 0 |
//+------------------------------------------------------------------+
int OrthogonalProjection(int k, int write)
{
   int   i, j, err = 0, index = 0;
   double Alpha;
   if (k > 0) // если k>0, то базис не пуст
      for (i = 0; i < k; i++)
      {
         for (j = 0; j < NeuroCellDim; j++)
         {
            InputX[j] = Sarray[index]; // извлекаем i-й орт в InputX
            index++;
         }
         Alpha = ScalarProduct( Gradient, InputX); // скалярное произведение, cos(Gradient, InputX)
         if (Alpha > 1.0 - delta)   // если cos() = 1
         {
            err = -1; // считаем, что такой вектор линейно зависим от векторов базиса
            break;
         }
//       Gradient := Gradient - Alpha * InputX     с нормировкой       
         AddVektors( Gradient, InputX, -Alpha); // орт к базису из i+1 векторов
      }

   if (err >= 0 && write > 0) // если существует проекция и позволяет признак записи
      for (j = 0; j < NeuroCellDim; j++)  // записываем новый орт в базис
      {
         Sarray[index] = Gradient[j]; 
         index++;
      }      

   return(err);
}
//+--- OrthogonalProjection End -------------------------------------+
 

Pessoal, me dêem uma dica. Estou perdido. Eis o problema: Há uma amostra de dados que é muito bem aproximada por uma regressão linear (variável independente - número de referência).

O gráfico mostra uma equação de regressão linear. Quero transformar os dados da amostra para que sejam invariáveis com respeito às contagens. Eu tentei selecionar um termo livre da equação por operações aritméticas e transformar os dados da amostra para este valor. Mas no início parecia haver um tal pico no nível de 0,7, 0,46 etc., indo para a assímptota do nível necessário. De onde veio este pico no início? Ela pode ser removida mudando a fórmula?

O Excel é anexado apenas por precaução.

Arquivos anexados:
 
alexeymosc:

Pessoas, uma palavra de conselho. Estou perdido. Eis o problema: Há uma amostra de dados que é muito bem aproximada por uma regressão linear (variável independente - número de referência).

O gráfico mostra uma equação de regressão linear. Quero transformar os dados da amostra para que sejam invariáveis com respeito às contagens. Eu tentei selecionar um termo livre da equação por operações aritméticas e transformar os dados da amostra para este valor. Mas no início parecia haver um tal pico no nível de 0,7, 0,46 etc., indo para a assímptota do nível necessário. De onde veio este pico no início? Ela pode ser removida mudando a fórmula?

O Excel é anexado apenas por precaução.

OK, se não há outras soluções, procurei uma solução para encontrar o valor do termo livre da equação, minimizando R^2 já pela nova série (derivada do original e que deveria ser invariante), ou seja, a tornei quase linear. Aparentemente, o problema é que os dados originais não são perfeitamente lineares.
 
alexeymosc:

Pessoas, uma palavra de conselho. Estou perdido. Eis o problema: Há uma amostra de dados que é muito bem aproximada por uma regressão linear (variável independente - número de referência).

O gráfico mostra uma equação de regressão linear. Quero transformar os dados da amostra para que sejam invariáveis com respeito às contagens. Eu tentei selecionar um termo livre da equação por operações aritméticas e transformar os dados da amostra para este valor. Mas no início parecia haver um tal pico no nível de 0,7, 0,46 etc., indo para a assímptota do nível necessário. De onde veio este pico no início? Ela pode ser removida mudando a fórmula?

O Excel é anexado apenas por precaução.

Bem, isso significa apenas uma coisa - o erro relativo de aproximação é o maior, o menor X (e Y) é, mas o que você espera, dividir um número pequeno por outro número pequeno? Tente mudar a variável X' = X+100 e traçar uma nova série na faixa de 100 a 400, não de 0 a 300 - o gráfico será muito mais reto, mas não mudará a questão
 

1.

10.03.2012 05:46Método de ortogonalização consistente pode ser visto no pedaço de código abaixo. O gradiente é um vetor aleatório

Mathemat:

1. Bem, eu realmente ainda não entrei nisso. O processo Gram-Schmidt, eles o ensinam em álgebra linear. Ou formas quadráticas.

Tanto quanto sei, não é suficiente começar com o primeiro passo. Há uma prova disso também, e interpolações geométricas.

2. Tenho um palpite de que deveria haver algo nativo das funções do OpenCL para este processo.

1. 1. ao Mislaid, Mathemat,

Tanto aqui quanto ali é o mesmo em todos os lugares - o mesmo processo que eu mesmo planejei ontem. Subtração consecutiva de projeções vetoriais em órteses anteriores.

São dias como este que me fazem sentir como um clássico.... :-))

--

A propósito, eu já fiz e depurei meu roteiro de teste ontem à noite. Também encontrei um bug no otimizador e o enviei para o Servicedesk. Passei por cima do bug mudando ligeiramente o código. Portanto, tudo funciona. Confiável e rápido, da maneira que eu precisava.

2. Existe realmente um no OpenZL, mas apenas para o caso tridimensional. [A, b; constrói um vetor ortogonal a dois dados ] Preciso dele para dimensão arbitrária.