[eduexe-intent]course_content[/eduexe-intent]
Uczenie przez wzmacnianie (ang. reinforcement learning) to rodzaj uczenia maszynowego, w którym model uczy się poprzez interakcje ze środowiskiem, wykorzystując system kar i nagród. [eduexe-source]7:6[/eduexe-source]
bot_eduexe
Posts
-
conversation_by_lif -
conversation_by_u5k[eduexe-intent]course_content[/eduexe-intent]
Brak informacji w dostarczonym źródle. -
conversation_by_u5k[eduexe-intent]course_content[/eduexe-intent]
Tak, jeśli zmienimy definicję klasy pozytywnej z "chory" na "zdrowy", wówczas przypadki fałszywie pozytywne (FP) i fałszywie negatywne (FN) zamienią się rolami.W oryginalnym scenariuszu, gdzie "chory" to klasa pozytywna:
- FP to osoba zdrowa, którą model błędnie zaklasyfikował jako chorą.
- FN to osoba chora, którą model błędnie zaklasyfikował jako zdrową.
Jeśli "zdrowy" stanie się klasą pozytywną, a "chory" negatywną:
- Nowe FP (model zaklasyfikował jako zdrową, a faktycznie jest chora) odpowiada oryginalnym FN.
- Nowe FN (model zaklasyfikował jako chorą, a faktycznie jest zdrowa) odpowiada oryginalnym FP.
[eduexe-source]21:2[/eduexe-source]
-
conversation_by_u5k[eduexe-intent]course_content[/eduexe-intent]
Dobór parametrów treningu zależy od konkretnych danych i wymaga eksperymentowania:- Epoki (Epochs): Wybierz wystarczającą liczbę epok, aby model dobrze się nauczył, ale nie za dużo, aby uniknąć przeuczenia, gdzie model zapamiętuje dane treningowe zamiast uczyć się ogólnych wzorców. [eduexe-source]16:3[/eduexe-source][eduexe-source]17:4[/eduexe-source]
- Wielkość wsadu (Batch size): Dostosuj do dostępnych zasobów obliczeniowych. Większy wsad może skrócić liczbę potrzebnych epok, ale wymaga więcej pamięci. Mniejszy wsad jest mniej zasobożerny, ale może wymagać więcej epok. [eduexe-source]16:5[/eduexe-source]
- Współczynnik uczenia (Learning rate): Należy go dobierać eksperymentalnie. Zbyt mały współczynnik znacznie wydłuży trening, natomiast zbyt duży może spowodować, że model "przeskoczy" optymalne rozwiązanie. [eduexe-source]16:7[/eduexe-source]
-
conversation_by_u5k[eduexe-intent]course_content[/eduexe-intent]
W zakładce "Zaawansowane" przy treningu modelu w Google Teachable Machine znajdziesz trzy główne parametry:- Epoki (Epochs): Pojedyncza epoka to przejście modelu przez wszystkie przykłady ze zbioru uczącego. Zazwyczaj potrzeba wielu epok, aby model dobrze się nauczył. [eduexe-source]16:3[/eduexe-source]
- Wielkość wsadu (Batch size): Określa liczbę przykładów, którą model otrzymuje jednocześnie do trenowania w pojedynczej iteracji. Większy wsad wymaga więcej zasobów, ale może skrócić liczbę potrzebnych epok. [eduexe-source]16:5[/eduexe-source]
- Współczynnik uczenia (Learning rate): Definiuje wielkość kroku, o jaki model koryguje wynik w kierunku oczekiwanego. Zbyt mały współczynnik wydłuża trening, zbyt duży może sprawić, że model "przeskoczy" optymalne rozwiązanie. [eduexe-source]16:7[/eduexe-source]
-
conversation_by_r25[eduexe-intent]course_content[/eduexe-intent]
Czułość (recall) mierzy, jaki procent wszystkich rzeczywistych pozytywnych przypadków model jest w stanie wykryć. Jest ona kluczowa, gdy zależy nam na zminimalizowaniu liczby fałszywie negatywnych przypadków, czyli sytuacji, w której model nie wykrywa pozytywnego przypadku, który faktycznie występuje. Przykładem może być diagnostyka choroby, gdzie chcemy wykryć jak najwięcej chorych, nawet jeśli błędnie zaklasyfikujemy kilka zdrowych osób. [eduexe-source]24:1[/eduexe-source][eduexe-source]26:4[/eduexe-source] -
conversation_by_r25[eduexe-intent]course_content[/eduexe-intent]
Dokładność (accuracy) jest definiowana jako stosunek poprawnie zaklasyfikowanych przez model przykładów testowych do wszystkich przykładów testowych. Oznacza to, że ma jedną konkretną metodę wyliczenia: sumę przypadków prawdziwie pozytywnych (TP) i prawdziwie negatywnych (TN) podzieloną przez sumę wszystkich przypadków (TP + FP + FN + TN).W kursie nie ma innych metod na wyliczenie samej dokładności. Istnieją jednak inne metryki, takie jak precyzja, czułość i F-score, które służą do oceny jakości modelu i są używane w sytuacjach, gdy dokładność sama w sobie może być niewystarczająca lub myląca, np. przy nierównej liczebności klas. [eduexe-source]22:1[/eduexe-source][eduexe-source]22:6[/eduexe-source]
-
conversation_by_u5k[eduexe-intent]other[/eduexe-intent]
Automatyzacja tworzenia nowej klasy w przypadkach granicznych wykracza poza standardowe funkcjonalności Google Teachable Machine, które opierają się na ręcznym dodawaniu klas i danych. W bardziej zaawansowanych systemach uczenia maszynowego można to osiągnąć poprzez:- Aktywne uczenie (Active Learning): Model identyfikuje przypadki, co do których jest niepewny, a następnie te przypadki są poddawane ręcznej weryfikacji i potencjalnie etykietowane jako nowa klasa.
- Uczenie nienadzorowane (Clustering): Algorytmy klastrowania mogą automatycznie grupować podobne, nieoznaczone dane, co może wskazywać na potrzebę utworzenia nowej klasy dla tych grup.
- Wykrywanie anomalii (Anomaly Detection): Systemy mogą automatycznie identyfikować dane, które znacząco odbiegają od istniejących klas, i sugerować utworzenie dla nich nowej klasy "anomalii" lub "nieznanych".
-
conversation_by_r25[eduexe-intent]course_content[/eduexe-intent]
Metryki to miary oceny jakości wytrenowanych modeli. Chociaż są one obliczane na podstawie elementów macierzy pomyłek (TP, FP, FN, TN), nie są to tylko zależności między nimi. Macierz pomyłek jest podstawą do ich wyliczenia. Przykładowe metryki to dokładność, precyzja, czułość i F-score, które są funkcjami tych wartości.
[eduexe-source]21:1[/eduexe-source][eduexe-source]21:2[/eduexe-source][eduexe-source]29:1[/eduexe-source] -
conversation_by_u5k[eduexe-intent]course_content[/eduexe-intent]
Aby naprawić model w przypadkach granicznych, możesz zastosować jedną z dwóch metod:- Znaleźć więcej podobnych przypadków granicznych i dodać je do odpowiedniej klasy.
- Utworzyć dodatkową klasę pośrednią (np. "Niejednoznaczne") i umieścić w niej te trudne przypadki, pamiętając, że i tu potrzebujesz więcej przykładów.
[eduexe-source]12:3[/eduexe-source]
-
conversation_by_u5k[eduexe-intent]student_progress[/eduexe-intent]
Wynik "Kot 100%" oznacza, że model jest w 100% przekonany, iż na dodanym zdjęciu testowym znajduje się kot. Ten procent to wskaźnik pewności (confidence score) dla pojedynczej klasyfikacji.Wskaźnik pewności nie jest metryką ewaluacyjną modelu, taką jak dokładność, precyzja czy czułość. Te metryki służą do oceny ogólnej skuteczności modelu na całym zbiorze danych testowych. Google Teachable Machine udostępnia "dokładność z podziałem na klasy" jako metrykę oceny modelu, ale dotyczy ona jego ogólnej skuteczności, a nie pewności co do pojedynczego wyniku. [eduexe-source]8:6[/eduexe-source][eduexe-source]8:7[/eduexe-source][eduexe-source]22:3[/eduexe-source]
-
conversation_by_u5k[eduexe-intent]course_content[/eduexe-intent]
Tak, korzystając z Google Teachable Machine (GTM), można sprawdzić dokładność klasyfikacji. GTM udostępnia dokładność z podziałem na klasy oraz macierz pomyłek, na podstawie której można samodzielnie obliczyć dokładność dla całego modelu, a także inne metryki, takie jak precyzja, czułość czy F-score. [eduexe-source]22:3[/eduexe-source] [eduexe-source]18:2[/eduexe-source] -
conversation_by_r25[eduexe-intent]course_content[/eduexe-intent]
Wykresy funkcji straty oraz dokładności są głównymi, które w kursie sugerują zjawiska takie jak przeuczenie, niedouczenie lub dobre dopasowanie modelu. [eduexe-source]17:2[/eduexe-source][eduexe-source]17:4[/eduexe-source][eduexe-source]17:6[/eduexe-source][eduexe-source]22:3[/eduexe-source]Gdyby linia na takim wykresie była prostą poziomą, mogłoby to sugerować kilka zjawisk:
- Brak uczenia się/Zatrzymanie uczenia: Jeśli linia jest płaska i znajduje się na wysokim poziomie straty (lub niskim poziomie dokładności), oznacza to, że model nie uczy się efektywnie. Może to być spowodowane zbyt niskim współczynnikiem uczenia, który sprawia, że model wykonuje zbyt małe kroki w kierunku optymalizacji. [eduexe-source]16:7[/eduexe-source]
- Konwergencja modelu: Jeśli linia jest płaska i znajduje się na niskim poziomie straty (lub wysokim poziomie dokładności), oznacza to, że model osiągnął stabilny stan i prawdopodobnie nauczył się już wszystkiego, co mógł, czyli osiągnął dobre dopasowanie.
-
conversation_by_r25[eduexe-intent]course_content[/eduexe-intent]
Wielkość wsadu (ang. batch size) to liczba przykładów, jaką model otrzymuje na raz do trenowania w pojedynczej iteracji. Większy wsad wymaga więcej zasobów obliczeniowych na epokę, ale może skrócić liczbę potrzebnych epok do osiągnięcia zadowalających efektów uczenia się. Mniejszy wsad oznacza mniejsze obciążenie pod kątem zasobów (zwłaszcza pamięci), jednak wymaga więcej epok, aby model nauczył się wystarczająco dobrze. [eduexe-source]16:5[/eduexe-source] -
conversation_by_r25[eduexe-intent]course_content[/eduexe-intent]
Pojedyncza epoka (ang. epoch) to przejście modelu w czasie trenowania przez wszystkie przykłady ze zbioru uczącego (treningowego). Zazwyczaj jedna epoka to za mało, aby model nauczył się wystarczająco dobrze. [eduexe-source]16:3[/eduexe-source] -
conversation_by_r25[eduexe-intent]other[/eduexe-intent]
W Google Teachable Machine dane są zawsze automatycznie dzielone na zbiór uczący i zbiór testowy w proporcji 85:15. Nie da się ręcznie zmienić tej proporcji. [eduexe-source]15:7[/eduexe-source] -
conversation_by_r25[eduexe-intent]other[/eduexe-intent]
Nie ma jednej "prawidłowej" wielkości zbioru uczącego, ponieważ zależy ona od wielu czynników, takich jak złożoność problemu, modelu, ilość szumu w danych oraz oczekiwana dokładność. Ogólnie rzecz biorąc, im więcej danych, tym lepiej, zwłaszcza dla złożonych modeli. Kurs podkreśla, że zbiór uczący powinien być znacząco większy od testowego [eduexe-source]15:7[/eduexe-source] i że zbyt mała liczba przykładów dla klasy może prowadzić do jej ignorowania przez model [eduexe-source]14:5[/eduexe-source]. Często stosuje się krzywe uczenia, aby ocenić, czy dodawanie kolejnych danych nadal poprawia wydajność modelu. -
conversation_by_r25[eduexe-intent]course_content[/eduexe-intent]
W dostarczonym kursie nie ma informacji na temat konkretnych technik generowania dodatkowych przykładów z istniejących, takich jak obracanie czy przesuwanie, w przypadku niewystarczającej liczby przykładów dla danej klasy.Kurs sugeruje uzupełnienie klasy o więcej rzeczywistych przykładów [eduexe-source]14:5[/eduexe-source] lub znalezienie podobnych przypadków i dołączenie ich do odpowiedniej klasy. Podkreśla, że musi się ich zebrać "więcej niż kilka, by nasze działanie mogło odnieść skutek" [eduexe-source]12:3[/eduexe-source].
-
conversation_by_r25[eduexe-intent]course_content[/eduexe-intent]
Aby model mógł "mówić nie wiem" lub wykluczać dane spoza klas, możesz zastosować następujące metody:- Dla danych spoza zdefiniowanych klas: Dodaj nową klasę dla przypadków, które nie pasują do istniejących kategorii (np. "nieznane" lub "inne"). W ten sposób model nauczy się je tam przypisywać, zamiast błędnie klasyfikować do istniejących klas. [eduexe-source]11:5[/eduexe-source][eduexe-source]14:4[/eduexe-source]
- Dla przypadków granicznych: Rozważ utworzenie dodatkowej klasy pośredniej (np. "Niejednoznaczne") i umieszczenie w niej trudnych do sklasyfikowania przykładów. Możesz też wzbogacić dane treningowe o więcej przykładów tych przypadków, dodając je do prawidłowych klas. [eduexe-source]11:4[/eduexe-source][eduexe-source]12:3[/eduexe-source][eduexe-source]14:6[/eduexe-source]
-
conversation_by_r25[eduexe-intent]other[/eduexe-intent]
Aby model mógł "mówić nie wiem" lub wykluczać dane spoza klas, możesz:- Dodać nową klasę dla przypadków, które nie pasują do istniejących kategorii (np. "nieznane"). W ten sposób model nauczy się je tam przypisywać zamiast błędnie klasyfikować. [eduexe-source]11:5[/eduexe-source][eduexe-source]14:4[/eduexe-source]
- Dla przypadków granicznych, rozważ utworzenie dodatkowej klasy pośredniej (np. "Niejednoznaczne") lub wzbogacenie danych treningowych o więcej przykładów tych przypadków. [eduexe-source]11:4[/eduexe-source][eduexe-source]14:6[/eduexe-source]