Do tej pory skupialiśmy się na przecinaniu dwóch funkcji zmiennoprzecinkowych. W praktyce modele systemów uczących się rzadko pojawiają się na bieżąco. Modele systemów uczących się często jednak łączą się z innymi wektorami funkcji. Można je traktować jako połączone logicznie spójniki. Załóżmy na przykład, że mamy 2 funkcje: kraj i język. W każdym z nich kodowanie na bieżąco jest generowane wektorami z funkcjami binarnymi, które można interpretować jako country=USA, country=France
lub language=English, language=Spanish
.
Jeśli przeprowadzisz działanie funkcji z kodowaniem jednorazowym, otrzymasz funkcje binarne, które można interpretować jako logiczne spójniki, na przykład:
country:usa AND language:spanish
W tym przykładzie załóżmy, że podajesz binarną i długą długość geograficzną, tworząc osobne 1-piętrowe wektory cech. Na przykład dana szerokość i długość geograficzna mogą być przedstawione w ten sposób:
binned_latitude = [0, 0, 0, 1, 0] binned_longitude = [0, 1, 0, 0, 0]
Załóżmy, że tworzysz przekrój cech tych 2 wektorów:
binned_latitude X binned_longitude
Ta funkcja to 25-elementowy wektor jednogorący (24 zera i 1 jeden).
Pojedynczy element 1
w krzyżu identyfikuje konkretną kombinację szerokości i długości geograficznej. Twój model może się następnie nauczyć konkretnych powiązań z tym połączeniem.
Załóżmy, że wartości szerokości i długości geograficznej są znacznie krótsze:
binned_latitude(lat) = [ 0 < lat <= 10 10 < lat <= 20 20 < lat <= 30 ] binned_longitude(lon) = [ 0 < lon <= 15 15 < lon <= 30 ]
Utworzenie krzyża cechy z tych grubych koszy prowadzi do funkcji syntetycznej, która ma następujące znaczenie:
binned_latitude_X_longitude(lat, lon) = [ 0 < lat <= 10 AND 0 < lon <= 15 0 < lat <= 10 AND 15 < lon <= 30 10 < lat <= 20 AND 0 < lon <= 15 10 < lat <= 20 AND 15 < lon <= 30 20 < lat <= 30 AND 0 < lon <= 15 20 < lat <= 30 AND 15 < lon <= 30 ]
Nasz model musi przewidzieć, jak właściciele psów będą zadowoleni z psów, na podstawie 2 funkcji:
- Typ zachowania (szczekanie, płacz, przytulanie się itp.)
- pora dnia,
Jeśli stworzymy funkcję z obu tych funkcji:
[behavior type X time of day]
wówczas funkcje będą działać znacznie lepiej niż same funkcje. Jeśli na przykład o 17:00 płacze (i szczęśliwie) gdy właściciel wróci z pracy, to prawdopodobnie będzie to właściwy szacunek dla zadowolenia właściciela. Płacz (może nawet) o 3:00 w sytuacji, gdy właściciel spał spokojnie, będzie prawdopodobnie mocno przewidywał satysfakcję właściciela.
Liniowi uczniowie dobrze radzą sobie z okazałymi danymi. Stosowanie wielu różnych zbiorów danych to jedna ze skutecznych metod nauki bardzo złożonych modeli. Sieci neuronowe zapewniają jeszcze jedną strategię.