Krzyże cech: przejście między gorącymi wektorami

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ę.