Thumbnail for YAPAY ZEKA NEDİR ? MAKİNE ÖĞRENMESİ NEDİR ? MAKİNE ÖĞRENMESİNE GİRİŞ DERS - 1 by Özkan Yılmaz

YAPAY ZEKA NEDİR ? MAKİNE ÖĞRENMESİ NEDİR ? MAKİNE ÖĞRENMESİNE GİRİŞ DERS - 1

Özkan Yılmaz

19m 23s2,520 words~13 min read
Auto-Generated

[0:08]Herkese merhaba arkadaşlar. YZ Akademi kanalına hoş geldiniz. Ben Özkan. Bu seride sizlerle yapay zeka ve onun bir alt dalı olan makine öğrenmesi konularında derslere başlayacağız. Bu ilk videomuz olacak. Ben de henüz yeni öğreniyor sayılırım. Çünkü çat pat sağdan soldan birkaç projeyle, birkaç şey öğrenmeme rağmen kökünden başlayarak, işin temelinden başlayarak, işin matematiğinden, lineer cebirinden başlayarak ilk defa öğreneceğim. Kendime çok sevdiğim, beğendiğim bir, herkes tarafından övülen bir öğretmen buldum. Hocamız bu. Bu hocamız Stanford Üniversitesi'nde bilgisayar bilimleri profesörü. Aynı zamanda da yapay zeka üzerine Stanford Üniversitesi'nin çalıştığı laboratuvarlar var. Aynı zamanda da oranın da müdürü. Andrew Ng ismi Çin asıllı Amerikalı bir hocamız. Bu adam dünyanın en ileri gelen yapay zeka çalışanlarından, üzerine bilim adamlarından biri olarak gösteriliyor. Stanford'ın sitesinde Coursera denilen sitede siz de isterseniz oradan takip edebilirsiniz. İsterseniz benden Türkçe şekilde de takip edebilirsiniz. Ben de oradan takip ediyorum, oradan öğrendiklerimi işin temeliyle, mantığıyla size aktarmaya çalışacağım. Bir de öğrenme şekliyle alakalı da biraz konuşalım hemen makine öğrenmesine başlamadan önce. Ben bir şeyleri öğrenirken kesinlikle o şeyin mantığını öğrenmeyi her şeyden daha ön planda tutuyorum. Çünkü böyle olmazsa çok iyi bir coder olabilirsiniz. Çok iyi bir ne bileyim matematik bilen birisi olabilirsiniz, fizik bilen birisi olabilirsiniz ama işin arka planında ne olduğunu öğrenmezseniz kesinlikle sizin yaptığınız şeyler başkasından öğrendiklerinizi birebir kopyalamanın veyahut da Lego gibi birleştirmenin ötesine geçmeyecektir. Benim öğrenme algım doğduğum doğalı bu şekilde. Ben bir şey öğreniyorsam eğer o işin kökünü, o işin mantığını öğrenip kendim de onu yorumlayıp yeni şeyler üretebilmeyi severim. Ki bunu hocamız da videolarında defalarca böyle söylüyor. Hatta marangozluğa benzetiyor bazı şeyleri. Yani sabaha kadar ben sana marangozluk anlatayım pek bir şey olmaz. Ama sen eline testereyi, tahtayı alıp bir şeyler denemeye, işin olayı nasıl döndüğünü anlamaya başladığında ancak o zaman gerçek manada öğrenmiş olursun diye kendisi de birkaç örnek veriyor. Şu anki birkaç dersimiz çoğu sözel geçecek. Hemen öyle kodlar falan başlamayacak. Çünkü dediğim gibi bu serinin amacı aslında benim de amacım işin mantığını anlamak. Eğer ki bu videoları düzgünce izleyip anlarsanız kesinlikle eminim işin mantığını kavrayacaksınız. Gelelim makine öğrenmesine. Şimdi siz farkında olmasanız da günlük hayatınızda birçok yerde makine öğrenmesi, yapay zeka karşımızda her yerde. Bunu yani bilgisayarınızdan tutun, telefonunuzdan tutun, sahibinden.com'a girip araba baktığınızda Google'da aynı arabanın reklamı çıkması, mesela ben sahibinden'den Amarok bakıyorum. Instagram'da karşıma Amarok reklamı çıkıyor, ne alaka. Bunların hepsi makine öğrenmesiyle sizin verinizi alıp işlenmesiyle ortaya çıkıyor. Mesela Facebook. Facebook bildiğiniz gibi dünyanın en büyük sosyal medya platformu ve sadece sosyal medya platformundan da ziyade Facebook aslında bir bilgi kaynağı gibi bir şey oldu artık. Hatta Mark Zuckerberg zamanında sanırım Trump seçim için desteklediği yüzünden mahkemeye falan çıkmıştı. İnsanları o yöne ittikleyip, insanları yönlendirdiği için Facebook çok büyük bir bilgi kaynağı. Bizim her girdiğimiz şeyi, her şu arama çubuğuna yazdırdığınız şeyi, her like'ladığınız fotoyu hepsini takip ediyor. Kimleri ekliyorsunuz? Mesela siz birilerini ekliyorsunuz, o birilerine binaen başka birilerini size öneriyor. Bunların hepsi makine öğrenmesi ve yapay zeka. Aslında belli süre sonra bilgisayarınız sizi neredeyse sizden daha iyi tanıyacak duruma geliyor. Bunun en büyük yapanlardan biri de Google. Aslında bu birazcık beni korkutuyor. Çünkü baksanıza adamlar ne kadar çok bizi tanıyor, bizden daha iyi tanıyorlar neredeyse. Google ve Google'ın ürünleri, mesela YouTube, mesela Google Maps, mesela mailler. Google Maps üzerinden çok basit bir örnek vereyim size. Google Maps'ten navigasyonunuzu kullanarak İstanbul'dan Sakarya'ya gittiniz. Sakarya'da size kendini reklam vermiş olan restoranların reklamlarını önünüze düşürebiliyor. Niye? Çünkü Google Maps'ten adamlar Sakarya'ya gittiğinizi biliyor zaten. Veyahut da Google'da saat arattınız. Az sonra Instagram'a girdiğinizde karşınıza saat reklamı çıkmasının sebebi veyahut da başka bir yerde başka bir reklam çıkmasının sebebi YouTube'da ne bileyim araba videosu izliyorsunuz, 5 dakika sonra karşınıza araba reklamı çıkıyor YouTube'da yine. Bunların sebebi tamamen Google'ın sizi ve verilerinizi takip edip makine öğrenmesi yardımıyla size bunları işleyip geri döndürmesinden kaynaklanıyor. Mailler de hakeza öyle. Maillerde de mesela spam mailleri falan bilgisayar bildiğiniz gibi kendisi ayırıyor. Bu sadece Google'da değil yani Android falan da değil, aynı şekilde Apple'da da var. iPhone da aynısını yapıyor. Chrome hakeza aynı şekilde. Şimdi makine öğrenmesinin tanımlarına geçelim yavaştan. Birkaç hayatımızdan örnekleri verdikten sonra makine öğrenmesi nedir? Şimdi makine öğrenmesi hakkında dünyada net şekilde bir tanım yok. Makine öğrenmesi şudur veyahut da makine öğrenmesi bu değildir gibi net bir tanımı yok. Sadece bazı insanlar tanımlamış, bazı insanlar bunun üzerinde çalışıyor ve bu iş böyle yürüyor. Şu an günümüzdeki kullanımlarını ben size az çok anlattım zaten. Bu milyonlarca daha farklı kullanımı var. Ben size en bariz en büyük şirketlerin yaptıklarını anlattım. Makine öğrenmesinin tanımı. Bu fotoğrafı da Andrew Ng diye gösterdiğim az önceki hocanın videosundan aldım sizin için. Arthur Samuel denilen bir adam 1959 yılında makine öğrenmesini şöyle tanımlamış: "Field of study that gives computers the ability to learn without being explicitly programmed." Şöyle diyor burada. Makine öğrenmesi bilgisayara öğrenebilme kabiliyetini kazandırmaya denir demiş. Ama özellikle bunun için programlamadan, yani direkt olarak mesela 2 kere 2'nin 4 olduğunu programlamadan, 4 olduğunu kendisine öğrenmesi sağlamaya demiş Arthur Samuel isimli bir adam ta 1959 yılında.

[6:38]Dama oyununu yapay zekayla makine öğrenmesiyle kodluyor. Kendisi çok iyi bir dama oyuncusu değil fakat bir program kodluyor. Bu ne kadar zor olduğunu şöyle hayal edin: defalarca programa karşı oynamak zorunda. Çünkü programın hangi hamlelerin yenen hamleler, hangi hamlelerin kaybeden hamleler olduğunu öğrenmesi lazım ilk başta. Yani makine öğrenmesinin temel mantığı da bu. İşleyebilmesi için veri gelmesi lazım. Veri gelmezse bomboş yeni doğmuş bir bebek gibi düşünün. Bebek ne bilir? Hiçbir şey, makine de aynı o şekilde, hiçbir şey bilemez. Defalarca, defalarca dama oynayarak öğreterek bunu, kodlayarak oyunları kodlayarak bu arada mesela hamleleri. Üçün beşin üçünden bir ileri oynayarak falan filan bu şekilde kodlayarak ilk başta makineyi öğretiyor. Daha sonra makinenin kendi kendine binlerce, on binlerce defa oynaması sağlanıyor. Zaten makine öğrenmesinin olayı bu. Defalarca veriyi işleyerek ilk başta bir veri girdi. Bu Arthur Samuel denilen adam bir veri girdi. Ondan sonra makine bunu defalarca kendisine karşı oynayarak bütün ihtimalleri ezberledi. Hangi oyun hangi koşulda hangi oyun verimlidir, hangi oyun verimli değildir? Hangi hamle daha doğrusu, pardon. Daha sonra belli bir süre sonra arkadaşı geçiyor program. Arkadaşı yenmeye başlıyor. Bunun sebebi de program kendisine karşı binlerce kez oyun oynayabiliyor. Bu bir insanın, normal bir insanın bu sabırla ben sanmıyorum yapabileceğini. Yani kendine karşı bir de rakibe karşı oynarsınız ya kendine karşı sürekli binlerce defa karşısındaki de kendisi, bu taraftaki de kendisi öğrenmek iki kat hızla ilerliyor. Bu bayağı eski bir tanımlama diye geçiyor. Yeni tip tanımlama ise bir sonraki resmimizde Tom Mitchell 1998'de Tom Mitchell denilen adam şöyle tanımlıyor: "A computer program is said to learn from experience E with respect to some task T and some performance measure P, if its performance on T, as measured by P, improves with experience E." Programın öğrendiğine tecrübesine E diyelim diyor, görevlerine T diyelim diyor. Şurada E. E diyelim tecrübelerine. T diyelim görevlerine. Ondan sonra Some Performance Measure P. P de performans ölçümü diyelim, aynen. Performans ölçümü P olsun diyor. Bu şekilde tanımlıyor Tom Mitchell denilen adam da. Arthur Samuel'ın dama örneğine gelecek olursak, bunu Tom Mitchell şeklinde uyarlamak istersek burada experience yani tecrübe ne olacak? Programın defalarca kez kendisine karşı oynadığı oyunlar. Tecrübe E. E'si bu oldu. T'sine gelelim. T'si ise dama oynamak basit görev. Algoritmanın görevine dama oynamak. Bu kadar. P ise şu oluyor: Performans ölçümü de şöyle oluyor. Bir sonraki oynayacağı oyunu kazanabilme ihtimali diyelim. Veyahut da bir sonraki hamlenin kazandırabilme ihtimali diyebiliriz. Bu işte genel anlamıyla dediğim gibi experience'ın E'si tecrübelenme, algoritmanın tecrübelenmesi. Daha sonra algoritmanın görevi, daha sonra da algoritmanın performansı. Şimdi şöyle devam edeceğiz. Andrew Ng hocamız öyle bir yöntem izliyor. Benim çok hoşuma gidiyor bu. Öğrettikten sonra bir şeyleri algılayabilmişiz mi diye aynı marangoz örneğindeki gibi soru soruyor. Çok zorlayıcı sorular değil tabii. Sadece mantık soruları. Olayı anlamış mıyız, anlamamış mıyız? Şimdi ben açacağım soruyu size. Siz soruyu okuduktan ve soruyu ben açıkladıktan sonra durdurun videoyu. Çünkü ben çok hızlıca söyleyeceğim cevapları videonun uzamaması için. Siz kendiniz durdurun videoyu ve okuyun tam yani cevabı eşleştirmeye çalışın. Basit bir soru bence anlayacağınızı düşünüyorum. Diyelim ki e-mail programınız sizin maillerinizi spam veya spam değil şeklinde işaretlemenizi izliyor. Ve buna bağlı olarak maillerinizi nasıl sınıflandırması gerektiğini öğreniyor. Yani siz mesela bir Facebook mailini direkt spam'e düşürdünüz. Çünkü istemiyorsunuz Facebook'tan mail. Algoritma da bunu öğreniyor.

[10:35]Sorumuz şu: Hangileri Tom Mitchell'ın az önce E, T, P şeklinde tanımladığımız tanımlamasındaki E, T ve P'dir? Şimdi burada videoyu durdurun. Aşağıdaki 1, 2, 3 diye sıraladığım seçenekleri okuyun ve kafanızdan E, T ve P'nin hangileri olduğunu seçmeye çalışın. Ben 3 saniye sonra cevapları söylemeye başlayacağım.

[11:01]Şimdi cevaplarla devam edelim. Umarım yapmışsınızdır durdurup. Birinci şık: E-maillerinizi spam veya değil olarak sınıflandırmak. Bu bariz şekilde T. Yani görev. Biz algoritma T ne demiştik? Task yani görev, algoritmanın görevi. E-mailleri spam veya değil olarak sınıflandırmak algoritmanın neyi olur? Tabii ki T'si olur Tom Mitchell'ın tanımındaki gibi uyarlarsak. İkinci seçeneğe gelelim. Siz e-maillerinizi spam veya değil olarak işaretlerken sizi izlemesi. Bu ne olur? Bu tabii ki E harfi. E harfi tecrübelenme demiştik. Experience'dan geliyor. Burada da algoritma bizim tecrübelenmesi nasıl sağlayacağız? Bizim işaretlememizi izleyecek. Bizi görecek ve tecrübelenecek. Bizim spam veya değil olarak işaretlememiz de ona experience olarak E olarak dönecek. Daha sonra doğru sayıda sınıflandırılmış e-mail sayısı zaten sona kaldı. Bunu da performansın P'sinden çıkarmıştık. P olacak bu da tabii ki. Şimdi makine öğrenmesi algoritmalarına. Şimdi temel algoritmalar var. Bunları bilmeniz şu açıdan önemli: Andrew Ng hocamız kendi videosunda diyor ki: Ben diyor bazı şirketlere gidiyorum diyor. O şirketlerde mesela diyor ki adamlar yetişmiş insanlar diyor. Tecrübeliler halbuki diyor. Ama diyor bir problemin çözümünde sırf yanlış algoritmayı uygulamaya, uyarlamaya çalıştıkları için diyor, yani her şeyin çözüm yöntemi vardır kardeşim. Mesela çok basit bir örnek vereyim: Kiloluysan spor yaparsın. Bunun çözümü budur. Derslerin kötüyse ders çalışırsın. Sorun ortada, çözüm ortada. Sen tutup da yanlış soruna yanlış çözüm uygularsan, atıyorum kilo problemine tutup ders probleminin çözümünü uygularsan hiçbir verim alamazsın. Hoca da Andrew Ng Hoca da diyor ki: Şirkete gidiyorum diyor bazı danışmanlık yaptığı yerlere herhalde. 6 aydır diyor sırf yanlış algoritmayı oturtmaya çalıştığı için 6 aydır boşa kürek çekiyor ve belki de hiç yapamayacak ve belki de o onu uyarlayacak ama 6 ayı boşa gitmiş olacak. O yüzden doğru algoritmayı, doğru sisteme uyarlamak çok önemli. Şimdi machine learning algorithms'te iki tane çok kullanılan, en yaygın denilen algoritma var. Tabii bir sürü var veya siz de bir sürü şey uydurabilirsiniz. Ama dediğim gibi en ünlüsü supervised learning ve unsupervised learning. Supervised learning demek denetimli öğrenme. Unsupervised ise denetimsiz. Bunlar ne olduğunu açıklayacağım birazdan. Başka olarak da şurada da birkaç tane recommender systems falan var. Bunları ileride herhalde hoca işlerse ben de size anlatırım. Şu anlık bilmiyorum ne olduğunu. Çok kullanılmıyormuş zaten. Ama dediğim gibi en çok kullanılan dünyada bunlar: Supervised ve Unsupervised. Supervised belki supervisor kelimesini falan duymuşsunuzdur Türkçede çok var. Denetim kelimesinden geliyor. Denetimli öğrenme. Denetimli öğrenme ne demek? Biz verileri veriyoruz, doğru verileri de veriyoruz. Biz algoritmayı biz yetiştiriyoruz. Ve dolayısıyla bir sonraki şeyi onun bilmesini bekliyoruz. En basit tabiri bu. Denetimli demek bu demek. Sen öğretirsin, programdan cevap beklersin. Unsupervised yani denetimsiz öğrenme ise programın kendi kendine öğrenmesini sağlayabilmek. Yani programı on daha ileride detaylı şekilde işleyeceğiz. Şu anlık sadece üstten geçiyorum. Dediğim gibi algoritmanın kendi kendine öğrenebilmesini sağlamak. Bu algoritmanın amacı da bu. Şimdi işin mantığının öneminden bahsetmiş burada da. Ben biraz önce bir parça bahsettim size. Andrew Hoca da bundan bahsediyor. Arkadaşlar dediğim gibi kesinlikle bir şeyde yetkin olmak istiyorsanız yani o şeyde taklitçi olmamak istiyorsanız kesinlikle o işin ne olduğunu öğrenmeniz lazım aslen. Ne işe yaradığını, nasıl olduğunu, neyin nereden geldiğini, her bir harf tanesinin ne işe yaradığını bilirseniz ileride karşılaşacağınız her problemin de üstesinden gelebilirsiniz. Eğer ki ezbere sistemle sadece başkalarının yazdığı kitapları okuyup, sadece başkalarının nasıl diyeyim böyle ezbere iş yapan bir sürü kitap var. Mesela adam Python kitabı satıyor. Python'la adam kitap boyunca size bir tane ne bileyim sallayayım mesela bir blog yapmayı gösteriyor. Bütün kitap boyunca bu. E sen de tamam bakıyorsun, baktığını yazıyorsun. Sadece verileri değiştiriyorsun. Adam mesela sitenin ismine benim adım Özkan ya. Adam sitenin ismini Özkan blogu diyor. Sen de orayı değiştiriyorsun yazarken bütün kitap boyunca zaten kalın kitap. Bütün kitap boyunca sen de diyorsun ki Ahmet blog, Mehmet blog. E bu sana, bunun sana hiçbir faydası yok ki. Sen sadece ezberledin. Sadece birebir aynısını kopyaladın. He öğreniyorsun, öğrenmiyor değilsin. Kodların ne işe yaradığını ufaktan öğrenirsin. Ama bu sana işin temelini bilmediğin için, işin mantığını bilmediğin için seni kopyacılıktan, ezbercilikten bir adım öteye geçiremeyecek. Benim çok sevdiğim bir örnek var. Sabaha kadar bisiklet sürmekle alakalı kitaplar okuyun. Sabaha kadar bisiklet süren insanların videosunu izleyin. Hiçbiri emin olun sizin bisikletin üstüne bindiğinizde işinize yaramayacaktır. Kesinlikle düşersiniz. Bisiklet öğrenmenin tek ve tek yolu bisikletin üstüne çıkıp bisikleti sürmektir. Başka ötesi yok. Benim bu derslerdeki amacım da internette Türkçe olarak zaten çok az makine öğrenmesi ve yapay zeka konularında. Öğretenler de açıkçası diğer arkadaşlara çok şey demek istemiyorum ama beni tatmin etmedi açıkçası açık konuşmak gerekirse. Ben arkadaşların öğrettiği şeylerden tatmin olmadım. Benim istediğim gibi mantıklarını anlayıp öğretebildiklerini düşünmedim açıkçası. Birazcık ezbere onlar da ezberleyip. Herkesin öğrenme stili farklı bu arada. Onlar öyle seviyordu ben bilemem. Birazcık ezbere iş yapıp oradan devam ettiklerini düşündüm ben açıkçası. O yüzden bu videoları çekme kararı aldım Andrew Ng Hoca'dan. Hem benim bir anı, hatıra olarak kalır. Hem ben bir şey unuttuğum zaman döner bakarım hem de başka işine yarayacak arkadaşlar illaki olacaktır. Bir sonraki videolarda makine öğrenmesinin daha detaylı şekilde mantığına inmeye çalışacağız. Bu ilk videoydu. Size elimden geldiğince kendi öğrendiğim kemik bilgiyi, kemik şekilde aktarmaya çalışacağım. Son olarak unuttuğum bir şey var. Şimdi şöyle düşünün: Ben YouTube'dan izliyordum ya daha önce bunları diyelim ki. Tabii ki izlediğim insanlar Andrew Ng kadar işin kökünde olan insanlar değil. Bilgi arkadaşlar geçtikçe, yayıldıkça bir tık bir tık bir tık düşer. Bu kaçınılmazdır. Bir şeyin yüzde yüzünü öğrenemezsiniz. Şimdi şöyle düşünün: Başka YouTuber arkadaşlar ben izlerken adam anlatıyor, çok güzel ama kendisi o işin yani tabii ki yüzde yüzünü zaten kimse hiçbir şeyini öğrenemez de. O dalda diyelim. Mesela o az önce blok sitesi kurma, Python'da örneğini gösterdim ya. Oradan devam edelim mesela. Onu yazan arkadaş bir yerden bunu öğrenmiş. Öyle değil mi? İşin yüzde seksenini öğrenmiş diyelim. Sonra geliyor bunu YouTube'a çekiyor, kitaba yazıyor, bilmem ne. E bana da bunun ben de o yüzde 20 kayıpla öğrenmişti ya. Ben de aynı şekilde yüzde 20 ondan kayıtlı öğreneceğim. Yüzde 60'ını öğreneceğim. Ben de başkasına öğreteceğim yüzde 40'ı. Böyle böyle böyle azalacağı için ben o yüzden bir kere daha söylemek istiyorum. İşin kaynağını öğrenmek bu yüzden çok önemli. Çünkü bilgi yayıldıkça kesinlikle değer kaybına uğruyor. Bu kaçınılmaz yani. Ben de belki aynı şekilde eksik de size aktarmışımdır. O yüzden en mantıklısı işin temelini bilmek. Temelini bildiğiniz şeyden hiçbir zaman korkmazsınız. Her problemin üstesinden gelirsiniz. Bu video bu kadar. Dersleri takip ederseniz ben eminim bir şeyler öğreneceksiniz makine öğrenmesinde. Ve kemikten başladığımız için en azından yani kod ezberlemeniz önemli değil arkadaşlar. Yarın öbür gün işe girdiğiniz zaman veyahut da mesela Python bilen adamı tutup Java işine almak isteyebiliyorlar. Bunun sebebi kod öğrenmek kolay. Adam Java kodlarını bilmiyor ama kod öğrenmek kolay. Bu adam çözüm biliyor mu? Bu adam mantık biliyor mu? Bu adam algoritma biliyor mu? Bütün mevzu bu. İşin kemiğinden kaçmayın. İzlediğiniz için teşekkür ederim. Bu videomuz bu kadar. Bir sonraki videoda görüşmek üzere.

Need another transcript?

Paste any YouTube URL to get a clean transcript in seconds.

Get a Transcript