1 00:00:17,602 --> 00:00:19,239 Bonjour, je m'appelle Christian Rudder, 2 00:00:19,239 --> 00:00:21,875 je suis un des fondateurs de OK Cupid. 3 00:00:21,875 --> 00:00:24,502 C'est désormais l'un des plus grands sites de rencontre aux États-Unis. 4 00:00:24,502 --> 00:00:25,749 Comme presque tout le monde sur le site, 5 00:00:25,749 --> 00:00:27,296 j'étais doué en math et comme vous pouvez l'imaginer, 6 00:00:27,296 --> 00:00:28,644 nous étions connus pour l'approche analytique 7 00:00:28,644 --> 00:00:29,887 que nous avions de l'amour. 8 00:00:29,887 --> 00:00:31,717 On appelle ça notre algorithme d'appariement. 9 00:00:31,717 --> 00:00:33,428 Essentiellement, l'algorithme d'appariement d'OK Cupid 10 00:00:33,428 --> 00:00:36,481 nous aide à décider si deux personnes peuvent sortir ensemble. 11 00:00:36,481 --> 00:00:38,765 Nous avons construit notre business dessus. 12 00:00:38,765 --> 00:00:40,572 Cependant, algorithme est un mot prétentieux, 13 00:00:40,572 --> 00:00:43,047 les gens préfèrent le laisser tomber, 14 00:00:43,047 --> 00:00:45,148 mais un algorithme est simplement une façon systématique, 15 00:00:45,148 --> 00:00:47,817 pas à pas, de résoudre un problème. 16 00:00:47,817 --> 00:00:49,949 Ça n'a rien de prétentieux. 17 00:00:49,949 --> 00:00:51,802 Ici, dans cette leçon, je vais vous expliquer 18 00:00:51,802 --> 00:00:53,657 comment on en est arrivé à notre algorithme à nous 19 00:00:53,657 --> 00:00:55,660 pour que vous voyez comment ça marche. 20 00:00:55,660 --> 00:00:57,576 Maintenant, pourquoi est-ce que les algorithmes sont importants ? 21 00:00:57,576 --> 00:00:59,045 Pourquoi est-ce que cette leçon existe ? 22 00:00:59,045 --> 00:01:02,457 Eh bien, relisez cette phrase importante que je viens de dire : 23 00:01:02,457 --> 00:01:05,029 c'est une façon de résoudre un problème pas à pas 24 00:01:05,029 --> 00:01:05,841 et, comme vous le savez probablement, 25 00:01:05,841 --> 00:01:08,470 les ordinateurs excellent dans les processus pas à pas. 26 00:01:08,470 --> 00:01:09,588 Un ordinateur sans algorithme 27 00:01:09,588 --> 00:01:12,933 est simplement un couteux presse-papiers. 28 00:01:12,933 --> 00:01:15,430 Depuis que les ordinateurs sont omniprésents dans notre vie quotidienne, 29 00:01:15,430 --> 00:01:17,223 les algorithmes sont partout. 30 00:01:18,515 --> 00:01:20,267 Les mathématiques derrière l'algorithme d'appariement d'OK Cupid 31 00:01:20,267 --> 00:01:21,811 sont étonnamment simples. 32 00:01:21,811 --> 00:01:22,629 Ce sont juste quelques additions, 33 00:01:22,629 --> 00:01:23,687 multiplications 34 00:01:23,687 --> 00:01:25,340 et quelques racines carrées. 35 00:01:25,340 --> 00:01:27,611 La difficulté lors de la conception, cependant, 36 00:01:27,611 --> 00:01:30,235 était de comprendre comment prendre quelque chose de mystérieux, 37 00:01:30,235 --> 00:01:31,212 l'attirance humaine, 38 00:01:31,212 --> 00:01:33,810 et la décomposer en éléments avec lesquels un ordinateur peut travailler. 39 00:01:33,810 --> 00:01:36,360 La première chose dont nous avons besoin pour faire correspondre des gens sont des données, 40 00:01:36,360 --> 00:01:38,382 ce sur quoi l'algorithme puisse travailler. 41 00:01:38,382 --> 00:01:40,412 La meilleure façon d'avoir rapidement des données des gens 42 00:01:40,412 --> 00:01:41,747 est tout simplement de les demander. 43 00:01:41,747 --> 00:01:44,166 Donc nous avons décidé qu'OK Cupid devait poser des questions aux utilisateurs : 44 00:01:44,166 --> 00:01:46,834 « Est-ce que vous voulez des enfants ? », 45 00:01:46,834 --> 00:01:48,754 « À quelle fréquence vous lavez vous les dents ? », 46 00:01:48,754 --> 00:01:50,227 « Est-ce que vous aimez les films d'horreur ? » 47 00:01:50,227 --> 00:01:53,514 et des trucs importants comme « Est-ce que vous croyez en Dieu ? » 48 00:01:53,514 --> 00:01:55,308 Certes, beaucoup de questions sont bonnes 49 00:01:55,308 --> 00:01:56,381 pour faire correspondre ce qui est comparable, 50 00:01:56,381 --> 00:01:59,052 quand deux personnes répondent de la même manière. 51 00:01:59,052 --> 00:02:01,471 Par exemple, deux personnes qui aiment bien les films d'horreur 52 00:02:01,471 --> 00:02:02,684 se correspondent probablement mieux 53 00:02:02,684 --> 00:02:03,843 qu'une personne qui les aime 54 00:02:03,843 --> 00:02:05,115 et une qui ne les aime pas. 55 00:02:05,115 --> 00:02:06,480 Mais qu'en est-il d'une question comme, 56 00:02:06,480 --> 00:02:08,189 « Aimez-vous être le centre de l'attention ? » 57 00:02:08,189 --> 00:02:10,729 Si les deux personnes d'un couple répondent oui, 58 00:02:10,729 --> 00:02:13,068 alors il va y avoir de gros problèmes. 59 00:02:13,068 --> 00:02:14,447 Nous avons compris ça rapidement 60 00:02:14,447 --> 00:02:15,614 et nous avons décidé que nous avions besoin 61 00:02:15,614 --> 00:02:17,581 d'un peu plus d'information pour chaque question. 62 00:02:17,581 --> 00:02:20,332 Nous devions demander aux personnes de donner non seulement leur réponse, 63 00:02:20,332 --> 00:02:23,038 mais également la réponse qu'ils attendaient de l'autre. 64 00:02:23,038 --> 00:02:24,207 Ça a vraiment bien marché, 65 00:02:24,207 --> 00:02:26,291 mais nous avions besoin d'une dimension supplémentaire. 66 00:02:26,291 --> 00:02:28,835 Certaines questions nous en disent plus sur une personne que d'autres. 67 00:02:28,835 --> 00:02:31,795 Par exemple, une question sur la politique, quelque chose comme, 68 00:02:31,795 --> 00:02:34,589 « Qu'est-ce qui est pire : brûler un livre ou brûler un drapeau ? » 69 00:02:34,589 --> 00:02:37,207 pourrait en révéler plus sur quelqu'un que ses goûts cinématographiques. 70 00:02:37,207 --> 00:02:39,387 Et ça n'a pas beaucoup de sens de donner le même poids à toutes ces choses, 71 00:02:39,387 --> 00:02:41,605 nous avons donc ajouté une dernière donnée. 72 00:02:41,605 --> 00:02:43,440 Pour chaque question qu'OK Cupid vous pose, 73 00:02:43,440 --> 00:02:44,642 vous avez la possibilité de nous dire 74 00:02:44,642 --> 00:02:46,223 le rôle qu'elle joue dans votre vie, 75 00:02:46,223 --> 00:02:49,089 ça va de non significatif à obligatoire. 76 00:02:49,089 --> 00:02:50,564 Donc, pour chaque question, 77 00:02:50,564 --> 00:02:52,692 nous avons trois choses pour notre algorithme : 78 00:02:52,692 --> 00:02:54,068 premièrement, votre réponse ; 79 00:02:54,068 --> 00:02:56,362 deuxièmement, comment vous souhaitez que quelqu'un, 80 00:02:56,362 --> 00:02:57,196 votre partenaire potentiel, 81 00:02:57,196 --> 00:02:58,781 réponde 82 00:02:58,781 --> 00:03:02,327 et troisièmement, quelle est l'importance de cette question pour vous. 83 00:03:02,327 --> 00:03:03,702 Avec toutes ces informations, 84 00:03:03,702 --> 00:03:07,128 OK Cupid peut déterminer comment deux personnes s'entendront. 85 00:03:07,128 --> 00:03:09,458 L'algorithme mouline les chiffres et nous donne un résultat. 86 00:03:09,458 --> 00:03:11,262 Comme exemple pratique, 87 00:03:11,262 --> 00:03:13,712 regardons comment on vous fait correspondre à quelqu'un, 88 00:03:13,712 --> 00:03:15,581 que nous appelerons "B". 89 00:03:15,581 --> 00:03:17,479 Votre taux de correspondance avec B est fondé sur 90 00:03:17,479 --> 00:03:19,424 les questions auxquelles vous avez répondu tous les deux. 91 00:03:19,424 --> 00:03:21,978 Appelons la série de questions communes "s". 92 00:03:21,978 --> 00:03:24,932 Comme c'est un exemple très simple, utilisons une petite série "s" 93 00:03:24,932 --> 00:03:26,434 avec seulement deux questions en commun 94 00:03:26,434 --> 00:03:28,310 et calculons la correspondance. 95 00:03:28,310 --> 00:03:30,144 Voici nos deux exemples de questions. 96 00:03:30,144 --> 00:03:32,349 La première, disons, « Êtes-vous bordélique ? », 97 00:03:32,349 --> 00:03:34,669 les réponses possibles sont 98 00:03:34,669 --> 00:03:35,618 beaucoup, 99 00:03:35,618 --> 00:03:36,398 moyennement 100 00:03:36,398 --> 00:03:38,172 et très organisé. 101 00:03:38,172 --> 00:03:39,755 Disons que vous répondiez « très organisé », 102 00:03:39,755 --> 00:03:42,581 et que vous souhaitez que l'autre réponde « très organisé », 103 00:03:42,581 --> 00:03:45,202 et que cette question est très importante pour vous. 104 00:03:45,202 --> 00:03:46,498 Fondamentalement vous êtes un maniaque de la propreté. 105 00:03:46,498 --> 00:03:47,212 Vous êtes propre, 106 00:03:47,212 --> 00:03:48,296 vous voulez que l'autre soit propre 107 00:03:48,296 --> 00:03:49,248 et c'est comme ça. 108 00:03:49,248 --> 00:03:51,015 Supposons que B soit un peu différent. 109 00:03:51,015 --> 00:03:53,539 Il a répondu très organisé pour lui-même, 110 00:03:53,539 --> 00:03:55,171 mais moyennement est correct pour lui 111 00:03:55,171 --> 00:03:56,740 comme réponse de l'autre, 112 00:03:56,740 --> 00:03:58,748 et la question n'a pas d'importance pour lui. 113 00:03:58,748 --> 00:04:00,308 Regardons la seconde question, 114 00:04:00,308 --> 00:04:01,896 c'est l'une de notre exemple précédent : 115 00:04:01,896 --> 00:04:03,653 « Aimez-vous être le centre de l'attention ? » 116 00:04:03,653 --> 00:04:05,231 Les réponses sont uniquement oui et non. 117 00:04:05,231 --> 00:04:06,407 Donc vous avez répondu « Non », 118 00:04:06,407 --> 00:04:08,235 vous attendez comme réponse de l'autre « non », 119 00:04:08,235 --> 00:04:10,862 et la question est faiblement importante pour vous. 120 00:04:10,862 --> 00:04:12,419 Maintenant B a répondu « Oui », 121 00:04:12,419 --> 00:04:14,087 il attend quelqu'un qui réponde « Non », 122 00:04:14,087 --> 00:04:16,332 parce qu'il veut la lumière pour lui 123 00:04:16,332 --> 00:04:19,334 et la question est plutôt importante pour lui. 124 00:04:19,334 --> 00:04:21,716 Essayons de calculer tout ça. 125 00:04:21,716 --> 00:04:22,855 Notre première étape est, 126 00:04:22,855 --> 00:04:24,376 comme nous utilisons des ordinateurs, 127 00:04:24,376 --> 00:04:26,162 nous devons assigner des valeurs numériques 128 00:04:26,162 --> 00:04:29,041 aux idées comme « plutôt important » et « très important » 129 00:04:29,041 --> 00:04:31,335 parce que les ordinateurs ont besoin que tout soit chiffré. 130 00:04:31,335 --> 00:04:33,523 Nous, à OK Cupid, avons choisi l'échelle suivante : 131 00:04:33,523 --> 00:04:35,858 non significatif vaut 0, 132 00:04:35,858 --> 00:04:38,307 un peu important vaut 1, 133 00:04:38,307 --> 00:04:40,302 plutôt important vaut 10, 134 00:04:40,302 --> 00:04:42,426 très important est 50 135 00:04:42,426 --> 00:04:46,353 et obligatoire vaut 250. 136 00:04:46,353 --> 00:04:48,852 Ensuite, l'algorithme fait deux calculs simples. 137 00:04:48,852 --> 00:04:51,941 Le premier est « à quel niveau les réponses de B sont satisfaisantes pour vous », 138 00:04:51,941 --> 00:04:55,568 ce qui revient « à combien de points a B sur votre échelle ? » 139 00:04:55,568 --> 00:04:58,138 Vous avez indiqué que la réponse de B 140 00:04:58,138 --> 00:04:59,947 à la première question à propos du rangement 141 00:04:59,947 --> 00:05:01,448 était très importante pour vous. 142 00:05:01,448 --> 00:05:04,041 Ça vaut 50 points et B les as eus. 143 00:05:04,041 --> 00:05:05,947 La seconde question vaut seulement 1 144 00:05:05,947 --> 00:05:07,558 parce que vous avez répondu que c'était seulement un peu important 145 00:05:07,558 --> 00:05:09,036 et B avait répondu faux. 146 00:05:09,036 --> 00:05:12,392 Donc les réponses de B valent 50 points sur 51. 147 00:05:12,392 --> 00:05:14,023 C'est 98% de satisfaction. 148 00:05:14,023 --> 00:05:15,220 C'est vraiment bon. 149 00:05:15,220 --> 00:05:16,832 La seconde question que regarde l'algorithme 150 00:05:16,832 --> 00:05:18,918 est à quel niveau vous satisfaites B. 151 00:05:18,918 --> 00:05:20,768 B a placé un point sur votre réponse 152 00:05:20,768 --> 00:05:22,353 à la question sur le rangement 153 00:05:22,353 --> 00:05:24,745 et 10 à votre réponse à la seconde. 154 00:05:24,745 --> 00:05:27,156 Sur ces 11 points, c'est 1 plus 10, 155 00:05:27,156 --> 00:05:28,324 vous gagnez 10, 156 00:05:28,324 --> 00:05:30,617 vous correspondez l'un à l'autre pour la seconde question. 157 00:05:30,617 --> 00:05:32,611 Donc vos réponses donnent 10 sur 11 158 00:05:32,611 --> 00:05:35,240 ce qui vaut 91% de satisfaction pour B. 159 00:05:35,240 --> 00:05:36,117 Ce n'est pas mal. 160 00:05:36,117 --> 00:05:38,286 L'étape finale est de prendre les deux pourcentages de correspondances 161 00:05:38,286 --> 00:05:40,454 et d'obtenir un chiffre pour vous deux. 162 00:05:40,454 --> 00:05:42,747 Pour faire ça, l'algorithme multiplie vos résultats 163 00:05:42,747 --> 00:05:44,500 et prend la racine n-ième, 164 00:05:44,500 --> 00:05:46,792 où n est le nombre de questions. 165 00:05:46,792 --> 00:05:49,401 Parce que s, le nombre de questions, 166 00:05:49,401 --> 00:05:51,507 dans cet exemple, est seulement 2 167 00:05:51,507 --> 00:05:54,093 nous avons : le pourcentage d'appariement est égal 168 00:05:54,093 --> 00:05:58,154 à la racine carrée de 98% fois 91%. 169 00:05:58,154 --> 00:06:00,304 Qui est égal à 94%. 170 00:06:00,304 --> 00:06:03,194 Ce 94% est votre taux d'appariement avec B. 171 00:06:03,194 --> 00:06:04,561 C'est l'expression mathématique 172 00:06:04,561 --> 00:06:06,405 de comment vous seriez heureux l'un avec l'autre 173 00:06:06,405 --> 00:06:07,749 fondé sur ce que nous savons. 174 00:06:07,749 --> 00:06:10,131 Maintenant, pourquoi est-ce que l'algorithme multiplie au lieu de 175 00:06:10,131 --> 00:06:12,284 faire la moyenne des deux taux de correspondances ensemble 176 00:06:12,284 --> 00:06:14,530 puis prend la racine carrée ? 177 00:06:14,530 --> 00:06:16,479 En général, cette formule est appelée la moyenne géométrique, 178 00:06:16,479 --> 00:06:17,881 c'est une bonne façon de combiner des valeurs 179 00:06:17,881 --> 00:06:19,076 qui ont de grandes variations 180 00:06:19,076 --> 00:06:20,861 et présentent des propriétés très différentes. 181 00:06:20,861 --> 00:06:23,164 En d'autres mots, c'est parfait pour un appariement sentimental. 182 00:06:23,164 --> 00:06:24,248 On a de grandes plages de valeurs 183 00:06:24,248 --> 00:06:26,206 et des quantités de valeurs différentes, 184 00:06:26,206 --> 00:06:27,156 comme je l'ai dit, au sujet des films, 185 00:06:27,156 --> 00:06:28,006 de la politique, 186 00:06:28,006 --> 00:06:29,201 de la religion, 187 00:06:29,201 --> 00:06:30,395 de tout. 188 00:06:30,395 --> 00:06:32,256 Intuitivement, aussi, ça a du sens. 189 00:06:32,256 --> 00:06:34,918 Deux personnes qui se correspondent chacune à 50% 190 00:06:34,918 --> 00:06:36,052 devraient être une meilleure combinaison 191 00:06:36,052 --> 00:06:39,180 que deux autres qui se correspondent à 0 et 100, 192 00:06:39,180 --> 00:06:40,847 parce que l'affection doit être mutuelle. 193 00:06:40,847 --> 00:06:43,147 Après avoir ajouté une petite correction pour la marge d'erreur 194 00:06:43,147 --> 00:06:45,770 dans le cas où on a très peu de questions, 195 00:06:45,770 --> 00:06:47,234 comme dans l'exemple, 196 00:06:47,234 --> 00:06:48,811 on est prêt. 197 00:06:48,811 --> 00:06:50,191 À chaque fois qu'OK Cupid associe deux personnes, 198 00:06:50,191 --> 00:06:52,234 on passe par les étapes qu'on vient de montrer. 199 00:06:52,234 --> 00:06:54,484 En premier on collecte les données liées aux questions, 200 00:06:54,484 --> 00:06:56,619 puis on compare les choix et les préférences 201 00:06:56,619 --> 00:06:59,740 pour les autres personnes d'une façon mathématique, simple. 202 00:06:59,740 --> 00:07:02,453 Ça, cette capacité à prendre des phénomènes réels 203 00:07:02,453 --> 00:07:05,167 et à les transformer en quelque chose qu'un microprocesseur puisse comprendre, 204 00:07:05,167 --> 00:07:05,742 est, je pense, 205 00:07:05,742 --> 00:07:08,565 la plus importante compétence que quelqu'un puisse avoir actuellement. 206 00:07:08,565 --> 00:07:10,919 De la même façon que vous utilisez des phrases pour raconter une histoire à une personne, 207 00:07:10,919 --> 00:07:13,665 vous utilisez des algorithmes pour raconter une histoire à un ordinateur. 208 00:07:13,665 --> 00:07:14,921 Si vous apprenez la langue, 209 00:07:14,921 --> 00:07:16,381 vous pouvez sortir et raconter des histoires. 210 00:07:16,381 --> 00:07:18,768 J'espère que ça vous aidera à le faire.