Matematikden Anlayan Arkadaşlar
-

Yukardaki matrisin tekil değer ayrışımını yapmam lazım.Bunu çözüp banada kısaca nasıl yaptığınızı yazarsanız çok sevinirim.
-
hocam cozeyim dedim ama cok vakit alcak sonucu bulmak. yolunu anlatayim istersen belki yardimci olur. hem de up olmus olsun
oncelikle tekil deger ayrisimi dedigin singular value decomposition (svd) olarak ogrendik sanirim o.
A=(U)(E)(V^T)
Burada
U matrixinin columnlari --> (A^T)*A matrixinin eigenvectorleridir.
V matrixinin columnlari --> (A)*(A^T) matrixinin eigenvectorleridir.
E matrixi diagonaldir. Diagonaldaki degerlerin karesi (A^T)*A ve A*(A^T) matrixlerinin eigenvalue laridir.
Yani U, V ve E matrixlerini bulmak icin yapilacak stepler:
1. (A^T)*A hesaplanmali. 4x4 symmetric bir matrix cikar. en son satiri ve en son sutunu sifir oldugu icin ranki 3tur. 3 eigenvalues vardir. dolayisiyla bunlara bagli 3 eigenvectoru bulunur. Eigenvaluelari hesaplayip oradan eigenvectorler bulunur. bulunan 3 vector U yu olusturur.
2. A*(A^T) hesaplanir. 3x3 symmetric bir matrix cikar. ayni olay buna da uygulanir. eigenvectorler V'nin sutunudur. V^T yapmayi unutma.
3. birinci ve ikinci stepte bulunan eigenvalue larin karekokleri alinir 4x3 luk E matrixinin diagonal bir sekilde olusturulur.
vakit olursa cozeyim. istersen matlab da cozumu de vereyim direk. kusura bakma elden bu geldi gece yarisi :)
-
Kendimi cahil hissettim aq
-
HolyOne bunu yazdı
Kendimi cahil hissettim aq
cahil ol nolcak nasil olsa malum olmuyor mu sana tum cozumler sayin seyh :)
-
mizahi bunu yazdı
hocam cozeyim dedim ama cok vakit alcak sonucu bulmak. yolunu anlatayim istersen belki yardimci olur. hem de up olmus olsun
oncelikle tekil deger ayrisimi dedigin singular value decomposition (svd) olarak ogrendik sanirim o.
A=(U)(E)(V^T)
Burada
U matrixinin columnlari --> (A^T)*A matrixinin eigenvectorleridir.
V matrixinin columnlari --> (A)*(A^T) matrixinin eigenvectorleridir.
E matrixi diagonaldir. Diagonaldaki degerlerin karesi (A^T)*A ve A*(A^T) matrixlerinin eigenvalue laridir.
Yani U, V ve E matrixlerini bulmak icin yapilacak stepler:
1. (A^T)*A hesaplanmali. 4x4 symmetric bir matrix cikar. en son satiri ve en son sutunu sifir oldugu icin ranki 3tur. 3 eigenvalues vardir. dolayisiyla bunlara bagli 3 eigenvectoru bulunur. Eigenvaluelari hesaplayip oradan eigenvectorler bulunur. bulunan 3 vector U yu olusturur.
2. A*(A^T) hesaplanir. 3x3 symmetric bir matrix cikar. ayni olay buna da uygulanir. eigenvectorler V'nin sutunudur. V^T yapmayi unutma.
3. birinci ve ikinci stepte bulunan eigenvalue larin karekokleri alinir 4x3 luk E matrixinin diagonal bir sekilde olusturulur.
vakit olursa cozeyim. istersen matlab da cozumu de vereyim direk. kusura bakma elden bu geldi gece yarisi :)
hocam perşembeye kadar lazım.Hoca matlabda çözümüde istedi.Senin açıklamalardan sonra kafamda bişeyler canlandı.Sen yine yapıp atarsan çok makbule geçer.
-
dostum matlab cozumu soyle
>>A=[7 1 2 0; 0 0 0 0; 0 1 3 0]
>>[U,E,V]=svd(A)
birinci satirda matrixi tanimliyorsun. ikincisinde yerlestiriyorsun gelisine svd yi. sana 3 matrix cikti veriyor. Sirayla
A =
7 1 2 0
0 0 0 0
0 1 3 0
U =
-0.9882 0.1534 -0.0000
0 0 -1.0000
-0.1534 -0.9882 0.0000
E =
7.4220 0 0 0
0 2.9855 0 0
0 0 0 0
V =
-0.9320 0.3597 -0.0451 0
-0.1538 -0.2796 0.9477 0
-0.3283 -0.8902 -0.3159 0
0 0 0 1.0000
Sonuc: A=U*E*(V^T) dir. fikir vermesi ve mantigina oturmasi acisindan U ve V matrixleri orthogonal matrixlerdir. Herbirinin icindeki butun vectorler birbirine orthogonaldir. ustelik ayni zamanda orthonormaldir. Yani (u1*u2=0) ve (u1*u1=1) . Bunun square matrix e uyarlanisi diagonalization dir ve su sekildedir.
A square matrix ise --->A=S*E*(S^-1) dir. S, A matrixinin eigenvectorleridir. ama S bu defa orthogonal degildir. Ancak ranki fulldur. .yani eigenvectorler independentdir. E yine diagonaldir. elementleri A'nin eigenvaluelaridir.
A symmetric square matrix ise --> A=Q*E*(Q^T) dir. Q, A matrixinin eigenvectorleridir. Q orthogonaldir. orthogonal matrixler icin Q^(-1)=Q(^T) oldugu icin sonuncu matrix Q^T diye yazilabilir.
Bizim durumda da A^T*A ve A*A^T symmetric square matrixler oldugu icin U ve V orthogonaldir. V^T yerine V^(-1) yazsan da ayni sonucu verir.
velhasil hepsi ayni bokun laciverdi diyeyim anla sen :)
-
Hops.
merak ettim bunlar nerede kullanılır. Kim kullanır niye kullanır. Günlük hayata bir uygulaması var mı?
-
burda güzel bi kaynak var.
http://www.ams.org/samplings/feature-column/fcarc-svd
ayrıca MATLAB çıktısı aşağıdaki gibi.
>> M = [7 1 2 0; 0 0 0 0; 0 1 3 0]
M =
7 1 2 0
0 0 0 0
0 1 3 0
>> [U,S,V] = svd(M)
U =
0.9882 -0.1534 0.0000
0 0.0000 1.0000
0.1534 0.9882 0
S =
7.4220 0 0 0
0 2.9855 0 0
0 0 0.0000 0
V =
0.9320 -0.3597 0.0451 0
0.1538 0.2796 -0.9477 0
0.3283 0.8902 0.3159 0
0 0 0 1.0000
edit:mizahi hocam yazmıs zaten.
iQsuz tarafından 10/Ara/14 03:06 tarihinde düzenlenmiştir -
imlegend bunu yazdı
Hops.
merak ettim bunlar nerede kullanılır. Kim kullanır niye kullanır. Günlük hayata bir uygulaması var mı?
Tekil değer ayrışımı (TDA) [Singular Value Decomposition - SVD], bir matrisin çarpanlarına ayrılma türlerinden biridir ve Google'ın PageRank algoritmasından insan yüzlerini modellemeye, otomatik deneme notlamasından gen analizine, bilgi getirimi ve çıkarımından boyut azaltma (ör: temel bileşenler analizi) ve veri sıkıştırmaya kadar uzanan geniş bir yelpazede kullanılan temel adımdır.
alıntıladığım yer dışında, matrisler resim/video işleme ve çözmede kullanılır
günlük hayatta, sonsuz sayıda değer alabilen birden çok bilinmeyenli denklemleri çözmede kullanılabilir
-
imlegend bunu yazdı
Hops.
merak ettim bunlar nerede kullanılır. Kim kullanır niye kullanır. Günlük hayata bir uygulaması var mı?
mesele bir matrixin eigenvaluelarini ve buna bagli eigenvectorlerini bulmakta. bu durumda sistemin zayif noktasini, sonsuzda yaklasiklik degerlerini, istatistiksel ozelliklerini(ortalamasini, varyansini) ve gelecek degerlerini de tahmin edebiliyorsun. e gelecek degerleri tahmin etmek deyince de zaten nerelerde kullanildigi aciktir:
-ekonomide (borsa, ticaret vs.)
-istatistikte (siyasi ve sosyal anketler, sinavlar vs. )
-elektronik ve bilgisayarda (daft hocamin yazdiklari gibi)
-insaat sektorunde (kopru, bina, kavsak vb. denge ve stability adina aklina gelen herseyde)
-meteorolojide (hava tahmin raporlari, yagis miktari)
-cevre ve duzenlemede (irmaklarin tasma seviyesi, dogal afet bolgeleri, yerlesim yerlerinin uzandigi dogrultular data alinarak yapilan tahminler vs.)
-biyolojide
-makine ve robotikte
-jeolojide
yani estimation theory ile ilgilenen butun bilim alanlarinda svd algorithm biryerlerde kesinlikle kullanilir. estimation yapmayan bir bilim de olmadigi icin;
kullanilmadigi bilim yok desek yeridir :)
ornek vermek gerekirse: gecen sene ya da onceki sene avrasya maratonunda insanlar bogaz koprusunden gecerken koprunun tahta kopru gibi sallandigini hatirlarsin. bunun nedeni kopru insa edilirken cok yuksek tutulan eigenvalue' ya insanlarin yururken ulasabilmis olmalaridir. koprunun zayif noktalarindan biri olan bu eigenvalue, bir anlamda cok boyutlu yapinin bir boyutunun rezonans frekansi olarak adlandirilir. bana kalirsa o kopru su an ya yikilip yeniden yapilmali, ya da bu deger yukseltilerek tekrar insa edilmelidir. japonlarin dogal afetlerde parmak sayisini gecmeyen, bizde en ufak gocukte onlarca insan olmesinin sebebi sadece kader degildir.
-
Çok sağol mizahi.Teşekkürler.
