-: Merhaba ve Derin Öğrenme kursuna tekrar hoş geldiniz. Önceki eğitimlerde kendi kendini organize eden haritaların nasıl çalıştığını gördük ve bugün nihayet nasıl öğrendiklerini öğreneceğiz. O yüzden doğrudan konuya girelim. Burada çok basit bir kendi kendini organize eden harita örneğimiz var. Girdi vektörlerimizde üç özelliğimiz var ve çıktıda dokuz düğümümüz var. Daha önce de bahsettiğimiz gibi, kendi kendini organize eden haritalar veri setinizin boyutluluğunu azaltmak için kullanılır. Ve burada, girdimiz yalnızca üç özelliğe sahipken çıktımız daha fazla özelliğe sahip gibi görünürken durumun nasıl olduğunu merak ediyor olabilirsiniz. Bu temsilin, kendi kendini organize eden haritalar hakkındaki anlayışınızı karıştırmasına izin vermeyin. Burada veri setimizde üç özellik veya üç sütun bulunmaktadır. Dolayısıyla, her biri üç sütuna sahip binlerce ve binlerce ve binlerce satırımız olabilir. Bu da girdi veri setimizin aslında üç boyutlu olduğu, oysa kendi kendini organize eden bir haritadaki çıktı veri setimizin her zaman iki boyutlu bir harita olduğu ve bu nedenle boyutluluğu 3D'den 2D'ye indirdiğimiz anlamına gelir. Şimdi bu kendi kendini organize eden haritayı, bu derste daha önce yapay sinir ağları, konvolüsyon sinir ağları ve tekrarlayan sinir ağları hakkında çalıştıklarımızdan bize tanıdık gelen bir girdiye veya bir temsile dönüştüreceğiz. O zaman tersine çevirelim. İşte böyle görünecek. Buradaki kilit nokta, tamamen aynı ağ olması, tek fark düğümleri nasıl konumlandırdığımız. Hala aynı miktarda bağlantımız, aynı miktarda girdimiz, aynı miktarda çıktımız var, sadece görsel bir temsil değişti çünkü buna alıştık ve bu şekilde neler olup bittiğini anlamamız biraz daha kolay. Aynı zamanda, kendi kendini organize eden haritaların farklı olduğunu da belirtmek isterim. Bunlar, daha önce kursun denetimli öğrenme bölümünde sinir ağlarında tartıştıklarımızdan çok farklıdır. Ve bunun iki kısmı var. Öncelikle kendi kendini organize eden haritalar çok çok daha kolaydır. Böylece kendi kendini organize eden haritaları çok hızlı bir şekilde kavrayabileceğinizi ve bunların arkasındaki tüm konseptin çok basit ve anlaşılır olduğunu göreceksiniz. Aynı zamanda, kendi kendini organize eden haritalar farklı olduğu için, aynı isimlere sahip olabilecek kavramların farklı anlamlara sahip olduğunu ve bu nedenle daha önce tartıştığımız yapay sinir ağları, evrişimli sinir ağları ve tekrarlayan sinir ağları hakkındaki bilgilerinizin, kendi kendini organize eden haritalarda tartışacağımız şeylerin anlamlarını karıştırmanıza neden olabileceğini belirtmek de önemlidir. Bu nedenle, bu eğitimden geçerken bunu aklınızda bulundurun ve ağırlıklar, özet ve karşılaşabileceğiniz diğer şeyler hakkında konuşurken dikkatli olun. Bunları belirtmeye çalışacağım ve bunun farkında olduğunuz sürece sorun yaşamayız. Eğer bu konuda anlaştıysak, başlayalım. İlk olarak, çıktılarımızdaki en üst düğüm olan en üst düğüme bakacağız. Ve özellikle bu düğüme giden üç bağlantıya veya üç sinopsise bakacağız. Aslında, özetin geri kalanını grileştirelim, böylece bu belirli kombinasyona veya bu belirli üçüne odaklandığımızı bilelim. Ve daha önce olduğu gibi bunların her birine bir ağırlık atanacaktır. Burada W 1,1, bir, iki ve bir, üç var. İlk indeks, bunun çıktı düğümlerimizdeki ilk düğüm olduğu anlamına gelir ve ikinci indeks, bu sinapsın nereden bağlandığı anlamına gelir. Burada belirtmemiz gereken önemli bir husus da, kendi kendini organize eden haritalardaki ağırlıkların, yapay sinir ağlarında gördüğümüzden tamamen farklı bir çağrışıma sahip olmasıdır. Yapay sinir ağlarında ağırlıklar çarpmak için kullanılmıştır. Böylece bu düğümün girdisini veya düğümde ne varsa onu ağırlık ile çarptık, bunları topladık ve sonra bir aktivasyon fonksiyonu uyguladık. Kendi kendini organize eden haritalarda aktivasyon fonksiyonu yoktur. Ağırlıklar düğümün kendisinin bir özelliğidir ve burada temsil ettiğimiz şey bu düğümün aslında bu koordinatlara sahip olduğudur. Yani burada üç boyutlu bir girdi vektörünüz varmış gibi düşünün. Yani X1, X2 ve X3, ve X1, X2 ve X3 giriş uzayındaki koordinatlarıdır. Yani bunu üç boyutlu bir grafik olarak düşünürsek, bu orada bir yerde bir vektör ve bunlar da onun koordinatları. Bu düğüm, sadece bir aktivasyonun sonucu veya bu ağırlıklı değerlerin toplanması sonucu olmak yerine, ağırlıkların tamamen farklı bir anlamı vardır. Bu düğüm de aslında girdi alanımızda bir tür hayalet gibi olmaya çalışıyor. Girdi alanımızda nereye sığabileceğini görmeye çalışıyor. Ve olan şey de tam olarak bu. Yani bu ağırlıklar, girdi uzayımızdaki bu düğümün koordinatlarıdır. Yani burada bir yandan girdi veri kümesi için her noktayı temsil eden üç düğümünüz var. Ya da 20 boyutlu bir girdi alanınız varsa, girdilerinizde 20 sütun olabilir. Burada girdi uzayınızdaki bir noktayı temsil eden bir düğümünüz vardır. Ve yine, eğer girdilerinizde 20 sütun olsaydı, burada 20 sütun olsaydı, her düğümün 20 ağırlığı olurdu. Bunu anlamak önemlidir. Yani temel olarak bu çıktı düğümlerini düşünün, bu kırmızı olanlar, her biri bir hayalet veya girdi uzayımızdaki hayali bir veri noktası aslında orada mevcut değil, karışmaya çalışıyor. İşte başlıyoruz, bu bir numaralı düğüm. Aynı şeyi iki numaralı düğüm için de yapabiliriz, aynı şeyi üç numaralı düğüm için de yapabiliriz, aynı şeyi dört numaralı düğüm için de yapabiliriz ve bu böyle devam eder. Dolayısıyla, düğümlerin her biri, bizim durumumuzda dokuz veya daha fazlası olabilir, algoritmanın başlangıcında kendi ağırlıklarına sahiptir, çünkü genellikle ağırlıklar sıfıra yakın ancak sıfır olmayan değerlere rastgele atanır. Dolayısıyla bu düğümlerin her birinin girdi uzayında kendine ait hayali bir yeri vardır. Peki bu neden önemli? Bu bizi nereye götürüyor? Bu, kendi kendini organize eden harita algoritmasının özüdür. Şimdi bir yarışma yapacağız. Bu düğümler arasında, veri setimizin her bir satırını inceleyeceğiz ve bu düğümlerden hangisinin bir veri setindeki her bir satırımıza en yakın olduğunu bulacağız. Ve bir numaralı sıra ile başlayacağız. Şimdi devam edelim ve veri setimizin bir numaralı satırını giriş düğümlerimize girdiğimizi düşünelim. Böylece birinci sütuna, ikinci sütuna ve üçüncü sütuna bir numaralı satırın değerlerini koyduk. Şimdi bu düğümlerin her birini tek tek inceleyeceğiz ve orijinal girdi uzayında bunlardan hangisinin en yakın olduğunu bulacağız. Bu düğümlerden hangisi bir numaralı satırımıza en yakındır? Ve bunu hesaplama şeklimiz temel olarak şöyledir: bir numaralı düğüm için hesaplayalım, mesafeyi öklid mesafesi olarak hesaplarız. Yani X1 eksi W 1,1 kare, artı X2 eksi W 1,2 kare, artı X3 eksi W 1,3 kare ve tüm bunların karekökü olarak hesaplanır. Ve diyelim ki 1 değerini elde ettik. 2 ve bu arada, burada bire yakın değerler almalısınız çünkü tüm bu algoritmanın düzgün çalışması için girdilerinizin sıfır ile bir arasında olduğundan emin olmalısınız. Daha önce de bahsettiğimiz gibi, normalleştirme veya standardizasyon, verileri kendi kendini organize eden haritaya girmeden önce bu teknikleri uygulamanız gerekir. Yani bu, veri kümemizin bir numaralı düğümü ile bir numaralı satırı arasındaki mesafedir. Şimdi satırı değiştirmiyoruz, hala bir numaralı satırdayız, ancak girdi uzayımızda iki numaralı düğüme olan mesafeyi hesaplayalım. Mesafe hesaplanır ve örneğin 0 diyelim. 8, sonra üç numaralı düğüme olan mesafeyi hesaplarız ve bu sefer mesafe 0'dır. 4. Böylece bir numaralı satırın veya bu girdilerin, bu satırın temsil ettiği verilerimizdeki bu noktanın, orijinal üç boyutlu uzayımızdaki bir numaralı düğüme kıyasla üç numaralı düğüme üç kat daha yakın olduğunu görebilirsiniz. Ve sonra aynı şeyi dört numaralı düğüm için hesaplarız, 1 değerini elde ederiz. 1, örneğin, ve böyle devam eder. Böylece bir numaralı satır arasındaki tüm mesafeleri hesaplarız. Bu arada, hala bir numaralı sıradayız. Bir numaralı satır veya bir numaralı satırın girdi uzayımızda temsil ettiği nokta ile kendi kendini organize eden haritamızdaki bu düğümlerin her biri arasındaki mesafeyi hesapladık. Ve bunların arasında en yakın olanın üç numaralı düğüm olduğunu gördük. Ve üç numaralı düğüme BMU ya da en iyi eşleşen birim diyeceğiz. Yani algoritmanın özü budur. Ve şimdi bundan sonra ne olacağını öğrenmek istiyoruz. Bütün bunlarla ne olacak? Bu sonuçla birlikte, sırada kendi kendini organize eden haritalarda neler olup bittiği var. Bunun için daha büyük bir kendi kendini organize eden haritaya bakalım. Bunun biraz mantığa aykırı olduğunu biliyorum. Genellikle bir şeyi daha iyi anlamak istediğimizde onu küçültürüz, ancak bu durumda bu kavramı daha iyi anlamak için daha büyük bir haritaya ihtiyacımız olacak. Ve diyelim ki bu büyük haritada, kendi bir numaramız için en iyi eşleşen birimi bulduk. İşte burada. Bundan sonra olacak şey, kendi kendini organize eden haritanın aslında ağırlıkları güncelleyeceğidir. Burada ağırlık kelimesini tırnak içine alıyorum çünkü bunlara hala ağırlık deniyor, sadece alıştığımız ağırlıklardan farklılar. Az önce görebileceğiniz gibi, ağırlıklar aslında aynı şekilde kullanılmaz, burada ağırlıklar o belirli düğümün karakteristiğidir. Dolayısıyla, bu en iyi eşleşen birim için ağırlıklar güncellenecek ve böylece veri kümemizdeki ilk satırımıza daha da yakın olacak. Ağırlıkları güncellememizin nedeni, girdilerimiz üzerinde kontrolümüzün olmaması ve veri setimizi güncelleyemememizdir, bu nedenle bu formülde kontrol edebileceğimiz tek şey, bu düğümün daha yakın hale gelmesi için ağırlıklarıdır. Ve bu ne olacak. İşte, bu flaş güncellendiği anlamına geliyor. Basit bir ifadeyle bunun anlamı, ya da görsel olarak bunun anlamı, kendi kendini organize eden haritanın bu veri noktasına yaklaşmasıdır. İşte bu kısım, başlangıç ağırlıklarıyla birlikte kendi kendini organize eden haritamızdır ve şimdi bu nokta, aslında Wikipedia'dan alınan bu resimde de görebileceğiniz gibi, aslında bir numaralı satıra baktığımız mevcut noktamıza en yakın nokta olduğunu görebilirsiniz ve şimdi onu daha yakına sürükleyeceğiz. Bu noktaya yaklaştıracağız. Nihayetinde istediğimiz sonuç böyle bir şey ama şimdilik aceleci davranmayalım. Bu aşamada, en iyi eşleşen birimi veya BMU'yu mevcut satıra sürüklemekten mutluluk duyuyoruz. Bu yüzden biraz daha yaklaştırıyoruz, tam olarak olan şey bu ve bu yüzden buna kendi kendini organize eden harita deniyor. Girdi verileriniz üzerinde kendi kendini organize eder. Ve bu arada, burada görebileceğiniz gibi, olan şey sadece bu noktanın daha yakına sürüklenmesi değil, aynı zamanda bazı yakın noktaların da bu noktaya daha yakına sürüklenmesidir. Şimdi de tam olarak buna bakacağız. İşte kendi kendini organize eden haritadaki en iyi eşleşen birimimiz. Bir sonraki adımımız, bu en iyi eşleşen birimin etrafındaki bütün bir yarıçaptır. Ve kendi kendini organize eden haritamızın bu yarıçap içinde kalan her bir noktası, her bir düğümü, eşleştiğimiz satıra yaklaşmak için ağırlıklarını güncelleyecektir. İşte, hepsinin ağırlıkları güncellendi. BMU'ya ne kadar yakın olursanız, ağırlıklarınız o kadar ağır güncellenir. Yani bu ağırlıklar en çok güncellenecek, bu ağırlıklar daha az güncellenecek, bu ağırlıklar daha da az güncellenecek. Ve bunu düşünmenin en iyi yolu, birbirlerini sürüklüyorlarmış gibi düşünmektir. Yani siz bunu çektikçe, tüm bu zincir ya da tüm bu yapı yavaşça aynı yöne doğru çekilir. Dolayısıyla, bu BMU'ya ne kadar yakın olursanız, eşleştiğiniz veya BMU'nun eşleştiği sıraya doğru o kadar çok çekilirsiniz. İşte yarıçap kavramı böyle çalışır. Şimdi iki numaralı satıra bir göz atalım. Diyelim ki iki numaralı satırın en iyi eşleşen birimi başka bir yerde, örneğin şurada, iki numaralı satır için en iyi eşleşen birim bu. Burada olan şey yine BMU'nun daha yakın olacak şekilde güncellenmesi ve kendi yarıçapına sahip olmasıdır, bu nedenle bu yarıçap içindeki her şey de eşleştirdiğimiz satıra daha yakın olacak şekilde güncellenir. Dolayısıyla buradaki soru, birbirleriyle nasıl mücadele edecekleri? Birbirleriyle nasıl kavga ediyorlar? Aslında oldukça basit, o yüzden bir noktaya bakalım. Kırmızı olan hariç hepsini grileştirelim. Gördüğünüz gibi, yeşil BMU'dan oldukça uzakta, mavi BMU'ya ise oldukça yakın. Aslında, yeşil BMU'dan o kadar uzakta olabilir ki, onun yarıçapına bile girmez. Yani burada olan şey, mavi BMU ile çok daha sert çekilmesi ve bu nedenle mavi BMU gibi olması, yani daha yakın hale gelmesidir. Ve onu maviye boyayacağız. O zaman şuna bir göz atalım. Burada da aynı şey, oh, burada aynı şey değil, bu biraz farklı. Yani bu hala yeşil olandan çok uzakta ama aynı zamanda mavi olandan da oldukça uzakta. Aslında, mavi olana yeşil olandan biraz daha yakın, bu yüzden onu çektiğimizde güncellenecek. Bu durumda, onu yeşilimsi mavi gibi bir renge boyayacağız. Ve sonra bu, bu aslında yeşil BMU'ya mavi BMU'dan daha yakın ve bu nedenle yeşili çektiğimizde ve sonra maviyi çektiğimizde, biraz mücadele olacak, ancak genel olarak, yeşil olana mavi olandan daha yakın hareket edecek, ancak her ikisinin de bir etkisi olacak. Ve son olarak, işte bir tane daha. Yani bu düğüm yeşile daha da yakın ve mavi BMU'dan oldukça uzakta ve bu nedenle yeşili ve maviyi çektiğinizde, elbette her ikisinin de bir etkisi olacaktır, ancak yeşilin çok daha güçlü bir etkisi olacaktır ve bu nedenle onu yeşile boyayacağız. İşte böyle. Kendi kendini organize eden haritamızdaki dört rastgele düğüme bakıyoruz. Ve umarım bu, bu haritanın girdideki veri noktalarınız üzerinde kendini nasıl organize ettiğini gösterir. Bugün için iyi bir başlangıç oldu. Bir sonraki eğitimde, daha fazla BMU'ya sahip olduğunuzda neler olduğunu ve tüm bu kendi kendini organize eden haritanın nasıl güncellendiğini keşfetmeye devam edeceğiz. O zaman seni görmek için sabırsızlanıyorum. Bir dahaki sefere kadar Derin Öğrenmenin tadını çıkarın.