conversation_by_lxl
-
Czy jest jakiś sposób, aby stworzyć model z kategorią "inne" do której model by zaliczał wszystkie rzeczy których nie zna. Czyli np jak mamy model do rozpoznywania liczb, a przeslemy mu litere to da ją do zakategoryzuje ja jako "inne"
[eduexe-intent]other[/eduexe-intent]
Tak, jest to możliwe i jest to często stosowane podejście w uczeniu maszynowym. Aby model mógł klasyfikować coś jako "inne", musi zostać wytrenowany na przykładach tego, co ma zaliczać do tej kategorii.W praktyce oznacza to, że należałoby stworzyć dodatkową klasę o nazwie np. "Inne" lub "Nieznane" i dostarczyć modelowi różnorodne przykłady danych, które nie pasują do żadnej z głównych kategorii, ale które model powinien rozpoznać jako "niezgodne" z jego podstawowym zestawem klas. Na przykład, dla modelu rozpoznającego cyfry, do klasy "Inne" można by dodać zdjęcia liter, symboli czy innych obiektów.
Kurs porusza podobne zagadnienia w kontekście "danych spoza klas" oraz "przypadków granicznych", gdzie model nie potrafi sobie poradzić z danymi, których nie widział lub które są niejednoznaczne. Sugeruje się tam dodawanie nowych klas dla konkretnych, wcześniej nieznanych typów danych. [eduexe-source]11:5[/eduexe-source][eduexe-source]14:4[/eduexe-source] Możesz więc rozszerzyć tę koncepcję na bardziej ogólną klasę "Inne", trenując model na szerokiej gamie "nieznanych" przykładów.
-
Mialem na mysli, zeby model sam rozpoznywal ze nie wiedzial podobnych obiektow. Innymi slowy czy jest mozliwe aby dodać opcję, aby model mógł powiedzieć "nie wiem", kiedy widzi samochód po raz pierwszy na oczy a był trenowany żeby rozpoznywać zwierzęta.
-
Mialem na mysli, zeby model sam rozpoznywal ze nie wiedzial podobnych obiektow. Innymi slowy czy jest mozliwe aby dodać opcję, aby model mógł powiedzieć "nie wiem", kiedy widzi samochód po raz pierwszy na oczy a był trenowany żeby rozpoznywać zwierzęta.
[eduexe-intent]other[/eduexe-intent]
Rozumiem, że masz na myśli zdolność modelu do rozpoznawania, że dany obiekt jest całkowicie nowy i nie pasuje do żadnej z klas, na których był trenowany, bez wcześniejszego uczenia się na przykładach "innych" obiektów.Standardowe modele klasyfikacyjne, w tym te, które tworzymy w Google Teachable Machine, są tzw. modelami "zamkniętego zbioru" (closed-set). Oznacza to, że zawsze próbują przypisać dany obiekt do jednej z klas, na których zostały wytrenowane, nawet jeśli ten obiekt jest zupełnie nowy. Dlatego samochód, którego model nie widział, zostanie zaklasyfikowany jako "pies" lub "kot" z pewnym prawdopodobieństwem, bo model nie ma pojęcia o kategorii "samochód" ani o możliwości "nie wiem". [eduexe-source]11:5[/eduexe-source]
Aby model mógł w pewnym sensie powiedzieć "nie wiem", potrzebne są bardziej zaawansowane techniki, takie jak:
- Ustalenie progu pewności: Jeśli najwyższa pewność klasyfikacji dla którejkolwiek ze znanych klas jest poniżej ustalonego progu, model może zgłosić "nieznane".
- Detekcja nowości/anomalii: Model uczy się, co jest "normalne" dla jego znanych klas, a wszystko, co znacząco odbiega od tego wzorca, jest traktowane jako nowość lub anomalia.
Są to obszary badawcze w uczeniu maszynowym (np. "open-set recognition"), które wykraczają poza podstawowy zakres naszego kursu.
-
Co zawiera model_BT.tm?
-
Co zawiera model_BT.tm?
[eduexe-intent]course_content[/eduexe-intent]
Brak informacji w dostarczonym źródle. -
Czy w danym batch'u dane sa jakos grupowane czy wybierane (np po rowno z kazdej klasy)? Czy sa przesylane tak jak leci?
-
Czy w danym batch'u dane sa jakos grupowane czy wybierane (np po rowno z kazdej klasy)? Czy sa przesylane tak jak leci?
[eduexe-intent]other[/eduexe-intent]
W kursie jest mowa o wielkości wsadu (batch size) jako o liczbie przykładów, które model otrzymuje na raz do trenowania w pojedynczej iteracji [eduexe-source]16:5[/eduexe-source]. Nie ma natomiast szczegółowych informacji, czy dane w danym wsadu są grupowane lub wybierane po równo z każdej klasy.Ogólnie w uczeniu maszynowym, dane w zbiorze treningowym są zazwyczaj tasowane (mieszane) na początku każdej epoki, a następnie dzielone na wsady. Oznacza to, że pojedynczy wsad zawiera losową mieszankę przykładów z różnych klas, a nie jest specjalnie grupowany ani równo rozkładany pod względem klas, chyba że zastosowano specjalne techniki samplingu.
-
Jaką wartości przyjmuję funkcja straty i czy da się ją głębiej interpretować niż "im bliższa zeru tym lepsza"?
-
Jaką wartości przyjmuję funkcja straty i czy da się ją głębiej interpretować niż "im bliższa zeru tym lepsza"?
[eduexe-intent]course_content[/eduexe-intent]
Funkcja straty (loss function) przyjmuje wartość 0 dla idealnego modelu, który nigdy się nie myli. Jest to różnica między prawidłową odpowiedzią a odpowiedzią zwróconą przez model, a celem trenowania jest jej minimalizowanie.Interpretacja funkcji straty może być głębsza niż tylko dążenie do zera. Obserwacja, jak zmienia się wartość funkcji straty dla zbioru uczącego i zbioru testowego w kolejnych epokach, pozwala zdiagnozować:
- Przeuczenie (overfitting): Gdy strata dla zbioru uczącego maleje, ale dla zbioru testowego przestaje maleć lub zaczyna rosnąć.
- Niedouczenie (underfitting): Gdy model jest zbyt prosty, a wartości straty są wysokie zarówno dla zbioru uczącego, jak i testowego. [eduexe-source]17:2[/eduexe-source][eduexe-source]17:4[/eduexe-source][eduexe-source]17:6[/eduexe-source]
-
Mialem na myslicz czy liczba ta reprezentuje coś konkretnego jak np procent poprawnych odpowiedzi, badz ilosc.
-
Mialem na myslicz czy liczba ta reprezentuje coś konkretnego jak np procent poprawnych odpowiedzi, badz ilosc.
[eduexe-intent]student_progress[/eduexe-intent]
Funkcja straty (loss function) nie reprezentuje bezpośrednio procentu poprawnych odpowiedzi ani liczby błędów. Jest to miara "różnicy" lub "błędu" między przewidywaną odpowiedzią modelu a prawidłową odpowiedzią, którą model stara się minimalizować podczas trenowania. [eduexe-source]17:2[/eduexe-source] Im niższa wartość funkcji straty, tym lepiej, ale jej wartość nie jest wprost interpretable jako procent poprawnych klasyfikacji.Procent poprawnych odpowiedzi (lub poprawnie zaklasyfikowanych przykładów) to metryka nazywana dokładnością (accuracy). [eduexe-source]22:1[/eduexe-source]
-
Podane statystyki są dla modelu z dwoma kategoriami. Jak to wyglada gdy mamy ich np 3?
-
Podane statystyki są dla modelu z dwoma kategoriami. Jak to wyglada gdy mamy ich np 3?
[eduexe-intent]course_content[/eduexe-intent]
Gdy model ma trzy kategorie, macierz pomyłek (confusion matrix), która jest podstawą do obliczania statystyk, byłaby odpowiednio większa – jej rozmiar wynosiłby 3x3. Każda komórka tej macierzy wskazywałaby, ile przykładów z danej rzeczywistej klasy zostało zaklasyfikowanych do każdej z przewidywanych klas. Metryki takie jak dokładność, precyzja czy czułość są wtedy często obliczane dla każdej klasy indywidualnie (np. „precyzja dla klasy A”, „czułość dla klasy B”). [eduexe-source]18:2[/eduexe-source][eduexe-source]22:3[/eduexe-source] -
A co z nazwami "False Negative" itp?
-
A co z nazwami "False Negative" itp?
[eduexe-intent]course_content[/eduexe-intent]
Nazwy "False Negative" (FN), "False Positive" (FP), "True Negative" (TN) i "True Positive" (TP) odnoszą się do czterech możliwych wyników klasyfikacji w macierzy pomyłek, zazwyczaj dla problemów binarnych (dwóch klas). Są to:- True Positive (TP): Przypadki faktycznie pozytywne, które model poprawnie sklasyfikował jako pozytywne (np. osoba chora poprawnie zdiagnozowana jako chora).
- True Negative (TN): Przypadki faktycznie negatywne, które model poprawnie sklasyfikował jako negatywne (np. osoba zdrowa poprawnie zdiagnozowana jako zdrowa).
- False Positive (FP): Przypadki faktycznie negatywne, które model błędnie sklasyfikował jako pozytywne (np. osoba zdrowa błędnie zdiagnozowana jako chora).
- False Negative (FN): Przypadki faktycznie pozytywne, które model błędnie sklasyfikował jako negatywne (np. osoba chora błędnie zdiagnozowana jako zdrowa).
Te cztery wartości są podstawą do obliczania wszystkich metryk oceny modelu. [eduexe-source]21:2[/eduexe-source]
-
A jak to wyglada gdy problem nie jest binarny? Jak wtedy nazywamy poszczegolne elementy w macierzy pomylek?
-
A jak to wyglada gdy problem nie jest binarny? Jak wtedy nazywamy poszczegolne elementy w macierzy pomylek?
[eduexe-intent]course_content[/eduexe-intent]
W problemach klasyfikacji niebinarnej (wieloklasowej), nazwy "True Positive", "False Negative" itp. nie są stosowane bezpośrednio do każdej komórki macierzy pomyłek w taki sam sposób, jak w przypadku klasyfikacji binarnej [eduexe-source]21:2[/eduexe-source].Zamiast tego, macierz pomyłek rozszerza się (np. do rozmiaru 3x3 dla trzech klas), a każda jej komórka wskazuje, ile przykładów z danej rzeczywistej klasy zostało zaklasyfikowanych do przewidywanej klasy [eduexe-source]18:2[/eduexe-source][eduexe-source]21:2[/eduexe-source]. Na przykład, komórka może reprezentować "liczbę przypadków z klasy A, które zostały zaklasyfikowane jako klasa B". Metryki takie jak precyzja czy czułość są często obliczane dla każdej klasy indywidualnie [eduexe-source]21:2[/eduexe-source].
-
Załóżmy, że mamy model, którego celem jest odróżnianie psów od kotów. Dla zbioru testowego, model ocenił 20 psów jako psy, 5 psów jako koty, 15 kotów jako koty i 10 kotów jako psy. Ile procent wynosi dokładność tego modelu?
-
Załóżmy, że mamy model, którego celem jest odróżnianie psów od kotów. Dla zbioru testowego, model ocenił 20 psów jako psy, 5 psów jako koty, 15 kotów jako koty i 10 kotów jako psy. Ile procent wynosi dokładność tego modelu?
[eduexe-intent]other[/eduexe-intent]
Aby obliczyć dokładność (accuracy) modelu, sumujemy liczbę poprawnie zaklasyfikowanych przypadków i dzielimy ją przez całkowitą liczbę wszystkich przypadków w zbiorze testowym.W Twoim przypadku:
-
Psy poprawnie sklasyfikowane jako psy: 20
-
Koty poprawnie sklasyfikowane jako koty: 15
-
Całkowita liczba poprawnych klasyfikacji: 20 + 15 = 35
-
Psy błędnie sklasyfikowane jako koty: 5
-
Koty błędnie sklasyfikowane jako psy: 10
-
Całkowita liczba błędnych klasyfikacji: 5 + 10 = 15
-
Całkowita liczba przypadków w zbiorze testowym: 35 (poprawnie) + 15 (błędnie) = 50
Dokładność = (Liczba poprawnych klasyfikacji) / (Całkowita liczba przypadków) = 35 / 50 = 0.7
Wartość dokładności tego modelu wynosi 70%.
[eduexe-source]22:1[/eduexe-source][eduexe-source]22:3[/eduexe-source]
-
-
Jaki jest wzór na średnią harmoniczną?