Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Peruslineaarialgebra NumPy kanssa | Matematiikka NumPy:n Kanssa
Lopullinen NumPy

Pyyhkäise näyttääksesi valikon

book
Peruslineaarialgebra NumPy kanssa

Lineaarialgebra on matematiikan perusala, joka on keskeisessä roolissa monilla aloilla, kuten koneoppimisessa, syväoppimisessa ja data-analyysissä.

Vektorit ja Matriisit

Lineaarialgebrassa vektori on järjestetty joukko arvoja. 1D NumPy-taulukot voivat tehokkaasti edustaa vektoreita. Matriisi on kaksiulotteinen lukutaulukko, joka voidaan esittää 2D-taulukkona NumPyssa.

Olemme jo käsitelleet vektorin ja matriisin yhteen- ja vähennyslaskua sekä skalaarikertolaskua "Perusmatemaattiset operaatiot" -luvussa. Tässä keskitymme muihin operaatioihin.

Transponointi

Transponointi on operaatio, joka kääntää matriisin sen diagonaalin yli. Toisin sanoen, se muuntaa matriisin rivit sarakkeiksi ja sarakkeet riveiksi.

Voit transponoida matriisin käyttämällä NumPy-taulukon .T-attribuuttia:

12345
import numpy as np matrix = np.array([[1, 2, 3], [4, 5, 6]]) # Transposing a matrix transposed_matrix = matrix.T print(transposed_matrix)
copy

Pistetulo

Pistetulo on ehkä yleisimmin käytetty lineaarialgebran operaatio kone- ja syväoppimisessa. Kahden vektorin (joilla on oltava yhtä monta alkiota) pistetulo on niiden alkiokohtaisten tulojen summa. Tuloksena on skalaariluku:

Matriisien kertolasku

Matriisien kertolasku on määritelty vain, jos ensimmäisen matriisin sarakkeiden lukumäärä on yhtä suuri kuin toisen matriisin rivien lukumäärä. Tuloksena oleva matriisi sisältää yhtä monta riviä kuin ensimmäinen matriisi ja yhtä monta saraketta kuin toinen matriisi.

Kuten näet, jokainen tuloksena olevan matriisin elementti on kahden vektorin pistetulo. Elementin rivinumero vastaa ensimmäisen matriisin rivivektorin numeroa, ja sarakenumero vastaa toisen matriisin sarakevektorin numeroa.

Ensimmäisen matriisin sarakkeiden lukumäärän on oltava sama kuin toisen matriisin rivien lukumäärä, koska pistetulo vaatii, että kahdella vektorilla on sama määrä elementtejä.

Pistetulo ja matriisikertolasku NumPy:ssä

NumPy tarjoaa dot()-funktion sekä pistetulolle että matriisikertolaskulle. Tämä funktio ottaa kaksi taulukkoa argumentteinaan.

Voit kuitenkin myös käyttää @ operaattoria kahden taulukon välillä saavuttaaksesi samat tulokset.

12345678910111213
import 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)
copy

Jos matriisikertolaskun oikea argumentti on vektori (1D-taulukko), NumPy käsittelee sitä matriisina, jossa viimeinen ulottuvuus on 1. Esimerkiksi, kun kerrotaan 6x4 matriisi vektorilla, jossa on 4 elementtiä, vektoria pidetään 4x1 matriisina.

Jos matriisikertolaskun vasen argumentti on vektori, NumPy käsittelee sitä matriisina, jossa ensimmäinen ulottuvuus on 1. Esimerkiksi, kun kerrotaan vektori, jossa on 4 elementtiä, 4x6 matriisilla, vektoria käsitellään 1x4 matriisina.

Alla oleva kuva näyttää tehtävässä käytettyjen exam_scores ja coefficients taulukoiden rakenteen:

Tehtävä

Swipe to start coding

Työskentelet exam_scores-taulukon kanssa, joka sisältää kolmen opiskelijan simuloidut koetulokset (jokainen rivi edustaa opiskelijaa) kolmessa aineessa (jokainen sarake edustaa ainetta).

  1. Kerro jokaisen aineen koetulokset vastaavalla kertoimella.

  2. Lisää saadut tulokset jokaiselle opiskelijalle laskeaksesi heidän lopullisen pistemääränsä.

  3. Laske pistetulo exam_scores ja coefficients välillä.

Tämä antaa sinulle lopulliset pisteet kaikille opiskelijoille heidän ainepisteidensä painotettujen osuuksien perusteella.

Ratkaisu

Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 4
Pahoittelemme, että jotain meni pieleen. Mitä tapahtui?

Kysy tekoälyä

expand
ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

book
Peruslineaarialgebra NumPy kanssa

Lineaarialgebra on matematiikan perusala, joka on keskeisessä roolissa monilla aloilla, kuten koneoppimisessa, syväoppimisessa ja data-analyysissä.

Vektorit ja Matriisit

Lineaarialgebrassa vektori on järjestetty joukko arvoja. 1D NumPy-taulukot voivat tehokkaasti edustaa vektoreita. Matriisi on kaksiulotteinen lukutaulukko, joka voidaan esittää 2D-taulukkona NumPyssa.

Olemme jo käsitelleet vektorin ja matriisin yhteen- ja vähennyslaskua sekä skalaarikertolaskua "Perusmatemaattiset operaatiot" -luvussa. Tässä keskitymme muihin operaatioihin.

Transponointi

Transponointi on operaatio, joka kääntää matriisin sen diagonaalin yli. Toisin sanoen, se muuntaa matriisin rivit sarakkeiksi ja sarakkeet riveiksi.

Voit transponoida matriisin käyttämällä NumPy-taulukon .T-attribuuttia:

12345
import numpy as np matrix = np.array([[1, 2, 3], [4, 5, 6]]) # Transposing a matrix transposed_matrix = matrix.T print(transposed_matrix)
copy

Pistetulo

Pistetulo on ehkä yleisimmin käytetty lineaarialgebran operaatio kone- ja syväoppimisessa. Kahden vektorin (joilla on oltava yhtä monta alkiota) pistetulo on niiden alkiokohtaisten tulojen summa. Tuloksena on skalaariluku:

Matriisien kertolasku

Matriisien kertolasku on määritelty vain, jos ensimmäisen matriisin sarakkeiden lukumäärä on yhtä suuri kuin toisen matriisin rivien lukumäärä. Tuloksena oleva matriisi sisältää yhtä monta riviä kuin ensimmäinen matriisi ja yhtä monta saraketta kuin toinen matriisi.

Kuten näet, jokainen tuloksena olevan matriisin elementti on kahden vektorin pistetulo. Elementin rivinumero vastaa ensimmäisen matriisin rivivektorin numeroa, ja sarakenumero vastaa toisen matriisin sarakevektorin numeroa.

Ensimmäisen matriisin sarakkeiden lukumäärän on oltava sama kuin toisen matriisin rivien lukumäärä, koska pistetulo vaatii, että kahdella vektorilla on sama määrä elementtejä.

Pistetulo ja matriisikertolasku NumPy:ssä

NumPy tarjoaa dot()-funktion sekä pistetulolle että matriisikertolaskulle. Tämä funktio ottaa kaksi taulukkoa argumentteinaan.

Voit kuitenkin myös käyttää @ operaattoria kahden taulukon välillä saavuttaaksesi samat tulokset.

12345678910111213
import 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)
copy

Jos matriisikertolaskun oikea argumentti on vektori (1D-taulukko), NumPy käsittelee sitä matriisina, jossa viimeinen ulottuvuus on 1. Esimerkiksi, kun kerrotaan 6x4 matriisi vektorilla, jossa on 4 elementtiä, vektoria pidetään 4x1 matriisina.

Jos matriisikertolaskun vasen argumentti on vektori, NumPy käsittelee sitä matriisina, jossa ensimmäinen ulottuvuus on 1. Esimerkiksi, kun kerrotaan vektori, jossa on 4 elementtiä, 4x6 matriisilla, vektoria käsitellään 1x4 matriisina.

Alla oleva kuva näyttää tehtävässä käytettyjen exam_scores ja coefficients taulukoiden rakenteen:

Tehtävä

Swipe to start coding

Työskentelet exam_scores-taulukon kanssa, joka sisältää kolmen opiskelijan simuloidut koetulokset (jokainen rivi edustaa opiskelijaa) kolmessa aineessa (jokainen sarake edustaa ainetta).

  1. Kerro jokaisen aineen koetulokset vastaavalla kertoimella.

  2. Lisää saadut tulokset jokaiselle opiskelijalle laskeaksesi heidän lopullisen pistemääränsä.

  3. Laske pistetulo exam_scores ja coefficients välillä.

Tämä antaa sinulle lopulliset pisteet kaikille opiskelijoille heidän ainepisteidensä painotettujen osuuksien perusteella.

Ratkaisu

Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 4
Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Pahoittelemme, että jotain meni pieleen. Mitä tapahtui?
some-alt