10 odsłon AI - Maszyny wektorów nośnych (SVM - Support Vector Machines) cz. 6 | VOBACOM | Inteligentne rozwiązania dla firm i instytucji

Unia Europejska

Projekty unijne
15-01-2025
Szkolenia

10 odsłon AI - Maszyny wektorów nośnych (SVM - Support Vector Machines) cz. 6

Wyobraź sobie, że jesteś sędzią na konkursie piękności zwierząt i musisz podzielić uczestników na dwie grupy: psy po jednej stronie, koty po drugiej. Problem w tym, że masz ich tysiące, a niektóre wyglądają jak coś pomiędzy (czy to pies z wyjątkowo kocim spojrzeniem?). Tutaj wkracza SVM – superbohater w świecie AI, który zamiast się zastanawiać, rysuje „idealną linię” między tymi grupami, żeby nikt się nie pomylił. SVM nie tylko oddziela psy od kotów, ale robi to z takim stylem, że nawet jamnik z czupryną persa nie przejdzie na złą stronę!


W tej odsłonie naszej serii „10 Odsłon AI” przyjrzymy się czym to SVM jest i jakie ma zastosowanie w kontekście zrozumienia działania AI
 

żarówka

Maszyny wektorów nośnych (SVM – Support Vector Machines)

Maszyny wektorów nośnych (SVM) to metoda, która pomaga komputerom nauczyć się rozdzielać różne grupy danych i podejmować decyzje. Wyobraź sobie, że układasz na stole zdjęcia kotów i psów z tej właśnie wystawy i chcesz narysować linię, która oddziela je na dwie grupy – tak, żeby koty były po jednej stronie, a psy po drugiej. Jest ich tyle, że trudno ci narysować linię. SVM szuka najlepszej możliwej linii (lub w bardziej skomplikowanych przypadkach powierzchni), która rozdziela te grupy w taki sposób, aby była jak najdalej od obu grup, zapewniając największy margines bezpieczeństwa. 


Ktoś mógłby zapytać - a po co taka granica? Taka granica jest potrzebna, aby komputery mogły łatwo i precyzyjnie podejmować decyzje na podstawie danych. Żeby nie traciły czasu i zasobów na każdorazowe analizowanie informacji przynależnych do innej grupy. 
 

Jak działają maszyny wektorów nośnych (SVM):

Żeby wyjaśnić jak działają, pozostańmy przy przykładzie sędziego rozgraniczającego koty od psów. 

1. Podział na kategorie (koty i psy):
Twoim celem jest znalezienie najlepszego sposobu, by rozdzielić te dwie grupy zwierząt.
●    Przyglądasz się cechom każdego zwierzęcia, np. wielkości uszu, długości ogona czy sposobowi poruszania się.
●    Na podstawie tych cech układasz zwierzęta na „mapie” (arenie) w taki sposób, że koty gromadzą się w jednym obszarze, a psy w innym.


2. Znalezienie najlepszej linii (hiperplanu):
Twoim zadaniem jako sędziego jest narysowanie linii na ziemi, która najlepiej rozddzieli te dwie grupy zwierząt. SVM robi to, szukając takiej linii, która:
●    Maksymalizuje odległość między najbliższymi kotami a najbliższymi psami (tzw. margines).
●    Zapewnia, że żadna grupa nie „przeskoczy” na drugą stronę.
Wyobrażenie: To jakbyś narysował linię tak, żeby żaden kot nie wszedł na „teren psów” i odwrotnie, a przestrzeń między nimi była jak największa.


3. Wektory nośne – kluczowe zwierzęta:
Najbliższe zwierzęta po obu stronach linii (najbliższe koty i psy) to tzw. wektory nośne. To one decydują, gdzie dokładnie przebiega linia.
●    Jeśli kot zbliży się do linii, linia może się przesunąć, żeby dalej zapewnić równowagę.
●    Podobnie, jeśli jakiś pies znajdzie się blisko linii, wpłynie to na jej położenie.
Wyobrażenie: To jakbyś obserwował zwierzaki, które są najbliżej linii i to ich ruchy wpływały na decyzję, gdzie dokładnie ją narysować.


4. Działanie w trudniejszych sytuacjach (wyższy wymiar):
Czasem zwierzęta nie są tak łatwo oddzielone prostą linią – np. psy i koty biegają po okręgach, które się nachodzą.
●    SVM „podnosi” problem do wyższego wymiaru. To jakbyś zamiast rysować linię na ziemi, użył przezroczystej ściany (płaszczyzny), która oddzieli zwierzęta w trójwymiarowej przestrzeni.
Wyobrażenie: Wyobraź sobie, że zwierzęta skaczą po arenie w 3D, a ty stawiasz szklaną ścianę, żeby je rozdzielić.

5. Przewidywanie – nowe zwierzę:
Teraz na arenę wchodzi nowe zwierzę i twoim zadaniem jest zdecydować, czy to kot, czy pies.
●    Patrzysz, po której stronie twojej linii (lub ściany w 3D) znajduje się to zwierzę.
●    Jeśli jest po stronie kotów – to kot. Jeśli po stronie psów – to pies.
Wyobrażenie: To jakbyś sprawdzał, w której strefie znajduje się nowy uczestnik wystawy, żeby przypisać go do odpowiedniej grupy.

Przykłady zastosowania maszyn wektorów nośnych (SVM)

1. Rozpoznawanie pisma ręcznego
●    Problem: System musi rozpoznawać cyfry pisane ręcznie (np. na formularzach lub w kodach pocztowych).
●    Jak działa SVM?: SVM analizuje różne cechy każdej cyfry (np. jak wyglądają linie, kąty), a następnie znajduje granicę, która najlepiej oddziela cyfry od siebie. Na przykład, SVM nauczy się oddzielać cyfrę "2" od cyfry "3" i innych.
●    Wyobrażenie: To jakbyś miał różne zdjęcia cyfr, a SVM znajduje linię, która oddziela wszystkie "2" od "3". Teraz, gdy dostaniesz nową cyfrę, SVM pomoże ci przewidzieć, którą cyfrą jest na podstawie jej położenia.


2. Filtrowanie spamu w poczcie
●    Problem: System pocztowy musi zdecydować, czy wiadomość to spam, czy nie.
●    Jak działa SVM?: SVM analizuje różne cechy wiadomości, takie jak słowa kluczowe, nadawcę i linki. Następnie dzieli wiadomości na dwie grupy: spam i nie-spam. Na podstawie tej granicy system decyduje, do której grupy trafi nowa wiadomość.
●    Wyobrażenie: Wyobraź sobie, że SVM szuka najlepszej linii, która oddziela wiadomości spamowe od normalnych. Teraz, gdy dostaniesz nową wiadomość, system sprawdza, po której stronie tej linii znajduje się wiadomość i decyduje, co z nią zrobić.


3. Diagnostyka medyczna
●    Problem: System musi na podstawie wyników badań przewidzieć, czy pacjent ma daną chorobę, czy nie.
●    Jak działa SVM?: SVM analizuje wyniki badań pacjentów (np. poziomy cholesterolu, ciśnienie krwi) i ustala granicę między zdrowymi a chorymi. Na tej podstawie może przewidzieć, czy nowy pacjent jest bardziej podobny do tych zdrowych, czy do tych chorych.
●    Wyobrażenie: Wyobraź sobie, że masz wykres, gdzie po jednej stronie znajdują się wyniki zdrowych pacjentów, a po drugiej strony wyników chorych. SVM rysuje linię, która oddziela te dwie grupy. Teraz, gdy nowy pacjent dostarcza swoje wyniki, system sprawdza, po której stronie linii znajduje się jego wynik i przewiduje, czy jest chory.


4. Rozpoznawanie obrazów
●    Problem: System musi rozpoznać, co znajduje się na obrazku (np. kot, pies, samochód).
●    Jak działa SVM?: SVM analizuje różne cechy obrazów (np. kształty, kolory, kontury) i szuka granicy, która najlepiej oddzieli różne kategorie obrazów (np. koty od psów). Następnie może przewidzieć, co znajduje się na nowym obrazku na podstawie tego, po której stronie granicy znajduje się ten obrazek.
●    Wyobrażenie: Wyobraź sobie, że masz mnóstwo zdjęć kotów i psów. SVM szuka granicy, która oddzieli zdjęcia kotów od psów. Kiedy dostaniesz nowe zdjęcie, SVM pomoże ci powiedzieć, czy to kot, czy pies, na podstawie tego, gdzie znajduje się to zdjęcie względem granicy.


5. Kredyty i ocena ryzyka w bankowości
●    Problem: Bank musi ocenić, czy klient jest wiarygodny i można mu przyznać kredyt.
●    Jak działa SVM?: SVM analizuje dane klientów (np. dochody, historię kredytową) i ustala granicę między tymi, którzy spłacali kredyty na czas, a tymi, którzy mieli problemy. Na tej podstawie może przewidzieć, czy nowy klient prawdopodobnie spłaci kredyt.
●    Wyobrażenie: Wyobraź sobie, że masz wykres z danymi klientów banku. SVM rysuje linię, która oddziela tych, którzy spłacali kredyty, od tych, którzy mieli problemy. Gdy nowy klient ubiega się o kredyt, SVM może przewidzieć, czy będzie wiarygodny, sprawdzając, po której stronie linii znajduje się jego profil.
 

Bez metody maszyn wektorów nośnych (SVM) AI miałaby trudności w:

1.    Klasyfikacji danych w złożonych sytuacjach:
○    AI nie byłaby w stanie skutecznie rozróżniać między różnymi kategoriami danych (np. koty vs psy na zdjęciach, zdrowi pacjenci vs chorzy na podstawie wyników badań).
○    SVM pozwala na precyzyjne podzielenie danych, nawet jeśli są one trudne do rozróżnienia.


2.    Radzeniu sobie z małą ilością danych:
○    SVM działa dobrze w sytuacjach, gdy danych jest niewiele, ale są one dobrze opisane przez cechy (np. mała baza zdjęć kotów i psów). Bez niej AI mogłaby potrzebować ogromnych ilości danych, aby osiągnąć podobną skuteczność.


3.    Podejmowaniu decyzji w warunkach wielowymiarowych:
○    SVM potrafi znaleźć granice w przestrzeniach o wielu wymiarach, np. gdy dane mają dużo cech (kolor, rozmiar, kształt). Bez tej metody AI nie byłaby w stanie efektywnie analizować takich skomplikowanych zbiorów danych.


4.    Rozróżnianiu danych liniowo i nieliniowo separowalnych:
○    SVM radzi sobie nawet wtedy, gdy dane nie mogą być podzielone prostą linią, dzięki funkcjom jądrowym (kernel trick). Bez tej metody AI miałaby trudności w analizie bardziej złożonych wzorców.


5.    Tworzeniu systemów z dużą dokładnością:
○    SVM jest wyjątkowo skuteczne w zadaniach wymagających dużej precyzji, np. w systemach rozpoznawania twarzy, klasyfikacji maili (spam vs niespam) czy diagnozowaniu chorób. Bez niej AI mogłaby popełniać więcej błędów przy rozróżnianiu różnych klas.


W skrócie, bez SVM AI miałaby ograniczoną zdolność do dokładnej klasyfikacji, szczególnie w małych, złożonych zbiorach danych, co wpłynęłoby na jakość jej działania w wielu kluczowych zastosowaniach.


W relacjach ludzkich klasyfikowanie zachowań drugiego człowieka i stawianie granic jest ważne, żeby dobrze funkcjonować. W świecie AI - SVM można porównać właśnie do asertywności i stawiania granic. 


Uwierzycie, że właśnie poznaliście już 6 odsłonę AI? Ogólne rozumienie metod w jaki działa AI jest nam zwykłym zjadaczom chleba potrzebne, aby świadomie korzystać z technologii, znać jej ograniczenia, móc chronić się przed manipulacją wynikającą z nieetycznego wykorzystania wyników pracy narzędzi AI, rozwijać krytyczne myślenie, a przede wszystkim wiedzieć czemu ufać a czemu nie. 


Przed nami zostały już tylko 4 odsłony. Równie ciekawe co poprzednie. Kolejna 7 twarz AI to sieci bayesowskie.