1 00:00:17,903 --> 00:00:21,800 Merhaba, benim adım Christian Rudder ve ben OkCupid'in kurucularından biriydim. 2 00:00:21,800 --> 00:00:24,332 Artık ABD'deki en büyük tanışma sitelerinden biri. 3 00:00:24,332 --> 00:00:27,231 Sitedeki neredeyse herkes gibi ben de matematik bölümündeydim. 4 00:00:27,231 --> 00:00:30,061 Tahmin edebileceğiniz gibi çözümsel yaklaşımlarla biliniriz. 5 00:00:30,061 --> 00:00:31,783 Buna eşleştirme algoritması diyoruz. 6 00:00:31,783 --> 00:00:33,745 Temelde OkCupid'in eşleştirme algoritması 7 00:00:33,745 --> 00:00:36,779 iki kişinin randevuya çıkıp çıkmaması konusunda yardımcı oluyor. 8 00:00:36,779 --> 00:00:38,741 Tüm işimizi bunu temel olarak inşa ettik. 9 00:00:38,741 --> 00:00:40,445 Algoritma süslü bir kelime 10 00:00:40,445 --> 00:00:43,494 ve insanlar bunu büyük bir şeymiş gibi düşünmekten hoşlanıyorlar. 11 00:00:43,494 --> 00:00:45,760 Ama aslında algoritma sadece bir sistematik, 12 00:00:45,760 --> 00:00:47,793 bir sorunu çözmenin kademeli bir yolu. 13 00:00:47,817 --> 00:00:49,994 Süslü olmasına hiç de gerek yok. 14 00:00:50,018 --> 00:00:53,419 Bu derste bu özel algoritmamızı nasıl elde ettiğimizi açıklayacağım, 15 00:00:53,419 --> 00:00:55,660 böylece nasıl yapıldığını da görmüş olacaksınız. 16 00:00:55,660 --> 00:00:57,594 Algoritmalar neden önemli ki? 17 00:00:57,618 --> 00:00:59,198 Bu ders neden var? 18 00:00:59,222 --> 00:01:02,602 Yukarıda kullandığım çok önemli bir ifadeyi fark edin: 19 00:01:02,602 --> 00:01:05,049 Bir sorunu çözmenin kademeli yolunu oluşturuyorlar 20 00:01:05,049 --> 00:01:08,471 ve bildiğiniz gibi bilgisayarlar kademeli işlemlerde çok başarılılar. 21 00:01:08,471 --> 00:01:12,532 Algoritmasız bir bilgisayar sadece pahalı bir ağırlıktan başka bir şey değil 22 00:01:12,532 --> 00:01:15,845 ve bilgisayarlar günlük hayatımızın her tarafını işgal ettiğinden beri 23 00:01:15,845 --> 00:01:17,392 algoritmalar her yerdeler. 24 00:01:17,830 --> 00:01:20,611 OkCupid'in eşleştirme algoritmasının arkasındaki matematik 25 00:01:20,611 --> 00:01:21,811 şaşırtıcı derecede basit. 26 00:01:21,811 --> 00:01:25,813 Sadece biraz toplama, çarpma ve birazcık da karekök. 27 00:01:25,837 --> 00:01:30,270 Onu tasarlarken karışık olan taraf ise gizemli bir şeyi, insan çekiciliğini alıp 28 00:01:30,270 --> 00:01:33,848 bilgisayarın üzerinde çalışabileceği ögelere nasıl ayırabileceğini bulmaktı. 29 00:01:33,848 --> 00:01:36,699 İnsanları eşleştirmek için ihtiyacımız olan ilk şey veriydi, 30 00:01:36,699 --> 00:01:38,715 algoritmanın üzerinde çalışacağı bir şey. 31 00:01:38,715 --> 00:01:41,947 İnsanlardan hızlıca veri elde etmenin en iyi yolu ise sadece sormak. 32 00:01:41,947 --> 00:01:44,624 Bu yüzden OkCupid'in kullanıcılara 33 00:01:44,624 --> 00:01:46,905 "Bir gün çocuk sahibi olmak istiyor musunuz?" 34 00:01:46,905 --> 00:01:48,923 "Ne sıklıkla dişlerinizi fırçalıyorsunuz?" 35 00:01:48,923 --> 00:01:50,595 "Korku filmlerini seviyor musunuz?" 36 00:01:50,595 --> 00:01:53,992 "Tanrı'ya inanıyor musunuz?" gibi önemli sorular sormasına karar verdik. 37 00:01:53,992 --> 00:01:56,777 Soruların çoğu benzeri benzerle eşleştirmek için uygun, 38 00:01:56,777 --> 00:01:59,111 yani her iki kişi de aynı şekilde cevap verirse. 39 00:01:59,111 --> 00:02:01,659 Örneğin, korku filmlerini seven iki kişi 40 00:02:01,683 --> 00:02:05,004 muhtemelen seven biri ve sevmeyen birinden daha iyi bir eşleşmedir. 41 00:02:05,028 --> 00:02:08,521 Peki ya "İlgi odağı olmaktan hoşlanır mısınız?" gibi bir soru? 42 00:02:08,521 --> 00:02:11,283 Eğer bir ilişkide her iki kişi buna evet cevabını veriyorsa 43 00:02:11,283 --> 00:02:13,376 çok büyük sorunları olacaktır. 44 00:02:13,400 --> 00:02:14,645 Bunu erken fark ettik 45 00:02:14,645 --> 00:02:17,882 ve her soruda biraz daha veri elde etmemiz gerektiğine karar verdik. 46 00:02:17,882 --> 00:02:19,445 Sadece kendi cevaplarını değil, 47 00:02:19,445 --> 00:02:23,014 aynı zamanda başkasından almak istedikleri cevabı da belirtmelerini istedik. 48 00:02:23,014 --> 00:02:24,439 Bu, bayağı işe yaradı. 49 00:02:24,439 --> 00:02:26,251 Ama bir boyuta daha ihtiyacımız vardı. 50 00:02:26,251 --> 00:02:29,318 Bazı sorular, biri hakkında diğerlerinden daha fazla şey söyler. 51 00:02:29,318 --> 00:02:31,173 Örneğin, politika hakkındaki bir soru; 52 00:02:31,173 --> 00:02:34,579 "Hangisi daha kötü: Kitabın mı yoksa bayrağın yanması mı?" gibi bir soru 53 00:02:34,579 --> 00:02:37,353 bir kişinin film zevklerinden daha fazla şey ortaya çıkarır 54 00:02:37,353 --> 00:02:39,972 ve her şeyi eşit olarak ölçmek bir anlam ifade etmiyor, 55 00:02:39,972 --> 00:02:41,686 bu yüzden veri göstergesi ekledik. 56 00:02:41,686 --> 00:02:43,710 OkCupid'in size sorduğu her şey için 57 00:02:43,734 --> 00:02:46,563 hayatınızda oynadığı rolü bize anlatma şansınız var 58 00:02:46,563 --> 00:02:49,066 ve bu alakasız ile gerekli şeyler arasında değişiyor. 59 00:02:49,446 --> 00:02:52,668 Her soru için algoritmamız açısından üç şeyimiz var: 60 00:02:52,692 --> 00:02:54,044 İlk olarak, cevabınız; 61 00:02:54,617 --> 00:02:57,441 ikinci olarak, başkasının nasıl cevap vermesini istemeniz -- 62 00:02:57,441 --> 00:02:58,781 potansiyel eşiniz -- 63 00:02:58,781 --> 00:03:01,659 ve üçüncü olarak, sorunun sizin için ne kadar önemli olması. 64 00:03:02,710 --> 00:03:03,962 Tüm bu bilgilerle birlikte 65 00:03:03,986 --> 00:03:07,104 OkCupid iki kişinin ne kadar iyi geçinebileceğini bulabiliyor. 66 00:03:07,104 --> 00:03:10,014 Algoritma, sayıları inceleyip bize bir sonuç veriyor. 67 00:03:10,014 --> 00:03:11,334 Uygulamalı bir örnek olarak 68 00:03:11,334 --> 00:03:14,023 hadi sizi başka biriyle nasıl eşleştireceğimize bakalım. 69 00:03:14,023 --> 00:03:15,152 Ona "B" diyelim. 70 00:03:16,023 --> 00:03:17,469 B ile olan eşleşme yüzdeniz 71 00:03:17,469 --> 00:03:19,529 ikinizin de cevapladığı soruları baz alıyor. 72 00:03:19,529 --> 00:03:22,106 Ortak sorulara da "s" diyelim. 73 00:03:22,559 --> 00:03:23,857 Çok basit bir örnek olarak 74 00:03:23,857 --> 00:03:26,573 bir grup "s"yi sadece iki ortak soruyla kullanıyoruz 75 00:03:26,597 --> 00:03:28,425 ve bundan bir eşleşme çıkartıyoruz. 76 00:03:28,449 --> 00:03:30,120 İşte iki örnek sorumuz. 77 00:03:30,144 --> 00:03:32,525 İlki diyelim ki "Ne kadar dağınıksın?" 78 00:03:32,549 --> 00:03:34,645 ve cevap olasılıkları da şunlar: 79 00:03:34,669 --> 00:03:38,030 Çok dağınık, ortalama ve çok düzenli. 80 00:03:38,030 --> 00:03:39,834 "Çok düzenli" olarak cevapladığınızı, 81 00:03:39,834 --> 00:03:42,762 başkasının da "çok düzenli" olarak cevaplamasını istediğinizi 82 00:03:42,762 --> 00:03:45,262 ve sorunun sizin için çok önemli olduğunu varsayalım. 83 00:03:45,262 --> 00:03:46,502 Yani temizlik delisisiniz. 84 00:03:46,502 --> 00:03:49,680 Düzenlisiniz, başkasının da düzenli olmasını istiyorsunuz, hepsi bu 85 00:03:49,680 --> 00:03:51,699 ve B'nin biraz farklı olduğunu varsayalım. 86 00:03:51,699 --> 00:03:53,688 Kendisini "çok düzenli" olarak cevapladı 87 00:03:53,712 --> 00:03:56,719 ama başkasının "ortalama" cevabı onun için yeterli 88 00:03:56,743 --> 00:03:59,145 ve sorunun onun için çok da bir önemi yok. 89 00:03:59,169 --> 00:04:02,062 Önceki örneğimizden ikinci soruya bakalım. 90 00:04:02,086 --> 00:04:04,032 "İlgi odağı olmaktan hoşlanır mısınız?" 91 00:04:04,032 --> 00:04:05,610 Cevap ya "evet" ya da "hayır." 92 00:04:05,610 --> 00:04:08,983 "Hayır"ı cevapladınız, başkasının da "hayır"ı cevaplamasını istiyorsunuz 93 00:04:08,983 --> 00:04:11,014 ve sorunun sizin için çok da bir önemi yok. 94 00:04:11,014 --> 00:04:12,759 B "evet"i cevapladı. 95 00:04:12,759 --> 00:04:14,804 Başkasının da "hayır"ı cevaplamasını istiyor 96 00:04:14,804 --> 00:04:17,049 çünkü tüm ilginin onda olmasını istiyor 97 00:04:17,049 --> 00:04:19,311 ve soru onun için bir miktar önemli. 98 00:04:19,335 --> 00:04:21,334 Şimdi tüm bunları hesaplamaya çalışalım. 99 00:04:21,722 --> 00:04:25,005 İlk adımımız, bunu yapmak için bilgisayarları kullandığımızdan dolayı, 100 00:04:25,005 --> 00:04:28,761 "bir miktar önemli" ve "çok önemli" gibi düşüncelere sayısal değerler vermeliyiz 101 00:04:28,761 --> 00:04:31,460 çünkü bilgisayar her şeye sayı biçiminde ihtiyaç duyar. 102 00:04:31,460 --> 00:04:33,679 OkCupid için şu ölçekte karar kıldık: 103 00:04:33,703 --> 00:04:35,809 "Alakasız" 0 değerinde. 104 00:04:36,173 --> 00:04:38,152 "Biraz önemli" 1 değerinde. 105 00:04:38,538 --> 00:04:40,347 "Bir miktar önemli" 10 değerinde. 106 00:04:40,831 --> 00:04:42,585 "Çok önemli" 50 değerinde. 107 00:04:42,609 --> 00:04:46,221 "Kesinlikle gerekli" 250 değerinde. 108 00:04:46,245 --> 00:04:48,876 Daha sonrasında algoritma iki basit hesaplama yapıyor. 109 00:04:48,900 --> 00:04:52,146 İlki "B'nin cevapları sizi ne kadar tatmin etti?" 110 00:04:52,170 --> 00:04:55,963 Yani B sizin ölçeğinizde ne kadar olası puan topladı? 111 00:04:55,987 --> 00:04:58,999 B'nin ilk soruya, dağınıklık hakkındaki soruya olan cevabının, 112 00:04:58,999 --> 00:05:01,787 sizin için çok önemli olduğunu belirttiniz. 113 00:05:01,787 --> 00:05:04,017 50 puan değerinde ve B bunu bildi. 114 00:05:04,375 --> 00:05:08,088 İkinci soru ise sadece 1 puan değerinde çünkü biraz önemli olduğunu söylediniz, 115 00:05:08,088 --> 00:05:09,635 B bunu bilemedi, 116 00:05:09,659 --> 00:05:12,441 dolayısıyla B'nin cevapları 51 olası puan üzerinden 50. 117 00:05:12,465 --> 00:05:15,073 Bu %98 oranında tatmin edici, çok iyi. 118 00:05:15,073 --> 00:05:17,800 Algoritmanın göz önünde bulundurduğu ikinci soru ise şu: 119 00:05:17,800 --> 00:05:19,276 B'yi ne kadar tatmin ettiniz? 120 00:05:19,276 --> 00:05:22,329 B, dağınıklık sorusuna olan cevabınıza 1 puan verdi 121 00:05:22,353 --> 00:05:24,526 ve ikincisine de 10 puan verdi. 122 00:05:24,745 --> 00:05:28,132 Bu 11 puanın, 1 ile 10'un toplamı, 10 puan kazandınız -- 123 00:05:28,156 --> 00:05:30,751 ikinci soruda birbirinizi cevabınızla tatmin ettiniz. 124 00:05:30,775 --> 00:05:35,017 11 üzerinden 10 puan olan cevaplarınız B için %91 oranında tatmin edici. 125 00:05:35,041 --> 00:05:36,192 Fena değil. 126 00:05:36,216 --> 00:05:38,723 Son adım, bu iki eşleşme yüzdelerini alıp 127 00:05:38,747 --> 00:05:40,613 ikiniz için de tek bir sayı elde etmek. 128 00:05:40,637 --> 00:05:43,248 Bunu yapmak için algoritma puanlarınızı çarpıyor, 129 00:05:43,272 --> 00:05:44,937 sonra n dereceden kökünü alıyor, 130 00:05:44,961 --> 00:05:47,144 "n" soru sayısını oluşturuyor. 131 00:05:47,144 --> 00:05:49,617 S, - ki bu örnekte soru sayısını oluşturuyor - 132 00:05:49,617 --> 00:05:51,887 sadece 2 olduğundan dolayı 133 00:05:51,887 --> 00:05:53,026 hesap şöyle: 134 00:05:53,026 --> 00:05:58,472 eşleşme yüzdesi yüzde 98 ile yüzde 91'in çarpımının kare köküne denk geliyor. 135 00:05:58,496 --> 00:06:00,280 Bu da yüzde 94'e denk geliyor. 136 00:06:00,304 --> 00:06:03,508 Bu 94'lük yüzde, B ile olan eşleşme yüzdeniz. 137 00:06:03,508 --> 00:06:04,885 Bildiklerimize dayanarak 138 00:06:04,885 --> 00:06:08,006 birbirinizle ne kadar mutlu olabileceğinizin matematiksel ifadesi. 139 00:06:08,006 --> 00:06:11,734 Peki algoritma neden iki eşleşme puanının ortalamasını almak yerine 140 00:06:11,734 --> 00:06:14,303 çarpıyor ve kare kökünü alıyor? 141 00:06:14,303 --> 00:06:16,832 Genel olarak bu formüle geometrik ortalama deniyor. 142 00:06:16,832 --> 00:06:18,793 Geniş aralığı olan değerleri birleştirmek 143 00:06:18,793 --> 00:06:21,422 ve farklı nitelikleri temsil etmek için harika bir yol. 144 00:06:21,422 --> 00:06:23,933 Diğer bir ifadeyle romantik eşleştirme için mükemmel. 145 00:06:23,933 --> 00:06:26,800 Geniş aralıklarınız ve tonlarca farklı veri göstergeniz var, 146 00:06:26,800 --> 00:06:30,592 dediğim gibi filmler, politika, din -- her şey hakkında veri göstergeniz var. 147 00:06:30,616 --> 00:06:32,454 Sezgisel olarak bu çok mantıklı. 148 00:06:32,478 --> 00:06:35,253 Yüzde 50 oranında birbirini tatmin eden iki insan 149 00:06:35,277 --> 00:06:39,229 0 ile 100 oranında tatmin eden diğer iki kişiden daha iyi bir eşleşme olmalı 150 00:06:39,253 --> 00:06:41,067 çünkü sevgi karşılıklı olmalı. 151 00:06:41,091 --> 00:06:43,582 Yanılma payı için biraz düzeltme ekledikten sonra, 152 00:06:43,606 --> 00:06:46,177 bu durumda az sayıda sorumuz var, 153 00:06:46,201 --> 00:06:47,518 bu örnekte yaptığımız gibi, 154 00:06:47,542 --> 00:06:48,714 devam edebiliriz. 155 00:06:48,738 --> 00:06:50,650 OkCupid iki kişiyi her eşleştirdiğinde 156 00:06:50,674 --> 00:06:52,706 henüz özetlediğimiz adımlardan geçiyor. 157 00:06:52,706 --> 00:06:55,144 İlk olarak cevaplarınız hakkındaki veriyi topluyor, 158 00:06:55,144 --> 00:06:57,698 sonra tercihlerinizi ve diğer insanların tercihlerini 159 00:06:57,698 --> 00:06:59,999 basit, matematiksel yollarla karşılaştırıyor. 160 00:07:00,023 --> 00:07:02,266 Bu, gerçek dünya olgusunu alıp 161 00:07:02,266 --> 00:07:05,385 onu bir mikroçipin anlayabileceği bir şeye dönüştürme kabiliyeti, 162 00:07:05,409 --> 00:07:08,526 bence birinin bu günlerde sahip olabileceği en önemli yetenek. 163 00:07:08,526 --> 00:07:11,347 Birine bir hikâye anlatmak için cümleleri kullandığınız gibi 164 00:07:11,347 --> 00:07:14,349 bilgisayara hikâye anlatmak için algoritmaları kullanıyorsunuz. 165 00:07:14,349 --> 00:07:16,962 Dili öğrenirseniz çıkıp hikâyelerinizi anlatabilirsiniz. 166 00:07:16,962 --> 00:07:18,559 Umarım bu yardımcı olacak.