Ana içeriğe atla

Vektör, Matris ve Tensör Kavramları

 Vektörler satır ya da sütun şeklinde (tek boyutlu) oluyor. Yani bunlara "tek boyutlu" dersek, matrisler hem satır hem de sütunlardan oluşuyor. Matrislere de "2 boyutlu" diyebiliriz. Tensörlerde ise bir çeşit 3. boyut var. Yani satır, sütun bir de "kanal" dediğimiz boyut var. Bunlarla işlem yapmak için önce numpy kütüphanesini import ediyoruz.   Numpy kullanarak bir skaler (0 boyut) tanımlamak istediğimizde örneğin:

x=np.array(5)

yazıyoruz. Şimdi x, içinde sadece 5 olan bir array. Boyutunu görmek istediğimizde ise

x.ndim

yazıyoruz ve boyutun 0 olduğunu görüyoruz. Vektör tanımlamak için ise:

x=np.array([1,4,-3,2,5])

yazıyoruz. Bunun boyutunu sorduğumuzda da 1 cevabını alıyoruz. Matris tanımlamak için de
örneğin:
A=np.array([[1,2,3],[5,10,0],[1,3,-4]])
yazıyoruz. Bunun boyutunu da 2 olarak veriyor. Şimdi bir de tensör tanımlayalım:

B=np.array([[[1,2,3],[1,2,3],[1,2,3]],[[4,5,6],[4,5,6],[4,5,6]],[[7,8,9],[7,8,9],[7,8,9]]])

Bunun da boyutu 3 oluyor. Aslında hepsinin aynı sayıda elemana sahip olması gerekmiyor. Ama satırlar
bazında aynı olması lazım. Yani, matris içinde matris gibi düşünebiliriz.

Burada görüntüleme kolaylığı dikkatimi çekti. Keras'tan bir veri seti çekelim:

from keras.datasets import mnist

Analadığım kadarıyla bu "mnist" adında, rakamlarla ilgili bir veri kümesi. Verileri

(train_images,train_labels),(test_images,test_labels)=mnist.load_data()

yazarak indiriyoruz (aslında bunu tam anlamadım). Buradaki verilerin bir kısmı eğitim (train)
için, bir kısmı ise test için olsa gerek. Boyut görmek için örneğin:

print(train_images.ndim)

yazdığımızda 3 cevabını veriyor. Demek ki buradaki veriler bir tensör oluşturuyor.Tensörün
büyüklüğünü görmek içinse:

print(train_images.shape)

yazıp çalıştırıyoruz. Buna (60000, 28, 28) cevabını verdi. Demek ki baurada 28x28 boyutunda
60000 tane matris var. Görüntüleme işini daha sonra anlatacağım...


Yorumlar

Bu blogdaki popüler yayınlar

Veri Bilimi İçin Python Kütüphaneleri: Colab'da İlk Programım

Daha önce, matris işlemleri için Numpy ve veri görselleştirmesi, grafik çizimi vb. amaçlarla Matplotlib kütüphanelerini kullanmıştım. Bu ikisiyle burada da karşılaştım. Sanırım Derin Öğrenme çalışırken bunları çok kullanıyoruz.  Üstteki resimde görüldüğü gibi, bilgisayara yükleme yapmadan online olarak bu kütüphaneleri getirmek (import) mümkün olabiliyor. Ve ilk programım şu oldu: Aslında listeleri Numpy kullanarak oluşturmak istedim ama olmadı...

Derin Öğrenme ve Programlama Dilleri

       "Derin öğrenme nedir, ne işe yarar?" gibi soruları (ve cevaplarını) bir kenara bırakıyorum. Çünkü bu satırları okuyan, o aşamayı geçmiştir sanırım. Bu akşam veri biliminde ve yapay zekada en çok kullanılan programlama dillerinin hangileri olduğunu öğrendim. İlk sırada tabii ki Python var ki, zaten sürekli gündemimde. Diğerleri de sırasıyla C/C++, Java, R ve Javascript (diğerleri ile az ya da çok tanışmış vaziyetteyim ama, bakalım R ile ilk karşılaşmamız ne zaman olacak?). Günlük konuşma diline (İngilizce) yakın olması, açık kaynak kodlu olması Python dilini bu alanda da en üste taşımış durumda. Python ile tanışmam yaklaşık 6 sene önce oldu. O gün bugündür diğer dillere soğuk bakmaktayım. Ancak Processing yazılımı sayesinde Javascript'e biraz ısınmıştım ki, onun da Python versiyonu oldukça ilerledi ve ben bugünlerde orada da Javascript'le vedalaşmak üzereyim.   Anladığım kadarıyla, Derin Öğrenme süreci de kütüphanelerle gerçekleşiyor. TensorFlow, Caffe, Py...

Colab Üzerinden Kütüphane Kurma ve Çalıştırma

 Meğer online Python çalıştırmak ne güzelmiş... Keras kurmak hiç bu kadar kolay olmamıştı. Tek yaptığım kod satırına  !  pip install -q keras yazarak çalıştırmak oldu. Böylece Keras bir kaç saniye içinde kuruldu. Daha sonra import  keras yazıp çalıştırarak Keras'ı çağırdık. Bu kurulum dikkat ederseniz pip kulanarak gerçekleştirildi. Kütüphane kurmanın bir diğer yolu da get apt kullanmak. Örneğin Graphviz kütüphanesini bu yolla kurmak için: ! apt-get install graphviz -y yazarak çalıştırıyoruz.