Maybaygiare.org

Blog Network

Základní Lineární Algebry pro Hluboké Učení

  • Úvod
  • Matematické Objekty
  • Výpočetní Pravidla
  • Maticové Násobení Vlastnosti
  • Inverze a Transpozice
  • Shrnutí
  • Zdroje

Úvod

Lineární Algebra je kontinuální forma matematiky, a je aplikován po celé vědy a techniky, protože to umožňuje, aby model přírodních jevů a pro výpočet je efektivně. Protože se jedná o formu spojité a ne diskrétní matematiky, mnoho počítačových vědců s ní nemá mnoho zkušeností. Lineární Algebra je také ústředním bodem téměř všech oblastí matematiky, jako je geometrie a Funkční analýza. Jeho koncepty jsou klíčovým předpokladem pro pochopení teorie strojového učení, zejména pokud pracujete s algoritmy hlubokého učení. Než začnete se strojovým učením, nemusíte rozumět lineární algebře, ale v určitém okamžiku možná budete chtít lépe porozumět tomu, jak různé algoritmy strojového učení skutečně fungují pod kapotou.
To vám pomůže lépe se rozhodovat během vývoje systému strojového učení. Takže pokud opravdu chcete být profesionálem v této oblasti, budete muset zvládnout části lineární algebry, které jsou důležité pro strojové učení. V lineární algebře jsou data reprezentována lineárními rovnicemi, které jsou prezentovány ve formě matic a vektorů. Proto se většinou zabýváte maticemi a vektory spíše než skaláry (tyto pojmy se budeme zabývat v následující části). Když máte k dispozici správné knihovny, jako je Numpy, můžete vypočítat složité násobení matice velmi snadno pomocí několika řádků kódu. (Poznámka: tento blogový příspěvek ignoruje pojmy lineární algebry, které nejsou důležité pro strojové učení.)

Matematické Objekty

Skalární

skalární veličina má pouze jedno číslo. Například 24.

vektor

vektor je uspořádané pole čísel a může být v řádku nebo sloupci. Vektor má pouze jeden index, který může ukazovat na určitou hodnotu ve vektoru. Například V2 odkazuje na druhou hodnotu ve vektoru, která je -8 na obrázku výše.

Matrix

Matice je nařízeno 2D pole čísel, a to má dva indexy. První ukazuje na řádek a druhý na sloupec. Například M23 odkazuje na hodnotu ve druhém řádku a třetím sloupci, což je 8 na žlutém obrázku výše. Matice může mít více čísel řádků a sloupců. Všimněte si, že vektor je také matice, ale pouze s jedním řádkem nebo jedním sloupcem.

matice v příkladu ve žluté grafice je také 2-by 3-dimenzionální matice (řádky x sloupce). Níže můžete vidět další příklad Matice spolu s jeho zápis:

Tenzor

Můžete si Tenzor jako pole čísel, uspořádané v pravidelné mřížce, s variabilním počtem os. Tenzor má tři indexy, kde první ukazuje na řádek, druhý na sloupec a třetí na osu. Například T232 ukazuje na druhý řádek, třetí sloupec a druhou osu. To se týká hodnoty 0 v pravém tenzoru na obrázku níže:

Tenzor je nejobecnější termín pro všechny tyto pojmy nad, protože Tenzor je multidimenzionální pole, a to může být Vektor a Matici, v závislosti na počtu indexů má. Například tenzor prvního řádu by byl Vektor (1 index). Tenzor druhého řádu je matice (2 indexy) a tenzory třetího řádu (3 indexy) a vyšší se nazývají tenzory vyššího řádu(3 nebo více indexů).

matice-skalární operace

pokud vynásobíte, rozdělíte, odečtete nebo přidáte skalár do matice, uděláte to s každým prvkem matice. Obrázek níže ilustruje to dokonale pro násobení:

Matice-Vektor Násobení

Násobení Matice do Vektoru může být myšlenka jako násobení každého řádku Matice o sloupec Vektoru. Výstupem bude vektor, který má stejný počet řádků jako matice. Obrázek níže ukazuje, jak to funguje:

Pro lepší pochopení pojmu, budeme jít přes výpočet z druhého obrázku. Získat první hodnota výsledného Vektoru (16), jsme si čísla Vektoru chceme vynásobit Matici (1 a 5), a vynásobte je s čísly z prvního řádku Matice (1 a 3). To vypadá jako toto:

1*1 + 3*5 = 16

Můžeme udělat to samé pro hodnoty v druhém řádku Matice:

4*1 + 0*5 = 4

A znovu pro třetí řádek Matice:

2*1 + 1*5 = 7

Zde je další příklad:

And here is a kind of cheat sheet:

Matrix-Matrix Addition and Subtraction

Matrix-Matrix Addition and Subtraction is fairly easy and straightforward. Požadavek je, aby matice měly stejné rozměry a výsledkem je matice, která má také stejné rozměry. Stačí přidat nebo odečíst každou hodnotu první matice s její odpovídající hodnotou ve druhé matici. Viz níže:

Matrix-Matrix Násobení

Násobení dvou Matic spolu není to těžké, pokud víte, jak na násobení Matice Vektorem Všimněte si, že matice můžete znásobit pouze tehdy, pokud počet sloupců první matice odpovídá počtu řádků druhé matice. Výsledkem bude matice se stejným počtem řádků jako první matice a stejným počtem sloupců jako druhá matice. Funguje to následovně:

jednoduše rozdělíte druhou matici na sloupcové vektory a vynásobíte první matici zvlášť každým z těchto vektorů. Pak dáte výsledky do nové matice (aniž byste je sčítali!). Obrázek níže vysvětluje tento krok za krokem:

And here is again some kind of cheat sheet:

Matrix Multiplication Properties

Matrix Multiplication has several properties that allow us to bundle a lot of computation into one Matrix multiplication. We will discuss them one by one below. Začneme vysvětlením těchto pojmů skaláry a poté maticemi, protože to vám umožní lépe porozumět procesu.

ne komutativní

skalární násobení je komutativní, ale Maticové násobení není. To znamená, že když vynásobíme skaláry, 7 * 3 je stejné jako 3 * 7. Ale když vynásobíme matice navzájem, a * B není stejné jako B*a.

asociativní

skalární a maticové násobení jsou asociativní. To znamená, že Skalární násobení 3(5*3) je stejná jako (3*5)3 a že násobení matic A(B*C) je stejný jako (A*B)C.

Distributivní zákon

Skalární a Maticové Násobení jsou také oba distributivní. To znamená, že
3(5 + 3) je stejné jako 3*5 + 3*3 a že(B+C) je stejný jako A*B + A*C.

jednotková Matice

jednotková Matice je speciální druh Matrice, ale nejprve musíme definovat, co Identity je. Číslo 1 je identita, protože vše, co vynásobíte 1, se rovná sobě samému. Proto každá matice, která je vynásobena maticí Identity, se rovná sobě samému. Například matice A krát její identita-matice se rovná a.

můžete si všimnout matice Identity tím, že má ty podél svých úhlopříček a že každá další hodnota je nula. Je to také „čtvercová matice“, což znamená, že její počet řádků odpovídá počtu sloupců.

Dříve jsme diskutovali, že násobení matic není komutativní, ale je zde jedna výjimka, a to pokud vynásobíme Matice an Identity Matrix. Proto platí následující rovnice: a*I = I*A = a

inverzní a transponovat

matice inverzní a matice transponovat jsou dva speciální druhy vlastností matice. Opět začneme tím, že budeme diskutovat o tom, jak se tyto vlastnosti vztahují k reálným číslům a jak se vztahují k maticím.

inverzní

Za prvé, co je inverzní? Číslo, které je vynásobeno jeho inverzí, se rovná 1. Všimněte si, že každé číslo kromě 0 má inverzní hodnotu. Pokud vynásobíte matici inverzní, výsledkem je její matice Identity. Níže uvedený příklad ukazuje, jak vypadá inverzní skaláry:

Ale ne každá Matice má inverzní. Inverzní matici Můžete vypočítat, pokud se jedná o „čtvercovou matici“ a pokud má inverzní. Diskutovat o tom, které matice mají inverzní charakter, by bylo bohužel mimo rozsah tohoto příspěvku.

proč potřebujeme inverzní? Protože nemůžeme dělit matice. Neexistuje žádný koncept dělení maticí, ale můžeme násobit matici inverzí, což má za následek v podstatě totéž.

níže uvedený obrázek ukazuje matici vynásobenou inverzní, což má za následek matici identity 2 x 2.

můžete snadno vypočítat inverzní Matici (pokud ho má) pomocí Numpy. Zde je odkaz na dokumentaci: https://docs.scipy.org/doc/numpy-1.14.0/reference/generated/numpy.linalg.inv.html.

transponovat

a nakonec budeme diskutovat o matici transponovat vlastnost. Toto je v podstatě zrcadlový obraz matice podél osy 45 stupňů. Je poměrně jednoduché získat transpozici matice. Jeho první sloupec je první řádek Maticové transpozice a druhý sloupec je druhý řádek Maticové transpozice. Matice m * n se transformuje na matici n*m. Také prvek aij je roven prvku Aji(transponovat). Obrázek níže ukazuje, že:

Shrnutí

V tomto příspěvku jste se dozvěděli o matematické objekty z Lineární Algebry, které jsou použity v Strojového Učení. Naučili jste se množit, dělit, sčítat a odečítat tyto matematické objekty. Dále jste se dozvěděli o nejdůležitějších vlastnostech matic a proč nám umožňují provádět efektivnější výpočty. Kromě toho jste se dozvěděli, co jsou inverzní a transponující matice a co s nimi můžete dělat. Ačkoli existují i jiné části lineární algebry používané ve strojovém učení, tento příspěvek vám poskytl správný úvod do nejdůležitějších konceptů.

Zdroje

Hluboké Učení (kniha) — Ian Goodfellow, Joshua Bengio, Aaron Courville

Linear Algebra for Machine Learning

Andrew Ng Strojového Učení kurzu na Coursera

https://en.wikipedia.org/wiki/Linear_algebra

https://www.mathsisfun.com/algebra/scalar-vector-matrix.html

https://www.quantstart.com/articles/scalars-vectors-matrices-and-tensors-linear-algebra-for-deep-learning-part-1

Understanding Scalar and Vector Quantities

Tento příspěvek byl původně publikován na mém blogu (https://machinelearning-blog.com).

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.