14 votos

¿Cómo seguir las operaciones de la matriz en pruebas?

Soy un ingeniero de software tratando de aprender álgebra lineal y se siente como que estoy teniendo un duro momento siguiente matriz de cálculos.

Por ejemplo, esta es una parte de la menos el cuadrado de método para el modelo lineal:

$$\sum\limits_{i=1}^n ||\mathbf\theta^T\mathbf x_i-y_i||^2=(\mathbf{X\theta}-\mathbf y)^T(\mathbf{X\theta}-\mathbf y).$$

¿Cómo podemos pasar de la primera línea, donde hay mucho que hacer como Sigma $i=1\to n$, el cuadrado de la norma, $x_i$, $y_i$, etc., a la segunda línea, donde aquellos que se envuelven bien en que la representación de la matriz con la transposición cosa?

Sé que puede llegar a la segunda línea si puedo escribir cuidadosamente hacia abajo, trate de jugar con el hormigón de las matrices, y yo soy muy lento con esto.

¿Hay alguna otra manera a la razón, o visualizar? ¿Cómo matemáticos afrontar este tipo de cosa? O de todos en una especie de lucha con él en privado?

18voto

CodeMonkey1313 Puntos 4754

Esta es una buena pregunta que ya ha respondido usted mismo.

Los matemáticos hacen esto mucho:

escriba cuidadosamente, intente jugar con matrices de concreto

Después de un tiempo (a veces largo), verá cómo funciona. Entonces puedes analizar expresiones similares más rápidamente.

Realmente no hay atajos.

16voto

ColtonCat Puntos 473

Vamos a visualizar.

Tenemos la expresión escalar: $$\boldsymbol\theta^T \mathbf x_i - y_i = \begin{bmatrix}&&\boldsymbol\theta^T&&\end{bmatrix}\begin{bmatrix} \\ \\ \mathbf x_i \\ \\ \\ \end{bmatrix} - y_i \tag 1 $$ La transposición de esta expresión para obtener el mismo escalar: $$(\boldsymbol\theta^T \mathbf x_i - y_i)^T = \mathbf x_i^T \boldsymbol\theta - y_i = \begin{bmatrix} & & \mathbf x_i^T & & \end{bmatrix}\begin{bmatrix}\\\\\boldsymbol\theta\\\\\\\end{bmatrix} - y_i \tag 2 $$ Se extienden en las matrices y los vectores: $$\begin{bmatrix}\\X \boldsymbol\theta - \mathbf y \\\\\end{bmatrix} = \begin{bmatrix} & & \mathbf x_1^T & & \\ &&\vdots\\ & & \mathbf x_n^T & & \\\end{bmatrix} \begin{bmatrix}\\\\\boldsymbol\theta\\\\\\\end{bmatrix} \begin{bmatrix}\\\mathbf y\\\\\end-{bmatrix} \etiqueta 3 $$ La definición de la norma dice: $$\sum |a_i|^2 = \|\mathbf a\|^2 = \mathbf a^T \mathbf a \tag 4$$ Sustituir nuestra expresión en la norma: $$\sum_{i=1}^n |\boldsymbol\theta^T \mathbf x_i - y_i|^2 = \sum_{i=1}^n |(X \boldsymbol\theta \mathbf y)_i|^2 = \|X \boldsymbol\theta \mathbf y\|^2 = (X \boldsymbol\theta \mathbf y)^T (X \boldsymbol\theta \mathbf y) \etiqueta 5$$

7voto

Davide Morgante Puntos 441

El puño de la suma $$\sum_{i=1}^n\|\theta^Tx_i-y_i\|^2$$ is nothing other than the expanded form for the norm squared of some vector (in this case can be regarded as some distance, but I want to simplify things). The norm squared can be expressed as the scalar product of the above mentioned vector with itself. Let me explain: take a vector $\mathbf{v}\in\mathbb{R}^3$ define como $$\mathbf{v} = (x,y,z).$$ Desde el teorema de Pitágoras, sabemos que la longitud al cuadrado de este vector es $$\|\mathbf{v}\|^2 = x^2+y^2+z^2.$$ Matemáticamente hablando, la longitud y la norma son la misma cosa (la norma es más general). Podemos definir la norma de un vector con el producto escalar de esta manera $$\|\mathbf{v}\|^2=\mathbf{v}\cdot \mathbf{v} = \mathbb{v}^T\mathbb{v}= \left(\begin{matrix}x&y&z\end{matrix}\right)\left(\begin{matrix}x\\y\\z\end{matrix}\right) = x^2+y^2+z^2 = \sum_{i=1}^3 x_i^2$$ desde básico de la multiplicación de la matriz y donde he escrito $(x,y,z)=(x_1,x_2,x_3)$.

Volviendo a nuestro ejemplo $$\sum_{i=1}^n\|\theta^Tx_i-y_i\|^2.$$ En este caso, el vector estamos tomando la norma se define como el $i$-ésima componente como $v_i = \theta^Tx_i-y_i$ cual es la diferencia (componente por componente) de dos vectores $\theta\mathbf{x}$$\mathbf{y}$. De modo que el vector se escribe como $$\mathbf{v} = \theta\mathbf{x}-\mathbf{y}.$$ Ahora sabiendo todo lo que he dicho anteriormente, la norma al cuadrado de este vector es $$\mathbf{v}^T \mathbf{v}= (\theta\mathbf{x}-\mathbf{y})^T(\theta\mathbf{x}-\mathbf{y}).$$

4voto

John Coleman Puntos 121

La mayoría de los matemáticos dar el salto desde la primera línea a la segunda línea al instante, no porque no sean inteligentes, sino porque han visto ese tipo de cosas antes. El primer par de veces que encuentro $\|\mathbf{v}\|^2 = \mathbf{v}^T\mathbf{v}$ tienes que jugar a través de él. Más pronto que tarde simplemente los reconoce.

Usted puede, sin duda, pensar en ejemplos similares en su software de fondo. Cuando usted está aprendiendo un nuevo lenguaje de programación que puede parecer misterioso. Usted puede ser que necesite para pasar mucho tiempo en la comprensión de lo que una sola línea de código, de modo que la comprensión de un gran programa en el que el lenguaje parece fuera de alcance. Pero, como usted adquirir fluidez en el idioma de empezar a recoger en común de las expresiones idiomáticas. Más que desconcertante, sobre todos los de la línea de desarrollar una capacidad de estar de pie de nuevo y al instante ver lo que todo un bloque de código. Del mismo modo, los más de matemáticas que hacer más que desarrollar la capacidad de estar de pie atrás y ver el flujo general de una prueba o de cálculo. Nunca se vuelve tan fácil como leer una novela, pero no deja de ser un flujo interminable de nuevos enigmas.

Usted puede también utilizar su habilidad para el programa como un instrumento para ayudarle a asimilar las matemáticas. La igualdad de las dos líneas es un computacional hecho. Usted puede escribir dos funciones, una que hace que la computación en la primera línea, y que se hace la computación en la segunda línea. Compruebe que dan el mismo resultado (hasta el punto flotante de error) para varias entradas. Que no constituyen una prueba, pero podría dar más información sobre lo que está pasando. Para álgebra lineal usando algo como R, que tiene cosas como la transposición y la multiplicación de la matriz construida en el lenguaje mismo sería una buena elección de idioma. Python con numpy es otra buena opción para traducir rápidamente las ideas matemáticas de código.

0voto

Silverfish Puntos 545

"Cómo seguir las operaciones de matriz de pruebas" - tratando de seguir la prueba a través de un pequeño ejemplo concreto se ha sugerido en otros lugares.

Pero una cosa que siempre he encontrado muy útil si la cosa se pone peluda es anotar la prueba por escrito el tamaño de cada matriz o vector debajo de ella.

Por ejemplo, $2 \times 3$ o sólo $n \times m$.

Esto es particularmente útil en los tratamientos de regresión de mínimos cuadrados, donde las diferentes matrices son de diferentes tamaños: por ejemplo, el vector de $y$ datos $n \times 1$, el diseño de la matriz (también conocido como "modelo de la matriz") es $n \times k$, el vector de coeficientes y el vector de coeficiente de estimadores se $k \times 1$, la varianza de la matriz de covarianza de los estimadores es $k \times k$... si usted está tratando de seguir una prueba de, por ejemplo, el de Gauss-Markov teorema, a continuación, mantener un ojo en los tamaños de las matrices y comprobar que están conformes en cada etapa.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X