Metodika cvičeníTeacher notes
Začněte obrazem a ručním pokusem. V první půlhodině neodvozujte vlastní čísla. Studenti nejprve potřebují rozlišit původní body, jejich projekce a ztracené kolmé odchylky.Start with an image and manual experiment. Do not derive eigenvalues in the first half-hour. Students first need to distinguish original points, their projections and lost perpendicular displacements.
RozvrženíSchedule
| 0–15 min | DBSCAN a SVM jako krátké ukázkyDBSCAN and SVM as brief examples |
| 15–35 min | Krokování projekce a ruční rotace osyProjection steps and manual axis rotation |
| 35–45 min | Rekonstrukce a ztracený směrReconstruction and the lost direction |
| 45–60 min | Protipříklady, centrování a měřítkoCounterexamples, centring and scale |
| 60–70 min | Projekce, variance, kovarianceProjection, variance and covariance |
| 70–85 min | PCA skutečných obrázkůPCA on real images |
| 85–90 min | Krátký závěrBrief conclusion |
Číselná vodítkaNumerical guidance
Výchozí syntetický mrak má 480 bodů a seed 42. Jeho maximum je na 35.5427°, s výběrovou variancí 5.879041 a podílem 94.0758 %. Opačná orientace osy je rovnocenná.The default synthetic cloud has 480 points and seed 42. Its maximum is at 35.5427°, with sample variance 5.879041 and retained fraction 94.0758%. Reversing the axis orientation is equivalent.
DBSCAN má ve výchozím nastavení ε = 0,18 a min_samples = 6. Na našich 264 bodech vyjdou 2 shluky a 14 šumových bodů. To jsou výsledky našich dat, nikoli přepis čísel původního videa.Default DBSCAN uses ε = 0.18 and min_samples = 6. Our 264 points yield 2 clusters and 14 noise points. These results belong to our data, not the original reel.
Tři vlastní grafy porovnávají druhý hlavní směr, směr otočený o 45° od PC1 a PC1. Zachovávají přibližně 5,9 %, 50,0 % a 94,1 % rozptylu stejných bodů.Our three plots compare PC2, a direction 45° from PC1, and PC1. They retain approximately 5.9%, 50.0% and 94.1% of the variance of the same points.
Na co dát pozorPoints to watch
- Rozptyl se počítá z centrovaných projekcí s dělitelem n − 1. Průměrná kvadratická chyba rekonstrukce používá n. Tyto dvě normalizace nezaměňujte.Projection variance is centred and divides by n − 1. Mean squared reconstruction error divides by n. Keep the normalizations separate.
- Standardizace klikátka používá výběrovou směrodatnou odchylku. scikit-learn StandardScaler používá pro škálování rozptyl s dělitelem n. Pro společný počet vzorů jde o společný faktor, který nemění směry, ale mění číselné variance.Our standardization uses sample standard deviation. scikit-learn StandardScaler uses a variance denominator of n. With the same sample count this is a common factor: directions stay the same but numerical variances differ.
- Kruhový mrak má záměrnou přesnou úhlovou symetrii. Rovnost vlastních čísel znamená nejednoznačný hlavní směr. U nulového celkového rozptylu nemá podíl zachovaného rozptylu definovanou hodnotu.The circular cloud has deliberate exact angular symmetry. Equal eigenvalues give no unique principal direction. Zero total variance leaves the retained fraction undefined.
- Zvolená osa má vždy jednotkový směr a projekční stupnice se během rotace nemění. Graf tak nemůže uměle zvětšovat rozptyl přiblížením.The direction is always unit length and the projection scale stays fixed during rotation. Zoom cannot artificially increase the displayed spread.
- DBSCAN zahrnuje bod samotný do min_samples. Okrajový bod může být dosažitelný z více shluků a jeho přiřazení může záviset na pořadí. Jednotlivý řetězec okrajových bodů dál neexpanduje.DBSCAN counts the point itself in min_samples. A border point can be reachable from multiple clusters, making its assignment order-dependent. A chain of border points does not propagate expansion.
- Barevné třídy jsou pouze kontrolní informace pro výklad. PCA je při výpočtu nepoužívá. Největší variance není důkazem nejlepší klasifikace.Coloured classes are inspection information only. PCA does not use them. Maximum variance is not proof of best classification.
- U číslic se PCA učí pouze na trénovací části. Zachovaný podíl je z trénovacích vlastních čísel, MSE patří deseti zobrazeným odloženým obrázkům. Celou datovou generalizaci tím nevyhodnocujeme.Digit PCA is fitted on training images only. Retained fraction uses training eigenvalues; MSE describes the ten displayed held-out images. This is not a full generalization assessment.
Hodnocení a navazující práceAssessment and extensions
Orientačně 10 bodů: 2 za ruční měření, 2 za vysvětlení projekce a rekonstrukce, 2 za DBSCAN, 2 za protipříklady a jednotky, 2 za čestné rozlišení variance, MSE a čitelnosti. Důležitější je zdůvodnění než nejvyšší číslo.An optional 10-point rubric: 2 for manual measurements, 2 for projection and reconstruction reasoning, 2 for DBSCAN, 2 for counterexamples and units, and 2 for distinguishing variance, MSE and readability. Reasoning matters more than the highest number.
Rozšíření: PCA před klasifikací v pipeline, výběr počtu složek pouze uvnitř validačního protokolu, metriky zachování vzdáleností, DBSCAN s různými hustotami. U textur dělte podle zdrojových snímků nebo sekvencí.Extensions: PCA before classification in a pipeline, component selection inside validation only, distance-preservation measures, and DBSCAN with varying densities. For textures, split by source image or sequence.
Původ materiálu a zdrojeProvenance and sources
Podnětem jsou tři videa Andrewa Tanga (@ml.swe). Ve výkladu používáme vlastní programy a vlastní syntetické body. Originály zůstávají pouze v odkazech a citacích pod souvisejícími slidy. Nový distribuční balík neobsahuje kopie videí ani převzaté snímky.Three videos by Andrew Tang (@ml.swe) inspired these topics. The explanations use our own programs and synthetic points. Originals appear only as links and citations below the related slides. The new distribution package contains no copied clips or source frames.
- DBSCAN: density and neighbours · Andrew Tang (@ml.swe)
- PCA: projection and variance · Andrew Tang (@ml.swe)
- Feature lifting and a class boundary · Andrew Tang (@ml.swe)
- PCA: method overview
- PCA: component variance and fitting
- DBSCAN: core, border and noise
- SVM kernels
- Preprocessing and leakage
- load_digits: dataset provenance
HTML, CSS a JavaScript jsou editovatelné. Přesná syntetická data jsou v examples/datasets.json. Odkazy a autorství zdrojových videí jsou v assets/sources.json. Starší cvičení zůstává v archive/ml-basics-20261018.HTML, CSS and JavaScript are editable. Exact synthetic points are in examples/datasets.json. Source-video URLs and attribution are recorded in assets/sources.json. The previous lab remains in archive/ml-basics-20261018.
Vlastní vektory v klikátkuEigenvectors in the interactive plot
Přepínač je zpočátku vypnutý. Odkryjte ho až po ručním hledání osy. Modrá šipka a hodnoty u₁, λ₁ patří první složce, fialová dvojice u₂, λ₂ druhé. Oranžová osa je směr zvolený studentem. Její otáčení nemění kovarianční matici ani její vlastní vektory a čísla. Změna dat, jednotek či standardizace je přepočítá.The toggle starts off. Reveal it after students search manually. The blue arrow and values u₁, λ₁ belong to PC1. The purple pair u₂, λ₂ belongs to PC2. The orange axis is the student’s chosen direction. Rotating it does not change the covariance matrix or its eigenvectors and eigenvalues. Changing data, units or standardization recomputes them.
Vypisované vektory mají normu 1. Šipky používají shodnou ilustrační délku pro čitelnost, jejich délky nepředstavují vlastní čísla. Znaménko vlastního vektoru lze obrátit. U kruhového mraku jsou vlastní čísla stejná a zobrazená báze je jen jedna z mnoha rovnocenných voleb.The reported vectors have norm 1. Arrows use the same illustrative display length for readability. Their lengths do not represent the eigenvalues. An eigenvector’s sign may be reversed. The circular cloud has equal eigenvalues, so the displayed basis is only one of many equally valid choices.
Číselně ověřujte Cuᵢ = λᵢuᵢ a u₁ᵀu₂ = 0. Při porovnávání s knihovnou připusťte opačná znaménka a u shodných vlastních čísel i jinou ortonormální bázi.Check Cuᵢ = λᵢuᵢ and u₁ᵀu₂ = 0 numerically. When comparing with a library, allow opposite signs and, for equal eigenvalues, a different orthonormal basis.
Geometrie na slidu 4Geometry on slide 4
Dvě klikátka používají stejných 160 syntetických bodů: 60 ve vnitřní třídě a 100 ve vnějším prstenci, seed 23. V první záložce studenti otáčejí a posouvají přímku. Ve druhé volí střed c = (cₓ, cᵧ), příznak z = (x − cₓ)² + (y − cᵧ)² a výšku h vodorovné roviny. Hranice z = h odpovídá kružnici o poloměru √h ve 2D.Both examples use the same 160 synthetic points: 60 in the inner class and 100 in the outer ring, seed 23. In the first tab, students rotate and shift a line. In the second, they choose centre c = (cₓ, cᵧ), feature z = (x − cₓ)² + (y − cᵧ)² and horizontal plane height h. Boundary z = h corresponds to a circle of radius √h in 2D.
Výchozí střed je (0, 0) a výška 1,44. Na těchto bodech dává kružnice 0 chyb. Posun středu nebo výšky může chyby přidat. Rotace kamery mění pouze ortografický pohled, nikoli příznaky, třídy nebo predikce. Křížky označují aktuální chyby a původní barvy stále označují skutečné třídy.The default centre is (0, 0) and height is 1.44. The circle makes 0 errors on these points. Changing the centre or height can introduce errors. Camera rotation changes only the orthographic view, not features, labels or predictions. Crosses mark current errors. Original point colours still encode true classes.
Ukázka hranice nastavuje ručně. Neřeší optimalizaci SVM, maximální margin ani obecný RBF kernel. Počet chyb na zobrazených bodech není vyhodnocení na nezávislém testu. Odkaz na původní video je v citaci pod slidem. Vzorce jsou zpočátku sbalené.The example sets boundaries manually. It does not solve SVM optimization, maximum margin or a general RBF kernel. Errors on displayed points do not constitute evaluation on an independent test set. The original video is linked in the citation below the slide. Equations start collapsed.
Vysvětlení pojmů pro studentyExplaining terms to students
Pod každým slidem je rozbalovací výklad. Souvislá verze je v odkazu Výklad. U slidu 12 začněte k = 0: všechny rekonstrukce jsou společný trénovací průměr. Pak postupně přidávejte složky. V záložce Co je složka? odlište společný vzor uⱼ, koeficient zⱼ jednoho obrázku a vlastní číslo λⱼ jako rozptyl trénovacích koeficientů.Each slide has an expandable explanation. Guide opens the continuous version. Start slide 12 at k = 0: all reconstructions are the shared training mean. Then add components in order. In What is a component?, distinguish shared pattern uⱼ, score zⱼ for one image, and eigenvalue λⱼ as variance of training scores.
Barevné vzory ukazují kladné a záporné váhy, nikoli třídy. Všechny tři používají společnou barevnou škálu. Zobrazení šedých obrázků mapuje vyšší pixelovou hodnotu na tmavší odstín. Při tvrzení o úspoře paměti oddělte k souřadnic každého obrázku od společného modelu, který obsahuje průměr a naučené směry.Coloured patterns show positive and negative weights, not classes. All three use a shared colour scale. Grayscale image display maps larger pixel values to darker shades. When discussing storage, distinguish k coordinates per image from the shared model containing the mean and learned directions.
Krokované scényStep-by-step scenes
Slide 2 používá stejné DBSCAN parametry i data jako slide 3. Růst ukazuje frontu jádrových bodů prvního shluku. Posuvník počítá zpracovaná jádra, ne body celého datasetu. Krok 3 teprve ukáže celý výsledek. Animace se po opuštění slidu zastaví.Slide 2 uses the same DBSCAN parameters and data as slide 3. Expansion follows the core-point queue of the first cluster. The slider counts processed cores, not every point in the dataset. Step 3 shows the complete result. Animation stops when you leave the slide.
Na slidu 5 přepínejte původní body, kolmou projekci a samostatnou 1D reprezentaci. Posuvník mění směr a skutečný rozptyl. Na slidu 7 zůstává stejné měřítko i data a mění se jen osa. Výpočet používá všech 480 bodů.On slide 5, switch between original points, perpendicular projection and the separate 1D representation. The slider changes direction and actual variance. Slide 7 keeps the same data and scale and changes only the axis. All 480 points enter the calculation.
Volba počtu složekChoosing the component count
Na slidu 13 jsou grafy propojené se stejným k a stejným obrázkem jako v předchozí ukázce. V horním grafu mají zelené sloupce index j ≤ k. Dolní graf používá součet jejich podílů. Změna obrázku ovlivní rekonstrukci a její MSE, nikoli spektrum naučené na tréninku. Tlačítka prahů hledají nejmenší k s podílem alespoň 90 %, 95 % nebo 99 %.Slide 13 links its plots to the same k and selected image as the preceding example. Green bars in the upper plot have index j ≤ k. The lower plot sums their fractions. Changing the image affects reconstruction and its MSE, not the training spectrum. Threshold buttons find the smallest k reaching at least 90%, 95% or 99%.
Průměr a směry jsou společná část modelu, kterou musíme uchovat navíc k souřadnicím obrázku. Menší k samo o sobě neurčuje skutečnou velikost komprimovaného souboru. Pro výběr k v klasifikaci použijte validační protokol. Prohlížení těchto deseti obrázků není konečné testování klasifikátoru.The shared mean and directions must be stored in addition to each image’s coordinates. A smaller k alone does not specify the size of an actual compressed file. Use a validation protocol to select k for classification. Inspecting these ten images is not final classifier testing.