Algebra Lineare di Base con NumPy
L'algebra lineare è un ramo fondamentale della matematica che svolge un ruolo cruciale in diversi campi, tra cui machine learning, deep learning e analisi dei dati.
Vettori e Matrici
Nell'algebra lineare, un vettore è un insieme ordinato di valori. Gli array NumPy 1D possono rappresentare in modo efficiente i vettori. Una matrice è un array bidimensionale di numeri, che può essere rappresentato da un array 2D in NumPy.
Abbiamo già trattato l'addizione e la sottrazione di vettori e matrici, così come la moltiplicazione per uno scalare, nel capitolo "Operazioni matematiche di base". Qui ci concentreremo su altre operazioni.
Trasposizione
La trasposizione è un'operazione che ribalta una matrice lungo la sua diagonale. In altre parole, converte le righe della matrice in colonne e le colonne in righe.
È possibile trasporre una matrice utilizzando l'attributo .T di un array NumPy:
12345import numpy as np matrix = np.array([[1, 2, 3], [4, 5, 6]]) # Transposing a matrix transposed_matrix = matrix.T print(transposed_matrix)
Prodotto scalare
Il prodotto scalare è probabilmente l'operazione di algebra lineare più utilizzata nell'apprendimento automatico e profondo. Il prodotto scalare di due vettori (che devono avere un numero uguale di elementi) è la somma dei loro prodotti elemento per elemento. Il risultato è uno scalare:
Moltiplicazione di Matrici
La moltiplicazione di matrici è definita solo se il numero di colonne della prima matrice è uguale al numero di righe della seconda matrice. La matrice risultante avrà lo stesso numero di righe della prima matrice e lo stesso numero di colonne della seconda matrice.
Come puoi vedere, ogni elemento della matrice risultante è il prodotto scalare di due vettori. Il numero di riga dell'elemento corrisponde al numero del vettore riga nella prima matrice, mentre il numero di colonna corrisponde al numero del vettore colonna nella seconda matrice.
Il numero di colonne nella prima matrice deve essere uguale al numero di righe nella seconda matrice, poiché il prodotto scalare richiede che i due vettori abbiano lo stesso numero di elementi.
Prodotto Scalare e Moltiplicazione di Matrici in NumPy
NumPy fornisce la funzione dot() sia per il prodotto scalare che per la moltiplicazione di matrici. Questa funzione accetta due array come argomenti.
Tuttavia, è possibile utilizzare anche l'operatore @ tra due array per ottenere gli stessi risultati.
12345678910111213import numpy as np vector_1 = np.array([1, 2, 3]) vector_2 = np.array([4, 5, 6]) # Dot product using the dot() function print(np.dot(vector_1, vector_2)) # Dot product using the @ operator print(vector_1 @ vector_2) matrix_1 = np.array([[1, 2, 3], [4, 5, 6]]) matrix_2 = np.array([[7, 10], [8, 11], [9, 12]]) # Matrix multiplication using the dot() function print(np.dot(matrix_1, matrix_2)) # Matrix multiplication using the @ operator print(matrix_1 @ matrix_2)
Se l'argomento destro nella moltiplicazione di matrici è un vettore (array 1D), NumPy lo tratta come una matrice in cui l'ultima dimensione è 1. Ad esempio, quando si moltiplica una matrice 6x4 per un vettore con 4 elementi, il vettore viene considerato come una matrice 4x1.
Se l'argomento sinistro nella moltiplicazione di matrici è un vettore, NumPy lo tratta come una matrice in cui la prima dimensione è 1. Ad esempio, quando si moltiplica un vettore con 4 elementi per una matrice 4x6, il vettore viene trattato come una matrice 1x4.
L'immagine sottostante mostra la struttura degli array exam_scores e coefficients utilizzati nell'esercizio:
Swipe to start coding
Stai lavorando con l'array exam_scores, che contiene i punteggi simulati degli esami di tre studenti (ogni riga rappresenta uno studente) in tre materie (ogni colonna rappresenta una materia).
- Moltiplica i punteggi di ogni materia per il rispettivo coefficiente.
- Somma i punteggi risultanti per ogni studente per calcolare il punteggio finale.
- Calcola il prodotto scalare tra
exam_scoresecoefficients.
Questo ti fornirà i punteggi finali di tutti gli studenti in base al contributo ponderato dei loro risultati nelle materie.
Soluzione
Grazie per i tuoi commenti!
single
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Can you explain the difference between the dot product and matrix multiplication?
How do I know when to use the dot() function versus the @ operator in NumPy?
Can you provide more examples of matrix multiplication with different shapes?
Awesome!
Completion rate improved to 3.7
Algebra Lineare di Base con NumPy
Scorri per mostrare il menu
L'algebra lineare è un ramo fondamentale della matematica che svolge un ruolo cruciale in diversi campi, tra cui machine learning, deep learning e analisi dei dati.
Vettori e Matrici
Nell'algebra lineare, un vettore è un insieme ordinato di valori. Gli array NumPy 1D possono rappresentare in modo efficiente i vettori. Una matrice è un array bidimensionale di numeri, che può essere rappresentato da un array 2D in NumPy.
Abbiamo già trattato l'addizione e la sottrazione di vettori e matrici, così come la moltiplicazione per uno scalare, nel capitolo "Operazioni matematiche di base". Qui ci concentreremo su altre operazioni.
Trasposizione
La trasposizione è un'operazione che ribalta una matrice lungo la sua diagonale. In altre parole, converte le righe della matrice in colonne e le colonne in righe.
È possibile trasporre una matrice utilizzando l'attributo .T di un array NumPy:
12345import numpy as np matrix = np.array([[1, 2, 3], [4, 5, 6]]) # Transposing a matrix transposed_matrix = matrix.T print(transposed_matrix)
Prodotto scalare
Il prodotto scalare è probabilmente l'operazione di algebra lineare più utilizzata nell'apprendimento automatico e profondo. Il prodotto scalare di due vettori (che devono avere un numero uguale di elementi) è la somma dei loro prodotti elemento per elemento. Il risultato è uno scalare:
Moltiplicazione di Matrici
La moltiplicazione di matrici è definita solo se il numero di colonne della prima matrice è uguale al numero di righe della seconda matrice. La matrice risultante avrà lo stesso numero di righe della prima matrice e lo stesso numero di colonne della seconda matrice.
Come puoi vedere, ogni elemento della matrice risultante è il prodotto scalare di due vettori. Il numero di riga dell'elemento corrisponde al numero del vettore riga nella prima matrice, mentre il numero di colonna corrisponde al numero del vettore colonna nella seconda matrice.
Il numero di colonne nella prima matrice deve essere uguale al numero di righe nella seconda matrice, poiché il prodotto scalare richiede che i due vettori abbiano lo stesso numero di elementi.
Prodotto Scalare e Moltiplicazione di Matrici in NumPy
NumPy fornisce la funzione dot() sia per il prodotto scalare che per la moltiplicazione di matrici. Questa funzione accetta due array come argomenti.
Tuttavia, è possibile utilizzare anche l'operatore @ tra due array per ottenere gli stessi risultati.
12345678910111213import numpy as np vector_1 = np.array([1, 2, 3]) vector_2 = np.array([4, 5, 6]) # Dot product using the dot() function print(np.dot(vector_1, vector_2)) # Dot product using the @ operator print(vector_1 @ vector_2) matrix_1 = np.array([[1, 2, 3], [4, 5, 6]]) matrix_2 = np.array([[7, 10], [8, 11], [9, 12]]) # Matrix multiplication using the dot() function print(np.dot(matrix_1, matrix_2)) # Matrix multiplication using the @ operator print(matrix_1 @ matrix_2)
Se l'argomento destro nella moltiplicazione di matrici è un vettore (array 1D), NumPy lo tratta come una matrice in cui l'ultima dimensione è 1. Ad esempio, quando si moltiplica una matrice 6x4 per un vettore con 4 elementi, il vettore viene considerato come una matrice 4x1.
Se l'argomento sinistro nella moltiplicazione di matrici è un vettore, NumPy lo tratta come una matrice in cui la prima dimensione è 1. Ad esempio, quando si moltiplica un vettore con 4 elementi per una matrice 4x6, il vettore viene trattato come una matrice 1x4.
L'immagine sottostante mostra la struttura degli array exam_scores e coefficients utilizzati nell'esercizio:
Swipe to start coding
Stai lavorando con l'array exam_scores, che contiene i punteggi simulati degli esami di tre studenti (ogni riga rappresenta uno studente) in tre materie (ogni colonna rappresenta una materia).
- Moltiplica i punteggi di ogni materia per il rispettivo coefficiente.
- Somma i punteggi risultanti per ogni studente per calcolare il punteggio finale.
- Calcola il prodotto scalare tra
exam_scoresecoefficients.
Questo ti fornirà i punteggi finali di tutti gli studenti in base al contributo ponderato dei loro risultati nelle materie.
Soluzione
Grazie per i tuoi commenti!
single