0:00
Merhaba, hoş geldiniz. Şimdi matematik
0:02
deyince çoğumuzun aklına okul
0:04
sıralarındaki o karmaşık formüller,
0:06
soyut teoriler geliyor, değil mi? Ama
0:07
aslında özellikle biz programcılar için
0:10
matematik bundan çok daha fazlası. O bir
0:12
sorun çözme, bir şeyler inşa etme ve
0:15
hatta sanat yapma aracı. Yani tam bir
0:17
alet çantası gibi. Hiç şöyle düşündünüz
0:20
mü? Yazdığımız her bir satır kodunun
0:22
arkasında aslında her şeyi yöneten gizli
0:24
bir dil var. İşte bu dili yani
0:26
matematiği anladığınızda programlamanın
0:29
sadece yüzeyinde kalmayıp çok daha
0:31
derinlerine inme şansı buluyorsunuz.
0:33
Mesela o oynadığımız oyunlardaki ya da
0:36
izlediğimiz filmlerdeki nefes kesen üç
0:38
boyutlu grafikler işte o dünyaları
0:41
yaratan, nesneleri hareket ettiren şey
0:43
tamamen matematik. Ya da bir oyunda
0:46
karakterin zıplaması, bir arabanın
0:48
savrulması. Bunların bu kadar gerçekçi
0:51
hissettiren ne? Tabii ki fizik
0:53
motorları. Peki o motorları ne
0:55
çalıştırıyor? Yine matematik. Ve tabii
0:58
ki günümüzün en sıcak konusu yapay zeka.
1:00
Onun da kalbinde her şeyin temelinde
1:03
yine matematik yatıyor. Şimdi gelin bu
1:05
soyut görünen ama aslında çok pratik
1:07
olan kavramları keşfetmek için alet
1:09
çantamızı bir açalım bakalım. Evet, ilk
1:11
aletimiz matrisler. Matrisler en basit
1:15
tanımıyla sayıların düzenli bir tablosu
1:18
ama bu basit tablo özellikle bilgisayar
1:20
grafiğinde bir nesneyi döndürmek,
1:23
büyütmek, küçültmek gibi işlemleri
1:25
inanılmaz kolaylaştırıyor. Makine
1:27
öğrenmesinde de devasa veri setlerini
1:30
işlemek için tam olarak bu matrisler
1:32
kullanılıyor. Matrisleri çarparken
1:34
uymanız gereken tek bir altın kural var
1:36
ve bu kural şaşmaz. Birincinin sütun
1:39
sayısı ikincinin satır sayısıyla aynı
1:41
olmalı. Eğer değilse o çarpma işlemi
1:44
yapılamaz. Nokta. İşte bakın bu görsel
1:47
her şeyi özetliyor. Soldaki örnekte iç
1:50
kısımdaki sayılar yani 2 ve 2 birbirine
1:53
eşit. O yüzden çarpma mümkün. Ama
1:55
sağdakine bakın. İçteki sayılar 2 ve 3
1:58
eşleşmiyorlar. Dolayısıyla bu işlem
2:00
matematiksel olarak imkansız. Bu kadar
2:02
basit. İşte matrislerle ilgili çok zarif
2:06
bir özellik. Bir matrisin transpozunu
2:08
almak demek satırlarıyla sütunlarının
2:11
yerini değiştirmek demek. Peki bu işlemi
2:14
iki kere üst üste yaparsak ne olur? E
2:16
tabii ki başladığınız yere geri
2:18
dönersiniz. Satırları sütun yaptınız.
2:21
Sonra bir daha aynısını yapınca her şey
2:23
eski haline geliyor. Bu kural hem çok
2:26
sezgisel hem de akılda kalıcı. Geçelim
2:29
bir sonraki aracımıza. Vektörler.
2:31
Vektörleri dijital dünyanın yön ve
2:33
mesafe tabelaları gibi düşünebilirsiniz.
2:35
bize bir şeyin sadece nerede olduğunu
2:37
değil, aynı zamanda hangi yöne ne kadar
2:40
hızla gittiğini de söylerler. Bu da
2:42
onları oyun programlamadan makine
2:44
öğrenmesine kadar her alan için
2:46
vazgeçilmez kılıyor. Peki bir vektörün
2:49
uzunluğunu yani büyüklüğünü nasıl
2:51
buluruz? Aslında bu hepimizin bildiği
2:54
Pisagor teoreminin biraz daha gelişmiş
2:56
bir hali. Her bir bileşenin karesini al,
2:58
hepsini topla. Sonra da sonucun
3:00
karekökünü al. İşte bu kadar.
3:03
Örneğimizde de -2in karesi 4, 3'ünki 9,
3:06
5'inki de 25. Hepsini toplayınca 38
3:09
ediyor. Yani uzunluğumuz √38.
3:13
İşin en güzel yanı ne biliyor musunuz?
3:15
Bu basit mantık sadece 2 ya da 3 boyutta
3:17
çalışmıyor. İsterseniz 5, isterseniz 500
3:20
boyutlu bir uzayda olun. İki vektör
3:22
arasındaki mesafeyi bulma prensibi tıpa
3:25
tıp aynı kalıyor. İşte veri biliminde
3:27
yüzlerce özellikle uğraşırken de tam
3:29
olarak bu temel prensibi kullanıyoruz.
3:31
Şimdi geldik belirsizliği
3:33
evcilleştirmeye yarayan aracımıza.
3:35
Olasılık. Olasılık bir programcının
3:38
rastgeleliği anlaması, geleceğe dair
3:41
tahminler yapması ve bilinmezliklerle
3:44
dolu bir dünyada bile akıllıca kararlar
3:46
verebilen sistemler inşa etmesi için
3:48
olmazsa olmazdır. Hadi size klasik ama
3:51
bir o kadar da kafa açıcı bir soru
3:53
sorayım. Üç kediniz olduğunu hayal edin
3:55
ve size bir ipucu veriyorum. Bu
3:57
kedilerden en az bir tanesi kesinlikle
3:59
dişi. Soru şu: Diğer ikisinin erkek olma
4:02
olasılığı nedir? Cevap: İlk aklınıza
4:04
gelen olmayabilir. Benden söylemesi.
4:07
Tamam. Problemi çözmek için önce tüm
4:09
ihtimalleri masaya yatıralım. Erkek için
4:12
e, dişi için D dersek üç kedi için topu
4:16
topu sekiz farklı kombinasyonumuz var.
4:18
İşte hepsi burada listelenmiş durumda.
4:21
Şimdi o sihirli bilgiyi yani en az biri
4:24
dişi bilgisini kullanalım. Bu ne anlama
4:27
geliyor? Üçünün de erkek olması yani e e
4:30
ihtimali artık çöp. Onu listeden
4:32
siliyoruz ve bakın ne oldu. Olasılık
4:35
evrenimiz bir anda 8 durumdan 7 duruma
4:38
küçüldü. İşte işin sırrı tam olarak
4:40
burada. Peki biz neyi arıyorduk? Bir
4:43
dişi ve iki erkek olmasını. Kalan 7
4:46
ihtimallik yeni listemize bakıyoruz ve
4:48
bu şartı uyanları sayıyoruz. İşte
4:50
buradalar. E, E, e D ve tamına 3 tane
4:56
uygun durumumuz var. Ve işte sonuç
4:59
aradığımız 3 durum var. Toplam olası
5:01
durum sayımız ise artık 7. Demek ki
5:03
cevabımız 3/7. Gördünüz mü? Baştaki o
5:06
küçük bilgiyi problemi ve sonucu nasıl
5:07
tamamen değiştirdi? İşte koşullu
5:09
olasılığın gücü bu. Sırada adı biraz
5:12
korkutucu gelebilen bir alet var.
5:14
Kalkülüs. Ama hiç endişelenmeyin.
5:17
Kalkülüs'ü aslında bir değişim ölçer
5:19
gibi düşünebilirsiniz. bize bir şeylerin
5:21
anlık olarak ne kadar hızlı değiştiğini
5:24
söyler. Bu bir animasyonun pürüzsüz
5:26
akmasından bir makine öğrenmesi
5:28
modelinin en doğru noktayı bulmasına
5:30
kadar her yerde kritik bir rol oynar.
5:33
Bileşke fonksiyonlarda ilk bakışta
5:35
karmaşık görünebilir ama mantığı çok
5:37
basittir. Hep içeriden dışarıya doğru
5:39
ilerle. Önce en içteki fonksiyonu yani
5:42
g'yi çözüyoruz. Cevap 1. Sonra bu 1'i
5:45
alıp dıştaki fonksiyonuna girdi olarak
5:48
veriyoruz. Sonuç -2. Bu programlamada
5:51
bir fonksiyonun çıktısını alıp diğerine
5:53
girdi olarak vermenin yani zincirleme
5:55
işlemlerin birebir matematiksel
5:57
karşılığıdır. Ve geldik son ve belki de
6:00
en önemli aracımıza. Mantık. Mantık
6:03
programlama dilinin grameridir.
6:05
Yazdığımız kodun iskeletidir.
6:07
Bilgisayarların nasıl düşüneceğini,
6:09
nasıl karar vereceğini belirleyen o
6:10
temel kurallar bütünüdür. Mesela V
6:13
operatörünün kuralı çok nettir ve asla
6:16
taviz vermez. Bir ifadenin doğru
6:18
sayılabilmesi için bağladığı her iki
6:20
önermenin de %100 doğru olması gerekir.
6:23
Biri bile yanlışsa sonuç kesinlikle
6:26
yanlıştır. Yazdığımız her bir if
6:28
bloğunun, her bir while döngüsünün
6:30
temelinde işte bu sarsılmaz mantık
6:33
kuralları yatar. Evet işte alet
6:36
çantamızı doldurduk. yapıları inşa etmek
6:38
için matrisler, dijital uzayda yolumuzu
6:41
bulmak için vektörler, bilinmezlikle
6:44
başa çıkmak için olasılık, değişimi
6:46
anlamak ve yönetmek için kalkülüs ve tüm
6:49
bunların konuştuğu ortak dil olan
6:51
mantık. Artık bu araçların hepsi sizin
6:54
elinizde ve bu da beni son soruya
6:57
getiriyor. Bu güçlü araç seti artık
6:59
sizin elinizdeyken soruyorum. Siz ne
7:02
inşa edeceksiniz? Bir oyun mu, bir yapay
7:04
zeka uygulaması mı yoksa yepyeni bir şey
7:07
mi? Olasılıklar gerçekten sonsuz.