Operácie

Cvičenie základov strojového učenia: Rozdiel medzi revíziami

Zo stránky SensorWiki

Balogh (diskusia | príspevky)
dBez shrnutí editace
Balogh (diskusia | príspevky)
Riadok 53: Riadok 53:
== Návod: ml-machine pre Micro:bit s matematickou vizualizáciou ==
== Návod: ml-machine pre Micro:bit s matematickou vizualizáciou ==


'''ml-machine''' je nástroj vytvorený pre študentov, ktorý umožňuje trénovať jednoduché modely strojového učenia (Machine Learning) a nasadiť ich priamo na mikrokontrolér BBC micro:bit. Táto verzia na '''math.ml-machine.org''' navyše vizualizuje matematické princípy trénovania.
'''ml-machine''' je nástroj vytvorený pre študentov, ktorý umožňuje trénovať jednoduché modely strojového učenia (Machine Learning) a nasadiť ich priamo na mikrokontrolér BBC micro:bit. Táto verzia na '''math.ml-machine.org''' navyše vizualizuje matematické princípy trénovania, čo je ideálne pre hlbšie pochopenie pre pokročilejších študentov.


=== 🎯 Krok 1: Príprava a Spustenie Projektu ===
=== 🎯 Krok 1: Príprava a Spustenie Projektu ===
Riadok 60: Riadok 60:
# V ľavej časti obrazovky sa nachádza sekcia '''Model Setup''' (Nastavenie modelu).
# V ľavej časti obrazovky sa nachádza sekcia '''Model Setup''' (Nastavenie modelu).
# '''Input (Vstup):''' Vyberte typ vstupu, ktorý bude micro:bit posielať. Pre jednoduché projekty zvyčajne zvolíte:
# '''Input (Vstup):''' Vyberte typ vstupu, ktorý bude micro:bit posielať. Pre jednoduché projekty zvyčajne zvolíte:
#* '''Accelerometer''' (Akcelerometer) pre rozpoznávanie pohybu.
#* '''Accelerometer''' (Akcelerometer) pre rozpoznávanie pohybu (napr. pre rozpoznávanie mávania, poklepania).
#* Alebo '''Digital/Analog Pin''' (Digitálny/Analógový pin) pre externé senzory.
#* Alebo '''Digital/Analog Pin''' (Digitálny/Analógový pin) pre externé senzory (napr. svetelný senzor, snímač teploty).
# '''Output (Výstup):''' Zvoľte typ výstupu, napr. '''LED Matrix''' (LED Matica) alebo '''Serial''' (Sériový výstup).
# '''Output (Výstup):''' Zvoľte typ výstupu, napr. '''LED Matrix''' (LED Matica) pre zobrazenie ikony alebo '''Serial''' (Sériový výstup) pre odosielanie dát do počítača.
# '''Classes (Triedy):''' Nastavte počet tried, ktoré chcete rozpoznať (napr. 2 alebo 3). Premenujte ich (napr. '''Mávanie''', '''Kľud''', '''Otočenie''').
# '''Classes (Triedy):''' Nastavte počet tried, ktoré chcete rozpoznať (napr. 2 alebo 3). Premenujte ich na jasné popisy (napr. '''Mávanie''', '''Kľud''', '''Otočenie''').


=== 📈 Krok 2: Zber Dát (Data Collection) ===
=== 📈 Krok 2: Zber Dát (Data Collection) ===
''Pre správne trénovanie je kľúčový kvalitný zber dát.''
''Pre správne trénovanie je kľúčový kvalitný zber dát – čím viac rôznorodých a presných dát pre každú triedu, tým lepší model.''


# V sekcii '''Data Collection''' zvoľte, ako budete dáta zbierať (cez '''micro:bit''' alebo '''simulátor''').
# V sekcii '''Data Collection''' zvoľte, ako budete dáta zbierať (cez '''micro:bit''' alebo '''simulátor''').
# Ak používate micro:bit, pripojte ho k počítaču a spárujte.
# Ak používate micro:bit, pripojte ho k počítaču a spárujte. Uistite sa, že máte na micro:bite nahraný firmvér, ktorý mu umožňuje komunikovať s ml-machine (zvyčajne ho ponúkne na stiahnutie samotný nástroj).
# Pre každú vytvorenú triedu:
# Pre každú vytvorenú triedu:
#* Kliknite na príslušné tlačidlo triedy (napr. '''Mávanie''').
#* Kliknite na príslušné tlačidlo triedy (napr. '''Mávanie''').
#* Spustite akciu (napr. začnite micro:bitom mávať).
#* Spustite akciu (napr. začnite micro:bitom mávať, držte ho v kľude, alebo ho otočte).
#* Zbierajte '''dostatočné množstvo vzoriek''' (ideálne 50+ pre každú triedu).
#* Zbierajte '''dostatočné množstvo vzoriek''' (ideálne 50+ pre každú triedu). Snažte sa dáta zbierať v rôznych podmienkach, ktoré zodpovedajú reálnemu použitiu.


=== 🧠 Krok 3: Trénovanie Modelu a Vizualizácia ===
=== 🧠 Krok 3: Trénovanie Modelu a Vizualizácia ===
''Táto verzia ponúka vizuálny pohľad na to, ako sa model učí.''
''Táto verzia ml-machine je výnimočná v tom, že ponúka vizuálny pohľad na to, ako sa model učí a ako "vidí" vaše dáta. Je to kľúčové pre pochopenie matematického pozadia.''


# Prejdite do sekcie '''Training''' (Trénovanie).
# Prejdite do sekcie '''Training''' (Trénovanie).
# '''Výber Algoritmu:''' Pre micro:bit sa najčastejšie používa jednoduchý algoritmus ako '''K-Nearest Neighbors (k-NN)''' alebo '''Support Vector Machine (SVM)'''. Zvoľte si jeden.
# '''Výber Algoritmu:''' Pre micro:bit sa najčastejšie používajú jednoduché a efektívne algoritmy ako '''K-Nearest Neighbors (k-NN)''' alebo '''Support Vector Machine (SVM)'''. Zvoľte si jeden.
# '''Parametre (Pre pokročilých):''' Experimentujte s parametrami algoritmu (napr. hodnota ''K'' pre k-NN). Sledujte, ako zmena parametrov ovplyvňuje výsledky.
# '''Parametre (Pre pokročilých):''' Experimentujte s parametrami algoritmu (napr. hodnota ''K'' pre k-NN alebo ''Kernel'' pre SVM). Sledujte, ako zmena parametrov ovplyvňuje výsledky vizualizácie.
# '''Štart trénovania:''' Kliknite na tlačidlo '''Train Model'''.
# '''Štart trénovania:''' Kliknite na tlačidlo '''Train Model'''.
# '''Matematická Vizualizácia:''' V pravej časti okna sledujte, ako nástroj vykresľuje trénovacie dáta a vytvára '''rozhodovacie hranice''' (Decision Boundaries) – vizuálnu reprezentáciu toho, ako model rozdeľuje triedy v dátovom priestore. To pomáha študentom pochopiť matematický základ.
# '''Matematická Vizualizácia - Rozhodovacie Hranice:'''
#* V pravej časti okna sa zobrazí '''dátový graf''', kde sú vaše zozbierané dáta pre každú triedu znázornené ako farebné body.
#* Po trénovaní uvidíte '''rozhodovacie hranice''' (Decision Boundaries) – sú to čiary alebo plochy, ktoré vizuálne rozdeľujú dátový priestor. Každá oblasť ohraničená týmito hranicami reprezentuje jednu triedu.
#* '''Príklad:''' Ak trénujete rozpoznávanie ''"Mávanie"'' a ''"Kľud"'', môžete vidieť, ako sa dáta pre ''Mávanie'' (napr. červené body) zhlukujú na jednej strane hranice a dáta pre ''Kľud'' (napr. modré body) na druhej.
#* Vizualizácia ukazuje, ako model "myslí" a ako bude klasifikovať nové, neznáme dáta – ak nový dátový bod spadne do červenej oblasti, bude klasifikovaný ako ''Mávanie''.
#
# Príklad vizualizácie rozhodovacích hraníc (predstavte si tento obrázok tu):
# [[File:ml-machine_decision_boundaries_example.png|thumb|center|500px|Príklad vizualizácie dátových bodov a rozhodovacích hraníc v ml-machine. Rôzne farby reprezentujú rôzne triedy a čiary sú hranice, ktoré model použije na klasifikáciu nových dát.]]
#
# Sledujte, ako sa menia tieto hranice, keď pridáte viac dát alebo zmeníte algoritmus/parametre.


=== 🧪 Krok 4: Testovanie a Nasadenie ===
=== 🧪 Krok 4: Testovanie a Nasadenie ===


# '''Testovanie (Test Model):''' Otestujte model s novými, neznámymi dátami priamo z micro:bitu. Ak sú výsledky presné (vysoká predikcia), model je pripravený.
# '''Testovanie (Test Model):''' Otestujte model s novými, neznámymi dátami priamo z micro:bitu. Ak sú výsledky presné (vysoká predikcia pre správnu triedu), model je pripravený. Ak nie, vráťte sa ku Krok 2 (viac dát) alebo Krok 3 (úprava algoritmu/parametrov).
# '''Nasadenie na micro:bit (Export):''' Prejdite do sekcie '''Export'''.
# '''Nasadenie na micro:bit (Export):''' Prejdite do sekcie '''Export'''.
#* Vyberte možnosť '''Download .hex file''' (Stiahnuť .hex súbor).
#* Vyberte možnosť '''Download .hex file''' (Stiahnuť .hex súbor).
#* Nástroj vygeneruje a stiahne súbor s natrénovaným modelom.
#* Nástroj vygeneruje a stiahne súbor s natrénovaným modelom.
#* Tento '''HEX súbor''' presuňte priamo na disk micro:bitu (presne tak, ako by ste nahrávali kód z MakeCode).
#* Tento '''HEX súbor''' presuňte priamo na disk micro:bitu (presne tak, ako by ste nahrávali kód z MakeCode).
#* Model je teraz natrvalo v micro:bite a dokáže vykonávať predikcie autonómne.
#* Model je teraz natrvalo v micro:bite a dokáže vykonávať predikcie autonómne bez pripojenia k počítaču.


----
----
'''⚡️ Pre Pokročilých Študentov:'''
'''⚡️ Pre Pokročilých Študentov:'''
Skúste porovnať presnosť a rozhodovacie hranice pri použití rôznych algoritmov (napr. k-NN vs. SVM) a rôzneho nastavenia parametrov. Tým pochopíte, prečo je výber algoritmu kľúčový.
Skúste porovnať presnosť a vizualizácie rozhodovacích hraníc pri použití rôznych algoritmov (napr. k-NN vs. SVM) a rôzneho nastavenia parametrov. Tým pochopíte, prečo je výber algoritmu a optimalizácia parametrov kľúčová pre úspešné strojové učenie.

Verzia z 20:40, 27. november 2025

Návod: Jednoduché rozpoznávanie obrázkov s Teachable Machine

Teachable Machine je bezplatný webový nástroj od spoločnosti Google, ktorý umožňuje trénovať jednoduché modely strojového učenia (napr. rozpoznávanie obrázkov) bez potreby programovania. Je ideálny pre rýchle študentské projekty.

🎯 Krok 1: Začnite Projekt

  1. Otvorte nástroj vo svojom prehliadači: Teachable Machine
  2. Kliknite na tlačidlo Začíname (Get Started).
  3. Vyberte typ projektu Projekt rozpoznávania obrázkov (Image Project).
  4. Zvoľte Štandardná klasifikácia obrázkov (Standard image model).

🖼️ Krok 2: Vytvorte a Naplňte Triedy (Kategórie)

Triedy sú kategórie, ktoré sa bude model učiť rozpoznávať (napr. "Jablko", "Banán").

  1. Premenovanie Tried: V sekcii s triedami (Class 1, Class 2, atď.):
    • Kliknite na názov triedy (napr. Class 1) a premenujte ju na názov vášho prvého objektu (napr. Jablko).
    • Postup zopakujte pre ďalšie triedy (napr. Banán, Stôl - pre pozadie/prázdne miesto).
  2. Pridanie Tréningových Dát: Pre každú triedu musíte nahrať vzorky.
    • Kliknite na tlačidlo Nahrať (Upload) pod názvom triedy.
    • Nahrajte aspoň 20-30 obrázkov pre každý objekt/triedu. Fotky by mali zachytávať objekt z rôznych uhlov a s rôznym osvetlením, aby bol model robustný.

🧠 Krok 3: Trénujte Model

Trénovanie učí model priradiť vzory k správnej triede.

  1. V strednej sekcii kliknite na tlačidlo Trénovať model (Train Model).
  2. Počkajte: Proces trvá od niekoľkých sekúnd do minút. Počas trénovania nezavrite okno prehliadača.
  3. Po dokončení sa zobrazí správa "Model Trained!" (Model trénovaný!).

🧪 Krok 4: Testujte Model

V pravej sekcii môžete model ihneď otestovať.

  1. Použite Webkamera (Webcam) alebo Súbor (File) na ukázanie nového obrázku alebo živého vstupu z kamery.
  2. Sledujte výsledky: V sekcii Output sa zobrazí, ktorú triedu model rozpoznáva a s akou Istotou (Confidence).
    • Ak model rozpozná objekt s vysokou istotou (blízko 100%), trénovanie bolo úspešné.

📤 Krok 5: Exportujte Model (Voliteľné)

Ak chcete model použiť v inej webovej aplikácii (napr. vo Scratchi, P5.js alebo na vlastnej stránke):

  1. Kliknite na tlačidlo Exportovať Model (Export Model).
  2. Zvoľte požadovaný formát (napr. TensorFlow.js pre web).
  3. Kliknite na Nahrať môj model (Upload my model) a skopírujte poskytnutý webový odkaz, ktorý môžete použiť vo svojom projekte.

💡 Dôležitý Tip: Nezabudnite vždy trénovať aj triedu pre prázdne pozadie (napr. "Stôl" alebo "Nič"), aby model nepriraďoval vaše objekty k náhodným záberom, keď tam nič nie je. ```

Chceli by ste k tomuto návodu pridať aj obrázky alebo odkazy na konkrétne kurzy na wiki?



Návod: ml-machine pre Micro:bit s matematickou vizualizáciou

ml-machine je nástroj vytvorený pre študentov, ktorý umožňuje trénovať jednoduché modely strojového učenia (Machine Learning) a nasadiť ich priamo na mikrokontrolér BBC micro:bit. Táto verzia na math.ml-machine.org navyše vizualizuje matematické princípy trénovania, čo je ideálne pre hlbšie pochopenie pre pokročilejších študentov.

🎯 Krok 1: Príprava a Spustenie Projektu

  1. Otvorte nástroj v prehliadači: math.ml-machine.org
  2. V ľavej časti obrazovky sa nachádza sekcia Model Setup (Nastavenie modelu).
  3. Input (Vstup): Vyberte typ vstupu, ktorý bude micro:bit posielať. Pre jednoduché projekty zvyčajne zvolíte:
    • Accelerometer (Akcelerometer) pre rozpoznávanie pohybu (napr. pre rozpoznávanie mávania, poklepania).
    • Alebo Digital/Analog Pin (Digitálny/Analógový pin) pre externé senzory (napr. svetelný senzor, snímač teploty).
  4. Output (Výstup): Zvoľte typ výstupu, napr. LED Matrix (LED Matica) pre zobrazenie ikony alebo Serial (Sériový výstup) pre odosielanie dát do počítača.
  5. Classes (Triedy): Nastavte počet tried, ktoré chcete rozpoznať (napr. 2 alebo 3). Premenujte ich na jasné popisy (napr. Mávanie, Kľud, Otočenie).

📈 Krok 2: Zber Dát (Data Collection)

Pre správne trénovanie je kľúčový kvalitný zber dát – čím viac rôznorodých a presných dát pre každú triedu, tým lepší model.

  1. V sekcii Data Collection zvoľte, ako budete dáta zbierať (cez micro:bit alebo simulátor).
  2. Ak používate micro:bit, pripojte ho k počítaču a spárujte. Uistite sa, že máte na micro:bite nahraný firmvér, ktorý mu umožňuje komunikovať s ml-machine (zvyčajne ho ponúkne na stiahnutie samotný nástroj).
  3. Pre každú vytvorenú triedu:
    • Kliknite na príslušné tlačidlo triedy (napr. Mávanie).
    • Spustite akciu (napr. začnite micro:bitom mávať, držte ho v kľude, alebo ho otočte).
    • Zbierajte dostatočné množstvo vzoriek (ideálne 50+ pre každú triedu). Snažte sa dáta zbierať v rôznych podmienkach, ktoré zodpovedajú reálnemu použitiu.

🧠 Krok 3: Trénovanie Modelu a Vizualizácia

Táto verzia ml-machine je výnimočná v tom, že ponúka vizuálny pohľad na to, ako sa model učí a ako "vidí" vaše dáta. Je to kľúčové pre pochopenie matematického pozadia.

  1. Prejdite do sekcie Training (Trénovanie).
  2. Výber Algoritmu: Pre micro:bit sa najčastejšie používajú jednoduché a efektívne algoritmy ako K-Nearest Neighbors (k-NN) alebo Support Vector Machine (SVM). Zvoľte si jeden.
  3. Parametre (Pre pokročilých): Experimentujte s parametrami algoritmu (napr. hodnota K pre k-NN alebo Kernel pre SVM). Sledujte, ako zmena parametrov ovplyvňuje výsledky vizualizácie.
  4. Štart trénovania: Kliknite na tlačidlo Train Model.
  5. Matematická Vizualizácia - Rozhodovacie Hranice:
    • V pravej časti okna sa zobrazí dátový graf, kde sú vaše zozbierané dáta pre každú triedu znázornené ako farebné body.
    • Po trénovaní uvidíte rozhodovacie hranice (Decision Boundaries) – sú to čiary alebo plochy, ktoré vizuálne rozdeľujú dátový priestor. Každá oblasť ohraničená týmito hranicami reprezentuje jednu triedu.
    • Príklad: Ak trénujete rozpoznávanie "Mávanie" a "Kľud", môžete vidieť, ako sa dáta pre Mávanie (napr. červené body) zhlukujú na jednej strane hranice a dáta pre Kľud (napr. modré body) na druhej.
    • Vizualizácia ukazuje, ako model "myslí" a ako bude klasifikovať nové, neznáme dáta – ak nový dátový bod spadne do červenej oblasti, bude klasifikovaný ako Mávanie.
  6. Príklad vizualizácie rozhodovacích hraníc (predstavte si tento obrázok tu):
  7. Súbor:Ml-machine decision boundaries example.png
    Príklad vizualizácie dátových bodov a rozhodovacích hraníc v ml-machine. Rôzne farby reprezentujú rôzne triedy a čiary sú hranice, ktoré model použije na klasifikáciu nových dát.
  8. Sledujte, ako sa menia tieto hranice, keď pridáte viac dát alebo zmeníte algoritmus/parametre.

🧪 Krok 4: Testovanie a Nasadenie

  1. Testovanie (Test Model): Otestujte model s novými, neznámymi dátami priamo z micro:bitu. Ak sú výsledky presné (vysoká predikcia pre správnu triedu), model je pripravený. Ak nie, vráťte sa ku Krok 2 (viac dát) alebo Krok 3 (úprava algoritmu/parametrov).
  2. Nasadenie na micro:bit (Export): Prejdite do sekcie Export.
    • Vyberte možnosť Download .hex file (Stiahnuť .hex súbor).
    • Nástroj vygeneruje a stiahne súbor s natrénovaným modelom.
    • Tento HEX súbor presuňte priamo na disk micro:bitu (presne tak, ako by ste nahrávali kód z MakeCode).
    • Model je teraz natrvalo v micro:bite a dokáže vykonávať predikcie autonómne bez pripojenia k počítaču.

⚡️ Pre Pokročilých Študentov: Skúste porovnať presnosť a vizualizácie rozhodovacích hraníc pri použití rôznych algoritmov (napr. k-NN vs. SVM) a rôzneho nastavenia parametrov. Tým pochopíte, prečo je výber algoritmu a optimalizácia parametrov kľúčová pre úspešné strojové učenie.