Obsah

Knihovna NumPy

NumPy (zkratka pro *Numerical Python*) je základní knihovna pro vědecké výpočty v jazyce Python. Je to de facto standard pro manipulaci s daty v oblasti datové vědy, strojového učení a AI.

Proč používat NumPy?

Ačkoliv Python nabízí vestavěné seznamy (lists), pro výpočty v AI jsou nevhodné. NumPy přináší:

Základní objekt: ndarray

Srdcem knihovny je objekt ndarray (n-dimensional array). Jde o homogenní pole, což znamená, že všechny prvky musí být stejného datového typu (nejčastěji `float` nebo `int`).

Ukázka vytvoření polí

import numpy as np
 
# Vektor (1D pole)
v = np.array([1, 2, 3])
 
# Matice (2D pole)
m = np.array([[1, 2], [3, 4]])
 
# Tenzor (3D pole - např. 2x2x2)
t = np.zeros((2, 2, 2)) 

Klíčové operace pro AI

Broadcasting (Šíření)

NumPy dokáže pracovat s poli různých tvarů během aritmetických operací. Například přičtení skaláru ke každému prvku matice proběhne automaticky bez cyklů.

Lineární algebra (submodul linalg)

Pro potřeby AI obsahuje NumPy specializovaný modul `numpy.linalg`.

Funkce Význam
`np.dot(a, b)` Skalární součin nebo násobení matic.
`np.transpose(a)` Transpozice matice.
`np.linalg.inv(a)` Výpočet inverzní matice.
`np.linalg.eig(a)` Výpočet vlastních čísel a vektorů.

Praktický příklad: Výpočet v neuronu

V lineární algebře pro AI jsme zmínili aktivaci neuronu jako $z = w \cdot x + b$. V NumPy to vypadá takto:

inputs = np.array([1.0, 2.0, 3.0])
weights = np.array([0.2, 0.8, -0.5])
bias = 2.0
 
# Výpočet jedním příkazem
output = np.dot(inputs, weights) + bias

Integrace v ekosystému

NumPy tvoří základ, na kterém staví téměř všechny ostatní knihovny pro AI:

Tip: Většina metod v AI očekává data ve formátu NumPy polí. Umět efektivně „tvarovat“ pole (pomocí `.reshape()`) je jednou z nejdůležitějších dovedností datového inženýra.

Související témata