MIT
Açık Ders Malzemeleri
http://ocw.mit.edu
18.06
Doğrusal Cebir, Bahar 2005
Lütfen
aşağıdaki alıntı biçimini kullanın:
Gilbert
Strang, 18.06 Doğrusal Cebir, Bahar 2005. (Massachusetts Teknoloji Enstitüsü:
MIT Açık Ders Malzemeleri). http://ocw.mit.edu ( MM, DD, YYYY) tarihinde
erişildi.
Lisans:
Yaratıcı Ortak Özelllik – Ticari Olmayan
-- Olduğu gibi
Kullanılır.
Not:
Lütfen alıntınızda bu malzemeye eriştiğiniz gerçek tarihi kullanınız.
Bu
materyallerden alıntı yapmak veya Kullanım Şartları hakkında bilgi almak için http://ocw.mit.edu/terms
sitesini ziyaret ediniz.
MIT
Açık Ders Malzemeleri
http://ocw.mit.edu
Doğrusal
Cebir, Bahar 2005
Transcript
- Ders 31
Pekala. Artık bu dersin sonuna yaklaşıyoruz, bu ders bir taban değişimi ile birlikte
doğrusal cebirin karışımı olacak.
Ve taban değiştirme, bir tabandan diğerine geçiş uygulamalarda karşımıza
çıkar.
Ve bu uygulamalardan söz etmek istiyorum.
Biraz sıkıştırma ile ilgilenmiştim.
Bir sinyal sıkıştırma, bir görüntü sıkıştırma.
İşte bu aslında bir taban değiştirmedir.
Ve sonra, bu bölümün ana teması, koordinatlardan bağımsız
inceleyebileceğimiz doğrusal dönüşüm ile koordinatlar cinsinden bu dönüşümü
bize veren matris arasındaki ilişkidir. Demek ki matris, bir doğrusal dönüşümün
koordinatlar cinsinden tanımlanmasıdır. İşin güzel yanı ile başlayayım, o da
görüntü sıkıştırmak olacak. Hepiniz ---bir şekilde sıkıştırma ile karşılaşacak,
çünkü elde ettiğimiz verinin boyutunu biliyorsunuz ---bu dersler de aslında
sıkıştırılmış. Benim hareketlerimi biraz atlamalı bulabilirsiniz. Bu kelimeyi
kullanmalı mıyım? Web’de baktınız mı? Bunun için daha iyi bir kelime bulmak
istiyorum.
Sıkıştırılmış diyelim. Demek ki tam sinyal var, tabii ki bu
video-kameradaki ve video teyp’lerdeki olan, ancak bu
bina 9 un en altına kadar gidip ve oradan da atlamalı bir harekete dönüşüp
geriye dönüyor çünkü görüntüyü sıkıştırmak için standart bir yöntem kullanıyor.
Ve farkettiğiniz gibi, tahtada yazılı olan çok temiz gözüküyor, fakat
fazla sayıda bit’e ihtiyacı olan benim hareketlerim, değil mi? Dolaysıyla, ve ben oraya koşup tekrar geri kosarak
gelseydim, bu çok fazla sayıda bit gerektirecekti, ve ben daha da sıkıştırılmış
olacaktım. Yani, sıkıştırma ne demek? Sadece hareketsiz bir görüntü düşünelim.
Ve tabii ki, uydular, iklim hesaplamaları, yanma hesaplamaları,
bilgisayarlar ve her türde sensörler bize karşı konulamaz miktarda veri
sağlıyor. Web de bunlardan biri.
Şimdi, bazı sıkıştırmalar kayıp olmadan da yapılabiliyor.
Kayıpsız sıkıştırma mümkün olabilir, çünkü aralarda fazlalıklar var.
Kayıpsız sıkıştırma sadece, bir çeşit, fazlalıklar olması gerçeğini kullanarak
mümkündür.
Ancak ben burada kayıpların olduğu sıkıştırma hakkında konuşacağım.
Bahsettiğim şu ---burada bir görüntü var.
Ve bir görüntü neden oluşur? Bir sürü küçük pixeller’den oluşur. Belki
512’ye 512’lik tir.
2 üzeri 9 a 2 üzeri 9 luk pixeller, ve bu 1
numaralı pixel, demek ki bu bir pixel olur.
Ve siyah beyazda çalışıyorsak, tipik bir pixel sıfırda 255’e giden bir
gri-skala verecek.
Dolaysıyla pixel genellikle bu x_i’lerin birinin değeridir, yani bu
i-inci pixel olabilir ve genelde 0 dan 255’e kadar
skala da gerçek bir sayıdır.
Başka bir değişle, bu da 2 üzeri 8 farklı seçim demek olur. Genelde
standart bu, şurası 8 ---8 bit.
Fakat bu her bir pixel için geçerli, dolayısı ile (512) nin karesi kadar
pixelimiz var, ve x, R üzeri n’de bir vektör, ve n
nedir? N, 512 kare dir.
İşte problemimiz bu, hemen şuradaki.
Pixel bize görüntüler hakkında bilgi veren bir vektör. Özür dilerim.
Ortaya çıkan görüntü, şu boyuttaki bir vektör ---bu görüntü hakkında
elimizde olan bilgi, eğer renkli bir görüntü ise, bunun üç misli bir
uzunluğumuz olurdu, çünkü renklendirmemiz gerekli 3 koordinatımız olacaktı.
Demek ki bu 3 çarpı (512)’nin karesi olacaktı.
Bu çok büyük boyutta bilgi içeriyor ve bu ders için görüntüyü
sıkıştırmadan yollayamazdık.
Sistem çok fazla yüklenirdi, dolayısı ile sıkıştırmak gerek.
Standart sıkıştırma yöntemi ve bu dersler için hala kullanılan sistem,
JPEG olarak bilinir. Bunun Joint Photographic Experts Group (Bileşik
Fotoğrafçılar Eksperleri Grubu) nun baş harfleri olduğunu sanıyorum. Onlar bir
resim sıkıştırma sistemi oluşturdular. Şimdi size bunu anlatmak istiyorum. Bu
bir taban değiştirmedir.
Elimizdeki taban ne? Şu an kullandığımız taban da, standart taban da
diyebilirsiniz, her pixel bir değer verir.
Bir x vektörümüz oluşur, (512) nin karesi uzunluğunda olan, ve diyelim
ki i’inci pozisyonda, 121
veya bunun gibi birşey.
Onun yanındaki pixel 124 olabilir, belki kravatımın resme girdiği bölüm, ve çoğunlukla mavi gömlekse, bu hafif bir ton
farklılığı yaratabilirdi ancak yakın değerler olacaktı, ve kravat başka bir
renk, dolayısı ile, gömlek için birkaç pixelimiz olurdu, ve tahta için çok daha
fazlası ve bunlar birbirlerine yakın olurdu. Ve bunlar yüksek korelasyonlu olanlar. Örneğin derse başladığımda,
eğer boş bir tahtamız olsaydı, bir görüntü olacaktı, ancak bu görüntü’nün tüm
pixel bilgisini vermek için bir neden olmazdı.
Söylemek istediğim, tüm gri zeminlerin pixel değerlerinin aynı olması, veya aynıya yakın olması, belki tahtayı silmiş
olmamın getirdiği bazı farklılıklar olmuş olabilir ancak değerler çok yakın
---dolayısı ile bu görüntüde standart tabanın kullanılması çok aptalca olur.
Standart tabanla ilgili temel nokta, teker teker tüm pixel değerlerini
verirken, bir sürü eşit veya yakın pixel değerlerinin olduğu avantajını
kullanmadığı. Bu benzerlik durumunun avantajını nasıl kullanabiliriz? Taban
vektörlerimin arasına tüm elemanlarının 1 olduğu bir vektör koymak harika
olurdu. Bu standart tabanımızda yer alan bir vektör değil, dolayısı ile bir kez
daha yazayım----standart tabanımız, bir tane 1 ve diğerleri sıfır,
ve sıfır, bir ve diğerleri sıfır, hepiniz standart tabanın ne olduğunu biliyorsunuz.
R nin başka herhangi bir tabanı, bu çok büyük- boyutlu uzay için ---ve şimdi daha iyi bir taban hakkında
konuşacağım. Daha iyi bir taban---ve bunu yineleyeyim, bu tabanda görmek
isteyeceğim çok güzel bir vektör, -- birlerden oluşan bir vektör.
Bu niye böyle? Birkez daha söyliyeyim, çünkü birlerden oluşan bir
vektör, tek başına, birler tek başına üç boyutlu görüntü ile ilgili bilgiyi
aktarabiliyor. Bizim görüntümiz üç boyutlu olmayacak, üç boyutlu ve sinyal
karışımı olacak.
Bu tek vektörün bile tabana eklenmesi bize büyük kazanç sağlayacak.
Şimdi soru şu, başka hangi vektörlerin bu tabanda yer alması gerekir? Bu
tabandaki uç (sınır) vektör 1 -1, 1 -1, 1 -1 vektörü olabilir.
Bu vektör ---sanki bir kontrol mekanizması, bir dama vektörü gibi
davranır, değil mi? Eğer görüntü kocaman bir +, -, +, -, +, -, dizaynı
olsaydı, bu vektör tüm sinyalin bilgisini saklıyor olacaktı.
Belki daha alışılmış olan görüntünün yarısı daha koyu, yarısının da açık
renk olması durumudur.
Demek ki işimize yarayabilecek bir diğer vektör, yarısı +1’lerden diğer
yarısı ise -1’lerden oluşan bir vektör. Ben sadece bu tabanın nerede
olabileceğini söylemeye çalışıyorum, her
şeyden önce, emrimizde olan tabanları elde ettik.
Bunu seçmekte özgürüz gibi.
Aslında 1 milyar dolarlık bir seçim yaptık.
TV ile uğraşanlar, sinyalin tarandığı yönteme göre belli bir tabanı
tercih ederken, sinemacılar farklı bir tabanı tercih edebilir. Vurgulamak
istediğim bu soruda muazzam politika var, ve sonunda tüm bunlara bir doğrusal
cebir problemine indirgemiyor, taban seçme problemine..
JPEG’in kullandığı en bilinen tabanı
şimdi size vereceğim----bu daha Fourier tabanı, Fourier tabanını
kullandığınızda, bunun içerdiği ---bir sabit vektör, bu elektrik mühendisleri
için DC vektörü, I---birler vektörü (1111) Genelde 8 e 8 lik iyi bir seçimdir.
Sekize sekiz iyi bir seçim. Sekize sekizle ne demek istiyorum- Söylemek
istediğim büyük sinyal, bunun 512 e 512 lik olduğunu biliyoruz, JPEG bu sinyali
8’e 8’lik bloklara ayırıyor. Ve bunun tek seferde anlaşılması oldukça zor. JPEG
bu 8 e 8’lik bloku alıp, bu 64 katsayı demek, 64 pixel,
ve bu blok üçgeninde tabanı değiştiriyor.
Ve şimdi bakalım, Fourier’i yazacaktım. Fourier’i tüm bu birler vektörü
ve sonra---daha önce Fourier matrisi konusunda bir dersimiz olmuştu, sütunları
karmaşık bir W sayısının kuvvetleri olan matris. Bunu yinelemeyeceğim, çünkü
Fourier tabanının detayına inmek istemiyorum. Tek yapmak istediğim
sıkıştırmanın nasıl çalıştığını anlatmak.
JPEG’de ne oluyor? Video’ya, bu derslerin görüntüsüne ne oluyor? 8 e 8’lik bloklara ayrılıyor.
Her bir blokun içinde, 64 tane katsayı var, 64 tane taban vektörü, 64 pixel, ve 64 boyutlu uzayda, Fourier vektörlerini kullanarak
taban değiştiriyoruz. Bunu kayıba yol açmayan bir adım olduğunu görmeliyiz.
Bunu vurgulayayım.
X sinyalimiz geliyor. Taban değiştiriyoruz.
Bu taban değişikliği. Tabanı
değiştiriyoruz.
Daha iyi bir taban
seçiyoruz. Bu bize
c katsayılarını üretiyor. 64 pixel giriyor ve 64 tane katsayı çıkıyor.
Şimdi sıkıştırma geliyor. Ve buraya kadar kayıp yok.
Bu sadece --- biliyoruz ki R 64’ün bir sürü tabanı var, ve biz
birini seçtik. Şimdi o tabanda, -- sinyali şimdi o tabanda yazıyoruz ve şimdi
bu, dersin matematik kısmı.
Şimdi burada uygulama kısmı var.
Ve bir sonraki kısım da sıkıştırma adımı olacak.
Ve orada kayıplarımız olacak. Bilgi kaybedeceğiz. Ve bu adımda gerçekte
ne olacak? İlk yazacağım şey, küçük olan katsayıları atmak olacak.
Buna eşikleme denir, bir çeşit eşik tanımlıyoruz.
Her bir katsayı, eşik değerimizin üstünde olmayan taban vektörlerin değerini,
ve eşik değerine eşitliyoruz ve bu farkın gözle görülemeyeceği değerler için
yapılıyor, yada bu taban vektörümüz bu kısmın kalıp
kalmayacağına bağlı olarak, çok az fark görebilirsiniz. Dolaysıyla bu
sıkıştırma adımı bir sıkıştırılmış küme katsayılarını oluşturuyor. Burada devam
edeceğim.
Bu böylece devam ediyor, sıkıştırma adımı c şapka katsayısını üretiyor, -- ve bir sürü sıfır ile.
Demek ki sıkıştırma bu noktada geldi. Tümü 1’lerde olan vektörün
katsayısı genelde büyük olur----bunu nadiren atmamız gerekir. Genellikle onun
katsayısı büyük olacak. Fakat bunun gibi
bir şeyin katsayısı, bu hızlı alternatif vektör ancak onun çok küçük bir kısmı
düzgün bir sinyalde görülebilir. İşte bu yüksek frekans olur ---bu düşük
frekans, sıfır frekansıdır.
Bu şey sahip olabileceğimiz en yüksek frekanstır,
ve eğer gürültü, cızıltı bunun gibi bir çıktı yaratıyorsa, ancak bunun gibi
düzgün bir derste bu yüksek frekansın çok azı bulunur, --- bu derste gürültü
çok az.
Peki, atabileceğimiz herşeyi atıyoruz ve birkaç katsayı ile kalıyoruz, ve sinyali sadece bu katsayıları kullanarak
yeniden oluşturuyoruz. Bu katsayıları alıp tekrar taban vektörleri ile
çarpıyoruz, ancak toplam artık bize 64 terim vermiyor. Herhalde yaklaşık 2 veya
3 terim kalır. Diyelim ki 3 terim kaldı. 64 terimden 3’e düştük, bu 21’i 1’e
düşüren bir sıkıştırma.
Peşinde olduğumuz böyle bir sıkıştırma işte.
Ve herkes de bu tip bir sıkıştırma istiyor.
Bakalım, sanırım FBI ve parmak izi ile ilgili problemi biliyoruz. Bir
sürü hareketsiz görüntü var. Biliyorsunuz, başparmağınız, mürekkepli şekiller
oluşturuyor ve bunlar derlenip bir yere yollanıyor.
Eskiden Washington’a yollanır ve büyük bir dosyada saklanırdı. Yani
Washington’da 30 milyon katil, sınavlarda kopya çekenlerin ve başkalarının
parmak izleri saklıydı; ve bunlara vaktinde ulaşmak
mümkün değildi. Örneğin polis karakolundasın, sana, peki, bunu şu kişi yapmış
olabilir diyorlar, Washington’a bu kişi ile ilgili parmak izi örneğinin olup
olmadığını soruyorlar. Wahington’da çekmeceler dolusu parmak izi örnekleri
saklı ve bunun cevabını almak en az bir hafta sürer. Buna göre en doğal şey
bunları dijital sinyale dönüştürmek. Onun için tüm parmak izleri örnekleri
şimdi dijital olarak saklanıyor, en azından elektronik ortamdalar ama hala her
birinde çok fazla bilgi saklı.
Demek istediğim her bir parmak izinin dijital görüntüsü (512) kareye
(512) karelik pixel ise, eğer o kadar pixel varsa.
Demek ki sıkıştırmak gerek. FBI’ın bu sıkıştırmayı hangi tabana göre
yapacağına karar vermesi gerekir.
Ve bu nedenle de Batı Virginia’da yeni bir merkez kurdular
ve parmak izleri şimdi oraya
gidiyor.
Sanırım artık parmak iziniz polis merkezinde alındığında, eğer gelişmiş
bir merkezse, parmak izi dijital olarak alınıp, sinyal dijital olarak
yollanıyor ve sonra batı Virginia’da bu sinyal sıkıştırılıp endeksleniyor. Ve
sonra sizi bulmak istediklerinde birkaç dakikada buluyorlar, artık haftalar
gerekmiyor. Pekala.
Bu sıkıştırmalar sinyaller için, görüntüler için, video içindir ---tıpkı
buradaki dersler gibi ---ancak video ile
ilgili bir nokta daha var. Video’yu birbiri ardına gelen hareket etmeyen
görüntüler gibi görüp, her birini sıkıştırdıktan sonra hareketle videoya
dönüştürebilirsiniz.
Ancak bu yöntem bazı şeylerini kaçırıyor, niye optimal
olmadığını görebiliyor musunuz? Video çekiminde, bir dizi görüntümüz var,
aslında video bir görüntüler dizisi, ancak bir görüntü’den diğerine geçişte ne
oluyor? Bunlar inanılmaz derecede birbirleri ile bağlantılı. Söylemek istediğim
her saniye bir görüntü alıyorum ve aynı zamanda hafifçe hareket ediyorum.
İşte bu videoda atlar gibi duran hareketi doğuruyor. Fakat benim
gibi --dizideki her görüntünün bir
öncekine oldukça yakın olduğunu bilirsiniz.
Ön tahmin ve düzeltme kullanmanız gerekir. Benim bir anlık
görüntümün----bir adım sonra da aynı olacağını varsayabilirsiniz ve ona küçük
bir düzeltme eklersiniz. Ve siz düzeltmeyi sadece kodlayıp, dijital ortama
geçirip, sonra da düzeltmeyi sıkıştıracaksınız. Aralarında yüksek korelasyon olan görüntüler dizisi, ve de sıkıştırmada bu
korelasyonu kullanıyoruz, yani zaman içinde veya uzayda, anlık değişimlerin
olmadığı, değişimin yumuşak bir şekilde olduğu ve önceki değerinden bir sonraki
değeri tahmin edebilirsiniz
Peki bunlar katıksız olarak doğrusal cebir deki
uygulamalardır. Müsaade ederseniz şunu belirteyim, kitap Fourier’ye rakip olan
bir tabandan söz ediyor.
Fourier’in rakibine dalgacık diyoruz ve 8 e 8’lik durum için bu tabanın
nasıl olduğunu açıklayabilirim.
8 e 8’lik dalgacık tabanı şu vektörlerden oluşur. Tüm birler vektörü, 8
tane 1, sonra 4 tane 1,
ve 4 tane -1’i olan vektör, sonra iki tane 1, iki tane -1 ve diğerleri sıfır
olan vektör. Ve buna ek olarak 4 sıfırdan oluşan vektör ile,
2 tane 1, 2 tane -1 içeren vektör.
Şimdi 4 tanesini söyledim, ve 4 tane daha
gerekiyor, değil mi? R^8 için? Bir sonraki taban vektör 1,-1 ve altı tane sıfır, ve sonra bunlardan
3 tane daha, 1, eksi 1 burada, ve burada, ve burada. Bunlar 8 boyutlu uzaydaki
8 vektör, ve bunlara dalgacık diyoruz, ve çok basit
bir dalgacık seçimi, ancak daha karmaşık bir seçim var.
Bu birey sekmeli, 1 ile -1 arasında atlamak. Ve şimdi Fourier tabanı ile
dalgacık tabanını karşılaştıralım.
Fourier tabanındaki bu adamı nasıl yazabilirdim? Bu bir sekiz---bu
R^8’de bir vektör. Bunu dalgacık tabanının bir bileşimi olarak nasıl
yazabilirdim? Dalgacık kuramı konusunda şunu görebilmemiz için yeterli bir şeyler
anlattım mı? Yani şu çok hızlı adamın, şu hızlı adamın dalgacık tabanı bileşimi
cinsinden, nasıl yazılabileceğini
görebiliyor musunuz? Şu olacak-----şu dördünün toplamı olacak, tamam mı? Bu çok
hızlı adam şuradaki 1 ve eksi 1 ve sonraki ve sonraki ve de sonraki. Demek ki
şu son 4 dalgacığı alıyoruz. Şunu ayırdık v.s. Demek ki tabanın yaptığı iş bu.
R^8’deki her vektör bunların bir bileşimi ve doğrusal cebir
açısından----doğrusal cebirin yaptığı katsayıları bulmak. Şimdi bu aşamaya
geçmek istiyoruz. Eğer size bir taban verilirse, tıpkı şu dalgacık tabanı gibi, ve de pixeli verirsem, şurada pixel değerlerimiz var
P1, P2, ---P8’e kadar, yapmamız beklenen ne? Bu değerler standart tabandaki
değerler, değil mi? Bunlar 8 arda arda sıralama noktanın değerleri. Sanırım
şimdi 8x8’lik bir boyuttan, tek boyuta iniyorum. Bu üstteki satır boyunca 8
pixel değeri alacağım. Şimdi ne yapmak istiyorum? Standart tabanda pixel
değerleri bunlar.
Şimdi bunları bir bileşim olarak yazacağım, c1 kere bu adam, + c2 kere
şu adam, + c3 kere şu, bunlar katsayılar, ve c4 kere şu adam ---ne yaptığımı görüyor musunuz? Bu P vektörünü
c1 kere birinci dalgacık + ...+ c8 kere sekizinci dalgacık şeklinde yazmak
istiyorum. İşte bu dönüşüm adımı.
Bu kayıpsız adım. Bu adım P’den ---ona burada P diyorum,
ve şurada x dedim, şimdi----hareket riskini alıp, ve dolayısı ile atlamalar
yaratıp---şimdi P dediğim sinyal, şu pixel değerleri, ve şimdi katsayılara
bakıyorum. Pekala, bana onu nasıl yapacağımı söyleyin.
Eğer size 8 taban vektörünü verirsem, ve giriş
sinyalini versem, ve de katsayıları sorsam, ne yapmanız gerekir? Atmam gerekli
adım ne? Bunu çözmeye çalışıyorum, 8 adet katsayıyı bilmek istiyorum, dolayısıyla
sadece 8 gri skalası olan standart tabandan dalgacık
tabanına geçiyorum ve şimdi vektör sadece 8 sayıdan oluşuyor. R^8’de bir vektör tanımlamanız için sadece 8
sayı gerekiyor, bunlar da tabanın katsayıları. Bunu daha önce de yaptık. Bu
denklemin vektör yazılımı; şimdi de matris şeklinde görmek istiyoruz.
Bu dalgacık matrisinin sütunlarının bir bileşimi. Bu P=c1,
c2, ..., c8’e kadar, ve bu adamlar sütunlar.
Bu gerçekte tüm bu ders boyunca yaptığımız bir işlem, ilk taban vektörü
ilk sütuna gidiyor, ikinci taban vektörü ikinci sütuna gidiyor ve böylece devam
ediyor, dalgacık matrisinin sekiz sütunu 8 taban vektörümüz. Bu bir dalgacık
matrisi, W diyelim. Taban değiştirme işlemi ---şimdi taban değiştirmeye
geliyorum, taban değişimi, -- şu tahtada kalayım, ancak, şunun üstünde yazayım,
şuraya.
Şurası standart taban, dalgacık tabanı burada,
ve dönüşümü yapmak için P = Wc’yi çözmek gerek. Katsayılar demek ki W ters P’ye
eşit. Tamam.
Bu önemli bir noktaya parmak basıyor. Güzel bir tabanı, hızlı
bulunabilen bir tersi var. İyi taban ne demek? Bu milyar dolarlık yarışma gibi
ve hala bitmedi. İnsanlar daha güzel tabanlar da bulacaklar.
İyi bir tabanının ilk kuralı, hızlı olması.
W matrisi ile hızlı
çarpımı yapabilmeli İyi, ve W - W’nın
tersi ile de hızlı çarpabilmeliyim. Bunun anlamı ---eğer tabanınız hızlı işlem
yapmanıza müsade etmiyorsa, işlemler o kadar fazla zaman alır ki, bunu karşılayamazsınız
(ekonomik olmaz). Bu tabanlar ---Fourier tabanları, herkes söyledi, Fourier
tabanı ile nasıl hızlı çalışacağımı biliyorum, çünkü hızlı Fourier dönüşümü
denilen bir şey var. Demek ki daha önceki bir dersimde sözünü etmiş olduğu
hızlı Fourier dönüşümü var, ve kitabın da son
ünitesinde bulunmuyor ---taban değişimini yaptık ---ve Fourier tabanı için,
hızlı Fourier dönüşümünün sayesinde hızlı yapılabiliyor ve burada da hızlı
dalgacık dönüşümü var. Bu dalgacık örneği için, değişimi yapabilirim, matrisin
tersini almak kolay.
Birisi akıllıca düşünüp bu dalgacık tabanını seçmiş ve güzel bir tersi
var.
Aslında, niye güzel bir tersi olduğunu görebilirsiniz.
Bu sekiz taban vektörümün bir özelliğini görebiliyor musunuz? Yalnız
beşini yazdım, ancak bu beşi için söylediğim özelliği görebilirseniz, diğer üçü
için de görebileceksiniz. Eğer bu 8 vektörü verip, size güzel özellik ne diye
sorarsam ne dersiniz? En başta söyleyebileceğiniz, hepsinin 1’ler ve
sıfırlardan oluştuğu. Demek ki tüm çarpımlar çok hızlı, iki tabanında
yapılabiliyor. Ancak bu vektörlerin diğer önemli özelliği ne? Görebilen var mı?
Demek ki bir tabanı değerlendirirken önemli bir özellik, bu özelliğin mutlaka
olması gerekmiyor ancak olması mutlu eder ---bu özellik vektörlerin dik olması.
Taban vektörleri dikse, işim kolay. Ve bunlar da öyle.
Görebiliyor musunuz? Şununla bunun nokta çarpımını alın, 4 tane +1, dört
tane de -1 elde edersiniz, bu da sıfır eder. Şununla bunun nokta çarpımını
alın, iki artı 1 ile, iki tane eksi 1 elde edersiniz.
Veya şu değer ile şunun nokta çarpımını. İki tane +1 ve iki tane -1. Bunun bir dik
taban olduğunu görebilirsiniz, ancak birimdik değil.
Bunu düzeltmek için, uzunluklarına ile bölmeliyim, birim vektöre
dönüştürmek için. Bunu yapalım şimdi.
Şurada bir yerde, şunun uzunluğu karekök sekiz, şununkisi karekök dört,
bunun uzunluğu ise karekök iki. Bu sadece bir sabit faktör, bu kolay----bunu
yaptığımızı varsayalım.
Söyleyin W2 nin tersi ne? Bu 4üncü bölümün, 4.4
kısmında işlenmişti.
Eğer birimdik sütunlarımız varsa, o durumda matris tersi, matris devriğine
eşit olur. Demek ki w ile çarpmanın hızlı bir yolu varsa,
ki var, tersi aynı şekilde olacak ve W ters yapmak için hızlı yol olacak.
Bu dalgacık tabanı hızlı yapma şartını yerine getiriyor. Hızlı
kullanabiliyoruz.
Ancak ikinci bir şart daha var, ancak işe yarar mı bakalım. En hızlı
yapabileceğimiz şey, hiç taban değiştirmemek. Değil mi? En hızlı yapabileceğimiz
şey, standart tabanda kalmak sekiz pixel değeri ile kalmak.
Ancak o veri sıkıştırma açısından kötüydü. Bu sekiz pixel değeri, sırf
bu değerleri almış olsaydım, bunlardan bazılarını atabilirdim. Eğer %90’ı atsam
---eğer 10’da 1 oranında sıkıştırma yaparsa ve pixel değerlerimizin %90’nını
atarsam, resmim kararır. Halbuki iyi olan tabanı kullandığımda, dalgacık tabanı
veya Fourier tabannda, eğer c5, c6, c7 ve c8’i atarsam, tek atıyor olduğum
küçük noktacıklar, ki bunlar da az sayıda olacak.
Demek ki ihtiyacımız olan ikinci özellik iyi sıkıştırma. Demek ki önce hızlı
olmalı ve ikinci olarak da bazı taban vektörlerinin sinyale yakın olması
gerekir. Birkaç tane yeter.
Bunu şu şekilde yazabilir miyim? Sadece birkaç taban vektörü, bu 18.06
dersinin video görüntülerini yaratmaya yeter. Sıkıştırma oranının ne olduğunu
bilmiyorum, sıkıştırmayı yapan David’e soracağım -- ve bu arada sınav için
gerekli derslerin zamanında web’e konulmasını sağlayacağım. Onlara bugün bir
mesaj yollayacağım.
Demek ki Fourier tabanını kullanıyor, çünkü JPEG ..demek
ki JPEG2000, bunun görüntü sıkıştırmamın yeni standartı olması bekleniyor, artık dalgacık tabanını
kullanacak. Söylemek istediğim, görüntü işleme dünyasının gittiği yerin büyük
resmini görüyorsunuz.
Fourier herkesin bildiğiydi ve insanların otomatik olarak kullandığı, ve yenisi dalgacıklar ki bu elimizdeki en basit
dalgacık dizisidir.
Ve bu FBI’ın kullandığı değil, bu orada FBI daha düzgün bir dalgacık
kullanıyor, 1’den -1’e atlayacağına, daha düzgün bir kesme noktası (cutoff)
kullanıyor ve bu JPEG 2000’de kullanılacak olan olacak, bu da işin uygulama
kısmı.
Şimdi dersin matematik kısmına gelelim, doğrusal cebir kısmına. Öncelikle
bir taban değişikliği gördük. Önce taban değişimi fikrini bir daha gözden
geçireyim, sonra da dönüşüm matrisine bakalım.
Peki bunların uygulamalarının geniş olduğunu
görüyorsunuz.
Şimdi taban değişikliği hakkında ve biraz da bunun --- matrisi hakkında
konuşmalıyız.
Tamam.
Tamam, demek ki taban değişikliği.
Esasında, bunun için özür dilerim, vektörümü tek bir taban cinsinden
yazdım şimdi de tabanını değiştirmek istiyorum.
Aslında bunu dalgacık durumunda gördünüz.
Şimdi şuna ihtiyacım olacak ---W matrisi ve W’nın sütunları yeni taban
vektörlerimiz olsun.
Bu durumda taban değişikliğinin tek içerdiği W’nın tersi, daha öncesinde
de olduğu gibi.
Diyelim ki eski tabanda bir x vektörümüz olsun, ve c de yeni tabandaki vektörümüz olsun,
ikisinin arasındaki ilişki x=Wc olur. Atmamız gereken adım bu.
Taban değişikliğini yaratan bir W matrisimiz var.
Şimdi düşünmem gerekli olan matris dönüşümleri. Ve dersi bitirmeden şu
soruyu soralım.
Bir T doğrusal dönüşümünün olduğunu varsayalım.
Bunu bir sekiz --- n’ye n’lik bir matris olarak düşüneceğim.
Ve bu belli bir taban cinsinden hesaplanıyor.
Demek ki T ---özür dilerim, T dönüşümünü elde ettim, nokta. Bu sekiz
boyutlu uzayı sekiz boyutlu uzaya taşıyor.
Şimdi şuralara matrisler koyalım. Tamam.
İlk tabana göre, v1’den v8’e kadar, bir A matrisimiz var.
Şuralara sadece harfler koyayım.
İkinci bir tabana göre, u1’den başlayıp ---veya w1, daha önce
kullandığım w1’den w8’e kadar olduğu için, bunun da matrisi B ve şimdi sorum A
ile B arasındaki ilişki ne? Dönüşüm matrisimiz T’yi nasıl kurgulayacağız?
Örneğin bir döndürme olduğunu söyleyebiliriz. Bu sekiz boyutlu bir
uzayın bir dönüşümü olacak, azıcık yerinde çevirecek. Veya izdüşümünü
düşünebiliriz. Veya başka herhangi bir doğrusal dönüşüm.
Şimdi hatırlamamız gerekir ---ilk adımım size A matrisini nasıl
oluşturacağımızı hatırlatmak olacak. İkinci adım ise, aynı yöntemi kullanarak B
matrisini oluşturmak, ancak aynı dönüşüm olduğu için, A ile B arasında bir
ilişki olmalı. Ve bunun cevabına atlıyayım. Elimde aynı dönüşüm olduğunda ve şu
tabandaki matrise uygulandığında ve sonra başka bir tabana uygulandığında, bu
iki matris benzer olur.
Demek ki bu iki matris benzer matrisler.
Şimdi benzer matrislerin ne demek olduğunu hatırlıyormusunuz? Benzer. A’ya
benzer, iki matris benzer. Benzer.
Ve bunun anlamı ne? Anlamı, bu B matrisini aldığımda, bu matrisi bir
benzerlik kullanarak, A matrisinden elde edebileceğim, bir tarafımda bir M
matrisi kullanarak, diğer yanımda bir M^-1 matrisi kullanarak yapabilirim.
Ve bu M taban değiştirme matrisi olacak.
Dersimizin bu bölümü kabul etmek gerekir ki biraz sıkıştırılmış oldu.
Sizin görmenizi istediğim ---gerçekte algılamanızı istediğim sonuç şu. Geri
gidip şunu söylemeliyim, A nın bu T dönüşümünün matrisi olması ne anlama
geliyor? Bunun ne anlama geldiğini hatırlatmam gerek, geçen dersimizin konusu
idi.
Görmenizi istediğim sonuç, eğer farklı bir tabana geçiyorsam, şimdi
biliyoruz ki ---bakın, yeni bir tabana geçtiğimde iki şey olur. Her vektörün
yeni bileşkeleri olur. Oradaki kural, eski ve yeni bileşkeler arasındaki kural
bu. Her matris değişir, her dönüşüm yeni bir matris türetir. Ve yeni matris bu
şekilde ilişkilendirilir, şu M, W ile aynı olabilirdi.
Buradaki M, şuradaki W olurdu.
Peki son dakikalarda, şükran günü öncesindeki
olan dersimizin son bölümünü özetleyebilirim. Matrisimiz ne? Ve sadece bir
taban alacağım. Bu bölüm şimdi tahtanın bu yanına gidecek. Matris ne? A ne?
Tamam.
v1’den v8’e kadar bir taban kullanmak.
Peki. Buradaki önemli nokta ne? Önemli olan, dönüşümünün bu 8 taban
vektörüne ne yaptığını bilmem durumunda, dönüşümün tümünü biliyor olmam. T’yi
biliyoruz, T hakkında herşeyi biliyorum, T hakkında her şeyi T(v)’yi bildiğimden
biliyorum, yani T’nin v1, v2’ye ve v8’e yaptığını bildiğimden.
Bu niye böyle? Çünkü T bir doğrusal dönüşüm; demek ki bu çıktıların ne
olduğunu biliyorsam---demek bunlar girdiler v1---v8’ e kadar, bunlar da
dönüşümden elde ettiğimiz çıktılar, örneğin her birinin döndürüldüğü, her
birinin izdüşümünün alındığı durum gibi, yaptığım dönüşüm ne idiyse,
nasıl oluyor da, bu iki bilgi ile herşeyi biliyorum? Doğrusallık nasıl işliyor? Niye? Çünkü her x,
bu taban vektörünün bir
bileşimi, doğru mu? C1V1,
C2V2, -- C8V8, bunlar taban vektörleri.
Taban olmanın en önemli noktası, her bir vektörün, taban vektörleri
cinsinden tek bir şekilde ifade ediliyor olması.
Ve sonra, T(x) ne? İddiamız, T(x)’in tüm x’ler için tamamı ile biliniyor
olması, çünkü her x, bunların bileşimi ----ve şimdi de doğrusal dönüşüm kısmını
kullanarak, x’in çıktısını, -- c1 kere v1’den elde edilen çıktı, artı c2 kere
v2’den gelen çıktı v.s.
Ta ki, c8 kere v8’in çıktısına gelene kadar.
Bu şunu söylemek gibi.
T’nin her bir taban vektörüne ne yaptığını biliyorsak, herşeyi biliyoruz
demektir.
Bunlar bilmemiz gereken 8 nokta. Şimdi.
Ancak bu cevapları şu tabanda görmek istiyoruz.
Bu ilk çıktı sekiz taban vektörünün bir bileşimi. Şimdi T’yi ilk
girdi’nin üzerinde deneyelim; yani ilk çıktıyı taban vektörleri cinsinden
yazayım, yani a11 v1+a21 v2+---+a81 v8. Şimdi
T(v2)’yi a12(v1), a22(v2) vs bileşimi alarak yazmaya çalışalım. Teker teker
sütunlar cinsinden A matrisini oluşturmaya çalışıyoruz. Bu sayılar ilk sütuna
gidiyor, A matrisi ---bu ---bu matrisimiz T’yi bu taban açısından belirleyen
matris.
a 11’den a18’e kadar, a21’den, a28’e kadar
v.s. Tamam.
Reçete bu. Başka bir deyişle,
eğer bir dönüşüm ve bir taban elimizde olursa.
Yani işte bu size vermem gereken şey.
Girdiler taban vektörlerimiz, ve dönüşümün ne
olduğunu söyleyeyim ve sonra bana söyleyin --- her taban için T’yi
hesaplıyoruz. Sonucu taban cinsinden yazıyorum ve bu bana A matrisine girecek
64 sayıyı oluşturuyor. Ve şimdi güzel bir örnekle derse son verelim. V1’den
v8’e taban özvektörlerimiz olsun.
Bir özvektör tabanımız olduğunu varsayalım T(v_i) , bu v_i ile aynı
yönde olsun. Şimdi sorum A’nın ne olduğudur. Bütün adımları takip edebilir misiniz?
Birlikte yapalım, çünkü bir dakikada yapabiliriz.
Demek ki bu mükemmel tabanı seçtik.
Ve aslında sinyal görüntü işlemcisi ile bunlar özvektör gibi görünebilirler.
Ancak bu daha uzun bir hesaplama süresi gerektirecek. Dolayısı ile
dalgacık tabanını kullanacağız.
Veya Fourier tabanını kullanacağız.
Ancak en iyi taban özvektör tabanıdır.
Peki matrisimiz ne? Matrisin ilk sütunu ne? İlk sütunu nasıl elde ederim? İlk taban
vektörü v1’i alıyorum.
Önce dönüşümün buna ne yaptığına bakıyorum. Çıktımız lambda1 v1 ve bu
çıktıyı bir bileşim olarak yazıyorum. İlk girdimiz v1, çıktımız lambda1 v1.
Şimdi lambda1 v1’i taban vektörleri cinsinden yazalım. Zaten bu yapıldı bile.
Lambda1 kere birinci taban vektörü ve sıfır kere diğerleri. Demek ki bu ilk
sütunda lambda1 ve sıfırlar olacak. Tamam.
İkinci girdi v2, -- çıktısı Lambda2 v2; çıktıyı v’ler cinsinden yaz.. Zaten bu yapıldı. Bu, lambda iki kere ikinci v olur. Şunu
yapmalıyız, bu ikinci sütunda lambda iki v2 olacak.
Sonucu görebiliyor musunuz? Bu tabandan, özdeğerler tabanında matrisimiz
köşegen oldu. Demek ki bu mükemmel taban; bu görüntü işlemi için elimizde bulundurmak
isteyeceğimiz matris ancak pixel matrisimizin özvektörleri çok pahalı. Daha
ucuz veya yaklaşık bir şey yapmak istediğimde, örneğin dalgacık tabanını
seçebiliyorum.
Pekala, teşekkürler. Kısa sınava hazırlık dersimiz
Çarşamba’ya bütün gün olacak. Teşekkürler.