1 00:00:17,602 --> 00:00:19,239 Witam, nazywam się Christian Rudder. 2 00:00:19,239 --> 00:00:21,875 Jestem jednym z założycieli OK Cupid. 3 00:00:21,875 --> 00:00:24,502 To jeden z największych portali randkowych w USA. 4 00:00:24,502 --> 00:00:25,749 Jak niemal każdy z założycieli, 5 00:00:25,749 --> 00:00:27,296 skończyłem matematykę, 6 00:00:27,296 --> 00:00:28,644 dlatego nasz portal stosuje metodę analityczną 7 00:00:28,644 --> 00:00:29,887 wobec miłości. 8 00:00:29,887 --> 00:00:31,717 Nazywamy to algorytmem dopasowania. 9 00:00:31,717 --> 00:00:33,428 Ten algorytm pomaga nam stwierdzić, 10 00:00:33,428 --> 00:00:36,481 czy dwoje ludzi powinno umówić się na randkę. 11 00:00:36,481 --> 00:00:38,765 Na tej zasadzie zbudowaliśmy cały biznes. 12 00:00:38,765 --> 00:00:40,572 Algorytm to takie wyszukane słowo, 13 00:00:40,572 --> 00:00:43,047 a ludzie lubią czuć, że robią coś wielkiego 14 00:00:43,047 --> 00:00:45,148 ale tak naprawdę, algorytm to po prostu 15 00:00:45,148 --> 00:00:47,817 metoda rozwiązywania problemów krok po kroku. 16 00:00:47,817 --> 00:00:49,949 To wcale nie jest takie niezwykłe. 17 00:00:49,949 --> 00:00:51,802 W tej lekcji pokażę, 18 00:00:51,802 --> 00:00:53,657 jak doszliśmy do naszego algorytmu, 19 00:00:53,657 --> 00:00:55,660 żebyś rozumiał, jak to robimy. 20 00:00:55,660 --> 00:00:57,576 Właściwie dlaczego te algorytmy są ważne? 21 00:00:57,576 --> 00:00:59,045 Po co ta cała lekcja? 22 00:00:59,045 --> 00:01:02,457 Jak wcześniej powiedziałem, 23 00:01:02,457 --> 00:01:05,029 to metoda rozwiązywania problemów krok po kroku 24 00:01:05,029 --> 00:01:05,841 a jak wiesz, 25 00:01:05,841 --> 00:01:08,470 komputery są w tym świetne. 26 00:01:08,470 --> 00:01:09,588 Komputer bez algorytmu 27 00:01:09,588 --> 00:01:12,933 to tylko droga kupa złomu. 28 00:01:12,933 --> 00:01:15,430 A ponieważ komputery są wszechobecne 29 00:01:15,430 --> 00:01:17,223 algorytmy są wszędzie. 30 00:01:18,515 --> 00:01:20,267 Matematyka do algorytmu w portalu OK Cupid 31 00:01:20,267 --> 00:01:21,811 jest bardzo prosta. 32 00:01:21,811 --> 00:01:22,629 Trochę dodawania, 33 00:01:22,629 --> 00:01:23,687 mnożenia, 34 00:01:23,687 --> 00:01:25,340 i pierwiastków. 35 00:01:25,340 --> 00:01:27,611 Cały trick polega na tym, 36 00:01:27,611 --> 00:01:30,235 żeby umieć przerobić coś zagadkowego, 37 00:01:30,235 --> 00:01:31,212 czyli lubienie innych ludzi, 38 00:01:31,212 --> 00:01:33,810 na kroki, które komputer może wykonać. 39 00:01:33,810 --> 00:01:36,360 Najpierw potrzebujemy od ludzi danych, 40 00:01:36,360 --> 00:01:38,382 bo użyjemy ich do naszego algorytmu. 41 00:01:38,382 --> 00:01:40,412 Najprościej jest zwyczajnie 42 00:01:40,412 --> 00:01:41,747 zadawać ludziom pytania. 43 00:01:41,747 --> 00:01:44,166 W OK Cupid znajdziesz pytania takie jak: 44 00:01:44,166 --> 00:01:46,834 "Czy chcesz mieć kiedyś dzieci?" 45 00:01:46,834 --> 00:01:48,754 "Jak często myjesz zęby?" 46 00:01:48,754 --> 00:01:50,227 "Czy lubisz straszne filmy?" 47 00:01:50,227 --> 00:01:53,514 i poważne pytania, np. "Czy wierzysz w Boga?". 48 00:01:53,514 --> 00:01:55,308 Wiele pytań pozwala 49 00:01:55,308 --> 00:01:56,381 dopasować ludzi, 50 00:01:56,381 --> 00:01:59,052 kiedy oboje odpowiedzą na dane pytanie tak samo. 51 00:01:59,052 --> 00:02:01,471 Np. kiedy oboje lubią straszne filmy, 52 00:02:01,471 --> 00:02:02,684 będą lepiej do siebie pasować, 53 00:02:02,684 --> 00:02:03,843 niż kiedy jedno je lubi, 54 00:02:03,843 --> 00:02:05,115 a drugie nie. 55 00:02:05,115 --> 00:02:06,480 Ale przy pytaniu typu: 56 00:02:06,480 --> 00:02:08,189 "Czy lubisz być w centrum uwagi?", 57 00:02:08,189 --> 00:02:10,729 jeśli oboje w związku to lubią, 58 00:02:10,729 --> 00:02:13,068 to będą mieć poważne problemy. 59 00:02:13,068 --> 00:02:14,447 Przewidzieliśmy to, 60 00:02:14,447 --> 00:02:15,614 więc postanowiliśmy uzyskać 61 00:02:15,614 --> 00:02:17,581 nieco więcej danych przy takich pytaniach. 62 00:02:17,581 --> 00:02:20,332 Zapytaliśmy ludzi nie tylko o ich odpowiedź, 63 00:02:20,332 --> 00:02:23,038 ale też, jakiej odpowiedzi chcą od drugiej osoby. 64 00:02:23,038 --> 00:02:24,207 To był dobry pomysł, 65 00:02:24,207 --> 00:02:26,291 ale brakowało jeszcze jednego wymiaru. 66 00:02:26,291 --> 00:02:28,835 Niektóre pytania mówią więcej o osobie, niż inne. 67 00:02:28,835 --> 00:02:31,795 Np. pytanie o politykę: 68 00:02:31,795 --> 00:02:34,589 "Co jest gorsze: palenie książek czy palenie flag?" 69 00:02:34,589 --> 00:02:37,207 może ujawnić więcej o osobie, niż gust filmowy. 70 00:02:37,207 --> 00:02:39,387 A ponieważ nie wszystko ma takie samo znaczenie, 71 00:02:39,387 --> 00:02:41,605 dodaliśmy jeszcze jeden parametr. 72 00:02:41,605 --> 00:02:43,440 Przy każdym pytaniu w OK Cupid 73 00:02:43,440 --> 00:02:44,642 jest wskaźnik 74 00:02:44,642 --> 00:02:46,223 jak dana sprawa jest ważna dla ciebie 75 00:02:46,223 --> 00:02:49,089 w skali od "nieważne" do "konieczne". 76 00:02:49,089 --> 00:02:50,564 Czyli teraz dla każdego pytania 77 00:02:50,564 --> 00:02:52,692 mamy 3 parametry dla naszego algorytmu: 78 00:02:52,692 --> 00:02:54,068 1. twoja odpowiedź 79 00:02:54,068 --> 00:02:56,362 2. czego chcesz od drugiej osoby – 80 00:02:56,362 --> 00:02:57,196 potencjalnego partnera, 81 00:02:57,196 --> 00:02:58,781 jak ta osoba ma odpowiedzieć 82 00:02:58,781 --> 00:03:02,327 3. jak ważna dana sprawa jest dla ciebie. 83 00:03:02,327 --> 00:03:03,702 Na bazie tych danych 84 00:03:03,702 --> 00:03:07,128 OK Cupid wylicza, czy dwoje ludzi do siebie pasuje. 85 00:03:07,128 --> 00:03:09,458 Algorytm przelicza dane i podaje wynik. 86 00:03:09,458 --> 00:03:11,262 Na przykład, 87 00:03:11,262 --> 00:03:13,712 spróbujmy dopasować ciebie do drugiej osoby, 88 00:03:13,712 --> 00:03:15,581 nazwijmy go "B". 89 00:03:15,581 --> 00:03:17,479 Twoja zgodność z B opiera się 90 00:03:17,479 --> 00:03:19,424 na odpowiedziach podanych przez was oboje. 91 00:03:19,424 --> 00:03:21,978 Nazwijmy sumę tych pytań "s". 92 00:03:21,978 --> 00:03:24,932 Weźmy tylko kilka pytań dla naszego "s" 93 00:03:24,932 --> 00:03:26,434 np. dwa pytania 94 00:03:26,434 --> 00:03:28,310 i obliczmy, co wyjdzie. 95 00:03:28,310 --> 00:03:30,144 Powiedzmy takie dwa pytania: 96 00:03:30,144 --> 00:03:32,349 1. "Czy jesteś bałaganiarzem?" 97 00:03:32,349 --> 00:03:34,669 możliwe odpowiedzi to: 98 00:03:34,669 --> 00:03:35,618 tak, bardzo bałaganię, 99 00:03:35,618 --> 00:03:36,398 przeciętnie 100 00:03:36,398 --> 00:03:38,172 jestem bardzo zorganizowany. 101 00:03:38,172 --> 00:03:39,755 Załóżmy, że twoja odpowiedź to "bardzo zorganizowany", 102 00:03:39,755 --> 00:03:42,581 i chcesz, żeby druga osoba odpowiedziała podobnie 103 00:03:42,581 --> 00:03:45,202 i ta sprawa jest dla ciebie bardzo istotna. 104 00:03:45,202 --> 00:03:46,498 Po prostu nie tolerujesz bałaganu. 105 00:03:46,498 --> 00:03:47,212 Ma być porządek, 106 00:03:47,212 --> 00:03:48,296 i druga osoba też ma utrzymywać porządek 107 00:03:48,296 --> 00:03:49,248 i kropka. 108 00:03:49,248 --> 00:03:51,015 Teraz powiedzmy, że B jest nieco inny. 109 00:03:51,015 --> 00:03:53,539 Jest bardzo zorganizowany, 110 00:03:53,539 --> 00:03:55,171 ale wystarczy mu przeciętny porządek, 111 00:03:55,171 --> 00:03:56,740 jako wymaganie stawiane drugiej osobie, 112 00:03:56,740 --> 00:03:58,748 a cała sprawa jest dla niego prawie nieistotna. 113 00:03:58,748 --> 00:04:00,308 Przejdźmy do drugiego pytania. 114 00:04:00,308 --> 00:04:01,896 Użyjmy pytania, które pojawiło się wcześniej: 115 00:04:01,896 --> 00:04:03,653 "Czy lubisz być w centrum uwagi?". 116 00:04:03,653 --> 00:04:05,231 Możliwe opcje to "tak" i "nie". 117 00:04:05,231 --> 00:04:06,407 Odpowiadasz "nie", 118 00:04:06,407 --> 00:04:08,235 i wolisz, żeby druga osoba też powiedziała "nie", 119 00:04:08,235 --> 00:04:10,862 a ta sprawa nie ma dla ciebie znaczenia. 120 00:04:10,862 --> 00:04:12,419 Ale B odpowiedział "tak", 121 00:04:12,419 --> 00:04:14,087 chce, żeby druga osoba powiedziała "nie", 122 00:04:14,087 --> 00:04:16,332 bo chce, żeby cała uwaga skupiła się na nim, 123 00:04:16,332 --> 00:04:19,334 i jest to dla niego trochę istotne. 124 00:04:19,334 --> 00:04:21,716 Teraz spróbujmy to przekalkulować. 125 00:04:21,716 --> 00:04:22,855 Na początku, 126 00:04:22,855 --> 00:04:24,376 ponieważ używamy komputera, 127 00:04:24,376 --> 00:04:26,162 musimy przyporządkować wartości numeryczne 128 00:04:26,162 --> 00:04:29,041 do odpowiedzi typu "dosyć istotne" i "bardzo ważne", 129 00:04:29,041 --> 00:04:31,335 bo komputer rozumie tylko liczby. 130 00:04:31,335 --> 00:04:33,523 W portalu OK Cupid robimy to tak: 131 00:04:33,523 --> 00:04:35,858 "nieważne" ma wartość 0, 132 00:04:35,858 --> 00:04:38,307 "nieco istotne" = 1, 133 00:04:38,307 --> 00:04:40,302 "dość istotne" = 10, 134 00:04:40,302 --> 00:04:42,426 "bardzo istotne" = 50, 135 00:04:42,426 --> 00:04:46,353 "absolutnie niezbędne" = 250. 136 00:04:46,353 --> 00:04:48,852 Teraz nasz algorytm przelicza. 137 00:04:48,852 --> 00:04:51,941 Najpierw sprawdza ile odpowiedzi udzielonych przez B odpowiada twoim, 138 00:04:51,941 --> 00:04:55,568 tzn. ile punktów uzyskał na twojej skali. 139 00:04:55,568 --> 00:04:58,138 Dla ciebie odpowiedź osoby B 140 00:04:58,138 --> 00:04:59,947 na pytanie o bałaganiarstwo, 141 00:04:59,947 --> 00:05:01,448 była bardzo ważna. 142 00:05:01,448 --> 00:05:04,041 Czyli na wartość 50 punktów, jeśli B odpowie prawidłowo. 143 00:05:04,041 --> 00:05:05,947 Drugie pytanie ma wartość zaledwie 1 144 00:05:05,947 --> 00:05:07,558 bo powiedziałaś, że jest tylko nieco istotne, 145 00:05:07,558 --> 00:05:09,036 a B odpowiedział coś innego. 146 00:05:09,036 --> 00:05:12,392 Czyli odpowiedzi B to 50 na 51 możliwych punktów. 147 00:05:12,392 --> 00:05:14,023 To 98% zgodności. 148 00:05:14,023 --> 00:05:15,220 Nieźle. 149 00:05:15,220 --> 00:05:16,832 Drugi krok w algorytmie to to, 150 00:05:16,832 --> 00:05:18,918 jak bardzo twoje odpowiedzi zgadzają się z B. 151 00:05:18,918 --> 00:05:20,768 B przyznał 1 punkt twojej odpowiedzi 152 00:05:20,768 --> 00:05:22,353 na pytanie o bałaganiarstwo, 153 00:05:22,353 --> 00:05:24,745 a 10 – twojej odpowiedzi na drugie pytanie. 154 00:05:24,745 --> 00:05:27,156 1 + 10 = 11, i z tych 11. 155 00:05:27,156 --> 00:05:28,324 uzyskałeś 10, 156 00:05:28,324 --> 00:05:30,617 bo w drugim pytaniu podałaś pożądaną odpowiedź. 157 00:05:30,617 --> 00:05:32,611 Więc twoje odpowiedzi to 10 punktów na 11, 158 00:05:32,611 --> 00:05:35,240 co daje 91% zgodności. 159 00:05:35,240 --> 00:05:36,117 Też nieźle. 160 00:05:36,117 --> 00:05:38,286 Ostatni krok to porównanie tych dwóch procentów 161 00:05:38,286 --> 00:05:40,454 i ustalenie procentu ogólnego dla was obojga. 162 00:05:40,454 --> 00:05:42,747 Teraz algorytm mnoży wasze wyniki 163 00:05:42,747 --> 00:05:44,500 następnie wyciąga z nich n-ty pierwiastek, 164 00:05:44,500 --> 00:05:46,792 gdzie n to liczba pytań 165 00:05:46,792 --> 00:05:49,401 bo s, czyli suma pytań 166 00:05:49,401 --> 00:05:51,507 w naszym przykładzie wynosiła 2. 167 00:05:51,507 --> 00:05:54,093 Procent zgodności równa się 168 00:05:54,093 --> 00:05:58,154 pierwiastkowi kwadratowemu z 98% razy 91% 169 00:05:58,154 --> 00:06:00,304 czyli 94%. 170 00:06:00,304 --> 00:06:03,194 To 94% to twoja zgodność z osobą B. 171 00:06:03,194 --> 00:06:04,561 To matematyczny zapis tego, 172 00:06:04,561 --> 00:06:06,405 jak szczęśliwi możecie być ze sobą 173 00:06:06,405 --> 00:06:07,749 na podstawie podanych odpowiedzi. 174 00:06:07,749 --> 00:06:10,131 Możesz zapytać, dlaczego algorytm mnoży, 175 00:06:10,131 --> 00:06:12,284 a nie np. wyciąga średnią z obu wyników 176 00:06:12,284 --> 00:06:14,530 i po co wyciąga pierwiastek. 177 00:06:14,530 --> 00:06:16,479 Ta zasada nosi nazwę średniej geometrycznej, 178 00:06:16,479 --> 00:06:17,881 która jest dobrym sposobem porównywania wartości, 179 00:06:17,881 --> 00:06:19,076 które mają szeroki zakres 180 00:06:19,076 --> 00:06:20,861 i odpowiadają wielu różnym wartościom. 181 00:06:20,861 --> 00:06:23,164 Innymi słowy, jest idealna dla szukania partnera. 182 00:06:23,164 --> 00:06:24,248 Mamy tu szeroki zakres 183 00:06:24,248 --> 00:06:26,206 i ogromną liczbę parametrów 184 00:06:26,206 --> 00:06:27,156 jak już wspomniałem: filmy, 185 00:06:27,156 --> 00:06:28,006 polityka, 186 00:06:28,006 --> 00:06:29,201 religia, 187 00:06:29,201 --> 00:06:30,395 wszystko. 188 00:06:30,395 --> 00:06:32,256 To ma też intuicyjny sens. 189 00:06:32,256 --> 00:06:34,918 Dwoje ludzi ze zgodnością 50% 190 00:06:34,918 --> 00:06:36,052 będzie bardziej do siebie pasować, 191 00:06:36,052 --> 00:06:39,180 niż dwoje ze zgodnością 0 i 100, 192 00:06:39,180 --> 00:06:40,847 bo uczucie musi być wzajemne. 193 00:06:40,847 --> 00:06:43,147 Po drobnych poprawkach i z marginesem błędu, 194 00:06:43,147 --> 00:06:45,770 kiedy mamy małą liczbę pytań, 195 00:06:45,770 --> 00:06:47,234 jak w naszym przykładzie, 196 00:06:47,234 --> 00:06:48,811 jesteśmy gotowi na randkę. 197 00:06:48,811 --> 00:06:50,191 Gdy OK Cupid swata dwoje ludzi 198 00:06:50,191 --> 00:06:52,234 wykonuje kroki, które właśnie widzieliśmy. 199 00:06:52,234 --> 00:06:54,484 Najpierw prosi o odpowiedzi na pytania, 200 00:06:54,484 --> 00:06:56,619 potem matematycznie porównuje twoje preferencje 201 00:06:56,619 --> 00:06:59,740 z odpowiedziami innych osób. 202 00:06:59,740 --> 00:07:02,453 Zdolność przekształcenia zjawisk w realnym życiu 203 00:07:02,453 --> 00:07:05,167 w dane, które procesor może zrozumieć 204 00:07:05,167 --> 00:07:05,742 jest według mnie 205 00:07:05,742 --> 00:07:08,565 najważniejszą umiejętnością w dzisiejszych czasach. 206 00:07:08,565 --> 00:07:10,919 Ludzie mówią zdaniami, żeby coś przekazać, 207 00:07:10,919 --> 00:07:13,665 komputery zaś używają do komunikacji algorytmów. 208 00:07:13,665 --> 00:07:14,921 Kiedy uczysz się języka, 209 00:07:14,921 --> 00:07:16,381 możesz coś w nim opowiedzieć. 210 00:07:16,381 --> 00:07:18,768 Mam nadzieję, że teraz będzie ci łatwiej.