Z poprzednich części kursu wiemy, że maszyna aby rozwiązać problem wykorzystuje algorytmy. Przy nauce jest dokładnie tak samo. Nie będziemy wypisywać tu żadnych wzorów ani obliczeń, ale przedstawimy sposób uczenia się maszyny.
Algorytm KNS (klasyfikator K najbliższych sąsiadów)
Klasyfikator k najbliższych sąsiadów to jeden z najprostszych algorytmów, który sztuczna inteligencja wykorzystuje do nauki. Wcześniej pisaliśmy, że maszyna ucząc się szuka cech charakterystycznych elementu (np. gdy ogląda zdjęcia koszulek) i je zapamiętuje.
Gdy zobaczy nowy element, szuka najbardziej podobnych wśród tych, które już zna. Potrafi nawet wyświetlić jego etykietę. Przedstawimy to na przykładzie:
Maszyna podczas treningu nauczyła się jak wygląda bluza z długim rękawem i spódnica. Obok tych ubrań są ich cechy charakterystyczne, znalezione przez maszynę, a na diagramie kropki obrazujące ich położenie. Bluza to kropka niebieska, a spódnica to kropka zielona. Komputer widzi po raz pierwszy bluzę z kapturem. Porównuje cechy nowego elementu z tymi, które już zna. Ponieważ bluza z kapturem ma aż 2 elementy wspólne z bluzą z długim rękawem, komputer uznaje, że są to ubrania podobne. Maszyna umieszcza więc na diagramie element „bluza z kapturem” (fioletowa kropka) blisko elementu „bluza”.
Co dla algorytmu KNS znaczy podobieństwo?
Przedstawiliśmy bardzo prostą sytuację, w której w sąsiedztwie nowego elementu najbliżej był element „bluza”. Trochę utrudnimy, by wyjaśnić, czym jest k w k najbliższych sąsiadów. Popatrzmy na poniższy schemat:
Znamy już działanie algorytmu KNS. Spróbujmy zgadnąć, do której klasy zaliczy on fioletową bluzę – do spódnicy, czy do bluzy? Ponieważ wiemy, że algorytm wskaże najbliższego sąsiada, więc bluza z kapturem zostanie umieszczona najbliżej spódnicy. To byłoby całkiem bez sensu, więc tu do akcji wkracza k. K określa się liczbą, czyli ilu sąsiadów nowego elementu trzeba brać pod uwagę. Załóżmy, że w tym przypadku k = 3. W pobliżu naszego nowego elementu (fioletowej kropki) są trzy elementy, dwa niebieskie i jeden zielony. Algorytm sprawdza, czego jest więcej? Oczywiście elementów niebieskich („bluza”), zatem uzna, że bluzę z kapturem należy umieścić blisko elementów „bluza”.
Jak widać podobieństwo może znaczyć coś całkiem innego w różnych przypadkach. Może to być odległość, czyli co jest najbliżej, ale może to być liczba wspólnych cech charakterystycznych, albo sprawdzenie, których elementów jest więcej.
Dlaczego sklep proponuje nam inne artykuły?
Komputery wykorzystują algorytm KNS nie tylko do nauki. Jeśli kiedykolwiek robiliśmy zakupy w sklepie internetowym, to pewnie wiemy, że sklep proponuje też inne przedmioty, którymi możemy być zainteresowani. Oferta oczywiście nie jest przypadkowa. Specjalnie dla nas układa ją także algorytm KNS.
Założenie jest takie, że określone grupy ludzi mają zbliżone do siebie gusta. Sztuczna inteligencja rejestruje nasze zakupy i porównuje je z zakupami innych użytkowników. Jeśli nasze zakupy są podobne do zakupów innych klientów, to zaproponuje nam produkty kupione przez nich.
Wytłumaczymy to także na przykładzie wspomnianego sklepu internetowego. Poniższa tabela prezentuje zakupy czterech klientek naszego sklepu odzieżowego:
klientka | poprzednie zakupy | ostatni zakup | ||
Basia | koszula | koszulka | buty na obcasie | żakiet |
Magda | koszula | spódnica | żakiet | sukienka |
Marta | sukienka | apaszka | buty na obcasie | torebka |
Maja | trampki | bluza z kapturem | koszulka | okulary słoneczne |
W trakcie poprzednich zakupów Basia kupiła koszulę, koszulkę i buty na obcasie. Ostatni jej zakup, żakiet, pokazuje kolumna z prawej strony. Algorytm KNN zakłada, że jeśli inna klientka kupi koszulę, koszulkę i buty na obcasie, to może także kupić żakiet. Tak samo to działa, gdy klientka zakupi to samo co np. Marta – istnieje duża szansa, że jej kolejnym zakupem będzie torebka. Im większe podobieństwo zakupów do konkretnego klienta, tym większa szansa, że w naszych propozycjach pojawi się jego ostatni zakup.
Załóżmy, że teraz w naszym sklepie zakupy robi Sylwia, która kupowała poprzednio sukienkę, spódnicę i buty na obcasie. Co zaproponuje jej sztuczna inteligencja w naszym sklepie?
klientka | poprzednie zakupy | ostatni zakup | ||
Sylwia | sukienka | spódnica | buty na obcasie | ? |
Aby to sprawdzić, porównajmy podobieństwo poprzednich zakupów Sylwii do poprzednich zakupów innych klientek:
Ile takich samych produktów kupiła Sylwia i: | Basia | Magda | Marta | Maja |
1 | 1 | 2 | 0 |
Jak widzimy największe podobieństwo w kupowaniu jest między Sylwią i Martą i wynosi 2. Obie klientki kupiły sukienkę i buty na obcasie. Najmniejsze podobieństwo jest między Sylwią i Mają, gdyż nie kupiły ani jednej, takiej samej rzeczy. Wniosek nasuwa się sam – sztuczna inteligencja zaproponuje Sylwii ostatni zakup Marty, czyli torebkę. Tak działa system rekomendacji na stronach sklepów internetowych, ale i takich platform jak Netflix czy Spotify.