0:00:17.602,0:00:19.239 Bonjour, je m'appelle Christian Rudder, 0:00:19.239,0:00:21.875 je suis un des fondateurs de OK Cupid. 0:00:21.875,0:00:24.502 C'est désormais l'un des plus grands sites[br]de rencontre aux États-Unis. 0:00:24.502,0:00:25.749 Comme presque tout le monde sur le site, 0:00:25.749,0:00:27.296 j'étais doué en math [br]et comme vous pouvez l'imaginer, 0:00:27.296,0:00:28.644 nous étions connus pour l'approche analytique 0:00:28.644,0:00:29.887 que nous avions de l'amour. 0:00:29.887,0:00:31.717 On appelle ça notre algorithme d'appariement. 0:00:31.717,0:00:33.428 Essentiellement, l'algorithme d'appariement[br]d'OK Cupid 0:00:33.428,0:00:36.481 nous aide à décider[br]si deux personnes peuvent sortir ensemble. 0:00:36.481,0:00:38.765 Nous avons construit notre business dessus. 0:00:38.765,0:00:40.572 Cependant, algorithme est un mot prétentieux, 0:00:40.572,0:00:43.047 les gens préfèrent le laisser tomber, 0:00:43.047,0:00:45.148 mais un algorithme est simplement[br]une façon systématique, 0:00:45.148,0:00:47.817 pas à pas,[br]de résoudre un problème. 0:00:47.817,0:00:49.949 Ça n'a rien de prétentieux. 0:00:49.949,0:00:51.802 Ici, dans cette leçon, je vais vous expliquer 0:00:51.802,0:00:53.657 comment on en est arrivé[br]à notre algorithme à nous 0:00:53.657,0:00:55.660 pour que vous voyez comment ça marche. 0:00:55.660,0:00:57.576 Maintenant, pourquoi est-ce que [br]les algorithmes sont importants ? 0:00:57.576,0:00:59.045 Pourquoi est-ce que cette leçon existe ? 0:00:59.045,0:01:02.457 Eh bien, relisez cette phrase importante[br]que je viens de dire : 0:01:02.457,0:01:05.029 c'est une façon de résoudre[br]un problème pas à pas 0:01:05.029,0:01:05.841 et, comme vous le savez probablement, 0:01:05.841,0:01:08.470 les ordinateurs excellent[br]dans les processus pas à pas. 0:01:08.470,0:01:09.588 Un ordinateur sans algorithme 0:01:09.588,0:01:12.933 est simplement[br]un couteux presse-papiers. 0:01:12.933,0:01:15.430 Depuis que les ordinateurs sont[br]omniprésents dans notre vie quotidienne, 0:01:15.430,0:01:17.223 les algorithmes sont partout. 0:01:18.515,0:01:20.267 Les mathématiques derrière[br]l'algorithme d'appariement d'OK Cupid 0:01:20.267,0:01:21.811 sont étonnamment simples. 0:01:21.811,0:01:22.629 Ce sont juste quelques additions, 0:01:22.629,0:01:23.687 multiplications 0:01:23.687,0:01:25.340 et quelques racines carrées. 0:01:25.340,0:01:27.611 La difficulté lors de la conception, [br]cependant, 0:01:27.611,0:01:30.235 était de comprendre comment [br]prendre quelque chose de mystérieux, 0:01:30.235,0:01:31.212 l'attirance humaine, 0:01:31.212,0:01:33.810 et la décomposer en éléments[br]avec lesquels un ordinateur peut travailler. 0:01:33.810,0:01:36.360 La première chose dont nous avons besoin [br]pour faire correspondre des gens sont des données, 0:01:36.360,0:01:38.382 ce sur quoi[br]l'algorithme puisse travailler. 0:01:38.382,0:01:40.412 La meilleure façon d'avoir rapidement [br]des données des gens 0:01:40.412,0:01:41.747 est tout simplement de les demander. 0:01:41.747,0:01:44.166 Donc nous avons décidé qu'OK Cupid [br]devait poser des questions aux utilisateurs : 0:01:44.166,0:01:46.834 « Est-ce que vous voulez des enfants ? », 0:01:46.834,0:01:48.754 « À quelle fréquence vous lavez vous les dents ? », 0:01:48.754,0:01:50.227 « Est-ce que vous aimez les films d'horreur ? » 0:01:50.227,0:01:53.514 et des trucs importants comme [br]« Est-ce que vous croyez en Dieu ? » 0:01:53.514,0:01:55.308 Certes, beaucoup de questions sont bonnes 0:01:55.308,0:01:56.381 pour faire correspondre[br]ce qui est comparable, 0:01:56.381,0:01:59.052 quand deux personnes [br]répondent de la même manière. 0:01:59.052,0:02:01.471 Par exemple, deux personnes [br]qui aiment bien les films d'horreur 0:02:01.471,0:02:02.684 se correspondent probablement mieux 0:02:02.684,0:02:03.843 qu'une personne qui les aime 0:02:03.843,0:02:05.115 et une qui ne les aime pas. 0:02:05.115,0:02:06.480 Mais qu'en est-il d'une question comme, 0:02:06.480,0:02:08.189 « Aimez-vous être le centre de l'attention ? » 0:02:08.189,0:02:10.729 Si les deux personnes d'un couple[br]répondent oui, 0:02:10.729,0:02:13.068 alors il va y avoir de gros problèmes. 0:02:13.068,0:02:14.447 Nous avons compris ça rapidement 0:02:14.447,0:02:15.614 et nous avons décidé[br]que nous avions besoin 0:02:15.614,0:02:17.581 d'un peu plus d'information [br]pour chaque question. 0:02:17.581,0:02:20.332 Nous devions demander aux personnes [br]de donner non seulement leur réponse, 0:02:20.332,0:02:23.038 mais également la réponse[br]qu'ils attendaient de l'autre. 0:02:23.038,0:02:24.207 Ça a vraiment bien marché, 0:02:24.207,0:02:26.291 mais nous avions besoin [br]d'une dimension supplémentaire. 0:02:26.291,0:02:28.835 Certaines questions nous en disent plus[br]sur une personne que d'autres. 0:02:28.835,0:02:31.795 Par exemple, une question sur la politique, [br]quelque chose comme, 0:02:31.795,0:02:34.589 « Qu'est-ce qui est pire : [br]brûler un livre ou brûler un drapeau ? » 0:02:34.589,0:02:37.207 pourrait en révéler plus sur quelqu'un [br]que ses goûts cinématographiques. 0:02:37.207,0:02:39.387 Et ça n'a pas beaucoup de sens de donner [br]le même poids à toutes ces choses, 0:02:39.387,0:02:41.605 nous avons donc ajouté[br]une dernière donnée. 0:02:41.605,0:02:43.440 Pour chaque question[br]qu'OK Cupid vous pose, 0:02:43.440,0:02:44.642 vous avez la possibilité de nous dire 0:02:44.642,0:02:46.223 le rôle qu'elle joue dans votre vie, 0:02:46.223,0:02:49.089 ça va de non significatif à obligatoire. 0:02:49.089,0:02:50.564 Donc, pour chaque question, 0:02:50.564,0:02:52.692 nous avons trois choses[br]pour notre algorithme : 0:02:52.692,0:02:54.068 premièrement, votre réponse ; 0:02:54.068,0:02:56.362 deuxièmement, [br]comment vous souhaitez que quelqu'un, 0:02:56.362,0:02:57.196 votre partenaire potentiel, 0:02:57.196,0:02:58.781 réponde 0:02:58.781,0:03:02.327 et troisièmement, quelle est l'importance [br]de cette question pour vous. 0:03:02.327,0:03:03.702 Avec toutes ces informations, 0:03:03.702,0:03:07.128 OK Cupid peut déterminer[br]comment deux personnes s'entendront. 0:03:07.128,0:03:09.458 L'algorithme mouline les chiffres[br]et nous donne un résultat. 0:03:09.458,0:03:11.262 Comme exemple pratique, 0:03:11.262,0:03:13.712 regardons comment on vous [br]fait correspondre à quelqu'un, 0:03:13.712,0:03:15.581 que nous appelerons "B". 0:03:15.581,0:03:17.479 Votre taux de correspondance avec B[br]est fondé sur 0:03:17.479,0:03:19.424 les questions auxquelles [br]vous avez répondu tous les deux. 0:03:19.424,0:03:21.978 Appelons la série de questions communes "s". 0:03:21.978,0:03:24.932 Comme c'est un exemple très simple, [br]utilisons une petite série "s" 0:03:24.932,0:03:26.434 avec seulement deux questions en commun 0:03:26.434,0:03:28.310 et calculons la correspondance. 0:03:28.310,0:03:30.144 Voici nos deux exemples de questions. 0:03:30.144,0:03:32.349 La première, disons, « Êtes-vous bordélique ? », 0:03:32.349,0:03:34.669 les réponses possibles sont 0:03:34.669,0:03:35.618 beaucoup, 0:03:35.618,0:03:36.398 moyennement 0:03:36.398,0:03:38.172 et très organisé. 0:03:38.172,0:03:39.755 Disons que vous répondiez [br]« très organisé », 0:03:39.755,0:03:42.581 et que vous souhaitez que [br]l'autre réponde « très organisé », 0:03:42.581,0:03:45.202 et que cette question est[br]très importante pour vous. 0:03:45.202,0:03:46.498 Fondamentalement vous êtes [br]un maniaque de la propreté. 0:03:46.498,0:03:47.212 Vous êtes propre, 0:03:47.212,0:03:48.296 vous voulez que l'autre soit propre 0:03:48.296,0:03:49.248 et c'est comme ça. 0:03:49.248,0:03:51.015 Supposons que B soit un peu différent. 0:03:51.015,0:03:53.539 Il a répondu très organisé pour lui-même, 0:03:53.539,0:03:55.171 mais moyennement est correct pour lui 0:03:55.171,0:03:56.740 comme réponse de l'autre, 0:03:56.740,0:03:58.748 et la question n'a pas d'importance pour lui. 0:03:58.748,0:04:00.308 Regardons la seconde question, 0:04:00.308,0:04:01.896 c'est l'une de notre exemple précédent : 0:04:01.896,0:04:03.653 « Aimez-vous être le centre de l'attention ? » 0:04:03.653,0:04:05.231 Les réponses sont uniquement oui et non. 0:04:05.231,0:04:06.407 Donc vous avez répondu « Non », 0:04:06.407,0:04:08.235 vous attendez comme [br]réponse de l'autre « non », 0:04:08.235,0:04:10.862 et la question est[br]faiblement importante pour vous. 0:04:10.862,0:04:12.419 Maintenant B a répondu « Oui », 0:04:12.419,0:04:14.087 il attend quelqu'un qui réponde « Non », 0:04:14.087,0:04:16.332 parce qu'il veut la lumière pour lui 0:04:16.332,0:04:19.334 et la question est[br]plutôt importante pour lui. 0:04:19.334,0:04:21.716 Essayons de calculer tout ça. 0:04:21.716,0:04:22.855 Notre première étape est, 0:04:22.855,0:04:24.376 comme nous utilisons[br]des ordinateurs, 0:04:24.376,0:04:26.162 nous devons assigner[br]des valeurs numériques 0:04:26.162,0:04:29.041 aux idées comme « plutôt important »[br]et « très important » 0:04:29.041,0:04:31.335 parce que les ordinateurs ont besoin[br]que tout soit chiffré. 0:04:31.335,0:04:33.523 Nous, à OK Cupid, avons choisi[br]l'échelle suivante : 0:04:33.523,0:04:35.858 non significatif vaut 0, 0:04:35.858,0:04:38.307 un peu important vaut 1, 0:04:38.307,0:04:40.302 plutôt important vaut 10, 0:04:40.302,0:04:42.426 très important est 50 0:04:42.426,0:04:46.353 et obligatoire vaut 250. 0:04:46.353,0:04:48.852 Ensuite, l'algorithme fait[br]deux calculs simples. 0:04:48.852,0:04:51.941 Le premier est « à quel niveau les réponses [br]de B sont satisfaisantes pour vous », 0:04:51.941,0:04:55.568 ce qui revient « à combien de points[br]a B sur votre échelle ? » 0:04:55.568,0:04:58.138 Vous avez indiqué[br]que la réponse de B 0:04:58.138,0:04:59.947 à la première question[br]à propos du rangement 0:04:59.947,0:05:01.448 était très importante pour vous. 0:05:01.448,0:05:04.041 Ça vaut 50 points[br]et B les as eus. 0:05:04.041,0:05:05.947 La seconde question[br]vaut seulement 1 0:05:05.947,0:05:07.558 parce que vous avez répondu[br]que c'était seulement un peu important 0:05:07.558,0:05:09.036 et B avait répondu faux. 0:05:09.036,0:05:12.392 Donc les réponses de B[br]valent 50 points sur 51. 0:05:12.392,0:05:14.023 C'est 98% de satisfaction. 0:05:14.023,0:05:15.220 C'est vraiment bon. 0:05:15.220,0:05:16.832 La seconde question[br]que regarde l'algorithme 0:05:16.832,0:05:18.918 est à quel niveau[br]vous satisfaites B. 0:05:18.918,0:05:20.768 B a placé un point[br]sur votre réponse 0:05:20.768,0:05:22.353 à la question sur le rangement 0:05:22.353,0:05:24.745 et 10 à votre réponse[br]à la seconde. 0:05:24.745,0:05:27.156 Sur ces 11 points,[br]c'est 1 plus 10, 0:05:27.156,0:05:28.324 vous gagnez 10, 0:05:28.324,0:05:30.617 vous correspondez l'un à l'autre[br]pour la seconde question. 0:05:30.617,0:05:32.611 Donc vos réponses[br]donnent 10 sur 11 0:05:32.611,0:05:35.240 ce qui vaut[br]91% de satisfaction pour B. 0:05:35.240,0:05:36.117 Ce n'est pas mal. 0:05:36.117,0:05:38.286 L'étape finale est de prendre [br]les deux pourcentages de correspondances 0:05:38.286,0:05:40.454 et d'obtenir un chiffre[br]pour vous deux. 0:05:40.454,0:05:42.747 Pour faire ça,[br]l'algorithme multiplie vos résultats 0:05:42.747,0:05:44.500 et prend la racine n-ième, 0:05:44.500,0:05:46.792 où n est le nombre de questions. 0:05:46.792,0:05:49.401 Parce que s,[br]le nombre de questions, 0:05:49.401,0:05:51.507 dans cet exemple,[br]est seulement 2 0:05:51.507,0:05:54.093 nous avons :[br]le pourcentage d'appariement est égal 0:05:54.093,0:05:58.154 à la racine carrée[br]de 98% fois 91%. 0:05:58.154,0:06:00.304 Qui est égal à 94%. 0:06:00.304,0:06:03.194 Ce 94% est[br]votre taux d'appariement avec B. 0:06:03.194,0:06:04.561 C'est l'expression mathématique 0:06:04.561,0:06:06.405 de comment vous seriez heureux[br]l'un avec l'autre 0:06:06.405,0:06:07.749 fondé sur ce que nous savons. 0:06:07.749,0:06:10.131 Maintenant, pourquoi est-ce que[br]l'algorithme multiplie au lieu de 0:06:10.131,0:06:12.284 faire la moyenne des deux [br]taux de correspondances ensemble 0:06:12.284,0:06:14.530 puis prend la racine carrée ? 0:06:14.530,0:06:16.479 En général, cette formule est appelée[br]la moyenne géométrique, 0:06:16.479,0:06:17.881 c'est une bonne façon[br]de combiner des valeurs 0:06:17.881,0:06:19.076 qui ont de grandes variations 0:06:19.076,0:06:20.861 et présentent[br]des propriétés très différentes. 0:06:20.861,0:06:23.164 En d'autres mots, c'est parfait [br]pour un appariement sentimental. 0:06:23.164,0:06:24.248 On a de grandes plages de valeurs 0:06:24.248,0:06:26.206 et des quantités de valeurs différentes, 0:06:26.206,0:06:27.156 comme je l'ai dit, au sujet des films, 0:06:27.156,0:06:28.006 de la politique, 0:06:28.006,0:06:29.201 de la religion, 0:06:29.201,0:06:30.395 de tout. 0:06:30.395,0:06:32.256 Intuitivement, aussi,[br]ça a du sens. 0:06:32.256,0:06:34.918 Deux personnes qui se correspondent[br]chacune à 50% 0:06:34.918,0:06:36.052 devraient être une meilleure combinaison 0:06:36.052,0:06:39.180 que deux autres[br]qui se correspondent à 0 et 100, 0:06:39.180,0:06:40.847 parce que l'affection doit être mutuelle. 0:06:40.847,0:06:43.147 Après avoir ajouté une petite correction[br]pour la marge d'erreur 0:06:43.147,0:06:45.770 dans le cas où[br]on a très peu de questions, 0:06:45.770,0:06:47.234 comme dans l'exemple, 0:06:47.234,0:06:48.811 on est prêt. 0:06:48.811,0:06:50.191 À chaque fois qu'OK Cupid [br]associe deux personnes, 0:06:50.191,0:06:52.234 on passe par les étapes[br]qu'on vient de montrer. 0:06:52.234,0:06:54.484 En premier on collecte[br]les données liées aux questions, 0:06:54.484,0:06:56.619 puis on compare[br]les choix et les préférences 0:06:56.619,0:06:59.740 pour les autres personnes [br]d'une façon mathématique, simple. 0:06:59.740,0:07:02.453 Ça, cette capacité à prendre [br]des phénomènes réels 0:07:02.453,0:07:05.167 et à les transformer en quelque chose [br]qu'un microprocesseur puisse comprendre, 0:07:05.167,0:07:05.742 est, je pense, 0:07:05.742,0:07:08.565 la plus importante compétence que [br]quelqu'un puisse avoir actuellement. 0:07:08.565,0:07:10.919 De la même façon que vous utilisez des phrases [br]pour raconter une histoire à une personne, 0:07:10.919,0:07:13.665 vous utilisez des algorithmes pour raconter[br]une histoire à un ordinateur. 0:07:13.665,0:07:14.921 Si vous apprenez la langue, 0:07:14.921,0:07:16.381 vous pouvez sortir et raconter des histoires. 0:07:16.381,0:07:18.768 J'espère que ça vous aidera à le faire.