Bu videoda birden fazla boyutta Çoklu Doğrusal Regresyon ve PyTorch kullanarak bu modellerin nasıl oluşturulacağını inceleyeceğiz.
Doğrusal belki de PyTorch'ta en sık kullanılan işlevdir ve sinir ağları oluşturmanın anahtarıdır.
Bu videoda inceleyeceğiz: Çoklu boyutlarda Doğrusal regresyon tahmin sorunu,
PyTorch ile ilgili Sınıf Doğrusal ve nn.Modules kullanarak özel Modüller nasıl oluşturulacağını inceleyecektir.
Çoklu doğrusal regresyonda birden fazla tahmin değişkenleri var, bu örnekte 4 öngörücü
değişkenimiz var, o zaman: Önyargı var, w1: katsayısı veya ağırlık __1_
w2: katsayısı veya ağırlık __2_ vb.
Genel olarak ağırlık ve önyargı, eğitim yoluyla elde ettiğimiz modelimizin parametreleridir.
Tablo, __1_ ve __2_ değişkenlerinin farklı örneklerini içerir.
Her bir noktanın konumu 2D düzlemine yerleştirilir, renk buna göre kodlanır __1_ ve __2_ tahmin değişkenlerinin her örneği __ yeni bir değere eşlenecektir.
__ (y-hat) değerinin yeni değerleri dikey yönde eşlenir, yükseklik y-hat'ın aldığı değerle orantılıdır.
İşlemi doğrusal bir dönüşüm olarak ifade edebiliriz, x bir 1 D tensör veya vektör tarafından
ve bazen bir özellik olarak adlandırılır, w bir D ile 1 tensör veya vektör parametreleri
y-hat bağımlı değişkendir. Nokta çarpımını kullanarak denklemi vektör işlemleri açısından ifade edebiliriz.
Aşağıdaki örneği birine eşit önyargı ile düşünün. X ve w nokta çarpımını gerçekleştiririz.
Bu, x ve w'nin ilk bileşenini çarpar. Daha sonra w ve x'nin ikinci bileşeninin ürününü
ekleriz. Ardından önyargı ekleriz, sonuç 9'dur.
En önemli özellik şekildir. X sütunlarının sayısı,
w satır sayısı ile aynı olmalıdır, daha sonra
ekliyoruz b Nokta ürün işlemini gerçekleştiriyoruz, sonra b ekleyin, sonuç y-hat.
Renk gösterimini, şekil ve parametreler arasındaki ilişkiyi anlamamıza yardımcı olmak için kullanacağız.
Aşağıdaki yönlendirilmiş grafik, nokta ürününü anlamak için de yararlıdır.
Düğümler özellikleri ve kenarları parametreleri temsil eder.
Bu grafikler daha sonra sinir ağlarını anlamamıza yardımcı olmak için kullanılacaktır. Bu durumda 2 boyutumuz var.
Bunu D keyfi boyutlara genişletebiliriz.
Birden fazla tensör veya vektör örneği üzerinde doğrusal regresyon gerçekleştirebiliriz, bu durumda 4 numunemiz var, her numunenin 4 kolonu var.
Bu 4 numuneler ile bir tren yükleyici
nesnesinin çıktısıdır. Bir büyük harf X ile temsil edilen tensör veya Matris var.
İkinci örnek, matristeki 2. sıraya karşılık gelir, vb.
Farklı örnekleri temsil etmek için renkleri kullanabiliriz.
Birden çok örnek için regresyon denklemi doğrusal bir dönüşümdür.
y ve b, her örnek için bir sıra olan vektörler veya sıra tensörleridir. Neler olup bittiğine dair daha iyi bir fikir edinmek için nokta ürününün renk temsilini kullanalım.
Aşağıdaki resimde X matrisindeki her örnek farklı bir renkle temsil edilir,
esasen farklı bir yeşil veya mavi tonuyla. Parametre turuncu.
y-hat'ın bir vektör veya çok boyutlu tensör olduğu için kalın olduğuna dikkat edin.
İlk örnek için matrisin ilk satırı ve parametrenin ile nokta ürünü gerçekleştiririz.
Daha sonra önyargı terimini ekleriz, daha sonra ilk örnek için tahmini alırız.
İkinci örnek için parametre vektörünün nokta ürününü alırız, daha sonra önyargı terimini ekleriz.
Daha sonra ikinci örnek için tahmini alırız. Üçüncü ve dördüncü numune için işlemi tekrarlıyoruz,
nokta ürünü alıyor ve önyargı terimini ekliyoruz, her örnek yeni bir tahmin üretiyor
Özetle, X sütunlarının sayısı ve ağırlık sayısı bu durumda da aynı olmalıdır.
Sadece bir önyargı olmasına rağmen, yeşil renkte bir vektör kullanarak her nokta ürününe önyargı terimini ekliyoruz.
Ve X örnekleri veya sütunlar kadar çok tahmin vardır.
bize birden fazla boyutta doğrusal regresyon gerçekleştirmek için kullanışlı sınıf doğrusal kullanalım.
Nn paketinden doğrusal olarak ithal ediyoruz. Ağırlıklar ve önyargı rastgele başlatılır
, kodu her çalıştırdığımızda aynı sonuçları elde etmek için rastgele tohum kullanırız.
Parametrelerin bir sonraki bölümde nasıl elde edildiğini öğreneceğiz.
Oluşturucu doğrusal kullanarak bir model nesnesi oluşturacağız, “in — features” parametresi
her giriş örneğinin boyutu veya sütun sayısı, “out features” her çıktı örneğinin boyutudur,
esasen doğrusal bir işlev oluşturur. Doğrusal aşağıdaki işlevi üretir. Şekli temsil etmek için aşağıdaki diyagramı kullanalım
“Özelliklerde” parametresi x sütunlarının sayısını ve model ağırlıklarının sayısını temsil eder,
“Çıkış özellikleri” bu durumda çıktıların boyutudur.
Yöntem parametreleri, bu bize model parametrelerini verir; Birincisi eğim,
ikincisi önyargı, yöntem tembel bir şekilde değerlendirildiği için bir çıkış elde etmek için Python işlev listesini uygulamamız gerekir.
Doğrusal ağırlıkları ve önyargıları görebiliyoruz. Laboratuvarda “devlet dict” yöntemini de kullanabilirsiniz. Bir
giriş tensörü oluşturabiliriz, bu iki sütunlu bir satır vektörü veya tensördür.
Doğrusal nesneyi uygularız, sonuç tahminine karşılık gelen bir 1x1 tensördür.
Birden fazla numuneye doğrusal regresyon uygulayabiliriz, her sıranın farklı bir örnek olduğu bir tensör oluştururuz.
Daha önce olduğu gibi farklı örnekleri temsil etmek için farklı renkler kullanın
Model nesnesini uyguluyoruz, çünkü üç girdimiz var, çıktı üç satırdır.
Gerçek çıkış, aşağıdaki renklere karşılık gelen üç sıralı ve bir sütunu içeren bir tensördür.
PyTorch'ta özel bir modül yapmak gelenekseldir, regresyon bağlamında doğrusal nesneye neredeyse aynı davranacaktır.
Bu biraz gereksiz görünebilir, ancak sinir ağları inşa edildiğinde bu daha sonra gerekli olacaktır.
Özel modüller sınıflardır; bu sınıflar “nn.Modules” paketinin alt sınıfıdır veya alt sınıfıdır.
Bu durumda, özel modülümüzü LR olarak adlandırıyoruz. Sınıfı “nn.Modüller” nin bir çocuğu haline getiriyoruz.
Sonuç olarak, tüm yöntemleri ve nitelikleri miras alır.
Nesne yapıcısında argüman, sırasıyla giriş ve çıkış boyutudur, x ve y.
Yapıcıda “süper” diyoruz, bu bize açıkça başlatmadan, nesnenin içindeki nn.Modül paketinden nesneler oluşturmanıza olanak tanır.
Biz şimdi doğrusal tip bir nesne oluşturabilir, argümanlar nesne yapıcı aracılığıyla ayarlanır
Biz kendini atamak self.lineear biz şimdi sınıfın herhangi bir yerinde tip doğrusal nesne çağırabilirsiniz.
Bir öngörü üretmek için bu işlevi ileriye doğru kullanıyoruz. İleri yöntemini açıkça aramak zorunda kalmayacağız,
sadece
bizim özel modül veya sınıf oluşturmak Python çağrı yöntemi gibi davrandığı gibi parantez kullanın. Bu doğrusal nesne gibi davranır, “in-features” parametreleri iki ve “out-features” birdir.
Bu nesne doğrusal gibi davranır, biz bir örnek için bir tahmin yapabilirsiniz.
Ya da birden fazla örnek için öngörülerde bulunabiliriz.