Od czasów aktualizacji do Pandy i Pingwina, społeczność SEO coraz więcej mówi o uczeniu maszynowym często termin ten nie jest jednak dobrze rozumiany. Wiemy jedynie, że jest to swojego rodzaju magiczna praktyka stojąca za sposobem działania Pandy i Pingiwna, na czym jednak tak naprawdę polega? Dlaczego technologia ta nie znalazła zastosowania wcześniej? Co uczenie się maszyn ma wspólnego z okresowym odświeżaniem danych zauważalnym w przypadku obu tych algorytmjów?
Osobiście uważam, że uczenie maszynowe będzie odgrywało coraz ważniejszą rolę w świecie pozycjonowania warto więc zdobyć chociaż podstawową wiedzę na jego temat. Właśnie dlatego przygotowałem podzielony na dwie części artykuł, którego lekturę polecam Wam przed świętami 😉
UWAGA: Nie jestem oczywiście ekspertem jeżeli chodzi o uczenie się maszyn. Po drugie celowo upraszczam wiele aspektów i przez pewne zagadnienia jedynie delikatnie się prześlizguję ? według mnie nie są one ważne do przedstawienia podstaw całego zagadnienia. Celem tego tekstu na pewno nie jest przedstawienie wam pełnego i szczegółowego obrazu uczenia się maszyn. Zamiast tego chcę, abyście zrozumieli w jaki sposób odnosi się ono do pozycjonowania, Google i całego świata SEO. Oczywiście jak zwykle Gigant z Mountain View nie zdradza swoich zamiarów ? postarałem się zebrać jednak w jednym miejscu poszlaki, którymi wymieniają się członkowie społeczności pozycjonerskiej!
Zacznijmy od… arbuza!
Uczenie maszynowe można zastosować w momencie, gdy mamy do czynienia z problemem, w przypadku którego brak dokładnej odpowiedzi (przykładowo nie ma dobrej lub złej odpowiedzi) i/lub nie istnieje sposób rozwiązania, który można dokładnie i jasno opisać.
Przykładem, w którym uczenie maszynowe jest niepotrzebne będzie na przykład program komputerowy, którego zadaniem jest zliczanie wyrazów w dokumencie, dodanie do siebie liczb lub podliczenie ilości linków na danej podstronie. Tutaj wszystko jest proste i jasne.
Kiedy mamy jednak do czynienia z optycznym rozpoznawaniem znaków, ustaleniem czy wiadomość mailowa jest spamem lub rozpoznaniem twarzy na zdjęciu wtedy uczenie maszynowe okazuje się niezbędne. W każdym z tych przypadków jest praktycznie niemożliwe dla człowieka wyekspnowanie zestawu zasad jasno określających zasady działania tego typu programów. Co więcej w wielu przypadkach nie da się określić jednej, prawidłowej odpowiedzi. Dla jednego użytkownika konkretny mail może być spamem dla innego natomiast biuletynem informacyjnym.
Przykład, którym mam się zamiar posłużyć jest trochę oryginalny ? sięgnę po… arbuzy. Arbuz przestaje dojrzewać kiedy zostanie zerwany. Należy je zbierać więc w momencie kiedy są idealnie dojrzały. Każdy kto ma doświadczenie w hodowli arbuzów po samym tylko dotyku, wielkości albo kolorze będzie w stanie stwierdzić czy są niedojrzałe czy też nadają się do zerwania. Co więcej dokonać można tego przy bardzo wysokim poziomie skuteczności. Jeżeli jednak spytałbyś się arbuzowego eksperta, aby przygotował listę z wypisanymi zasadami niezbędnymi do określenia czy dany owoc nadaje się już do zjedzenia czy jeszcze nie najprawdopodobniej nie podołałby zadań ? zagadnienie to nie posiada zestawu jasnych i prostych odpowiedzi. Musisz jednocześnie zauważyć, że nie ma tutaj odpowiedzi ani dobrych ani złych ? pośród hodowców będą występowały bowiem różnice ewaluacyjne.
Wyobraź więc sobie, że podobny problem pojawia się w momencie kiedy chcemy określić czy dana strona to treści spamerskie lub wartościowy content. Niemożliwe staje się zebranie listy zasad, które będą sprawdzały się w każdym przypadku.
Elektryczni rolnicy
Nie oznacza to oczywiście, że nie jest niemożliwym nauczenie komputera rozpoznawania dojrzałych arbuzów. Potrzebny jest po prostu sposób, który jest bardziej podobny do tego, w jaki ludzi zdobywają umiejętności tego typu. Nauka poprzez doświadczenie ? to właśnie w tym momencie do gry wchodzi uczenie maszynowe.
Nadzorowana nauka
Możemy skonfigurować sprzęt komputerowy (istnieje szereg metod, szczegóły nie są nam jednak potrzebne w tym momencie ? najczęściej spotkasz się jednak z nazwą sieci neuronowe). w taki sposób, że możemy karmić go informacji o kolejnych melonach (wielkość, twardość, kolor, kształt, itp.) jednocześnie informując go czy konkretny arbuz jest dojrzały czy też nie. Taka baza danych jest naszym zestawem treningowym i w zależności od złożoności zagadnienia jego wielkość będzie naprawdę różna.
Po czasie komputer zacznie konstruować model, na podstawie którego sam ustala, które atrybuty arbuza wpływają na to, że można uznać go za dojrzały lub za nienadający się do zerwania. Nauczanie maszynowe świetnie radzi sobie nawet w sytuacjach, kiedy interakcje tego typu są stosunkowo skomplikowane (na przykład twardość dojrzałych arbuzów może zmieniać się w zależności od temperatury otoczenia oraz jego koloru). Każdy arbuz znajdujący się w paczce treningowej może być analizowany wiele razy. Nawet po długim okresie czasu można do niego powrócić, kiedy maszyna nauczy się czegoś nowego i ponownie go przeanalizować wyciągając jeszcze więcej informacji.
Jeżeli mamy pewność, że komputer wie o co chodzi wtedy możemy przeprowadzić kolejny test i zaprezentować mu arbuzy z innego zestawu, z którym, nie miał wcześniej do czynienia ? nie podajemy jednak informacji czy są dojrzałe czy też nie. W tym momencie komputer próbuje wykorzystać wiedzę, którą zdobył i określić czy dany owoc nadaje się do spożycia. Po ilości dobrze zidentyfikowanych arbuzów wiemy jak następuje proces nauki i postępy maszyny. Jeżeli efekty nie są zadowalające wtedy konieczne będzie poszerzenie zestawu treningowego albo poprawa algorytmu.
Tego typu podejście nazywane jest uczeniem nadzorowanym gdzie dostarczamy algorytmowi niezbędne informacje, z których korzysta, aby rozwiązywać stawiane przed nim problemy. Istnieje oczywiście wiele metod alternatywnych jednak nauka nadzorowana obecnie przynosi najlepsze efekty i to właśnie na niej bazuje Google.
Należy zwrócić uwagę na fakt, że nawet po perfekcyjnym wyszkoleniu maszyny w celu identyfikacji dojrzałych arbuzów, komputer nie będzie w stanie stworzyć zestawu zasad pozwalających zawsze dokładnie określić czy arbuz nadaje się do jedzenia.
Część II publikowana będzie już jutro. Do usłyszenia 🙂