Makine Öğrenimi ve Sinir Ağları - sayfa 16

 

Herkes İçin Makine Öğrenimi – Tam Kurs



Herkes İçin Makine Öğrenimi – Tam Kurs

00:00:00 - 01:00:00 Videonun bu bölümü, denetimli ve denetimsiz öğrenme de dahil olmak üzere makine öğreniminin temellerini tartışıyor. Ayrıca mevcut farklı modelleri ve bunların nasıl kullanılacağını da kapsar. Son olarak, bir makine öğrenimi modelinin performansının nasıl ölçüleceğini açıklar.

01:00:00 - 02:00:00 Bu bölümde, olayların sonuçlarını tahmin etmek için makine öğreniminin nasıl kullanılacağı açıklanmaktadır. Doğrusal regresyon, lojistik regresyon ve destek vektör makinelerini tartışır. Ayrıca, bir makine öğrenimi modelini eğitmek için ızgara aramanın nasıl kullanılacağını da açıklar.

02:00:00 - 03:00:00 Bu bölüm, doğrusal regresyon ve geri yayılım dahil makine öğreniminin temellerini kapsar. TensorFlow kitaplığını kullanarak verilerin nasıl normalleştirileceğini ve doğrusal bir regresyon modelinin nasıl uydurulacağını açıklar.

03:00:00 - 03:50:00 Bu video, denetimli ve denetimsiz öğrenme de dahil olmak üzere makine öğrenimi kavramlarını tanıtır. Tahmin yapmak için doğrusal regresyon ve sinir ağının nasıl kullanılacağını gösterir. Sunum yapan kişi, verileri kümelemek için makine öğreniminin nasıl kullanılacağını da açıklar.


Bölüm 1

  • 00:00:00 Bu videoda Kylie Ying, denetimli ve denetimsiz öğrenme modellerini, bunların nasıl çalıştığını ve Google Colab'da nasıl programlanacağını açıklıyor.

  • 00:05:00 Bu 1 paragraflık özet, bilgisayara bir dizi girdinin verildiği ve verilen bir girdinin etiketini tahmin etmesinin istendiği bir tür makine öğrenimi olan denetimli öğrenmeyi açıklar.

  • 00:10:00 Denetimli öğrenme, bir makine öğrenimi modelini eğitmek için girdi verilerine bir etiket atama işlemidir. Model daha sonra verilen girdi için bir tahmin verecektir. Denetimsiz öğrenme, verilerdeki kalıpları öğrenmek için etiketlenmemiş verileri kullanma sürecidir. Takviyeli öğrenmede, bir temsilci, ödül ve cezalara dayalı etkileşimli bir ortamda eğitilir.

  • 00:15:00 Bu video makine öğrenimini, çeşitli uygulamalarını ve işleyebileceği çeşitli veri türlerini tartışıyor. Aynı zamanda denetimli ve denetimsiz öğrenmeyi ve regresyonu da kapsar.

  • 00:20:00 Bu videoda eğitmen, makine öğreniminin nasıl çalıştığını ve bir veri kümesindeki sonuçları tahmin etmek için nasıl kullanılacağını açıklıyor. Eğitmen, eğitimden sonra bir makine öğrenimi modelinin doğruluğunun nasıl ayarlanacağını da tartışır.

  • 00:25:00 Bu video, kayıp kavramını ve bunun bir makine öğrenimi modelinin performansını nasıl etkilediğini tartışıyor. Kayıp, bir makine öğrenimi modelinden elde edilen bir tahminin, belirli bir veri kümesinde verilen gerçek etiketten ne kadar uzakta olduğunun bir ölçüsüdür. Her biri kendi avantaj ve dezavantajlarına sahip çeşitli kayıp fonksiyonları mevcuttur. Son olarak video, bir makine öğrenimi modelinin performansının nasıl hesaplanacağını ve doğrulanacağını tartışır.

  • 00:30:00 Video, bir veri kümesinden sınıf etiketlerini tahmin etmek için makine öğreniminin nasıl kullanılacağını tartışıyor. Veri seti, her biri bir sınıfa karşılık gelen 10 özellik içermektedir. Histogramlar, özelliklerin sınıflar arasındaki dağılımlarını görsel olarak karşılaştırmak için kullanılır. Video, verilerin nasıl geliştirilebileceğine dair bir tartışma ile sona eriyor.

  • 00:35:00 Bu videoda eğitmen, bir eğitim, doğrulama ve test seti oluşturmak için makine öğrenimi tekniklerinin nasıl kullanılacağını açıklıyor. Eğitmen, değerleri daha karşılaştırılabilir hale getirmek için bir veri kümesinin nasıl ölçeklendirileceğini gösterir ve ardından x değerlerini dönüştürmek için bir işlev oluşturur. Son olarak, eğitmen bir 2d numpy dizisi oluşturur ve dizileri yan yana istiflemek için hstack işlevini çağırır.

  • 00:40:00 Bu videoda eğitmen, mevcut farklı makine öğrenimi modellerini ve bunların kodda nasıl kullanılacağını tartışıyor. Tartışılan modeller arasında k-en yakın komşular, doğrusal regresyon ve bir sinir ağı vardır.

  • 00:45:00 Bu videoda eğitmen Alan Siegel, uzaklık işlevinin kullanımı ve en yakın komşu algoritmalarının kullanımı da dahil olmak üzere makine öğreniminin temellerini gözden geçiriyor. İkili sınıflandırmada, en yakın komşu algoritmasının hangi noktanın "artı" veya "eksi" etiketi olduğunu belirlemek için bir "k" değeri kullanacağını açıklıyor. Bunun bir araba sahipliği ve çocuk doğurma veri kümesine nasıl uygulanabileceğini göstererek, en yakın komşu algoritmasının belirli bir veri noktası için hangi noktanın "artı" veya "eksi" etiketi olduğunu nasıl belirleyebileceğini gösteriyor.

  • 00:50:00 Bu video, bir noktanın konumunu tahmin etmek için makine öğreniminin nasıl kullanılacağını tartışıyor. Video, en yakın noktayı bulmak için k-en yakın komşu algoritmasının nasıl kullanılacağını açıklıyor. Video ayrıca noktanın sınıflandırmasını belirlemek için bir sınıflandırma raporunun nasıl kullanılacağını açıklar.

  • 00:55:00 Bu videoda bir makine öğrenimi modeli anlatılmaktadır. Model yüzde 82 doğruluk, yüzde 77 kesinlik ve yüzde 89 geri çağırma oranına sahip. Model, basit bir makine öğrenimi modeli olan naive bayes olarak tanımlanıyor.


Bölüm 2

  • 01:00:00 Bayes kuralı, başka olayların zaten gerçekleşmiş olması durumunda olayların olasılığını hesaplamak için kullanılan matematiksel bir formüldür. Bu örnekte, pozitif bir test verilen bir hastalığın olasılığını hesaplamak için Bayes kuralı kullanılmıştır.

  • 01:05:00 Bu video, Bayes çıkarımına odaklanarak makine öğreniminin temellerini kapsar. Sunucu, Bayes çıkarımının sınıflandırma problemlerine nasıl uygulanacağını gösterir ve ilgili çeşitli olasılık dağılımlarını tartışır.

  • 01:10:00 Bu videoda naive bayes için bir kural açıklanıyor ve bir veri seti verildiğinde belirli bir olayın olasılığının, bireysel olayların olasılıklarının toplamıyla orantılı olduğu gösteriliyor.

  • 01:15:00 Bu video, bir futbol maçı oynanırken yağmur yağıp yağmayacağı veya hangi gün olacağı gibi olayların sonuçlarını tahmin etmek için makine öğreniminin nasıl kullanılabileceğini açıklıyor. Ardından video, daha gelişmiş bir makine öğrenimi tekniği olan lojistik regresyonu tartışmaya devam ediyor. Video, farklı sonuçların olasılığını tahmin etmek için regresyon çizgisinin nasıl kullanılabileceğini gösterir. Video, bir öğrencinin belirli bir testi geçip geçmeyeceğini tahmin etmek için lojistik regresyonun nasıl kullanılabileceğini gösteren bir demo ile sona eriyor.

  • 01:20:00 Bu videoda eğitmen, bir sınıflandırıcının doğru olma olasılığını tahmin etmek için doğrusal regresyonun nasıl kullanılacağını açıklıyor. Bunu yapmak için önce denklemi p eşittir mx artı b şeklinde yeniden yazmaları gerekir. Bu denklem, negatif sonsuzdan sonsuza kadar bir dizi alabilir, ancak sıfır ile bir arasında kalmalıdır. p'yi çözmek için, onlara p bölü bir eksi olasılık veren olasılıkların günlüğünü kaldırırlar.

  • 01:25:00 Bu videoda sunum yapan kişi üç tür makine öğrenimi modelini tartışıyor: doğrusal regresyon, lojistik regresyon ve destek vektör makineleri. Sunum yapan kişi, her modelin nasıl kullanılacağını gösterir ve her birinin nasıl kullanılabileceğine dair örnekler sağlar.

  • 01:30:00 Bu videoda, eğitmen makine öğreniminin nasıl çalıştığını ve mevcut farklı algoritma türlerini tartışıyor. Ayrıca, kenar çizgileri üzerinde bulunan veri noktalarını kullanarak bir destek vektör makinesinin (SVM) kenar boşluklarının nasıl maksimize edileceğini de tartışıyor.

  • 01:35:00 Bu videoda yazar, destek vektör makineleri (SVM'ler), sinir ağları ve lojistik regresyon dahil olmak üzere farklı makine öğrenme modellerini tartışıyor. SVM'lerin üçü arasında en doğru olan olduğunu ve sinir ağlarının SVM'lerden bile daha doğru olabileceğini gösteriyor.

  • 01:40:00 Makine öğreniminde nöron, sinir ağındaki temel temsil birimidir. Bir nöronun giriş özellikleri bir ağırlık ile çarpılır ve tüm bu çarpılmış girdilerin toplamı daha sonra nöronun girdisi olur. Nöronun aktivasyon işlevi, tahminleriyle ilişkili hataya dayalı olarak girdilerinin doğrusal durumunu değiştirir. Gradyan iniş algoritması, ikinci dereceden fonksiyonun eğimini daha düşük bir hataya doğru takip etmek için kullanılır.

  • 01:45:00 Bu videoda eğitmen, makine öğreniminin nasıl çalıştığını ve TensorFlow kullanılarak bir sinir ağının nasıl programlanacağını açıklıyor. Sıralı bir sinir ağının nasıl oluşturulacağını ve bir ağırlığa göre kaybın nasıl hesaplanacağını göstermeye devam ediyor.

  • 01:50:00 Bu videoda sunucu, makine öğrenimi algoritmalarının TensorFlow ile nasıl kullanılacağını gösteriyor. İlk olarak, TensorFlow'u içe aktarırlar ve bir sinir ağı modeli oluştururlar. Ardından, katmanların aktivasyonunu ayarlar ve kayıp ve doğruluk ölçümlerini yapılandırırlar. Son olarak, modeli 100 dönemlik bir eğitim ve 32 dönemlik doğrulama ayrımı kullanarak eğitirler.

  • 01:55:00 Bu videoda yazar, bir makine öğrenimi modelinin ızgara arama kullanarak nasıl eğitileceğini açıklıyor. Ayrıca hiperparametrelerin önemini ve bunların nasıl ayarlanacağını tartışıyor.


Bölüm 3

  • 02:00:00 Bu eğitim videosu, tahmin ve sınıflandırma için makine öğreniminin nasıl kullanılacağını gösterir. Video, bir makine öğrenimi modelini eğitmenin, modelin geçmişini kaydetmenin ve modelin performansını çizmenin temellerini kapsar.

  • 02:05:00 Bu video, döküm adı verilen bir teknik kullanılarak bir sinir ağı için en az kayıplı bir modelin nasıl oluşturulacağını gösterir. Model, SVM kullanan bir modele benzer şekilde çalışır ve video ayrıca ağın çıktısını kullanarak bir sınıflandırma raporunun nasıl oluşturulacağını gösterir.

  • 02:10:00 Bu videoda yazar doğrusal regresyonu ve kalıntının nasıl hesaplanacağını açıklıyor. Kalıntı, tahmin ile gerçek veri noktası arasındaki mesafedir ve regresyon çizgisine en uygun çizgiyi belirlemek için kullanılır.

  • 02:15:00 Video, doğrusallık ve bağımsızlık kavramlarını tartışıyor ve bu varsayımların doğrusal olmayan veri kümelerinde nasıl ihlal edilebileceğini gösteriyor. Daha sonra normallik ve eş varyans varsayımlarını ve bunların artık grafikler kullanılarak nasıl değerlendirilebileceğini tartışmaya devam ediyor.

  • 02:20:00 Ortalama mutlak hatanın ölçüsü, tahminlerimizin eğitim kümemizdeki gerçek değerlerden ortalama olarak ne kadar uzakta olduğunu bize söyler.

  • 02:25:00 Ortalama karesel hata (MSE), bir tahminin ne kadar iyi performans gösterdiğinin bir ölçüsüdür ve ortalama mutlak hatayla yakından ilişkilidir. RMSE, artıkların tüm karelerinin toplamı alınarak hesaplanır ve bir tahminin beklenen değerine göre ne kadar iyi performans gösterdiğini ölçmek için kullanılır.

  • 02:30:00 Bu 1 saatlik video kursu, doğrusal regresyon da dahil olmak üzere makine öğreniminin temellerini kapsar. Kurs artıklar konusunu ve bunların bir veri kümesi için en iyi uyum çizgisini belirlemek için nasıl kullanılacağını kapsar.

  • 02:35:00 Bu video, makine öğrenimi kavramını ve çeşitli kitaplıkların ve veri kümelerinin nasıl kullanılacağını tanıtıyor. Ardından, verileri temsil etmek için bir veri çerçevesinin nasıl kullanılacağını ve verilerin nasıl analiz edileceğini açıklamaya devam eder.

  • 02:40:00 Video, günün farklı saatlerinde bisiklet sayısını tahmin etmek için makine öğreniminin nasıl kullanılacağını tartışıyor. Bir eğitim, doğrulama ve test setinin nasıl oluşturulacağını ve veri çerçevesini farklı gruplara bölmek için numpy.split işlevinin nasıl kullanılacağını gösterir.

  • 02:45:00 Video, makine öğreniminin sorunları çözmek için nasıl kullanılabileceğini tartışıyor. Eğitmen, sıcaklığı tahmin etmek için makine öğrenimini kullanmanın bir örneğini verir ve regresyon katsayılarının nasıl hesaplanacağı ve modelin nasıl puanlanacağı hakkında bilgi verir.

  • 02:50:00 Bu videoda içerik oluşturucu, yeni bir veri kümesinde doğrusal regresyon modelinin performansını artırmak için makine öğreniminin nasıl kullanılacağını gösteriyor.

  • 02:55:00 Bu videoda sunucu, TensorFlow kitaplığını kullanarak Python'da bir doğrusal regresyon modelinin nasıl oluşturulacağını açıklıyor. Modeli eğitmeden önce verileri normalleştirmenin ve ardından geri yayılımı kullanarak modeli uydurmanın yararlı olduğunu açıklıyorlar. Modelin zaman içindeki kaybının nasıl çizileceğini ve modelin nasıl iyi bir uyuma yaklaştığını gösterirler.


4. Bölüm

  • 03:00:00 Bu video, makine öğrenimi kavramlarını herkesin erişebileceği şekilde açıklıyor. Eğitmen, bir veri kümesinden değerleri tahmin etmek için bir sinir ağının nasıl kullanılacağını gösterir ve çeşitli parametreleri değiştirmenin etkisini gösterir.

  • 03:05:00 Bu video, doğrusal regresyonun tarihi ve bir sinir ağının nasıl kullanılacağı da dahil olmak üzere makine öğreniminin temellerini kapsar. Sunum yapan kişi daha sonra bir doğrusal regresyon ve bir sinir ağı için ortalama karesel hatanın nasıl hesaplanacağını gösterir ve sonuçları karşılaştırır.

  • 03:10:00 Bu videoda eğitmen, denetimli ve denetimsiz öğrenmenin nasıl çalıştığını açıklıyor. Tahmin yapmak için doğrusal bir regresyon ve sinir ağının nasıl kullanılabileceğini tartışıyor.

  • 03:15:00 Bu videoda sunum yapan kişi, verileri üç kümeye bölmek için makine öğreniminin nasıl kullanılacağını açıklıyor. Daha sonra bu bilgileri yeni merkezleri hesaplamak ve yeni kümeler oluşturmak için kullanırlar.

  • 03:20:00 Bu videoda iki tür makine öğrenimi ele alınmaktadır: verilerdeki kalıpları arayan denetimsiz öğrenme ve gelecekteki sonuçların nasıl tahmin edileceğini öğrenmek için bir eğitim seti kullanan denetimli öğrenim. Denetimsiz öğrenme teknikleri, verilerin temel bileşenlerini bularak boyutsallığı azaltan beklenti maksimizasyonu ve ilke bileşen analizini içerir. Denetimli öğrenme teknikleri, doğrusal regresyon ve Bayesci çıkarımı içerir.

  • 03:25:00 Makine öğrenimi, bilinmeyen veriler hakkında tahminler yapmaya yardımcı olan bir veri analizi alanıdır. Bu kursta eğitmen, bir veri setinin boyutsallığını azaltmak için temel bileşen analizinin (PCA) nasıl kullanılacağını açıklar. Bu, veri noktalarının daha kolay görselleştirilmesini ve ayırt edilmesini sağlar.

  • 03:30:00 Bu videoda sunum yapan kişi doğrusal regresyon kavramını ve bunun iki boyutlu (2D) verilere uygulanmasını tanıtıyor. Daha sonra, bir veri setini en ilgili boyutlarına indirgemek için kullanılan bir teknik olan temel bileşen analizi (PCA) kavramını tanıtıyorlar. Son olarak, denetimsiz öğrenmenin makine öğreniminde kullanımını tartışıyorlar.

  • 03:35:00 Bu video, denetimsiz öğrenme kullanılarak sınıflandırma için makine öğreniminin nasıl kullanılacağını tartışır. Sunucu, verileri içe aktarmak için pandaların nasıl kullanılacağını gösterir ve ardından sonuçları görmek için verileri birbiriyle karşılaştırır. Verilerin bir kısmının nasıl göründüğünü tartışarak sonuca varırlar ve farklı bir sınıflandırıcı kullanılarak kümelemenin geliştirilebileceğini öne sürerler.

  • 03:40:00 Video, verileri kümelemek için makine öğrenimi algoritmalarının nasıl kullanılacağını öğretir.

  • 03:45:00 Bu videoda, bir makine öğrenimi uzmanı belirli sorunları çözmek için çeşitli makine öğrenimi tekniklerinin nasıl uygulanacağını tartışıyor. Video ayrıca küme analizi ve PCA'yı da kapsar.

  • 03:50:00 Bu video, makine öğrenimini ve denetimsiz öğrenme de dahil olmak üzere çeşitli aşamalarını açıklıyor. Ayrıca k-means kullanarak kümelemenin nasıl yapıldığını da kapsar. Video, denetimli öğrenme ve sınıflandırma ve regresyon da dahil olmak üzere çeşitli aşamaları hakkında bir tartışma ile sona eriyor.
Machine Learning for Everybody – Full Course
Machine Learning for Everybody – Full Course
  • 2022.09.26
  • www.youtube.com
Learn Machine Learning in a way that is accessible to absolute beginners. You will learn the basics of Machine Learning and how to use TensorFlow to implemen...
 

TensorFlow 2.0 Hızlandırılmış Kurs


TensorFlow 2.0 Hızlandırılmış Kurs

"TensorFlow 2.0 Hızlandırılmış Kurs" videosu, görüntü sınıflandırmasına odaklanarak sinir ağlarının temellerini ve mimarilerini kapsar. Eğitmen, sinir ağını kayıp fonksiyonlarına dayalı olarak ağırlıkları ve önyargıları ayarlama süreci aracılığıyla eğitmek için örnek olarak bir yılan oyunu ve moda mnist veri kümesi kullanır. Video, daha karmaşık modeller oluşturmak için veri ön işlemenin ve sigmoid ve ReLU gibi etkinleştirme işlevlerini kullanmanın önemini gösterir. Konuşmacı ayrıca test ve eğitim verilerinin önemini vurgular ve model için görüntü verilerinin nasıl yükleneceğini ve değiştirileceğini gösterir. Son olarak sunum yapan kişi, Keras'ta bir modelin mimarisinin nasıl tanımlanacağını, onu derleme ve sığdırma yöntemlerini kullanarak eğitmeyi ve "model.predict" kullanarak belirli görüntüler üzerinde tahminler yapmayı gösterir.

Eğitim videosunun ikinci bölümü, moda öğelerini sınıflandırabilen ve film eleştirileri üzerinde duygu analizi gerçekleştirebilen temel bir sinir ağı oluşturmanın çeşitli yönlerini kapsar. Eğitim için veri yükleme ve hazırlama ile başlayan öğretici, verileri ön işlemenin ve giriş dizilerinin uzunluklarını normalleştirmenin önemini açıklamaya devam eder. Öğretici daha sonra gömme ve yoğun katmanlar gibi farklı katmanların kullanılması da dahil olmak üzere uygun bir model mimarisinin oluşturulmasını kapsar. Son olarak, öğretici, hiperparametrelerde ince ayar yapmayı, modeli doğrulamayı, modelleri kaydetmeyi ve yüklemeyi ve modelin dış veriler üzerindeki performansını değerlendirmeyi açıklar. Genel olarak, öğretici, daha gelişmiş sinir ağı bilgisi oluşturmak için temel bir yapı sağlar. Ayrıca, model için verilerin kodlanması, tahmin için kaydedilmiş bir modelin çalıştırılması ve Ubuntu Linux'ta TensorFlow 2.0 GPU sürümünün yüklenmesi dahil olmak üzere TensorFlow 2.0 ile ilgili farklı konuları kapsar. Kodlama bölümünde sunum yapan kişi, uygun kelime eşlemesini sağlamak için verileri kırpma ve temizleme sürecini ve verileri tahmin için kodlamak üzere bir arama işlevi oluşturmayı adım adım anlatır. Daha sonra, bir Linux sistemine TensorFlow 2.0 GPU sürümünü yüklemeye ilişkin bir eğitime geçmeden önce modelin işlemesi için girdi verilerini doğru formatta hazırlamanın önemini gösteriyorlar ve ilgili indirmelerin boyutu nedeniyle izleyicilere sabırlı olmalarını tavsiye ediyorlar. .

  • 00:00:00 Bu bölümde, eğitmen sinir ağları kavramını ve nasıl çalıştıklarını tanıtır. Sinir ağları, beynimizdeki nöronların nasıl çalıştığına benzer şekilde, birbirine bağlı nöron katmanlarından oluşur. Bu nöronlar ateşleyebilir veya ateşleyemezler ve aralarındaki bağlantılar ne zaman ateşlendiklerini ve başka hangi nöronların ateşlenmesine neden olabileceklerini belirler. Bir sinir ağı, son katmandan çıktı üretmeden önce bir nöron katmanından girdi alarak ve bunu bir veya daha fazla gizli katmandan geçirerek çalışır. Bir sinir ağının mimarisi, çözmek için kullanıldığı sorunun türüne bağlı olarak değişebilir, ancak yaygın bir yaklaşım, bir katmandaki her nöronun bir sonraki katmandaki her nörona bağlı olduğu tamamen bağlantılı bir sinir ağı kullanmaktır. Eğitmen, başarılı ve karmaşık ağlar yaratabilmek için sinir ağlarının arkasındaki matematiği anlamanın önemini vurgular.

  • 00:05:00 Bu bölümde, eğitmen sinir ağlarının temellerini ve bir problemin çözümünde nasıl çalıştıklarını açıklar. Bir oyunda yılanı canlı tutmak için eğitilmiş dört giriş ve bir çıkış kullanarak basit bir sinir ağı kuruyor. Giriş, yılanın önünde, solunda ve sağında bir engel olup olmadığı ve üç farklı değere sahip önerilen hareket yönüdür: -1 sol için, 0 düz için ve 1 sağ için. Bir girdi verildiğinde, sinir ağı, önerilen yönün takip edilip edilmeyeceğini temsil eden bir 0 veya 1 çıktı olarak verir. Yılanı canlı tutabiliyorsa tavsiye edilen yönü takip edecek şekilde tasarlanmıştır, aksi halde takip etmeyecektir.

  • 00:10:00 Bu bölümde konuşmacı sinir ağlarının mimarisini ve nasıl çalıştığını tartışıyor. Girdi ve çıktı katmanları ağırlıklar aracılığıyla birbirine bağlıdır ve çıktı, bu ağırlıklarla çarpılan değerlerin ağırlıklı toplamı alınarak bir sapma değeri de dahil edilerek belirlenir. Ağ daha sonra büyük miktarda veri girilerek ve doğru çıktılar üretmek için sapmalar ve ağırlıklar ayarlanarak eğitilir. Çıktı doğruysa herhangi bir ayarlama yapılmaz, ancak yanlışsa ağ, doğruluğu artırmak için ağırlıkları ve sapmaları ayarlar.

  • 00:15:00 Bu bölümde eğitmen, daha doğru yanıtlar almak için ağırlıkları ve önyargıları ayarlayabilmesi için bilgilerin ağ üzerinden geçirildiği bir sinir ağı eğitim sürecini açıklıyor. Ağ, rasgele ağırlıklar ve sapmalarla başlar ve bunları yüksek bir doğruluk düzeyine ulaşana kadar yinelemeli olarak ayarlar. Ardından, ağa karmaşıklık katan doğrusal olmayan işlevler olan etkinleştirme işlevleri tanıtılır. Özellikle sigmoid aktivasyon fonksiyonu, negatif bir ile bir arasındaki herhangi bir giriş değerini eşleyerek, belirli bir aralıkta çıkışlara izin vermek olarak tanımlanır. Bu, ağa daha fazla karmaşıklık ve zenginlik getirir.

  • 00:20:00 Bu bölümde konuşmacı aktivasyon fonksiyonlarını ve sinir ağlarındaki rollerini tartışıyor. Bu işlevler, gerçek dünya verilerine yaklaşmada daha iyi olan doğrusal olmayan işlevleri etkinleştirerek modelde daha fazla karmaşıklığa izin verir. Sigmoid, çıktıyı 0 ila 1 aralığına dönüştüren temel aktivasyon fonksiyonlarından biridir. Daha yakın zamanda kullanılan bir fonksiyon, negatif değerleri 0'a ayarlayan ve pozitif değerleri daha pozitif hale getiren, böylece verileri tutan Doğrulanmış Doğrusal Birimdir (ReLU). 0 ila pozitif sonsuz aralığındaki noktalar. Konuşmacı ayrıca, modellerdeki ağırlıkların ve sapmaların nasıl ayarlanması gerektiğini anlamada kayıp fonksiyonlarının kritik öneme sahip olduğunu açıklıyor. Öngörülen çıktı ile gerçek çıktı arasındaki hatayı hesaplayarak daha verimli ayar ve ayarlamaya olanak tanırlar.

  • 00:25:00 Bu bölümde, konuşmacı sinir ağları kavramını ve zor sorunları çözebilen daha karmaşık modeller oluşturmak için gizli katmanların nasıl kullanılabileceğini açıklıyor. Video ayrıca verilerin önemine ve bir diziye gönderilmeden önce nasıl önceden işlenmesi ve doğru forma yerleştirilmesi gerektiğine de odaklanıyor. Konuşmacı, TensorFlow'un 2.0 eğitiminden yola çıkarak çalışıyor ancak sinir ağlarında yeni olanlar için kafa karıştırıcı olabilecek ek bilgiler ekliyor. Öğretici, görüntü sınıflandırması için bir örnek olarak giyim öğelerinin görüntülerini içeren fashion mnist veri kümesini kullanır. Video, izleyicilere TensorFlow 2.0 ve matplotlib'in nasıl kurulacağını göstererek sona eriyor.

  • 00:30:00 Bu bölümde video, grafik oluşturmak ve görüntüleri göstermek için kurulması gereken tensorflow, keras, numpy, matplotlib gibi paketleri kapsamaktadır. Video ayrıca, test ve eğitim verileri arasındaki farkı da açıklıyor; burada verilerin yaklaşık %90-80'i onu eğitmek için ağa aktarılıyor ve geri kalan veriler doğruluğu test etmek ve ağın yalnızca ezberlemekle kalmadığından emin olmak için kullanılıyor. veri. Video, veri kümesini etiketlerle eğitim ve test verilerine bölmek için Keras'ı kullanıyor. Son olarak, video, her görüntünün kendisine 0 ile 9 arasında atanmış belirli bir etikete sahip olduğu etiket gösterimi hakkında fikir verir.

  • 00:35:00 Bu bölümde eğitmen, TensorFlow 2.0 modeli için görüntü verilerinin nasıl yükleneceğini ve değiştirileceğini gösterir. Her etiket numarasının neyi temsil ettiğini gösteren, etiket adları için bir liste oluşturur. Daha sonra görüntüleri görüntülemek için Matplotlib kitaplığını kullanıyor ve bunların 28x28 piksellik diziler olduğunu açıklıyor. Verilerin boyutunu küçültmek için piksel değerleri 255'e bölünerek modelde çalışmayı kolaylaştırır. Ondalık değerlerden oluşan değiştirilmiş veriler, sınıfı yani etiket numarasını 0 ile 9 arasında tahmin edecek olan modele yüklenir. sonraki bölüm

  • 00:40:00 TensorFlow 2.0 Hızlandırılmış Kursun bu bölümünde, konuşmacı görüntü sınıflandırması için bir sinir ağının mimarisini açıklıyor. Giriş, sinir ağının giriş katmanına beslenmek üzere 784 piksellik bir liste halinde düzleştirilmiş, gri tonlama değerlerine sahip 28x28 piksellik bir dizidir. Çıkış katmanı, her biri 10 sınıftan (0-9) birini temsil eden 10 nörona sahiptir. Amaç, tahmin edilen sınıfı temsil eden en aktif nörona sahip olmaktır. Konuşmacı ayrıca gizli katmanları da ele alarak iki katmanlı bir ağın mümkün olduğunu ancak daha karmaşık görüntü tanıma görevleri için ideal olmadığını vurguluyor.

  • 00:45:00 TensorFlow 2.0 Hızlandırılmış Kursunun bu bölümünde, eğitmen sinir ağlarında gizli katman kavramını açıklıyor. Ağ, 128 nöronlu bir gizli katman ekleyerek görüntüyü analiz edebilir ve görüntünün daha iyi tanınmasına yardımcı olabilecek kalıpları belirleyebilir. 128 nöronun seçimi biraz keyfidir ve bir gizli katman için nöron sayısı uygulamaya bağlıdır. Eğitmen daha sonra Keras'ta model için mimariyi veya katmanları tanımlamaya devam eder. Mimari, düzleştirilmiş bir giriş katmanı, iki yoğun veya tamamen bağlı katman ve 10 nöronlu bir çıkış katmanı ve ağın belirli bir sınıfı tanıma olasılığını vermek için softmax aktivasyonu içerir.

  • 00:50:00 Bu bölümde video, bir model için parametreleri ayarlama ve onu TensorFlow 2.0'daki "derleme" ve "uydurma" yöntemlerini kullanarak eğitme sürecini açıklıyor. Bu, eğitim için dönem sayısını ayarlamadan önce derlenmiş modelde kullanılacak optimize edici, kayıp işlevi ve ölçümlerin tanımlanmasını içerir. Video aynı zamanda dönemlerin ne olduğu ve modelin doğruluğunu nasıl etkiledikleri hakkında basit bir açıklama sağlar. Dosyayı çalıştırdıktan sonra, modelin test doğruluğu değerlendirilir ve eğitim doğruluğundan biraz daha düşük olan 87 olduğu ortaya çıkar.

  • 00:55:00 Bu bölümde sunum yapan kişi, belirli görüntüler üzerinde tahminlerde bulunmak için modelin nasıl kullanılacağını gösterir. "model.predict" yöntemini kullanmanız ve görüntülerin giriş şeklini içeren bir liste veya np dizisi geçirmeniz gerektiğini açıklıyor. Yöntem daha sonra size bir grup tahmin verecektir, çünkü sizden bir sürü farklı şeyi geçmenizi bekler ve modeli kullanarak hepsini tahmin eder. Çıktı, her biri modelin belirli bir görüntü için tahminlerini içeren bir dizi farklı listedir. Sunucu, eğitim videolarında bu özelliğin bazen ihmal edildiğini, ancak modelin pratik olarak nasıl kullanılacağını anlamanın önemli olduğunu belirtiyor.
  • 01:00:00 Bu bölümde konuşmacı, bir listedeki en yüksek sayının dizinini bulan np.argmax() işlevini kullanarak ağ tahminlerinin nasıl yorumlanacağını ve doğrulanacağını gösterir. Tahmin edilen sınıfın gerçek adını almak için bu işlevin değerini alıp sınıf adlarına iletirler. Konuşmacı, test görüntülerinden birkaç görüntüyü görüntülemek için temel bir for döngüsü oluşturmaya devam eder ve her biri için karşılık gelen tahmini gösterir. Bunun, modelin doğru bir şekilde tahmin ettiğini ve tahminin görüntülenen girdi görüntüsüne göre mantıklı olduğunu doğrulamak için nasıl kullanılabileceğini gösterirler. Son olarak, konuşmacı karşılaştığı bir hatanın hızlı bir şekilde düzeltildiğini not eder.

  • 01:05:00 Bu bölümde, video eğitimi TensorFlow 2.0 kullanarak gömlek veya tişört gibi moda ürünlerini sınıflandırabilen basit bir modelin nasıl oluşturulacağını gösterir. Öğretici, birden çok görüntü için tahmin sürecini ve bir görüntü için nasıl tahmin yapılacağını adım adım anlatır. Model, basit bir sınıflandırma problemine dayanmaktadır ve temel sinir ağlarına genel bir bakış sağlamak için tasarlanmıştır. Gelecekteki videolarda içerik daha gelişmiş hale gelecek ve gerçek verilerle sorunları kapsayacaktır. Bu eğitimde kullanılan veriler basit olsa da, büyük veri kümelerini yüklemek ve önceden işlemek zor olabilir ve bunları kullanılabilir hale getirmek için ayarlamalar yapılması gerekir. Bununla birlikte, öğretici, sinir ağları hakkında bilgi oluşturmak için sağlam bir temel sunan, takip etmesi kolay bir yapı sağlar.

  • 01:10:00 Bu bölümde, eğitim yazarı verilerin nasıl yükleneceği ve eğitim ve test kümelerine ayrılarak eğitim için nasıl hazırlanacağı açıklanmaktadır. Tamsayı kodlu sözcükler kavramını ve bunların film incelemelerini nasıl temsil ettiğini tanıtıyorlar. Yazar daha sonra bu sayıların belirli kelimelere karşılık geldiğini açıklar ve bu tamsayıların ilgili kelimelere nasıl geri döndürüleceğini gösterir. Ayrıca, veri kümesindeki her bir kelimeye benzersiz bir tamsayı atayan bir kelime indeksinin oluşturulmasını da gösterirler. Son olarak, kelime dizinine özel anahtarlar eklerler ve eğitimin sonraki bölümlerinde bunların nasıl kullanılacağını açıklarlar.

  • 01:15:00 Bu bölümde konuşmacı, eğitim ve test veri setindeki ilgili anahtarlara dolgu, başlangıç, bilinmeyen ve kullanılmayan kelimeler için değer atama sürecini açıklamaktadır. Tüm film inceleme setlerini aynı boyutta yapmak için bir listenin sonuna dolgu sözcükleri ekleyerek tüm film inceleme setlerinin aynı uzunluğa sahip olmasını sağlamak için bir ped etiketi eklerler. Tamsayıların tam tersi yerine bir kelimeyi işaret etmesine izin veren bir sözlük oluşturmak için, bunu başarmak için anahtarlardaki değerleri tersine çevirmek için ters kelime dizin listesi kullanılır. Son olarak, konuşmacı, eğitim ve test verilerinin kodunu birleştirilmiş bir boş dize ve ters sözcük dizini kullanarak insanlar tarafından okunabilir sözcüklere dönüştürme işlevini açıklar.

  • 01:20:00 Bu bölümde eğitmen, incelemelerin uzunluğunu belirlemek için dolgu etiketlerini kullanarak tüm incelemeler için nasıl normalleştirileceğini veya belirli bir uzunluğun nasıl ayarlanacağını açıklar. Eğitmen, girdi nöronlarının uzunluğunu belirlemenin imkansız olduğunu, çünkü veri setinin farklı uzunluklarda olabileceğini, dolayısıyla bu sınırlamayı çözmek için bir dolgu etiketinin kullanıldığını açıklıyor. Eğitmen, dizileri belirli bir uzunlukta doldurmak veya tüm dizileri kullanıcı tanımlı bir uzunluğa normalleştirmek için ön işleme ve dizi gibi Tensorflow işlevlerinin nasıl kullanılacağını gösterir. Son olarak, öğretmen tüm bölümün bir özetini sunar ve verileri yüklemek, kodlamak, kodunu çözmek ve ön işlemek için kullanılan farklı mekanizmaları vurgular.

  • 01:25:00 Bu bölümde video eğitmeni, verileri ön işlemeye devam eder ve model tarafından kabul edilebilecek tutarlı bir form haline getirir. Verilerin tutarlılığını kontrol ettikten sonra video, model mimarisini tanımlamaya geçer. Eğitmen, gömme, küresel ortalama havuzlama 1D ve farklı aktivasyon işlevlerine sahip yoğun katmanlar gibi çeşitli katmanların kullanımını açıklar. Ayrıca, model çıktısının, incelemenin olumlu veya olumsuz olma olasılığını gösteren, 0 ile 1 arasında bir değere sahip tek bir nöron olacağını da tartışıyorlar. Video, kelime yerleştirmenin önemini ve modelin mimarisini anlamada nasıl yardımcı olduğunu tartışarak sona eriyor.

  • 01:30:00 Bu bölümde, konuşmacı kelime vektörleri kavramını ve gömme katmanının benzer anlamlara sahip kelimeleri bir arada gruplandırmaya nasıl yardımcı olabileceğini tartışıyor. Gömme katmanı, girdi verilerindeki her kelime veya tamsayı kodlu terim için esas olarak 16 boyutlu bir alanda katsayılar olan kelime vektörleri üretir. Başlangıçta, katman her terim için 10.000 kelime vektörü oluşturur ve bunları rastgele gruplandırır. Katman daha sonra aralarındaki açıya bakarak vektörler arasındaki benzerliği belirler ve benzer kelimeleri birbirine daha yakın gruplandırmaya çalışır. Bu işlem, bilgisayarın, film incelemelerinin olumlu veya olumsuz olarak doğru bir şekilde sınıflandırılması için gerekli olan sözcüklerin anlamını ve bağlamını anlamasına yardımcı olur.

  • 01:35:00 Bu bölümde video, bir sinir ağındaki gömme katmanının benzer kelimeleri yalnızca içeriklerine göre değil, bağlamlarına göre gruplandırmak için nasıl kullanıldığını açıklıyor. Sinir ağı, belirli bir kelimenin etrafındaki kelimelere bakarak hangi kelimelerin birbiriyle ilişkili olduğunu belirleyebilir ve bunları gömme katmanında gruplandırabilir. Bu katmanın çıktısı daha sonra, ağı hesaplamayı ve eğitmeyi kolaylaştırmak için verileri daha düşük bir boyuta yerleştiren bir küresel ortalama havuzlama katmanı kullanılarak küçültülür. Video, girdi verilerinin sinir ağındaki gömme katmanından ve sonraki katmanlardan geçirilmesinden sonra ağın nasıl göründüğünün bir diyagramını sunar.

  • 01:40:00 Bu bölümde video, duygu analizi için kullanılan bir sinir ağında örüntü tanıma için yoğun bir katman oluşturulmasını anlatıyor. Sinir ağı, farklı kelimeleri temsil eden kelime vektörlerini alır, ortalamasını alır ve 16 nöronlu yoğun katmana iletir. Yoğun katman, sözcük kalıplarını arar ve 0 ile 1 arasında bir değer çıkarmak için sigmoid işlevini kullanarak olumlu veya olumsuz incelemeleri sınıflandırmaya çalışır. Model daha sonra bir optimize edici, bir kayıp işlevi ve ikili çapraz entropi ile derlenerek tahmin edilen ve gerçek değerler arasındaki fark. Veriler, test sırasında modelin yeni veriler üzerindeki performansını doğru bir şekilde ölçmek için doğrulama ve eğitim kümelerine ayrılır.

  • 01:45:00 Bu bölümde sunum yapan kişi, modeli doğrulamak için kullanılacak eğitim verilerinin bir alt kümesi olan doğrulama verileri olarak test verilerini değiştirir. Hiperparametrelerin makine öğrenimi ve sinir ağlarında önemli olduğunu ve kullanıcıların doğru sonuçlar elde etmek için bireysel parametrelerde ince ayar yapması gerektiğini açıklıyor. Aynı anda kaç tane film incelemesi yükleneceğini belirten parti boyutu kavramını da açıklıyor ve bunu 512 olarak ayarlıyor. Son olarak modeli verilere uyduruyor ve test verileri üzerinde değerlendiriyor. %87 Sunucu, doğrulama verilerinin önemini vurgular ve bazen bir modelin yeni veriler üzerinde daha az doğru olabileceğini açıklar.

  • 01:50:00 Videonun bu bölümünde konuşmacı, her tahmin yapıldığında modeli yeniden eğitmek zorunda kalmamak için modellerin TensorFlow'a nasıl kaydedileceğini ve yükleneceğini açıklıyor; bu, özellikle günler sürebilen daha büyük modeller için elverişsiz olabilir. haftalarca, hatta aylarca eğitilebilir. Modelin sözcük boyutunu artırdıktan sonra, konuşmacı "model.save()" işlevini kullanarak modelin nasıl kaydedileceğini gösterir ve ona TensorFlow'da kaydedilen modeller için kullanılan uzantı olan ".h5" uzantılı bir ad verir. ve Keras. Gelecekteki videolarda, konuşmacı kontrol noktası modellerini ve yükleme modellerini farklı boyutlardaki verilerle gruplar halinde tartışmayı planlıyor.

  • 01:55:00 Bu bölümde, konuşmacı TensorFlow 2.0'da bir modelin nasıl kaydedileceğini ve yükleneceğini açıklıyor. Model, ikili verilere kaydedilebilir ve bu, modelin her seferinde yeniden eğitilmesi gerekmediğinden tahminler yapılırken zaman kazandırır. Modeli yüklemek için, dosya adıyla birlikte tek bir kod satırı eklenmesi gerekir. Konuşmacı daha sonra, kodda bir metin dosyası açarak ve modele beslenebilmesi için verileri önceden işleyerek modelin harici veriler üzerinde nasıl test edileceğini gösterir. Eğitim verileriyle eşleşmesi için metin dosyasının boyutunun en fazla 250 kelime olması gerektiğine dikkat edilmelidir. Ön işleme, virgül ve parantez gibi istenmeyen karakterlerin kaldırılmasını içerir.
  • 02:00:00 Bu bölümde, videoyu oluşturan kişi kodlama sürecini ve verileri 250 kelimeye indirerek tahmin için modelde kullanılabilmesini tartışıyor. Nokta, tırnak ve parantez gibi sembollerin doğru kelime eşlemelerini sağlamak için kaldırılması gerekir. Verilerdeki tüm sözcüklerin eşlemelerini aramak ve kodlanmış bir liste döndürmek için bir işlev oluşturulur. Veriler kodlandıktan sonra, model bir tahmin yapmak için kullanılır ve orijinal metin, kodlanmış inceleme ve tahmin yazdırılır. Son olarak, dizi verilerini kodlanmış bir listeye dönüştürmek için bir review_in_code işlevi tanımlanır.

  • 02:05:00 Videonun bu bölümünde sunucu kaydedilen modeli çalıştırıyor ve kod kodlama sorunu nedeniyle bir hatayla karşılaşıyor. Sorunu düzelttikten sonra sunum yapan kişi, incelemedeki her bir kelimeye karşılık gelen endeksleri atamak için 88.000 kelimelik bir sözlük kullanarak incelemenin ağın anlayabileceği bir formata nasıl çevrileceğini gösterir. Ortaya çıkan çıktı, incelemeyi doğru bir şekilde olumlu olarak tanımlayarak, ağın işlemesi için doğru biçimde olmasını sağlamak üzere girdi verilerinin manipüle edilmesinin önemini vurgular. Ardından video, GPU hızlandırma için CUDA ve cuDNN'yi yükleme talimatlarıyla birlikte, bir Ubuntu Linux sistemine TensorFlow 2.0 GPU sürümünün yüklenmesine ilişkin bir eğitime geçer.

  • 02:10:00 Bu bölümde konuşmacı, izleyicilere GPU sürümünü kullanarak TensorFlow 2.0'ı bilgisayarlarına yükleme sürecinde rehberlik ediyor. Doğru sürücüler ve TensorFlow 2.0 çerçevesinin kendisi dahil olmak üzere NVIDIA paketlerini yüklemek için adım adım bir kılavuz sağlarlar. Konuşmacı, süreç nispeten basit olsa da, söz konusu indirmelerin boyutu nedeniyle tamamlanmasının biraz zaman alabileceğini belirtiyor. Ayrıca, GPU kullanımlarında sorun yaşayan izleyicilere TensorFlow'un CPU sürümünü kaldırmalarını ve daha fazla yardım için yorumlar bölümüne başvurmalarını tavsiye ediyorlar.
TensorFlow 2.0 Crash Course
TensorFlow 2.0 Crash Course
  • 2019.09.26
  • www.youtube.com
Learn how to use TensorFlow 2.0 in this crash course for beginners. This course will demonstrate how to create neural networks with Python and TensorFlow 2.0...
 

Makine Öğrenimi için Python TensorFlow – Sinir Ağı Metin Sınıflandırma Eğitimi



Makine Öğrenimi için Python TensorFlow – Sinir Ağı Metin Sınıflandırma Eğitimi

Bu YouTube eğitiminde sunum yapan kişi, makine öğrenimi ve sinir ağı metin sınıflandırması için Python TensorFlow ile ilgili bir dizi konuyu kapsar. Şarap İncelemeleri veri kümesine odaklanmadan ve çeşitli özelliklerin histogramlarını çizmek için Matplotlib'i kullanmadan önce Google Colab'daki kurulum sürecini ve gerekli kitaplıkların içe aktarılmasını tartışarak başlarlar. Eğitim, denetimli öğrenme dahil olmak üzere makine öğrenimi kavramlarını ve niteliksel ve niceliksel veriler arasındaki farkı ve ayrıca ikili ve çok sınıflı sınıflandırma gibi sınıflandırma senaryolarındaki girdileri ve tahminleri kapsar. Ele alınan diğer konular arasında kayıp fonksiyonları, sinir ağları, aktivasyon fonksiyonları, gradyan iniş ve geri yayılımın yanı sıra sinir ağlarının TensorFlow içinde uygulanması yer alır. Son olarak sunum yapan kişi, metin sınıflandırması için TensorFlow kullanarak bir sinir ağı uygular ve verimliliği artırmak için paketler ve kitaplıklar kullanmanın faydalarını gösterir.

Eğitim videosunun ikinci bölümü, Python'da TensorFlow ile makine öğreniminin çeşitli yönlerini ele alıyor ve özellikle sinir ağı metin sınıflandırmasına odaklanıyor. Eğitim, verileri eğitim ve test kümelerine ayırmayı, TensorFlow ve Keras ile basit bir model oluşturmayı, veri kümelerini ölçeklendirmeyi ve dengelemeyi, tekrarlayan sinir ağlarını kullanmayı ve metin sınıflandırması için TensorFlow Hub kullanmayı kapsar. Öğretici, model doğruluğunu değerlendirmenin ve aktivasyon işlevleri, bırakma katmanları ve farklı hücre türleri gibi çeşitli sinir ağı bileşenlerinin kullanımının önemini vurgular. Eğitim, sinir ağları oluşturma, metin sınıflandırması için TensorFlow kullanma ve sayısal verilerle çalışma dahil olmak üzere temel çıkarımları özetleyerek sona erer.

  • 00:00:00 Videonun bu bölümünde Kylie Ying, izleyicilere Google Colab'da yeni bir not defterinin nasıl kurulacağını ve NumPy, Pandas, Matplotlib, TensorFlow ve TensorFlow Hub gibi gerekli kitaplıkların nasıl içe aktarılacağını göstererek başlıyor. Bu kitaplıkları içe aktardıktan sonra, "Şarap Yorumları" adlı bir veri setini CSV dosyası olarak yükler ve ülke, açıklama, puanlar ve fiyat gibi analiz etmek istediği sütunları seçerek bunu bir Pandas DataFrame olarak okur. Bir şarap incelemesinin puan spektrumunun alt ucunda mı yoksa üst ucunda mı olduğunu sınıflandırmak üzere bir sinir ağı modelinin eğitilip eğitilemeyeceğini görmek için açıklama ve puan sütunları arasındaki ilişkiyi analiz etmeye odaklanmaya karar verir.

  • 00:05:00 Videonun bu bölümünde, konuşmacı bir pandas veri çerçevesinde sütunların nasıl bırakılacağını ve Matplotlib kullanılarak bir histogramın nasıl çizileceğini tartışıyor. Değerlerin dağılımını görmek için puanlar sütununu çizerler ve değerlendirmeleri 90'ın altında ve 90'ın üzerinde olarak sınıflandırmaya karar verirler. makine öğrenimi, verileri kullanarak belirli bir sorunu çözmeye odaklanan yapay zekanın bir alt kümesidir. Yapay zeka, makine öğrenimi ve veri bilimi alanları örtüşür ve verileri analiz etmek ve bunlardan içgörüler çıkarmak için makine öğrenimi tekniklerini kullanabilir.

  • 00:10:00 Bu bölümde, konuşmacı üç farklı makine öğrenimi türünü tanıtıyor: denetimli öğrenme, denetimsiz öğrenme ve pekiştirmeli öğrenim. Öğretici, girdinin karşılık gelen bir çıktı etiketine sahip olduğu ve öğrenme çıktıları için modelleri eğitmek için kullanıldığı denetimli öğrenmeye odaklanır. Konuşmacı, makine öğrenimi modelinin tahminde bulunmak için verilerdeki kalıpları öğrendiğini ve girdi listesine özellik vektörü dendiğini açıklıyor. Konuşmacı ayrıca iki farklı türde nitel veri girişini tartışır: kategorik ve sonlu sayıda kategori veya grup. Öğretici, gelecekteki tahminlerde bulunmak için etiketli giriş ve çıkış eşleştirmelerini kullanmaya odaklanır.

  • 00:15:00 Bu bölümde video, niteliksel ve niceliksel özellikler kavramını ve bunların bilgisayarlar için sayılara nasıl kodlanabileceğini tanıtıyor. Uyruk veya yaş grupları gibi niteliksel özellikler, kendileriyle ilişkilendirilmiş bir numaraya sahip olmayan özelliklerdir ve bunlar tek sıcak kodlama kullanılarak kodlanabilir. Bir masanın boyutu veya ateşin sıcaklığı gibi sayısal özellikler niceldir ve sürekli veya ayrık olabilir. Video ayrıca, doğal bir sıralaması olmayan nominal veriler ile doğal bir sıralaması olan sıralı verileri birbirinden ayırır ve farklı türde nitel özelliklerin nasıl farklı kodlama teknikleri gerektirebileceğini tartışır.

  • 00:20:00 Bu bölümde, konuşmacı denetimli öğrenmedeki farklı girdi türlerini ve tahminleri açıklıyor. Girdiler sürekli veya ayrı olabilirken, tahminler ikili veya çok sınıflı olarak sınıflandırılabilir. İkili sınıflandırma için model, bir girdinin iki kategoriden birine ait olup olmadığını tahmin ederken, çok sınıflı sınıflandırma, girdilerin birkaç kategoriden birine eşlenmesini içerir. Ek olarak, sürekli değerleri tahmin etmek için regresyon kullanılır. Konuşmacı daha sonra modeller konusuyla dalga geçer, ancak henüz ayrıntılara girmez. Son olarak konuşmacı, modelin nasıl öğreneceği ve performansını nasıl değerlendireceği konusuna kısaca değinir.

  • 00:25:00 Bu bölümde konuşmacı, gerçek dünyadan bir örnek için kullanacakları veri setini tartışır ve verinin yapısını açıklar. Veri seti, gebelik sayısı, glikoz seviyeleri ve kan basıncı gibi nicel değişkenler ve ayrıca diyabet olup olmadıklarını gösteren bir sonuç değişkeni dahil olmak üzere bireyler hakkında bilgiler içerir. Her satır farklı bir kişiyi temsil eder ve her sütun, modele beslenebilecek farklı bir özelliği temsil eder. Özellik vektörü, modele takılan şeydir ve bu özellik vektörünün hedefi, tahmin edilecek çıktıdır. Konuşmacı, veri setinin bir eğitim veri seti, bir doğrulama veri seti ve bir test veri seti olarak ayrıldığını ve doğrulama veri setinin, modelin görünmeyen verileri modelden önce işleyebileceğini kontrol etmek için kullanıldığını açıklamaya devam eder. test veri seti üzerinde test edilmiştir.

  • 00:30:00 Bu bölümde, konuşmacı kayıp fonksiyonlarını ve bunların regresyon ve ikili sınıflandırma senaryolarında tahmin edilen değerler ile gerçek değerler arasındaki farkı nasıl ölçtüğünü tartışıyor. Regresyonda, L1 kayıp fonksiyonu tahmin edilen ve gerçek değerler arasındaki farkı bulurken, L2 kayıp fonksiyonu farkların karesini alır. İkili sınıflandırmada ikili çapraz entropi kaybı, belirli bir sınıfa ait olmanın tahmin edilen ve gerçek olasılıkları arasındaki farkı bulur. Konuşmacı ayrıca, sınıflandırma senaryolarında bir performans ölçüsü olarak doğruluğu açıklar. Son olarak, konuşmacı model kavramını ve genel makine öğrenimi sürecine nasıl uyduğunu tanıtıyor.

  • 00:35:00 Bu bölümde konuşmacı, sinir ağlarının sınıflandırma ve regresyon için kullanılabilme yetenekleri nedeniyle popüler olduklarını belirterek tartışıyor. Ancak konuşmacı, sinir ağlarının bazen aşırı kullanıldığından ve basit modeller için kullanılmasının gereksiz olabileceğinden de bahsediyor. Konuşmacı, sinir ağlarının nasıl bir kara kutu olduğunu ve bu nedenle bazen şeffaflıktan yoksun olduğunu tartışıyor. Bir aktivasyon fonksiyonundan geçmeden önce özelliklerin ağırlıklarla nasıl çarpıldığı ve önyargılara nasıl eklendiği de dahil olmak üzere bir sinir ağının yapısını açıklarlar. Konuşmacı, sinir ağının basit bir doğrusal regresyona dönüşmesini önlemek için doğrusal olmayan bir aktivasyon işlevi kullanmanın önemini vurguluyor.

  • 00:40:00 Bu bölümde video, aktivasyon fonksiyonlarını ve sinir ağlarındaki rollerini tartışıyor. Bir sinir ağı basitçe doğrusal bir işlev kullansaydı, amacına hizmet etmezdi. Sigmoid, tange ve relu gibi aktivasyon fonksiyonları, her bir nöronun doğrusal olmayan bir alana yansıtılmasına izin vererek eğitim sürecini mümkün kılar. Video daha sonra sinir ağlarının çalışmasının nedenleri olan gradyan iniş ve geri yayılım kavramını açıklıyor. Gradyan iniş, kayıp fonksiyonunun eğimini ölçer ve geri yayılım, kaybı en aza indirmek için ağırlık değerlerini ayarlar. Bu süreçte, her parametre için eski ağırlık artı bir miktar alfa olan yeni bir ağırlık değeri belirlenir.

  • 00:45:00 Bu bölümde video, önceden geliştirilmiş ve optimize edilmiş TensorFlow gibi kitaplıkları kullanarak makine öğreniminde sinir ağlarının uygulanmasını tartışıyor. TensorFlow kitaplığı, makine öğrenimi modellerinin geliştirilmesine ve eğitilmesine yardımcı olan açık kaynaklı bir kitaplıktır. Kitaplık, farklı optimize ediciler gibi modellerin oluşturulmasında ve optimizasyonunda kullanıcılara yardımcı olan modüller içeren Keras da dahil olmak üzere birçok modül içerir. Video ayrıca, bir sinir ağını sıfırdan kodlamak yerine yerleşik kütüphaneleri kullanmanın neden faydalı olduğunu da açıklıyor.

  • 00:50:00 Bu bölümde sunum yapan kişi, izleyicilere metin sınıflandırması için TensorFlow kullanılarak bir sinir ağının nasıl uygulanacağını gösterir. Read csv işlevini kullanarak diabetes.csv adlı bir veri kümesini yükledikleri yeni bir not defteri oluşturmaya geçmeden önce, verimliliği artırmak için paketleri ve kitaplıkları kullanmanın faydalarını tanıtarak başlıyorlar. Veri seti, Ulusal Diyabet ve Sindirim ve Böbrek Hastalıkları Enstitüsü'nden gelir ve çeşitli özellikler ve hasta demografisinin yanı sıra hastanın diyabet olup olmadığına dair bir sınıflandırma içerir. Sunum yapan kişi daha sonra, Jupyter Notebook'ta bir for döngüsü kullanarak, hastanın diyabeti olup olmadığına göre indekslenen çeşitli özelliklerin histogramlarını çizerek verilerin nasıl görselleştirileceğini gösterir.

  • 00:55:00 Makine öğrenimi ve nöral ağ metin sınıflandırması için Python TensorFlow kullanımına ilişkin video eğitiminin bu bölümünde sunum yapan kişi, diyabetli hastaları ayırt etmek için sonuçların sıfıra ve sonuçların bire ayarlandığı yeni bir veri çerçevesi oluşturur. ve olmayanlar. Bir sonraki adım, farklı değerler arasında ayrılabilir bir örüntü olmadığı için sonuçsuz görünen diyabet pozitif ve negatif hastaların sayısını görselleştirmeyi içerir. Bu, tüm özellikleri bir arada değerlendirerek diyabeti tahmin etmede makine öğreniminin önemini vurgulamaktadır. Son olarak sunum yapan kişi, daha fazla analiz için veri çerçevesini x ve y değerlerine böler.
  • 01:00:00 Bu bölümde konuşmacı, Scikit-learn modülünü kullanarak verilerin eğitim ve test kümelerine nasıl bölüneceğini açıklıyor. Konuşmacı modülü içe aktarır, train_test_split işlevini çağırır ve giriş ve çıkış özelliklerini geçirir. Test boyutu veri setinin %20'si, eğitim boyutu ise veri setinin %60'ı olarak ayarlanmıştır. Geçici kümeler daha sonra 50/50 bölme kullanılarak doğrulama ve test kümeleri oluşturmak için kullanılır. Son olarak konuşmacı, TensorFlow ve Keras'ı kullanarak basit bir model, özellikle önceki katmana yoğun bir şekilde bağlı 16 nöronlu yoğun katman oluşturur.

  • 01:05:00 Bu bölümde, konuşmacı Python'da TensorFlow kullanarak ikili sınıflandırma için bir sinir ağı oluşturma sürecini açıklıyor. Katmanlar ve girdiyi bir şeyin tek bir sınıfa ait olup olmadığına ilişkin olasılıklara eşleyen sigmoid adlı bir aktivasyon işlevi eklerler. Model daha sonra "adam" adı verilen bir optimize edici, "ikili çapraz entropi" adı verilen bir kayıp işlevi ve doğruluk için bir ölçü ile derlenir. Modeli eğitmeden önce, düşük doğruluk sağlayan eğitim ve doğrulama verileri üzerindeki performansını değerlendirirler. Son olarak, konuşmacı "model.fit" işlevini kullanarak modeli eğitir, eğitim ve doğrulama verilerini, yığın boyutunu ve dönem sayısını iletir.

  • 01:10:00 Bu bölümde sunum yapan kişi, daha standart bir aralıkta olduklarından emin olmak için veri kümesi özelliklerini ölçeklendirme ihtiyacını tartışıyor. Sunum yapan kişi, sklearn ön işleme ve standart skaler kullanarak özellikleri ölçeklendirmek için gerekli paketin nasıl içe aktarılacağını açıklar. Özellikleri ölçekledikten sonra sunum yapan kişi, değer aralığını kontrol eder ve özelliklerin çoğunun artık benzer bir ölçekte olduğunu göstermek için dönüştürülen veri çerçevesini çizer. Özellikleri ölçeklendirmek, özelliklerin farklı aralıklar nedeniyle sinir ağının sonucunu etkilememesini sağlamaya yardımcı olur.

  • 01:15:00 Bu bölümde, video eğitimi, rastgele aşırı örnekleme adı verilen bir işlem aracılığıyla veri kümesini normalleştirmeye ve dengelemeye odaklanır. Eğitmen, verileri görselleştirerek, diyabet hastaları ve diyabet olmayan hastalar için veri setinin nasıl büyük ölçüde dengesiz olduğunu ve bunun da iyi eğitilmeyebilecek bir sinir ağına yol açtığını gösterir. Random over sampler kullanılarak, iki kategorinin uzunlukları dengelenerek veri kümesine daha fazla rastgele örnek eklenir. Bu, bir Random Over Sampler içeren Imbalance learning dot over sample adlı başka bir paketi içe aktararak elde edilir. Veri kümesi, fit_resample işlevi kullanılarak yeniden bölünür ve her iki sonuç da yaklaşık olarak bire eşit olur. Hücreleri yeniden çalıştırdıktan sonra, modelin doğruluğu %50'ye yakındır ve bu, veri kümesinin dengelenmesinin daha iyi bir model performansıyla sonuçlandığını gösterir.

  • 01:20:00 Bu bölümde, yaratıcı sinir ağı modelini bir test veri seti üzerinde değerlendirir ve %77,5'lik bir doğruluk elde ederek modelin görünmeyen verilere genellemede başarılı olduğunu gösterir. Öğretici daha sonra tekrarlayan sinir ağlarını (RNN'ler) ve bunların dizileri veya serileri içeren veriler için nasıl yararlı olduklarını tartışmaya devam eder. RNN'ler, sinir ağı içinde bir hafıza oluşturulmasına izin vererek, önceki zaman adımlarından gelen bilgileri hatırlamasına izin verir. Bununla birlikte, RNN'lerin kullanımı, geri yayılım sırasında patlayan veya yok olan gradyanlar gibi sorunlara yol açabilir.

  • 01:25:00 Bu bölümde konuşmacı, modellerin güncellenmesini ve öğrenmesini engelleyen sıfıra gittikçe yaklaşan gradyanlarla ilgili sorunları tartışıyor. Bununla mücadele etmek için, kapılı tekrarlayan birim ve uzun kısa süreli bellek birimi gibi kullanılabilecek farklı tipte hücreler veya nöronlar vardır. Konuşmacı daha sonra şarap incelemelerini kullanarak metin sınıflandırması içeren bir TensorFlow örneğine geçer ve verilerin eğitim, doğrulama ve test veri kümelerine nasıl bölüneceğini gösterir. Konuşmacı, verileri bölmenin farklı bir yolunu göstermek için numpy'nin bölme işlevini kullanır ve veri kümeleriyle çalışırken esnek olmanın önemini vurgular.

  • 01:30:00 Bu bölümde video eğitimi, bir veri setinin eğitim, doğrulama ve test setlerine nasıl bölüneceğini ve bunların TensorFlow'da bir tf.data.Dataset nesnesine nasıl dönüştürüleceğini kapsar. Eğitmen, veri setinin büyük boyutundan dolayı daha büyük bir toplu iş boyutu ve tf.data.autotune kullanır ve veriler halihazırda etiketlenmiş olduğundan, hedef değişkeni "etiket" olarak değiştirmek için işlev kodunu ayarlar. Eğitim ayrıca, bu eğitimde metin sınıflandırması için kullanılan TensorFlow merkezinin nasıl çalıştığını da açıklar. Video, TensorFlow veri seti nesneleri içindeki veri setlerinin nasıl görselleştirileceğini de gösterir.

  • 01:35:00 Bu bölümde, video eğitimi, metin sınıflandırmasına yardımcı olmak için önceden eğitilmiş makine öğrenimi modellerinden oluşan bir havuz olan TensorFlow Hub'ın nasıl kullanılacağını tartışır. Video, bilgisayarların metni anlamadığını, bu nedenle metnin bilgisayarın anlayabileceği sayılara dönüştürülmesi gerektiğini açıklıyor. Bu dönüşümü gerçekleştirmek için video, İngilizce Google haberlerinde eğitilmiş belirteç tabanlı bir metin yerleştirme olan nnlm'yi kullanır ve tüm metni bir sayı vektörüne dönüştürür. Ardından video, yoğun bir katman, ReLU aktivasyon işlevi ve bir ikili sınıflandırma çıktısı ile TensorFlow Keras kullanılarak bir sinir ağı modelinin nasıl oluşturulacağını gösterir. Video, modeli derler ve eğitim ve doğrulama verileri üzerinde değerlendirir ve yaklaşık %40'lık bir doğruluk gösterir.

  • 01:40:00 Videonun bu bölümünde konuşmacı bir makine öğrenimi modelini eğitiyor ve sonuçlarını gözlemliyor. Eğitim doğruluğu artar ve kayıp azalır, bu da modelin iyi eğitildiğini gösterir. Bununla birlikte, doğrulama doğruluğu düzleşir ve hatta biraz azalır, bu da modelin iyi genelleştirilmediğini ve fazla uydurma olduğunu gösterir. Bu sorunu çözmek için konuşmacı, her eğitim yinelemesi sırasında birkaç düğümü "kapatmak" için rastgele seçen bırakma katmanları eklemeyi önerir. Bu, modelde daha fazla rastgelelik ve değişkenlik sunarak modelin daha iyi genelleştirilmesine yardımcı olur. Son olarak, konuşmacı hub katmanını tekrar eder ve modeli derler.

  • 01:45:00 Bu bölümde kullanıcı bir önceki bölümde oluşturulan ve eğitilen sinir ağını değerlendirir. Kayıp azalıyor ve doğruluk artıyor, ancak kullanıcı eğitimi yalnızca beş dönem sonra erken durduruyor. Model, test verileri üzerinden değerlendirilir ve doğruluk oranı %83 civarındadır. Kullanıcı daha sonra bir LSTM kullanarak modelin nasıl yeniden oluşturulacağını gösterir ve maksimum belirteci 2000'e ayarlanmış bir kodlayıcı oluşturarak başlar. Model daha sonra kodlayıcı ve kodlayıcının sözlüğünün uzunluğuna ayarlanmış bir giriş boyutuna sahip bir gömme katmanı kullanılarak tanımlanır. ve 32'ye ayarlanmış bir çıkış boyutu. Son olarak, 32 düğümlü bir LSTM katmanı eklenir.

  • 01:50:00 Videonun bu bölümünde eğitmen, fazla uydurmayı önlemek için yoğun bir katman ve bir dropout katmanı ekleyerek sinir ağını kuruyor. Çıktı için aktivasyon işlevi sigmoid iken, giriş için bir belirteç gerekir. Modelin doğruluğu yaklaşık 53, kaybı ise 0,7 civarında bulunmuştur. Ardından, eğitim ve doğrulama verileri değerlendirilerek model eğitilir. Eğitimin sonunda, test verilerinin doğruluğu 84 olarak bulunur. Eğitim, eğitmenin ileri beslemeli bir sinir ağı oluşturmayı, metin sınıflandırması için TensorFlow kullanmayı ve sayısal uygulamayı öğrenen çıkarımı özetlemesiyle sona erer. veri.
Python TensorFlow for Machine Learning – Neural Network Text Classification Tutorial
Python TensorFlow for Machine Learning – Neural Network Text Classification Tutorial
  • 2022.06.15
  • www.youtube.com
This course will give you an introduction to machine learning concepts and neural network implementation using Python and TensorFlow. Kylie Ying explains bas...
 

TensorFlow 2.0 Eksiksiz Kursu - Yeni Başlayanlar İçin Python Sinir Ağları Eğitimi (1-4. Bölümler)



TensorFlow 2.0 Eksiksiz Kursu - Yeni Başlayanlar İçin Python Sinir Ağları Eğitimi

00:00:00 - 01:00:00 Bu video, veri işleme ve makine öğrenimi için bir kitaplık olan TensorFlow 2.0'a giriş sağlar. Eğitmen tensörün ne olduğunu ve kısmen tanımlanmış hesaplamaları saklamak için tensörlerin nasıl kullanılacağını açıklar. Ayrıca, bir tensördeki boyutların sayısını kontrol etmek için TF nokta sıralaması ve TF nokta yeniden şekillendirme işlevlerinin nasıl kullanılacağını gösterir.

01:00:00 - 02:00:00 Eğitim videosu, bir veri kümesindeki değerleri tahmin etmek için doğrusal regresyonun nasıl kullanılacağını açıklar. Örnek olarak Titanic veri seti kullanılmıştır. Sunum yapan kişi, bir veri kümesindeki değerleri tahmin etmek için doğrusal regresyonun nasıl kullanıldığını ve TensorFlow kullanılarak bir veri kümesinde özellik sütunlarının nasıl oluşturulacağını açıklar.

02:00:00 - 03:00:00 Bu eğitim videosu, sinir ağları için Python kullanmanın temellerini kapsar. Video, bir sinir ağının birbirine bağlı nöron katmanlarından nasıl oluştuğunun bir açıklamasıyla başlıyor. Video daha sonra bir rasgele sayı üretecinin nasıl oluşturulacağını ve bir sinir ağının nasıl eğitileceğini kapsar. Son olarak video, nöronların ve ağırlıkların nasıl bağlanacağını, bilginin ağ üzerinden nasıl iletileceğini ve bir nöronun çıkış değerinin nasıl hesaplanacağını gösterir.

03:00:00 - 04:00:00 Bu video, görüntü tanıma için evrişimli bir sinir ağı oluşturmak üzere TensorFlow'un nasıl kullanılacağını açıklar. Video, nasıl çalıştıkları ve önceden eğitilmiş modellerin nasıl kullanılacağı da dahil olmak üzere evrişimli sinir ağlarının temellerini kapsar.

04:00:00 - 05:00:00 Bu video, bir görüntünün sınıfını tahmin edebilen bir makine öğrenimi modelini eğitmek için TensorFlow'un nasıl kullanılacağını açıklar. Video, derin öğrenme ve Evrişimli Sinir Ağları gibi temel kavramları kapsar.

05:00:00 - 06:00:00 Bu video, sinir ağlarını eğitmek için TensorFlow 2.0'ı kullanmaya yönelik eksiksiz bir kılavuzdur. Sinir ağının giriş ve çıkış şekillerini, bir kayıp fonksiyonunun nasıl oluşturulacağını ve bir diziyi tahmin etmek için modelin nasıl kullanılacağını kapsar. Video ayrıca TensorFlow ile nasıl metin üretileceğini gösterir.

06:00:00 - 06:50:00 Bu eğitim videosu, güçlü bir makine öğrenimi kitaplığı olan TensorFlow 2.0'ın temellerini tanıtıyor. Eğitim, TensorFlow'u ve temel kavramlarını tanıttıktan sonra, izleyicilere derin öğrenme ve pekiştirmeli öğrenme gibi farklı makine öğrenimi görevleriyle ilgili bir dizi eğitimde yol gösterir.


Bölüm 1

  • 00:00:00 Bu video eğitimi, yeni başlayanlara Python'da sinir ağları için TensorFlow 2.0'ın nasıl kullanılacağını öğretir. Eğitmen yapay zeka, sinir ağları ve makine öğrenimi arasındaki farkları açıklar ve uygulama alıştırmaları ve kod örnekleri de dahil olmak üzere ders için kaynaklar sağlar.

  • 00:05:00 Makine öğrenimi, bilgisayarların açıkça programlanmak zorunda kalmadan kendileri için kurallar oluşturmasına izin veren yapay zekanın bir alt alanıdır.

  • 00:10:00 Video, sinir ağlarının ve derin öğrenmenin temellerini ve bu sistemlerin verileri birden çok katman aracılığıyla dönüştürerek nasıl çalıştığını açıklıyor. Sinir ağları, makine öğrenimi ve yapay zeka dahil olmak üzere çeşitli görevler için kullanılabilir. Video ayrıca öğrenci notlarına ilişkin örnek bir veri seti sağlar.

  • 00:15:00 Bu video yapay zeka, makine öğrenimi ve sinir ağları arasındaki farkı tartışıyor ve ardından denetimli öğrenmeyi tartışıyor.

  • 00:20:00 Denetimsiz makine öğrenimi, herhangi bir girdi verimiz olmadığında kullanılır. Benzer veri noktalarının gruplarını bulmak için kullanılır.

  • 00:25:00 Bu video, üç farklı makine öğrenimi türüne genel bir bakış sunar: denetimli, denetimsiz ve takviyeli öğrenim. Son tür olan pekiştirmeli öğrenme, bir yapay zeka (AI) aracısının belirli bir hedefe ulaşmaya çalıştığı bir oyun örneği ile daha ayrıntılı olarak açıklanmaktadır.

  • 00:30:00 Bu videoda, TensorFlow'a temel bir giriş yapılır ve ardından kitaplığın alt düzeyde nasıl çalıştığı tartışılır. TensorFlow daha sonra iki ana bileşen dahil olmak üzere daha ayrıntılı olarak tartışılır: grafikler ve oturumlar. Grafik, birbiriyle ilişkili kısmi hesaplamaların bir koleksiyonudur ve oturum, grafiğin bir kısmını veya tamamını yürütmenin bir yoludur.

  • 00:35:00 Bu videoda eğitmen, grafikler ve oturumlar kavramı da dahil olmak üzere TensorFlow'un temellerini tanıtıyor. Daha sonra, kod blokları oluşturmak ve yürütmek ve ayrıca çeşitli modülleri içe aktarmak ve kullanmak için Google Collaboratory'nin nasıl kullanılacağını gösterir. Son olarak, sınırlı kaynaklara sahip bir bilgisayarda TensorFlow kullanmanın faydalarını tartışıyor.

  • 00:40:00 Bu videoda eğitmen, Python sinir ağları ile TensorFlow 2.0'ın nasıl içe aktarılacağını ve kullanılacağını gösterir. TensorFlow, veri işleme ve makine öğrenimi için bir kitaplıktır. TensorFlow 2.0, performansı artıran kitaplığın yeni bir sürümüdür. Eğitmen ayrıca tensörün ne olduğunu ve vektörleri ve matrisleri nasıl genelleştirdiğini açıklar.

  • 00:45:00 TensorFlow 2.0, kısmen tanımlanmış hesaplamaları depolayan önemli nesneler olan tensörleri sunar. Tensörlerin bir veri türü ve şekli vardır ve her tensörün bir sırası ve derecesi vardır. Bir tensörün sırasını belirlemek için TF nokta sıra yöntemini kullanın.

  • 00:50:00 Yazar bu videoda tensör şekilleri kavramını tanıtıyor ve bunların bir tensördeki eleman sayısını belirlemek için nasıl kullanılabileceğini açıklıyor. Ayrıca tensör derecesi kavramını tanıtıyor ve bunun bir tensördeki boyutların sayısını kontrol etmek için nasıl kullanılabileceğini gösteriyor. Son olarak, TF nokta yeniden şekillendirme işlevini kullanarak bir veri vektörünün farklı bir şekle nasıl yeniden şekillendirileceğini gösteriyor.

  • 00:55:00 Bu video, farklı türleri, tensörlerin nasıl oluşturulacağı ve değerlendirileceği ve bunların nasıl yeniden şekillendirileceği de dahil olmak üzere tensörlerin temellerini öğretir.


Bölüm 2

  • 01:00:00 Bu video, geçmiş verilerden gelecekteki değerleri tahmin etmek için kullanılan bir makine öğrenimi algoritması olan doğrusal regresyonun temel fikrini açıklıyor. Doğrusal regresyon, veri noktaları doğrusal bir şekilde ilişkili olduğunda kullanılır.

  • 01:05:00 Bu eğitimde, en uygun çizgiyi kullanarak yeni veri noktalarını tahmin etmek için doğrusal regresyonu nasıl kullanacağınızı öğreneceksiniz.

  • 01:10:00 Bu videoda sunum yapan kişi, bir veri kümesindeki değerleri tahmin etmek için doğrusal regresyonun nasıl kullanıldığını açıklıyor. Önce lineer regresyonun üç boyutta nasıl çalıştığını açıklıyorlar ve ardından TensorFlow'da nasıl kodlanacağını gösteriyorlar.

  • 01:15:00 Video Titanic veri setini tanıtıyor ve lineer regresyonun gemide kimin hayatta kalacağını tahmin etmek için neden iyi bir algoritma olduğunu açıklıyor. Veri seti pandas ve Excel'e yüklenir.

  • 01:20:00 Bu video, verileri depolamak için bir veri çerçevesinin nasıl kullanılacağını ve veri çerçevesi içindeki belirli değerleri aramak için nokta operatörünün nasıl kullanılacağını açıklar.

  • 01:25:00 Bu videoda eğitmen, Tensörlerin temellerini ve makine öğreniminde nasıl kullanıldığını açıklıyor. Ardından, bir eğitim veri seti ve bir test veri seti kullanarak bir modelin nasıl oluşturulacağını gösterir.

  • 01:30:00 Bu videoda yazar, TensorFlow kullanılarak bir veri kümesinde özellik sütunlarının nasıl oluşturulacağını açıklıyor. Bu sütunlar, bir lineer tahminci veya modeli eğitmek için kullanılacaktır.

  • 01:35:00 Bu videoda eğitmen, bir TensorFlow modelinde özellik sütunlarının ve sayısal sütunların nasıl oluşturulacağını ve toplu işler kullanılarak modelin nasıl eğitileceğini açıklıyor.

  • 01:40:00 TF 2.0 Eksiksiz Kursu, Python kullanarak bir sinir ağının nasıl oluşturulacağını ve ağın nasıl eğitilip değerlendirileceğini açıklar. Eğitim videosu, bir giriş işlevinin nasıl oluşturulacağını ve işlevin panda veri kümesinin görüntülerini oluşturmak için nasıl kullanılacağını gösterir.

  • 01:45:00 Bu 1 paragraflık özet, bir veri kümesi üzerinde tahminler yapmak için bir TensorFlow modelinin nasıl kullanılacağını açıklar. İlk olarak, tahmin edici modülünden sözdizimini kullanarak modeli yaratırsınız. Ardından, modeli doğrusal bir sınıflandırıcı nesnesi kullanarak eğitirsiniz. Son olarak, modeli değerlendirir ve doğruluğunu yazdırırsınız.

  • 01:50:00 Bu video, tahminler arasında nasıl döngü kurulacağı ve gerçek değerlere nasıl erişileceği de dahil olmak üzere sonuçları tahmin etmek için sinir ağları oluşturmak üzere TensorFlow'un nasıl kullanılacağını kapsar.

  • 01:55:00 Bu öğreticide yazar, bir veri kümesinden çiçek türlerini tahmin etmek üzere bir sinir ağını eğitmek için TensorFlow'un nasıl kullanılacağını gösteriyor. Yazar ayrıca farklı sinir ağları türlerini ve performanslarını optimize etmek için giriş işlevlerinin nasıl kullanılacağını açıklıyor.


Bölüm 3

  • 02:00:00 Bu videoda yazar, TensorFlow 2.0'da sinir ağı oluşturma sürecini adım adım anlatıyor ve mevcut farklı modelleri açıklıyor. Daha sonra sinir ağının nasıl oluşturulacağını ve bir dnn sınıflandırıcı kullanarak nasıl eğitileceğini gösterirler.

  • 02:05:00 Bu videoda, bir sinir ağı için bir tren ve değerlendirme fonksiyonu oluşturulmuştur. Fonksiyonu bir satırda tanımlamak için bir lambda kullanılır. İşlev daha sonra sinir ağını eğitmek için kullanılır. Eğitilmiş sinir ağının doğruluğu görüntülenir.

  • 02:10:00 Video, bir çiçeğin sınıfını tahmin etmek için TensorFlow'un tahmin işlevinin nasıl kullanılacağını gösterir. Kullanıcı önce çanak yaprak uzunluğu, taç yaprağı uzunluğu ve genişliği gibi çiçeğin özelliklerini girer. Ardından, tahmine dayalı bir sözlük oluştururlar ve onu özelliklerle beslerler. TensorFlow daha sonra giriş özelliklerine göre çiçeğin sınıfını tahmin eder. Son olarak, kullanıcı tahmini ve tahminin olasılığını yazdırır.

  • 02:15:00 Bu video, sınıflandırma ve kümeleme de dahil olmak üzere sinir ağlarının temellerini kapsar.

  • 02:20:00 Video, veri noktalarını kümelemek için Python sinir ağlarının nasıl kullanılacağını tartışıyor. Video, tüm veri noktalarını etiketledikten sonra, tüm kümeler arasındaki en yakın kütle merkezinin nasıl bulunacağını ve veri noktalarının en yakın kümeye nasıl yeniden atanacağını açıklar.

  • 02:25:00 Bu videoda eğitmen, sinir ağlarının temellerini ve gizli Markov modellerini ele alıyor. Makine öğreniminde kullanılan k-ortalamaları ve doğrusal regresyon gibi veri türlerini tartışarak başlıyor. Daha sonra temel bir hava durumu modelini ve herhangi bir gündeki hava durumunu tahmin etmek için gizli bir Markov modelinin nasıl oluşturulacağını tartışıyor.

  • 02:30:00 Bu eğitim videosunda sunum yapan kişi, sinir ağları için kullanımı da dahil olmak üzere TensorFlow'un temellerini tanıtıyor. Ardından, iki durum ve iki olasılık dağılımı kullanarak TensorFlow'da temel bir hava durumu modelinin nasıl oluşturulacağını göstermeye devam ediyor. Sunum yapan kişi daha sonra modelin gelecek hafta için sıcaklığı tahmin etmek için nasıl kullanılacağını gösterir.

  • 02:35:00 Bu video, belirli bir dizinin her günündeki ortalama sıcaklığı tahmin etmek için bir sinir ağı oluşturmak üzere TensorFlow'un nasıl kullanılacağını gösterir. Video, gerekli modüllerin nasıl içe aktarılacağını ve bir modelin nasıl oluşturulacağını açıklar. Model, dizinin ilk gününde ortalama sıcaklığı doğru olarak tahmin ederken sonraki günlerde yanlış olarak tahmin ediyor. Sorunu giderdikten sonra video, dizinin her gününde ortalama sıcaklığı başarılı bir şekilde tahmin etmek için farklı bir TensorFlow modülünün nasıl kullanılacağını gösterir.

  • 02:40:00 Bu video, Mean komutunu kullanarak TensorFlow 2.0'da bir modelin nasıl çalıştırılacağını açıklar. Bu, bir modeldeki değişkenlerin beklenen değerlerini karşılaştırmak için yararlı bir komuttur.

  • 02:45:00 Bu modülde, eğitmen sinir ağlarını ve nasıl çalıştıklarını tartışacak ve sinir ağlarının katmanlardan nasıl oluştuğunu açıklayacaktır. Ayrıca bir girdi katmanının ham verileri nasıl aldığını ve bir sinir ağının bu verileri nasıl sınıflandırabileceğini tartışacaktır.

  • 02:50:00 "TensorFlow 2.0 Eksiksiz Kursu - Yeni Başlayanlar için Python Sinir Ağları Eğitimi", Python'da temel bir sinir ağı oluşturmak için adım adım bir kılavuz sağlar. İlk katman bir girdi nöronu, ardından bir gizli katman ve ardından bir çıktı katmanıdır. Çıkış katmanında her girdi bilgisi için bir nöron bulunur ve gizli katmandaki nöronlar birbirlerine ve çıkış katmanına bağlıdır. Gizli katman, girdi katmanına ve yoğun bağlı sinir ağı olarak adlandırılan çıktı katmanına bağlıdır.

  • 02:55:00 Bu eğitim videosu Python'un nöral ağlar için nasıl kullanılacağını, bir rasgele sayı üretecinin nasıl oluşturulacağını ve bir nöral ağın nasıl eğitileceğini gösterir. Video ayrıca nöronların ve ağırlıkların nasıl bağlanacağını, bilginin ağ üzerinden nasıl iletileceğini ve bir nöronun çıkış değerinin nasıl hesaplanacağını da kapsar.


4. Bölüm

  • 03:00:00 Bu videoda bir aktivasyon fonksiyonu yardımıyla bir Python sinir ağı anlatılmaktadır. Bu işlev, negatif ve pozitif sayıları sıkıştırarak/kare alarak ağın kırmızı ve mavi renkleri daha kolay tanımlamasını sağlar.

  • 03:05:00 Bu videoda yazar, etkinleştirme işlevi kavramını ve bunun bir sinir ağının çıktısını nasıl etkilediğini açıklıyor. Ayrıca, ağa karmaşıklık getirmek için bir aktivasyon fonksiyonunun nasıl kullanılabileceğini de açıklıyor. Yazar daha sonra bir sinir ağını eğitmek için kullanılan bir kayıp fonksiyonunu tartışmaya devam ediyor.

  • 03:10:00 Bu video, sinir ağları kavramını tanıtır ve sinir ağı eğitiminde kullanılan üç ana kayıp fonksiyonunu açıklar: ortalama karesel hata, ortalama mutlak hata ve menteşe kaybı. Ardından, sinir ağı performansını optimize etmek için kullanılan algoritma olan gradyan inişini açıklamaya devam ediyor.

  • 03:15:00 Bu eğitim videosu, bir sinir ağının nasıl oluşturulacağı ve eğitileceği de dahil olmak üzere TensorFlow'un temellerini tanıtıyor. Video ayrıca bir sinir ağı optimizasyon algoritmasının kullanımını kapsar ve bir sinir ağının performansının nasıl değerlendirileceğini açıklar.

  • 03:20:00 Bu videoda eğitmen, Python'da bir sinir ağını eğitmek için TensorFlow'un nasıl kullanılacağını gösteriyor. Gösteride kullanılan veri seti, farklı giysi türlerinin resimlerini içerir ve eğitmen, ağın tahminlerini doğrulamak için TensorFlow'daki eğitim ve test işlevlerinin nasıl kullanılacağını gösterir.

  • 03:25:00 Bu videoda eğitmen, bir sinir ağındaki katmanlar ve düğümler dahil olmak üzere bir sinir ağının temellerini ve bir nöron için çıkış değerini belirlemek için kullanılan aktivasyon fonksiyonunu açıklar. Eğitmen ayrıca TensorFlow'da nasıl model oluşturulacağını ve modelin nasıl çalıştırılacağını açıklar.

  • 03:30:00 Bu 1 saatlik eğitim videosunda içerik oluşturucu, bir sinir ağının mimarisi ve işlevi de dahil olmak üzere TensorFlow'un temellerini ele alıyor. Daha sonra bir sinir ağının nasıl derlenip sığdırılacağını göstermeye devam ederler ve son olarak onu bir eğitim setinde eğitirler. Fazla uydurma açıklanır ve eğitilen modelin doğruluğu bir test setininkiyle karşılaştırılır.

  • 03:35:00 Bu videoda eğitmen, sinir ağlarının nasıl fazla uyum sağlayabileceğini ve hiperparametreleri değiştirerek genelleştirmeyi nasıl geliştirebileceğini açıklıyor. Daha sonra sinir ağından tahmin edilen nesneyi kullanarak test görüntüleri üzerinde nasıl tahmin yapılacağını gösterir.

  • 03:40:00 Bu eğitim videosu, derin bilgisayar görüşü için evrişimli bir sinir ağı oluşturmak üzere TensorFlow'un nasıl kullanılacağını öğretir. Video, evrişimli sinir ağının ne olduğunu, nasıl çalıştığını ve önceden eğitilmiş modellerin nasıl kullanılacağını kapsar.

  • 03:45:00 Video, yoğun sinir ağı ile evrişimli sinir ağı arasındaki farkı açıklıyor ve evrişimli sinir ağının küresel kalıplar yerine yerel kalıpları öğrendiğini açıklıyor.

  • 03:50:00 Evrişimli Sinir Ağı (CNN), görüntüleri analiz etmek ve anlamak için kullanılan bir makine öğrenimi algoritmasıdır. Evrişimli Sinir Ağı, görüntüyü analiz etmek ve anlamak için kullanılan bir dizi farklı katmandan oluşur. İlk katman, görüntüdeki belirli filtrelerin varlığını belirlemek için kullanılır.

  • 03:55:00 Bu videoda eğitmen, çapraz çarpımı kullanarak bir görüntüde filtrenin nasıl bulunacağını anlatıyor. Filtre, görüntü ile filtre arasındaki piksel değerlerinin ne kadar benzer olduğuna bağlı olarak belirlenir.
TensorFlow 2.0 Complete Course - Python Neural Networks for Beginners Tutorial
TensorFlow 2.0 Complete Course - Python Neural Networks for Beginners Tutorial
  • 2020.03.03
  • www.youtube.com
Learn how to use TensorFlow 2.0 in this full tutorial course for beginners. This course is designed for Python programmers looking to enhance their knowledge...
 

TensorFlow 2.0 Eksiksiz Kursu - Yeni Başlayanlar İçin Python Sinir Ağları Eğitimi (5-7. Bölümler)



TensorFlow 2.0 Eksiksiz Kursu - Yeni Başlayanlar İçin Python Sinir Ağları Eğitimi


Bölüm 5

  • 04:00:00 Video, evrişimli sinir ağlarının nasıl çalıştığını ve dolgu ve adımlamanın ağın kullanımını kolaylaştırmaya nasıl yardımcı olduğunu tartışıyor.

  • 04:05:00 Bu videoda eğitmen, bir özellik haritasının boyutsallığını azaltmak için min ve maks gibi havuzlama işlemlerinin nasıl kullanıldığını açıklıyor. Ardından, bir özellik haritasından değerlerin nasıl örnekleneceğini ve azaltılmış boyutlu bir özellik haritasının nasıl oluşturulacağını göstererek bunun nasıl yapıldığını gösterir. Daha sonra eğitmen, özellik haritasının boyutunu yarıya indirmek için ikiye iki havuzlama işleminin nasıl kullanılacağını gösterir. Ardından, bir alandaki özellikleri bulmak için maksimum havuzlama işleminin nasıl kullanılacağını gösterir. Ardından, bir alandaki özellikleri bulmak için ortalama bir havuzlama işleminin nasıl kullanılacağını gösterir. Son olarak eğitmen, evrişimli bir sinir ağı oluşturmak için Kerris'in nasıl kullanılacağını gösterir.

  • 04:10:00 Bu eğitim videosunda, eğitmen Python kullanılarak bir evrişimli sinir ağının (CNN) nasıl oluşturulacağını gösterir. CNN'nin ilk katmanı, giriş verilerinin boyutsallığını azaltan bir maksimum havuzlama katmanıdır. Sonraki iki katman, bir evrişim katmanı ve bir maksimum havuzlama katmanıdır. Son katman, girdi verilerini sınıflandıran yoğun bir katmandır.

  • 04:15:00 Bu video, bir makine öğrenimi modelinin performansını artırmak için veri artırmanın nasıl kullanılabileceğini açıklıyor. Veri büyütme, modelin genelleştirme yeteneğini geliştirebilen eğitim verilerine daha benzer hale getirmek için bir görüntüyü değiştirmeyi içerir.

  • 04:20:00 Bu video, sınıflandırmaların doğruluğunu artırmak için TensorFlow 2.0'da önceden eğitilmiş modellerin nasıl kullanılacağını gösterir.

  • 04:25:00 Bu videoda sunum yapan kişi, farklı hayvanların görüntülerini tanımak için önceden eğitilmiş bir TensorFlow modelinin nasıl kullanılacağını açıklıyor. İlk olarak, modelin TensorFlow'a nasıl yükleneceği ve görüntülerin aynı boyuta nasıl ölçekleneceği açıklanıyor. Ardından, modelin eğitim ve doğrulama veri kümelerine nasıl uygulanacağını gösterirler. Son olarak, modelin hayvan görüntülerini tanımak için nasıl kullanılacağını gösterirler.

  • 04:30:00 Bu videoda eğitmen, 1000 köpek ve kedi sınıfından oluşan bir veri kümesi üzerinde eğitim için TensorFlow 2.0 kullanarak bir sinir ağının nasıl oluşturulacağını gösteriyor. Ağ, bir temel model kullanılarak önceden eğitilir ve ardından bir tahmin katmanı eklenir. Eğitmen ayrıca bir katmanın eğitilebilir parametrelerinin nasıl dondurulacağını gösterir, böylece ağ tahmin için kullanılırken yeniden eğitilmez. Model daha sonra değerlendirilir ve yeni bir veri kümesi üzerinde eğitilir.

  • 04:35:00 Bu video, bir görüntünün sınıfını tahmin edebilen bir model yetiştirmek için TensorFlow'un nasıl kullanılacağını açıklar. Video, derin öğrenme ve Evrişimli Sinir Ağları gibi temel kavramları kapsar.

  • 04:40:00 Bu video, tekrarlayan sinir ağlarının doğal dili anlamak ve işlemek için nasıl kullanılabileceğini açıklıyor. İlk bölüm, doğal dil işlemenin ne olduğunu ve tekrarlayan sinir ağlarının normal sinir ağlarından nasıl farklı olduğunu tartışıyor. İkinci bölüm, metinsel verilerin tekrarlayan bir sinir ağı tarafından kullanılabilecek sayısal verilere nasıl dönüştürüleceğini tartışır. Son bölüm, duygu analizi ve karakter eğik çizgi metin üretimi gerçekleştirmek için tekrarlayan sinir ağlarının nasıl kullanılacağını tartışır.

  • 04:45:00 Tartışacağımız ilk yönteme kelime torbası denir. Bu algoritma bir cümleye bakar ve cümledeki her kelimenin bir sayı ile kodlandığı sayısal bir gösterime dönüştürür. Bu, cümlenin anlamını belirlemek için sadece bir kelimenin varlığının yeterli olduğu görevler için yararlı olabilir. Ancak, daha karmaşık girdilerle uğraşırken bu teknik bozulabilir.

  • 04:50:00 Video, metni kodlayan bir kelime torbasının yanı sıra birkaç başka kodlama yöntemini tartışıyor. Bu yaklaşımla ilgili bir sorun, sözcüklerin sıralamasını kaybetmesidir, bu da bir makine öğrenimi modelinin metindeki duyguyu doğru bir şekilde tanımlamasını zorlaştırabilir.

  • 04:55:00 Bu videoda eğitmen, kelime yerleştirmelerin nasıl çalıştığını ve bunların bir sinir ağının tahminlerinin doğruluğunu iyileştirmek için nasıl kullanılabileceğini açıklıyor. Eğitmen daha sonra, özellikle metin verilerini işlemede iyi olan bir tür sinir ağı olan tekrarlayan sinir ağlarını tanıtır.


6. Bölüm

  • 05:00:00 Tekrarlayan sinir ağı, verileri farklı zaman adımlarında işleyen ve dahili bir hafızayı koruyan bir sinir ağı türüdür. Bu, ağın bir metni veya girdiyi kademeli olarak anlamasını sağlar.

  • 05:05:00 Bu video, basit bir tekrarlayan sinir ağı (RNN) katmanı ve bir uzun kısa süreli bellek (LSTM) katmanının açıklamasını içeren TensorFlow 2.0'ın temellerini açıklıyor. LSTM katmanı, RNN katmanının bir metin dizisindeki önceki cümleleri hatırlamasına yardımcı olmak için tasarlanmıştır; bu, dizi uzunluğu arttıkça giderek zorlaşabilir.

  • 05:10:00 TensorFlow 2.0 Eksiksiz Kursu - Yeni Başlayanlar İçin Python Sinir Ağları Eğitimi, film incelemelerinde duyarlılık analizi için kullanılan tekrarlayan sinir ağları da dahil olmak üzere sinir ağlarının temellerini kapsar.

  • 05:15:00 Bu videoda sunum yapan kişi Python kullanılarak bir metin incelemesinin belirli bir uzunluğa nasıl sığdırılacağını gösteriyor ve modelin nasıl eğitildiğini açıklıyor. Ayrıca bir GPU kullanarak eğitim sürecini hızlandırdığından da bahsediyorlar.

  • 05:20:00 Bu videoda yazar, yeni başlayanlar için Python sinir ağlarını öğretme konusunda eksiksiz bir kurs sunuyor. Kurs, nöral ağlara bir girişle başlar, ardından TensorFlow 2.0 kullanarak bir nöral ağın nasıl eğitileceğine dair bir öğretici ile devam eder. Sinir ağı eğitildikten sonra yazar, bir film inceleme veri kümesi üzerinde nasıl tahminde bulunulacağını gösterir. Sonuçlar, sinir ağının yeterince doğru olmadığını ve yazarın, sinir ağının işlemesi için metni belirteçlere kodlamak için bir işlev sağladığını gösteriyor. Yazar ayrıca metni tekrar kelimelere dönüştürmek için bir kod çözme işlevi sağlar.

  • 05:25:00 Bu 1 paragraflık özet, Python'da tamsayıların kodunu çözme işlevinin metni bir film incelemesine nasıl kodladığını açıklar. Bu işlev, bir sözcük dizisini alır ve bunları tamsayılara dönüştürür, ardından tamsayıları kodlamak için ENCODE metin işlevini kullanır. Son olarak model, belirli bir metin parçası için incelemeyi tahmin etmek için kullanılır. İlk incelemenin %72 olumlu olacağı tahmin edilirken, ikinci incelemenin %23 olumlu olacağı tahmin ediliyor.

  • 05:30:00 TensorFlow 2.0 Eksiksiz Kursunun bu son videosunda, bir Shakespeare metnine dayalı bir oyun oluşturmak için tekrar eden bir sinir ağı yaratılıyor. Dosya yüklenir ve okunur ve metnin uzunluğu hesaplanır. Kodlama şemasını belirlemek için ilk 250 karakter okunur ve analiz edilir. Karakterler tamsayı olarak kodlanır ve kelime dağarcığı oluşturulur. Her karakterin dizini hesaplanır ve sözlükte saklanır.

  • 05:35:00 Bu videoda eğitmen, bir metin veri seti kullanarak bir sinir ağını eğitmek için TensorFlow'un nasıl kullanılacağını öğretir. Eğitmen önce metin veri setini tamsayılara dönüştürür ve ardından her dönem için 101 eğitim örneğinden oluşan bir dizi kullanarak sinir ağını eğitir.

  • 05:40:00 Bu video, yerleşik "model oluştur" işlevini kullanarak TensorFlow 2.0'da bir modelin nasıl oluşturulacağını açıklar. Model, 64 eğitim örneğinden oluşan bir set üzerinde eğitilir ve ardından tek bir girdi dizisi üzerinde tahminlerin yapılabilmesi için kaydedilir.

  • 05:45:00 Yazar, TensorFlow kullanarak bir sinir ağını eğitmek için gereken adımları açıklıyor. İlk olarak, yazar sinir ağının giriş ve çıkış şekillerini açıklar. Ardından yazar, sinir ağını optimize etmek için bir kayıp fonksiyonunun nasıl oluşturulacağını açıklıyor. Son olarak yazar, modelin 100 örneklik bir diziyi tahmin etmek için nasıl kullanılacağını gösterir.

  • 05:50:00 Bu videoda, TensorFlow, tekrarlayan sinir ağlarıyla nasıl çalıştığı da dahil olmak üzere ayrıntılı olarak açıklanmaktadır. Video ayrıca, bir modelin ne kadar iyi performans gösterdiğini belirlemek için bir kayıp fonksiyonunun nasıl oluşturulacağını da kapsar.

  • 05:55:00 Bu video, nöral ağları eğitmek için TensorFlow 2.0 kitaplığını tanıtıyor ve bir modelin yeni toplu iş boyutuyla nasıl yeniden oluşturulacağını gösteriyor. Video ayrıca TensorFlow ile nasıl metin üretileceğinin bir gösterimini içerir.


7. Bölüm

  • 06:00:00 TensorFlow 2.0 Eksiksiz Kursu - Yeni Başlayanlar için Python Sinir Ağları Eğitimi adlı bu videoda, kullanıcı tekrarlayan bir sinir ağı kullanarak bir metin dizisinin nasıl oluşturulacağını açıklıyor. İlk adım, ağın durumunu sıfırlamak ve bir tahmin listesi oluşturmaktır. Ardından, kullanıcı ağı bir B film senaryosunda eğitir ve sonuçları gösterir.

  • 06:05:00 Bu video eğitimi, Python'da basit bir sinir ağının nasıl oluşturulacağı da dahil olmak üzere TensorFlow 2.0'ın temellerini kapsar. Video daha sonra daha karmaşık ve gelişmiş bir teknik olan pekiştirmeli öğrenmeyi tartışmaya geçer. Video, bir terminoloji tartışması ve takviyeli öğrenmenin ne olduğunun bir özeti ile sona eriyor.

  • 06:10:00 Takviyeli öğrenme, yapay zekayı bir ortamdaki görevleri, performans artışına yol açan eylemler için ödüllendirerek gerçekleştirmesi için eğitme yöntemidir. Takviyeli öğrenmenin amacı, aracının çevrede elde etmeye çalıştığı herhangi bir şey olabilecek bir ödülü en üst düzeye çıkarmaktır. Eğitmen bu derste durum, eylem ve ödül kavramlarını ele alır.

  • 06:15:00 Bu örnekteki aracının amacı, farklı durumlardaki farklı eylemler için ödülü tahmin eden bir işaret tablosu öğrenerek ortamdaki ödülünü maksimize etmektir.

  • 06:20:00 TensorFlow, kullanıcıların verilerden öğrenebilecekleri modeller oluşturmasına olanak tanıyan bir makine öğrenimi kitaplığıdır. Bu videoda eğitmen, Q öğrenmenin nasıl çalıştığını ve simüle edilmiş bir ortamda bir aracının davranışını optimize etmek için nasıl kullanıldığını açıklıyor. Aracının davranışını optimize etmek için işaret tablosunun nasıl kullanılacağını açıklamaya devam ediyor.

  • 06:25:00 Bu videoda, yeni başlayanlar için TensorFlow 2.0 eğitiminde kullanılan sinir ağlarını öğreniyoruz. Videonun ilk bölümü, sinir ağlarının temellerini ve nasıl çalıştıklarını kapsar. Ardından, mevcut işaret tablosunu kullanarak veya rastgele bir eylem seçerek 3B ortamda gezinmeyi öğrenen basit bir aracının nasıl oluşturulacağını keşfediyoruz. Videonun ikinci bölümü, aracının işaret tablosunu güncellemek için kullanılan formülleri açıklıyor.

  • 06:30:00 "TensorFlow 2.0 Eksiksiz Kursu - Yeni Başlayanlar İçin Python Sinir Ağları Eğitimi" videosu, TensorFlow 2.0 programlama dilini ve bununla ilişkili veri yapılarını ve bir tür makine öğrenimi modeli olan sinir ağları için algoritmaları tanıtıyor. Ardından video, openAI spor salonu yazılımını kullanarak basit bir sinir ağı modelinin nasıl oluşturulacağını ve eğitileceğini gösterir.

  • 06:35:00 TensorFlow 2.0 Eksiksiz Kursu, bir sinir ağını eğitmek için kullanılan aktör-eleştirmen modelinin tanıtılmasıyla başlar. Daha sonra, NumPy ve TensorFlow kullanarak donmuş bir göl ortamının nasıl oluşturulacağını gösterir. Kurs, ortamdaki navigasyon problemini çözmek için q öğrenmenin nasıl kullanılacağını kapsar.

  • 06:40:00 Bu video, yeni başlayanlar için bir sinir ağı oluşturmak üzere TensorFlow 2.0'ın nasıl kullanılacağına dair eksiksiz bir eğitim sağlar. İlk olarak, eğitmen epsilon değişkenini ve bunun aracının rastgele bir eylemde bulunma şansını nasıl etkilediğini açıklar. Ardından eğitmen, bir ödül listesinin nasıl oluşturulacağını ve ödül formülünü kullanarak aracının q değerlerinin nasıl güncelleneceğini gösterir. Son olarak eğitmen, aracının mevcut durumunun nasıl ayarlanacağını ve ortamı keşfetmeyi bitirip bitirmediğini kontrol etmeyi gösterir.

  • 06:45:00 "TensorFlow 2.0 Eksiksiz Kursu - Yeni Başlayanlar için Python Sinir Ağları Eğitimi"nin bu son modülünde eğitmen, aracı hareket ettikçe ortalama ödülü yavaşça artırmak için epsilon değerini ayarlamak için işaret tablosunun nasıl kullanılacağını açıklıyor bir labirent

  • 06:50:00 Bu eğitim videosu, güçlü bir makine öğrenimi kitaplığı olan TensorFlow'un temellerini tanıtıyor. Eğitim, TensorFlow'u ve temel kavramlarını tanıttıktan sonra, izleyicilere derin öğrenme ve pekiştirmeli öğrenme gibi farklı makine öğrenimi görevleriyle ilgili bir dizi eğitimde yol gösterir.
TensorFlow 2.0 Complete Course - Python Neural Networks for Beginners Tutorial
TensorFlow 2.0 Complete Course - Python Neural Networks for Beginners Tutorial
  • 2020.03.03
  • www.youtube.com
Learn how to use TensorFlow 2.0 in this full tutorial course for beginners. This course is designed for Python programmers looking to enhance their knowledge...
 

TensorFlow Kursu ile Keras - Yeni Başlayanlar İçin Python Derin Öğrenme ve Sinir Ağları Eğitimi



TensorFlow Kursu ile Keras - Yeni Başlayanlar İçin Python Derin Öğrenme ve Sinir Ağları Eğitimi

TensorFlow ile Keras kursu, kullanıcılara Python'da yazılmış ve TensorFlow ile entegre bir sinir ağı API'si olan Keras'ı nasıl kullanacaklarını öğretmeye odaklanır. Verileri düzenleme ve ön işleme, yapay sinir ağları oluşturma ve eğitme ile veri normalleştirme ve doğrulama kümeleri oluşturmanın önemini kapsar. Kurs ayrıca video ve metin dosyaları gibi kaynaklar ve daha fazla verimlilik için bir GPU'nun nasıl kurulacağına ilişkin bir kılavuz sağlar. Kullanıcılar ayrıca her şeyi, yalnızca mimariyi veya yalnızca ağırlıkları kaydetme seçenekleri dahil olmak üzere modelleri nasıl kaydedeceklerini ve yükleyeceklerini öğrenirler. Kurs, temel programlama becerilerine ve Python ile biraz deneyime sahip olanlar için uygundur.

"TensorFlow Kursu ile Keras"ın ikinci bölümü, orijinal modelle aynı mimariye sahip yeni bir Keras modeline ağırlık yüklemekle başlayan çeşitli konuları kapsar. Eğitmen daha sonra, ilk CNN için bir Keras sıralı modeli oluşturmaya ve eğitmeye geçmeden önce, görüntüleri kedi veya köpek olarak sınıflandırmak üzere evrişimli bir sinir ağının eğitimi için görüntü verilerinin nasıl hazırlanacağını ve ön işleneceğini açıklar. Bu bölüm, model uyumu sırasında doğrulama için etiket verileri içeren bir oluşturucu kullanarak modeli eğitmek ve model performansını değerlendirmek için bir karışıklık matrisinin nasıl çizileceğini içerir. Kedi ve köpek görüntülerini sınıflandırmak, ön işlemesini ayarlamak ve aynı zamanda eğitmek için önceden eğitilmiş bir VGG 16 modelinde nasıl ince ayar yapılacağını göstererek sona erer.

Üçüncü bölümde eğitmen, daha karmaşık modellere daha küçük ve daha hızlı bir alternatif olan MobileNets'i tanıtıyor. Bir Jupyter Not Defterinde MobileNets'i indirmeyi ve kullanmayı, işaret dili rakamları için bir veri seti düzenlemeyi ve yeni bir sınıflandırma görevi için modele ince ayar yapmayı gösteriyorlar. Eğitmen, yineleyiciyi veri setinin diskteki konumuna, eğitim sırasında dondurulacak katman sayısına doğru bir şekilde yönlendirmenin ve aşırı uydurma sorunlarını azaltmak için hiperparametreleri ayarlamanın önemini vurgular. Son bölüm, veri artırmayı ve bunun aşırı sığdırmayı azaltma ve veri kümesinin boyutunu artırma potansiyelini tanıtır ve farklı artırma türleri (örn. kaydırma, çevirme, döndürme), artırılmış görüntüleri diske kaydetme ve eğitime geri ekleme hakkında talimatlar sağlar. ayarlamak.

  • 00:00:00 Bu bölümde, dersin Python'da yazılmış ve TensorFlow ile entegre bir sinir ağı API'si olan Keras'ın nasıl kullanılacağını öğretmeye odaklandığı anlatılmaktadır. Verileri düzenleme ve ön işleme temelleri ile başlar ve ardından yapay sinir ağları oluşturmaya ve eğitmeye geçer. Kurs, bazı temel programlama becerileri ve Python ile biraz deneyim önerir, ancak kod uygulamasına geçmeden önce her bir derin öğrenme kavramına kısa bir giriş sağlar. Kurs ayrıca, kursta kullanılan kod dosyaları da dahil olmak üzere düzenli olarak test edilen ve bakımı yapılan video ve metin kaynakları sağlar ve bu dosyalara indirme erişimi Deep Lizard Hive Mind üyeleri tarafından kullanılabilir. Ayrıca Keras'ın hızlı kullanıcı denemesi sağlamaya odaklanılarak geliştirildiği ve TensorFlow ile entegre olan Keras'ın artık TensorFlow API ile tamamen entegre olduğu açıklanıyor. Birden fazla nöral ağ API'sini öğrenmek ve aralarındaki deneyimi ve karşılaştırmayı göstermek için sonsuza kadar bir tanesine bağlı kalmamak için önerilerde bulunulur, böylece adayı daha değerli kılar.

  • 00:05:00 Keras with TensorFlow kursunun bu bölümünde GPU ihtiyacı ele alınmakta ve kurs için gerekli olmadığına dikkat çekilmektedir. Bununla birlikte, bir kullanıcı bir GPU kullanmak isterse, GPU'nun TensorFlow ile çalışacak şekilde nasıl kurulacağına ilişkin bir kılavuz mevcuttur. Daha yüksek verimlilik ve hız için kursu önce bir CPU ile tamamlamanız ve ardından GPU'yu kurmanız önerilir. Bir sonraki bölümde, yapay sinir ağı için sayısal verilerin nasıl hazırlanıp işleneceği ve Keras'taki sıralı modelin beklediği farklı veri formatları ele alınmaktadır. Sığdırma işlevi, giriş verilerinin (x) bir NumPy dizisinde, bir TensorFlow tensöründe, bir dikte eşlemesinde, bir TF veri kümesinde veya bir Keras üretecinde olmasını bekler. Hedef verinin (y) de x ile aynı formatta olması gerekir.

  • 00:10:00 Bu bölümde eğitmen, veri normalleştirme veya standardizasyon tekniklerinin, verileri derin öğrenme modelinin öğrenmesini kolaylaştıran bir formata koyabileceğini açıklar. Eğitmen örnek olarak basit bir sayısal veri seti kullanır; burada deneysel bir ilaç 13 ila 100 yaş arasındaki bireyler üzerinde test edilmiştir ve yaşlı popülasyondaki hastaların yaklaşık %95'i, 65 yaş ve üstü, yan etkiler yaşarken 95 yaş civarındadır. 65 yaşın altındaki hastaların yüzdesi hiçbir yan etki yaşamadı. Eğitmen daha sonra, yan etkiler yaşayan veya yaşamayan hastaların gerçek yaşam senaryosunu taklit eden rastgele tamsayılar üreten bir for döngüsünden geçer ve ardından bu örnekleri ve karşılık gelen etiketleri iki ayrı listeye ekler.

  • 00:15:00 Videonun bu bölümünde eğitmen, TensorFlow'a entegre Keras API'sindeki NumPy dizilerini kullanarak bir sinir ağı için veri oluşturma ve hazırlama sürecini özetliyor. Numune listesinin yaşları içerdiğini ve etiket listesinin her bir yaşa karşılık gelecek şekilde yan etkileri veya yan etki olmadığını temsil eden sıfırlar ve birler içerdiğini açıklıyorlar. Veriler daha sonra işlenir ve fit işlevinin beklediği NumPy dizisi formatına dönüştürülür ve veri oluşturma sürecinden empoze edilen herhangi bir sırayı kaldırmak için shuffle işlevi kullanılarak veriler karıştırılır. Ayrıca, veriler 13 ila 100 ölçeğinden sıfıra bir ölçeğine kadar yeniden ölçeklendirilir ve sığdırma dönüştürme işlevinin tek boyutlu verileri kabul etmesi için yeniden şekillendirilir. Son olarak, eğitmen keras API'sinden sıralı bir model kullanarak bu veriler üzerinde yapay sinir ağının nasıl kurulacağını gösterir.

  • 00:20:00 Videonun bu bölümünde sunum yapan kişi, TensorFlow ile entegre Keras API'sini kullanarak bir sinir ağı modelinin nasıl oluşturulacağını açıklıyor. Model sıralı bir modeldir ve Sequential sınıfının bir örneği olarak oluşturulur. İlk yoğun katman, ilk gizli katmanı oluşturur ve ReLU aktivasyon fonksiyonu ile 16 birime sahiptir. İkinci yoğun katman, ikinci gizli katmanı oluşturur ve ReLU aktivasyon fonksiyonu ile 32 birime sahiptir. Son katman, iki olası çıktı sınıfını temsil eden iki birim içeren çıktı katmanıdır. Sunum yapan kişi, çıktı katmanını, her bir çıktı sınıfı için olasılıklar veren Softmax işlevinin izlediğini açıklar. Sunucu daha sonra model mimarisinin görsel bir özetini görüntülemek için model.summary() işlevinin nasıl kullanılacağını gösterir.

  • 00:25:00 Bu bölümde, önceki bölümlerde oluşturulan ve işlenen veriler üzerinde bir sinir ağının nasıl eğitileceğini öğreniyoruz. Modelimizi oluşturduktan sonra uygun kayıp, optimize edici ve metriklerle derliyoruz. Daha sonra fit işlevinde eğitim için girdi verilerini, hedef verileri, parti boyutunu ve dönem sayısını belirtiriz. Eğitim başlıyor ve 30 devirde basit modelimizin fazla çaba harcamadan %94 doğruluk elde ettiğini görüyoruz. Bu, Keras'a başlamanın kolaylığına harika bir örnek teşkil ediyor.

  • 00:30:00 Bu bölümde makine öğrenimi modelleri eğitimi bağlamında doğrulama seti kavramı açıklanmakta ve kullanımının önemi vurgulanmaktadır. Bir doğrulama setinin oluşturulması, kullanıcıların bir modelin üzerinde eğitilmediği veriler üzerinde ne kadar iyi genelleştirdiğini ölçmesine olanak tanır. Eğitim verilerininkinden önemli ölçüde düşük olmaması gereken doğrulama seti sonuçlarının doğruluğu incelenerek fazla uydurma önlenebilir. Bir Keras sıralı modeliyle doğrulama kümeleri oluşturmak ve kullanmak için iki yöntem ele alınır, ikinci yöntem Keras'ın kullanıcı için doğrulama kümesi oluşturmasına olanak tanır.

  • 00:35:00 Bu bölümde video, eğitim verilerinin belirli bir yüzdesini bir doğrulama kümesine bölen doğrulama bölme parametresini kullanarak eğitim kümesinden bir doğrulama kümesinin nasıl oluşturulacağını tartışır. Video, doğrulama setinin tamamen eğitim setinin dışında tutulduğunu ve fit işlevi çağrıldığında anında oluşturulacağını belirtiyor. Doğrulama kümesinin karıştırılmamış verilerin yalnızca son yüzde X'i olmadığından emin olmak için eğitim verilerini sığdırmak için geçirmeden önce karıştırmak da önemlidir. Video ayrıca, modelin gereğinden fazla uyup uymadığını veya iyi genelleme yapıp yapmadığını kontrol etmek için doğrulama setinin nasıl kullanılacağını açıklar ve çıkarım için bir test seti kullanmanın bir sonraki adımını tartışır.

  • 00:40:00 Bu bölümde, eğitmen derin öğrenmede çıkarım sürecini açıklar. Çıkarım, modelin daha önce görmediği yeni verilerle ilgili tahminleri elde etmek için eğitilmiş bir modeli gerçek dünya veri kümelerinde devreye alma işlemidir. Eğitmen, modelin yeni veriler üzerinde doğru tahminler yapacak kadar iyi genelleştirilebilmesini sağlamak için bir test seti kullanmayı önerir. Test seti, eğitim verileriyle aynı formatta işlenmelidir. Yazar, test verilerini karıştırarak, 0 ile 1 arasında olacak şekilde ölçeklendirerek ve test kümesindeki her bir öğenin ait olduğu sınıfın olasılığını elde etmek için eğitilmiş bir modelle test verilerini tahmin ederek bunun nasıl yapılacağını gösterir.

  • 00:45:00 Bu bölümde, bir sinir ağı modelinin test verileri üzerinde ne kadar iyi tahminde bulunduğunu görsel olarak gözlemlemek için bir karışıklık matrisi kullanmayı inceleyeceğiz. Gerekli paketleri içe aktararak ve scikit-learn kullanarak bir karışıklık matrisi oluşturarak, test setinin gerçek etiketlerini tahmin edilen etiketlerle karşılaştırabilir ve böylece modelimizin tahminlerinin doğruluğunu daha iyi anlayabiliriz. Ayrıca, karışıklık matris fonksiyonunun nasıl çizileceğini ve buradaki belirli değerlerin nasıl elde edildiğini, önceden işlendiğini ve görselleştirildiğini de görüyoruz. TensorFlow ile Keras kursu için yararlı bir işlevin bağlantısı da deep kertenkele blogunda mevcuttur.

  • 00:50:00 Bu bölümde eğitmen, modelin tahminlerinin doğruluğunu görselleştirmek için bir karışıklık matrisinin nasıl çizileceğini gösterir. Çizim, x ekseninde tahmin edilen etiketleri ve y ekseninde gerçek etiketleri gösterir. Doğru tahminler, arsanın sol üst köşesinden sağ alt köşesine çapraz olarak giden mavi karelerde gösterilir. Karışıklık matrisi, kullanıcının modelin ne kadar iyi performans gösterdiğini görselleştirmesine ve iyileştirilmesi gerekebilecek sınıfları belirlemesine olanak tanır. Eğitmen, karışıklık matrisinin bir modelin performansını değerlendirmek için kullanılabilecek harika bir araç olduğunu ve hangi sınıfların daha fazla çalışılması gerektiğini ayrıntılı olarak incelemeye yardımcı olabileceğini açıklıyor. Son olarak eğitmen, modelin mimarisini, ağırlıklarını ve eğitim yapılandırmasını bir h5 dosyasına kaydeden `.save()` işlevini kullanarak bir Keras sıralı modelinin nasıl kaydedileceğini gösterir.

  • 00:55:00 Bu bölümde eğitmen, TensorFlow ile Keras'ta bir modeli kaydetmenin ve yüklemenin farklı yollarını ele alıyor. İlk ve en kapsamlı seçenek, mimarisi, ağırlıkları ve eğitim yapılandırması dahil olmak üzere modelle ilgili her şeyi kaydetmek ve yüklemektir. İkinci seçenek, daha sonra aynı mimariye sahip yeni bir model oluşturmak için kullanılabilen "JSON'a" işlevini kullanarak modelin yalnızca mimarisini kaydetmektir. Üçüncü seçenek, ağırlıklarını güncellemek için yeni bir modele yüklenebilen ancak modelle ilgili diğer ayrıntıları kaydetmeyen "ağırlıkları kaydet" işlevini kullanarak modelin yalnızca ağırlıklarını kaydetmektir. Eğitmen aynı işlemin JSON stringleri yerine YAML stringleri kullanılarak da yapılabileceğini açıklar.
  • 01:00:00 Bu bölümde sunum yapan kişi, orijinal modelle aynı mimariye sahip yeni bir Keras modeline ağırlık yüklemeyi tartışıyor. Ağırlıkların haritalanmasının çalışması için yüklenen ağırlıkların şeklinin model mimarisinin şekliyle eşleşmesi gerektiğini açıklıyor. Sunum yapan kişi daha sonra, Keras'taki "ağırlıkları yükle" ve "ağırlıkları al" işlevlerini kullanarak yeni bir modelin orijinal modeldeki ağırlıklarla nasıl yükleneceğini ve doldurulacağını gösterir. Bölüm daha sonra, Kaggle kedilere karşı köpekler yarışmasındaki veri setini kullanarak görüntüleri kedi veya köpek olarak sınıflandırmak üzere evrişimli bir sinir ağının eğitimi için görüntü verilerini hazırlayan ve işleyen yeni bir konuya geçer. Sunum yapan kişi, verileri işlemeye hazırlamak için gereken manuel ve programatik adımları açıklar.

  • 01:05:00 Bu bölümde, eğitmen verileri üç alt küme halinde düzenler: eğitim, doğrulama ve test kümeleri. Eğitimde kullanılan veri setinde 25.000 kedi ve köpek resmi var, ancak eğitim sürecini hızlandırmak için eğitim için yalnızca 1.000, doğrulama için 200 ve test için 100 görüntü kullanılıyor. Veriler, her küme için farklı dizinler halinde düzenlenir ve dizin yapısı, zaten mevcut olmadığından emin olmak için kontrol edilir. Görüntüler, dosya adlarına göre rastgele seçilir; burada kedi ve köpek görüntülerinin ilgili dosya adlarında "kedi" ve "köpek" sözcükleri bulunur. Son olarak, diskte doğru konumu gösterecek şekilde her küme için veri yolu belirtilir.

  • 01:10:00 Bu bölümde video, görüntü verisi oluşturucuyu kullanarak veri yığınları oluşturarak bir Keras sıralı modeli için verilerin nasıl hazırlanacağını açıklar. Eğitim, doğrulama ve test setleri tanımlanır ve tekdüzelik için belirli bir yüksekliğe ve genişliğe göre yeniden boyutlandırılır. Ön işleme işlevi, tf.keras.applications.VGG16.preprocess_input, görüntülere ağa aktarılmadan önce uygulanır. Video, ileriki bölümlerde açıklanacağı için izleyicileri ön işlemenin teknik detayları üzerinde durmamaları konusunda uyarıyor. Ek olarak, video, test kümesi için karıştırmanın yanlış olduğunu belirtir ve çıkarım çalıştırılırken, tahmin sonuçlarını bir karışıklık matrisinde görüntülemek için test kümesi için ayarlanmamış etiketlerin gerekli olduğunu ve bunlara erişmek için verilerin karıştırılmaması gerektiğini açıklar.

  • 01:15:00 Bu bölümde eğitmen, evrişimli bir sinir ağı için görüntü verilerinin nasıl elde edileceğini ve düzenleneceğini gösterir. On resim ve karşılık gelen etiketlerden oluşan tren grupları, RGB renk verilerini çarpıtan bir ön işleme işlevi kullanılarak çizilir. Bununla birlikte, etiketler için bir sıcak kodlanmış vektörün yardımıyla görüntüler yine de bir kedi veya köpek olarak ayırt edilebilir. Eğitmen, bazen test setine karşılık gelen etiketlerin mevcut olmayabileceğini not eder ve bu tür durumların ele alınması konusunda rehberlik etmesi için izleyicileri bloga yönlendirir. Bölüm, bir evrişimli sinir ağının inşa edileceği ve kedi ve köpek görüntü verileri üzerinde eğitileceği bir sonraki bölümün önizlemesiyle sona eriyor.

  • 01:20:00 TensorFlow öğreticisinin bu bölümünde, ilk evrişimli sinir ağı (CNN) için bir Keras sıralı modeli kullanılır. Modelin ilk katmanı, 32 filtreli ve 3x3 çekirdek boyutuna sahip bir 2B evrişimli katmandır ve ardından görüntüleri sıfırlamak için "aynı" dolgulu popüler ReLU aktivasyon işlevi gelir. Giriş şekli, RGB biçimli görüntüler için 224x224x3 olarak belirtilir. İlk evrişimli katmanı daha sonra havuz boyutu 2x2 ve adım sayısı 2 olan bir maksimum havuzlama katmanı izler. Birinciye benzer ancak 32 yerine 64 filtreli başka bir 2B evrişimli katman eklenir ve ardından başka bir maksimum havuzlama katmanı gelir. Maksimum havuzlama katmanının düzleştirilmiş çıktısı daha sonra, sırasıyla kedi ve köpeğe karşılık gelen iki düğüm ile yoğun bir çıktı katmanına geçirilir. Çıktı katmanını, modelden karşılık gelen her çıktı için olasılıklar vermek üzere softmax aktivasyon fonksiyonu izler.

  • 01:25:00 Bu bölümde eğitmen, TensorFlow ile Keras kullanarak bir modelin nasıl eğitileceğini ve model uyumu sırasında doğrulama için etiket verileri içeren bir oluşturucunun nasıl kullanılacağını tartışır. Model derleme ile eğitilir ve ardından eğitim ve doğrulama kümeleri kullanılarak uyum işlevi tanımlanır ve dönem ve ayrıntı düzeyi ayarlanır. Eğitim sırasında oluşan uyarı, TensorFlow içindeki bir hatadır ve eğitmen bu uyarının nasıl göz ardı edileceğini gösterir. Sonuçlar, eğitim setindeki doğruluğun %100 olduğunu, doğrulama doğruluğunun ise yalnızca %69 olduğunu ve fazla uydurma olduğunu gösteriyor. Model, üretimde kullanılacaksa, aşırı uyum sorunuyla mücadele etmek için daha fazla dikkat gerektirecektir. Bir sonraki bölüm, eğitilmiş modelin test setindeki görüntüler üzerinde tahminde bulunmada nasıl sonuç çıkardığını keşfedecek.

  • 01:30:00 Videonun bu bölümünde eğitmen, test gruplarından bir grup test verisi çizmek ve görüntüler için karşılık gelen etiketleri yazdırmak için görüntüleri çiz işlevini kullanma sürecini açıklar. Eğitmen, etiketler ve numuneler arasında doğru eşleştirmeyi sağlamak için test veri setini karıştırmamanın önemini vurgular. Ardından, girdi olarak belirtilen test yığınlarıyla model.predict çağrılarak tahminler elde edilir. Eğitmen yuvarlatılmış tahminlerin çıktısını alır ve bunların nasıl yorumlanacağını açıklar. Ayrıca sonuçları görselleştirmek için bir karışıklık matrisinin kullanılmasından bahsederler ve scikit-learn'den gelen karışıklık matrisi işlevi, test grubu sınıfları kullanılarak geçirilen gerçek etiketlerle kullanılır.

  • 01:35:00 Bu bölümde video, TensorFlow'un Keras API'sini kullanarak kedi ve köpek görüntülerini sınıflandırmada modelin performansını değerlendirmek için bir karışıklık matrisinin nasıl çizileceğini tartışıyor. Karışıklık matrisi, scikit-learn'den bir işlev kullanılarak çizilir ve sınıf endeksleri buna göre ayarlanır. Karışıklık matrisinin köşegeni, doğru tahminleri temsil ediyor ve modelin aşırı uydurma olduğu görülüyor. Bir sonraki bölüm, 2014 ImageNet yarışmasını kazanan kedi ve köpek görüntülerini sınıflandırmak için önceden eğitilmiş bir VGG 16 modelinde nasıl ince ayar yapılacağını gösterecek. Video ayrıca, yalnızca görüntü verilerinden eğitim setinin her bir pikselinden hesaplanan ortalama RGB değerini çıkaran VGG 16 ön işleme işlevini de kısaca açıklıyor.

  • 01:40:00 Bu bölümde eğitmen, VGG-16 modeli için yapılan ön işlemeyi ve yeni verilerin VGG-16'nın orijinal olarak eğitilmiş şekline uyması için aynı şekilde nasıl işlenmesi gerektiğini açıklar. Eğitmen, Keras'ın VGG-16 gibi ilgili modelle eşleşen ön işlemeye sahip popüler modellerde yerleşik işlevlere sahip olduğundan bahseder. Eğitmen ayrıca, VGG-16 modelinin orijinal olarak 1000 farklı imageNet sınıfını tahmin ettiğini ve amacın, kedi ve köpeğe karşılık gelen yalnızca iki çıktı sınıfını tahmin etmek için son çıktı katmanını değiştirmek olduğunu açıklar. Son olarak eğitmen, her VGG-16 katmanında döngü yaparak ve son çıktı katmanını hariç tutarak yeni bir sıralı model oluşturur. Bu yeni model ince ayar içindir ve yalnızca iki çıktı sınıfına sahiptir.

  • 01:45:00 Bu bölümde, kedi ve köpeklerden oluşan bir veri kümesi üzerinde ince ayarlı VGG 16 modelini nasıl değiştireceğimizi ve eğiteceğimizi görüyoruz. Modelde 1000 çıktı sınıfı öngören son katman kaldırılmış ve kedi ve köpek için yalnızca iki çıktı sınıfına sahip yeni bir yoğun katman eklenmiştir. 8000 eğitilebilir parametre içeren çıktı katmanı dışında, önceki katmanların hiçbiri eğitilemez olarak ayarlanmıştır. Model, kayıp olarak kategorik çapraz entropi ve metrik olarak doğruluk kullanılarak derlenir ve eğitim veri kümesini ve doğrulama kümesini ona geçirerek fit() yöntemi kullanılarak eğitilir.

  • 01:50:00 Bu bölümde eğitmen, VGG 16 modelinin kedi ve köpek görüntüleri üzerinde eğitilmesinin sonuçlarını, eğitim ve doğrulama setlerinin doğruluğu konusunda özellikle tartışır. VGG 16 modeli, image net kitaplığından kedi ve köpek görüntüleri üzerinde zaten eğitilmişti ve çıktı katmanında yapılmakta olan eğitim, modeli yalnızca kedi veya köpek sınıfları çıkaracak şekilde eğitmektir. Sadece beş çağda, VGG 16 modeli %99'luk bir eğitim doğruluğuna sahipken, doğrulama doğruluğu %98'e eşitti ve bu modelin, basit evrişimli sinir ağına kıyasla doğrulama setlerindeki kedi ve köpek verilerine ne kadar iyi genelleştirildiğini gösteriyor. Bir sonraki bölümde, test setindeki kedi ve köpek görüntülerini tahmin etmek için ince ayarlı VGG 16 modeli kullanılacak ve doğrulama setindeki doğruluk göz önüne alındığında, test setinde de iyi sonuçlar görmeyi beklemeliyiz. .

  • 01:55:00 Videonun bu bölümünde eğitmen, ince ayarlı bir VGG16 modelinin görünmeyen bir test setindeki performansını değerlendirmek için bir karışıklık matrisinin kullanımını tartışıyor. Karışıklık matrisinin köşegeni incelenir, bu da modelin %96'lık bir doğruluk oranına ulaştığını ortaya çıkarır. VGG16 modeli için benimsenen ince ayar yaklaşımı asgari düzeyde olsa da eğitmen, gelecek bölümlerin MobileNets gibi önceden eğitilmiş diğer modellerde daha fazla ince ayar yöntemini kapsayacağını açıklıyor. Bu daha küçük, düşük güçlü modeller, önemli ölçüde daha küçük boyutları ve parametre sayıları nedeniyle mobil cihazlara dağıtım için daha uygundur.
  • 02:00:00 Videonun bu bölümünde eğitmen, VGG 16 gibi daha büyük modellere göre daha küçük ve daha hızlı bir alternatif olan MobileNets'i tanıtıyor. MobileNet'ler bu ağır modellerin bazıları kadar doğru olmasa da, doğruluktaki azalma nispeten küçüktür. Eğitmen, gerekli paketleri içe aktarmak, MobileNet modelini indirmek ve atamak ve görüntüleri MobileNet'ten geçirmeden önce yeniden boyutlandırmak ve biçimlendirmek için "prepare_image" adlı bir işlev oluşturmak dahil olmak üzere MobileNets'i bir Jupyter Not Defterine indirmek ve onunla çalışmak için adım adım ilerliyor. işleme modeli. Genel olarak, farklı derin öğrenme modelleriyle çalışırken doğruluk ve boyut/hız arasındaki ödünleşimleri ve bunların etkili bir şekilde nasıl kullanılacağını anlamaya odaklanılır.

  • 02:05:00 Bu bölümde eğitmen, verilen görüntülerin olası ilk beş sınıfını tahmin etmek için önceden eğitilmiş bir MobileNet modelinin nasıl kullanılacağını gösterir. Önce bir kertenkele görüntüsü gösterirler ve bunu MobileNet'in tahmin işlevine aktarmadan önce bir ön işleme işlevinden geçirirler. MobileNet, Amerikan bukalemunu en olası olmak üzere, yüksek olasılıklı ilk üç sınıfı tahmin ediyor. Aynı işlemi bir fincan kahve görüntüsüyle tekrarlıyorlar ve model bunun espresso olduğunu %99 olasılıkla tahmin ediyor. Son olarak, modele bir çilek görüntüsü iletirler ve mümkün olan en iyi sınıflar için tahminleri alırlar.

  • 02:10:00 Videonun bu bölümünde sunum yapan kişi, çilek ve diğer meyveleri içeren rastgele bir görüntü örneği için mobil ağ modelinin tahminlerinin sonuçlarını gösteriyor. Sunucu, model için doğrulukta küçük bir düşüş olmasına rağmen, videoda gösterilenler gibi testler yapılırken bunun fark edilmediğinden bahsediyor. Bir sonraki adım, işaret dili rakamlarından oluşan özel bir veri seti için mobil ağ modelinde ince ayar yapmaktır. Sunum yapan kişi, bir Jupyter Not Defterinde programlı olarak işlenmeden önce diskteki veri kümesinin nasıl düzenleneceğini ve çalışma dizinine nasıl taşınacağını gösterir.

  • 02:15:00 Bu bölümde eğitmen, bir Python betiği kullanarak görüntü verilerinin train, valid ve test dizinlerinde nasıl düzenleneceğini açıklar. İlk adım, her sınıftaki 204 ile 208 arasında değişen örnek sayısını kontrol etmektir. Ardından, bir for döngüsü kullanarak, komut dosyası her sınıf dizinini tren dizinine taşır ve her sınıf için geçerli ve test kümeleri için ayrı dizinler oluşturur. . Son olarak, betik, tren dizinindeki her sınıftan rastgele görüntüleri örnekler, bunları geçerli dizine taşır ve daha fazla görüntüyü örnekleyerek test dizinine taşır. Komut dosyasını çalıştırdıktan sonra, veriler her set için ayrı dizinler halinde düzenlenir ve her sınıftaki görüntülerin sayısı ilgili dizinler kontrol edilerek doğrulanabilir.

  • 02:20:00 Videonun bu bölümünde konuşmacı, derste daha önce kullanılan kedi ve köpek veri setine benzeyen ancak şimdi yerine 10 sınıf içeren, çalışacakları veri setinin organizasyon yapısını tartışıyor. iki. Daha sonra tren, doğrulama ve test dizinlerini tanımlayarak ve görüntü verisi üretecini kullanarak dizin yineleyicileri oluşturarak verilerin nasıl ön işleneceğini gösterirler. Kullanılan ön işleme işlevi, görüntü verilerini eksi birden bire ölçeklendiren mobil ağ ön işleme işlevidir. Hedef görüntü boyutu ve parti boyutu gibi yineleyici ayarları da tanımlanır. Konuşmacı, yineleyiciyi veri kümesinin diskteki konumuna doğru şekilde yönlendirmenin önemini vurguluyor, çünkü yanlış işaretleme sıfır görüntünün bulunmasına neden olabilir.

  • 02:25:00 Keras with TensorFlow kursunun bu bölümünde eğitmen, önceden eğitilmiş MobileNet modelinde yeni bir sınıflandırma görevi için nasıl ince ayar yapılacağını açıklıyor. İlk adım, MobileNet modelini indirmek ve "model.summary()" işlevini kullanarak katmanlarını incelemektir. Daha sonra altıncıdan sonuncuya kadar olan katmanları seçerler ve 10 birimlik yeni bir yoğun çıktı katmanı oluştururlar. Bunu, önceki tüm katmanları altıncı ve son katmana ve mobil ağı çıkış katmanına geçiren yeni bir işlevsel model oluşturulması takip eder. Yeni model oluşturulur ve bir sonraki adım, eğitim için son 23 katman hariç tümünü dondurmaktır. Eğitmen, dondurulacak katman sayısının kişisel deneme gerektirdiğini ve göreve bağlı olarak değişebileceğini not eder.

  • 02:30:00 Bu bölümde eğitmen, yalnızca son 23 katmanı eğiterek ve çıktı katmanını 1.000 yerine 10 sınıf içeren bir katmanla değiştirerek orijinal MobileNet modelinde ince ayar yapar. Model, 0.0001 öğrenme oranı ve kategorik çapraz entropi kaybı fonksiyonu ile Adam iyileştirici kullanılarak derlenir ve eğitilir. 30 dönem eğitimden sonra model, eğitim setinde %100 doğruluk ve doğrulama setinde %92 doğruluk elde eder. Doğrulama doğruluğu eğitim doğruluğundan daha düşük olan bir miktar fazla uydurma olsa da eğitmen, daha fazla dönem çalıştırmanın veya hiperparametreleri ayarlamanın fazla uydurma sorununu azaltmaya yardımcı olabileceğini önermektedir.

  • 02:35:00 Videonun bu bölümünde eğitmen, test setinde ince ayarlı bir modelin nasıl kullanılacağını ve tahminlerin bir karışıklık matrisine nasıl çizileceğini gösterir. Karışıklık matrisi, modelin test setinde çoğunlukla doğru tahminlerle iyi performans gösterdiğini gösterir. Model, doğrulama setindeki doğruluk göz önüne alındığında beklenen test setinde %90 doğruluğa sahiptir. Eğitmen, MobileNet'teki serinin, modellerin özel veri kümeleri için nasıl ince ayar yapılacağına ve transfer öğrenmenin nasıl kullanılacağına ilişkin içgörü sağladığını vurgular. Bir sonraki bölüm, TensorFlow'un Keras API'sini kullanarak görüntülerde veri büyütmenin nasıl kullanılacağını gösterecek.

  • 02:40:00 Bu bölümde, özellikle modeli eğitmek için yeterli veri olmadığında, derin öğrenme için veri artırmanın önemi vurgulanmaktadır. Veri artırma, fazla uydurmayı azaltmaya ve eğitim setinin boyutunu artırmaya yardımcı olabilir. Ardından, Keras kullanarak görüntü verilerini büyütme kodu tanıtılır, burada bir görüntü verisi oluşturucu oluşturulur ve döndürme aralığı, genişlik kaydırma aralığı ve yakınlaştırma aralığı gibi çeşitli büyütme parametreleri belirtilir. Bir köpek dizininden rasgele bir görüntü seçilir ve bu tek görüntüden bir toplu artırılmış görüntü oluşturmak için akış işlevi çağrılır. Ortaya çıkan artırılmış görüntüler daha sonra önceden tanımlanmış bir çizim görüntüleri işlevi kullanılarak çizilir.

  • 02:45:00 Bu bölümde eğitmen, mevcut verilerde varyasyonlar yaratarak bir veri kümesinin boyutunu yapay olarak artırma yöntemi olan veri artırmayı tartışır. Eğitmen, farklı görüntülere bakarak kaydırma, çevirme ve döndürme gibi onlara yapılan veri artırma türlerini tanımlar ve bu tekniğin bir veri kümesini büyütmek için nasıl yardımcı olabileceğini açıklar. Veri kümesinin çeşitliliğini artırarak, bir model verileri sınıflandırmada daha sağlam ve daha iyi hale gelebilir. Eğitmen ayrıca bu artırılmış görüntülerin diske kaydedilmesi ve eğitim setine geri eklenmesi için kısa bir talimat verir.
Keras with TensorFlow Course - Python Deep Learning and Neural Networks for Beginners Tutorial
Keras with TensorFlow Course - Python Deep Learning and Neural Networks for Beginners Tutorial
  • 2020.06.18
  • www.youtube.com
This course will teach you how to use Keras, a neural network API written in Python and integrated with TensorFlow. We will learn how to prepare and process ...
 

Scikit-learn Hızlandırılmış Kurs - Python için Makine Öğrenimi Kitaplığı



Scikit-learn Hızlandırılmış Kurs - Python için Makine Öğrenimi Kitaplığı

"Scikit-learn Crash Course" videosu, Python'da makine öğrenimi için Scikit-learn kitaplığının kullanımına genel bir bakış sağlar. Video, veri hazırlama, model oluşturma ve uydurma, ızgara arama yoluyla hiperparametre ayarlama ve model değerlendirme konularını kapsar. Model performansını artırmada ön işleme ve transformatörlerin önemi, standart ölçekleyici ve niceliksel transformatör örnekleriyle vurgulanmaktadır. Videoda ayrıca model değerlendirmesinin önemi ve sorun için doğru ölçümü seçmenin yanı sıra dengesiz veri kümelerini ve bilinmeyen kategorileri tek geçişli kodlamada ele alma da tartışılıyor. Konuşmacı, veri setini ve model tahminlerindeki olası yanlılıkları anlamayı vurguluyor ve kredi kartı dolandırıcılığının tespitine bir örnek sunuyor.

Videonun ikinci bölümü, ızgara arama, ölçümler, boru hatları, eşik ayarı, zaman serisi modelleme ve aykırı değer işleme dahil olmak üzere çeşitli konuları kapsar. Eğitmen, özel tanımlı metriklerin kullanımını ve model oluşturmada hassaslık ile hatırlamayı dengelemenin önemini araştırır. Ek olarak, oylama sınıflandırıcısı, model esnekliğini ve anlamlılığını artıran bir meta-tahmin edici olarak gösterilir. Video, makine öğrenimi algoritmalarıyla birleştirilebilen kural tabanlı sistemlerin oluşturulmasına ve karşılaştırılmasına yardımcı olan Human Learn aracının tanıtılmasıyla sona eriyor. Ayrıca, kullanıcıların bir sınıflandırıcı modeli olarak özelleştirilmiş mantık oluşturmasına ve aykırı değer tespiti gibi davranışlar eklemesine olanak tanıyan FunctionClassifier aracı keşfedilmiştir. Genel olarak video, Scikit-learn ve esnek API'sine kapsamlı bir genel bakış sunarak, model oluşturma ve özelleştirme için ilgili metrikleri anlamanın önemini vurguluyor.

  • 00:00:00 veri y. X, özellikleri veya girdi değişkenlerini içerirken Y, tahmin etmek istediğimiz hedef veya çıktı değişkenini içerir. Modelin performansını değerlendirmek için verileri bir eğitim seti ve bir test seti olarak ayırdık. Ardından, verileri önceden işlememiz gerekiyor. En önemli ön işleme tekniklerinden biri, özelliklerin değerlerinin hepsinin benzer bir aralığa düşmesi için normalleştirilmesini içeren ölçeklendirmedir. Bu, modelin daha etkili bir şekilde öğrenmesine yardımcı olur. Son olarak bir model seçip eğitim setinde eğitiyoruz. Model eğitildikten sonra, test setindeki performansını değerlendirir ve yeni veriler üzerinde tahminler yaparız. Sonraki bölümlerde, ön işleme, model değerlendirme ve meta tahmin edici konularını daha derinlemesine inceleyeceğiz.

  • 00:05:00 Bu bölümde konuşmacı, makine öğrenimi modelleri için verilerin x ve y kümelerine nasıl bölüneceğini tartışıyor. x seti, tahmin yapmak için kullanılan verileri temsil ederken, y seti, ilgilenilen tahminleri içerir. Kullanıcılar, scikit-learn kitaplığını kullanarak eğitim amaçlı kıyaslama veri kümeleri yükleyebilir. Konuşmacı ayrıca, tahminlerde bulunmak amacıyla verilerden öğrenmek için bir model oluşturma ve uydurma işleminin iki aşamalı sürecini de açıklıyor. Örnek olarak k-en yakın komşu modeli kullanılmıştır, ancak farklı modellerin scikit-learn içinde nasıl hala aynı API'ye sahip olabileceğini göstermek için Doğrusal Regresyon modeli de gösterilmiştir.

  • 00:10:00 Bu bölümde, Scikit-learn Crash Course videosu, K-en yakın komşu modelinin, bir evin sahip olduğu metrekareyi ve okullara yakınlığını gösteren basit bir veri kümesinde nasıl çalıştığını açıklıyor. Model, en yakın 5 komşuya dayalı tahminler yapar, ancak farklı ölçeklere sahip mesafeler kullanıldığında zorluk ortaya çıkabilir, bu da bir eksenin tahminler üzerinde diğerinden çok daha büyük bir etkiye sahip olabileceği anlamına gelir. Bu, bir makine öğrenimi modelinin ne olduğunu yeniden düşünmeyi gerektirir ve veriler K-en yakın komşu modeline verilmeden önce bir ön işleme yapılması gerektiğini öne sürer, böylece tahminler yapılmadan önce ölçeklendirme yapılır ve içindeki her şey ön- işleme kutusu modelin bir parçasıdır.

  • 00:15:00 Bu bölümde video, Scikit-learn'de işleme adımlarının zincirlenmesine ve eğitildiğinde tüm ardışık düzen için nokta sığdırma ve nokta tahmin çağrısına izin veren bir ardışık düzen kavramını araştırıyor. Bir ardışık düzen kullanarak, sağlam bir sistem sağlamak için verilerden öğrenmek üzere ölçekleme ve normalleştirme gibi ön işleme adımlarını otomatik olarak işlemek mümkündür. Ancak bu yaklaşım, modelin orijinal verileri ezberlemesine izin verilen bir sorunu ortaya çıkarır. Video, grafiğin nasıl yanlış bir şekilde mükemmel bir tahmin önerdiğini gösteriyor, ancak model bunu yalnızca orijinal veri noktasını ezberlemesine izin verildiği için yapabiliyor, bu da adil bir karşılaştırmayı ve yeni veriler üzerinde güvenilir öngörülebilirliği engelliyor.

  • 00:20:00 Bu bölümde eğitmen, modelin üzerinde eğitildiği aynı veri kümesine göre değerlendirilmesini önlemek için ayrı bir test veri kümesi kullanarak bir modelin performansını değerlendirme yöntemini açıklar. Veri setini segmentlere ayırmayı ve birini eğitim için, diğerlerini test için kullanmayı önerir. Ek olarak, modelde kullanılacak en iyi hiperparametreleri belirlemek için otomatik çapraz doğrulamaya izin veren Scikit-learn'ün ızgara arama cv nesnesini tanıtıyor. Bu nesne, modelde ince ayar yapmak ve tahmin yeteneklerini geliştirmek için daha önce oluşturulan ardışık düzen ile birlikte kullanılabilir.

  • 00:25:00 Bu bölümde, eğitmen KNearestNeighbors modelinin çeşitli parametrelerini inceler ve en iyi hiperparametre setini bulmak için GridSearch nesnesinin nasıl kullanılacağını gösterir. GridSearch nesnesi otomatik olarak çapraz doğrulama gerçekleştirecek ve sonuçları takip ederek analiz etmeyi ve en iyi yapılandırmayı seçmeyi kolaylaştıracaktır. Ancak eğitmen, scikit-learn ile çalışırken uygun API ve yapı taşlarını kullanmanın önemli olduğu kadar, kullanılan veri setini anlamanın ve analiz etmenin de aynı derecede önemli olduğunun altını çiziyor. Eğitmen, bir veri setinin açıklamasına nasıl erişileceğini ve bu tanımın nasıl görüntüleneceğini gösterir ve bir model oluşturmadan önce veri setindeki değişkenleri anlamak için zaman ayırmanın önemini vurgular.

  • 00:30:00 Bu bölümde konuşmacı, eğitim ve tahmin için kullanılan verileri tam olarak anlamadan makine öğrenimi modellerini körü körüne uygulamanın olası tuzaklarını tartışıyor. Bir kasabadaki belirli bir ırkın oranı gibi görünüşte zararsız değişkenler bile önyargılı ve hatta ırkçı algoritmalara yol açabilir. Konuşmacı, modeli üretime geçirmeden önce iyice incelemenin ve test etmenin önemini vurguluyor. Izgara arama ve diğer yöntemlerin kullanılması istatistiksel garantiler sağlayabilir, ancak aynı zamanda yanlış bir iyimserlik duygusu yaratabilir ve kör noktalara neden olabilir. Kullanılan veriler konusunda kendilerini eğitmek ve etik ve geri bildirim mekanizmalarının yanı sıra üretimde işler ters gittiğinde geri dönüş senaryolarını dikkate almak kullanıcının sorumluluğundadır.

  • 00:35:00 Bu bölümde, model oluşturmada veri dönüşümünün önemi vurgulanmaktadır. Video, transformatörlerin kullanımını ve model performansını artırmadaki önemini tartışıyor. Scikit-Learn'ün standart ölçekleyicisi, bir veri kümesini yeniden ölçeklendirmek için kullanılır ve performansı iyi olsa da video, diğer ölçeklendirme yöntemleri kullanılarak nasıl geliştirilebileceğini gösterir. Yaklaşım, ortalamanın veri kümesinden çıkarılmasını ve standart sapmaya bölünmesini içerir. Yaklaşım verileri ölçeklendirirken, bazı algoritmaları etkileyebilecek aykırı değerler bırakır. Video, istenen model sonuçlarına ulaşmada ön işlemenin önemini daha da vurgulamaktadır.

  • 00:40:00 Videonun bu bölümünde, konuşmacı normalleştirme kavramını ve ortalama değerler yerine kantilleri hesaplayarak nasıl etkili bir şekilde kullanılacağını tartışıyor. Nicelikler kullanılarak aykırı değerlerin veriler üzerindeki etkisi azaltılır ve süreç daha sağlam hale gelir. Konuşmacı, makine öğrenimi modellerinde daha iyi sonuçlar elde etmek için standart ölçekleyicinin yerine bir ön işleme adımı olarak nicel dönüştürücünün nasıl uygulanacağını gösterir. Transformatörün çıkış verileri üzerindeki derin etkisi, bir k-en yakın komşu modelini eğiten ve hem standart ölçekleyici hem de niceliksel transformatör için tahminler üreten bir çizim çıktı fonksiyonu aracılığıyla gösterilir.

  • 00:45:00 Videonun bu bölümünde konuşmacı, ön işlemenin veri kümelerinin sınıflandırılmasını nasıl büyük ölçüde etkileyebileceğini açıklıyor. İlk örnekte konuşmacı, modeli daha kararlı ve uzun vadede aykırı değerlerle başa çıkmak için daha uygun hale getiren Quantile Transformer'ı kullanır. İkinci örnek, yeni özellikler eklemenin modelin performansını nasıl iyileştirebileceğini göstermektedir. Lojistik Regresyon Modeli, x1 çarpı x2 ve x1 üzeri 2 ve x2 üzeri 2 gibi doğrusal olmayan özellikleri Polinom Özellikleri aracılığıyla üreterek, mükemmele yakın bir sınıflandırma üretebildi. Son olarak, One Hot Encoder, metin veya kategorileri düşük, orta veya yüksek risk gibi sınıfları tahmin etmeye yarayan sayısal verilere dönüştürme tekniği olarak tanıtıldı.

  • 00:50:00 Bu bölümde video, Scikit-learn kitaplığıyla tek sıcak kodlama kullanılırken bilinmeyen kategorilerin nasıl ele alınacağını tartışıyor. Sunucu, kodlayıcıdan daha önce görmediği verileri dönüştürmesi istenirse bunun bir değer hatasıyla sonuçlanacağını açıklar. Ancak bu, "handle_unknown" parametresini "ignore" olarak ayarlayarak değiştirilebilir. Video ayrıca, kullanıcıların ön işleme ve ardışık düzenlerde pratik yapmak için kendi veri kümelerini oluşturmasına olanak tanıyan "DrawData.xyz" adlı bir web sitesini tanıtıyor. Konuşmacı, modelin sonucunu güçlü bir şekilde etkileyebileceği için ön işleme adımlarının çok önemli olduğunu vurguluyor. Son olarak video, örnek olarak bir kredi kartı sahtekarlığı veri seti kullanarak, birden çok modeli karşılaştırmak ve tahmin için en iyisini seçmek için bir ızgara araması kullanmanın faydalarını açıklıyor.

  • 00:55:00 Bu bölümde video, doğru ölçümü seçmenin önemini ve Scikit-learn'ün bunu nasıl ele aldığını açıklıyor. Video, Scikit-learn'ün dolandırıcılık vakalarını doğru bir şekilde tahmin etmek için nasıl kullanılabileceğini göstermek için anonimleştirilmiş özelliklerden ve işlem tutarlarından oluşan bir veri kümesi kullanıyor. Bununla birlikte, veri kümesi, dolandırıcılık olmayan durumlara göre daha fazla dolandırıcılık vakasıyla dengesiz olduğundan, model, varsayılan yineleme sayısıyla yakınsamayı başaramaz. Bu nedenle, maksimum yineleme sayısı artırılır ve modelin dolandırıcılık tespitini iyileştirmek için sınıf ağırlığı parametresi, dolandırıcılık vakalarının ağırlığını iki katına çıkaracak şekilde ayarlanır. Video ayrıca sınıf ağırlık parametresi için en iyi değeri bulmak üzere GridSearchCV'yi tanıtır.
  • 01:00:00 Bu bölümde eğitmen, scikit-learn'de lojistik regresyon için en iyi model parametrelerini bulmak için grid aramanın nasıl kullanılacağını açıklıyor. Eğitmen, bir parametre değerleri ızgarası tanımlayarak, bu hiper parametreler arasında nasıl döngü yapılacağını ve bunları çapraz doğrulama kullanarak test etmeyi gösterir. Izgara nesnesi, sınıf ağırlığı ve puanları da dahil olmak üzere bir sonuç sözlüğü döndürür. Lojistik regresyon modeli, en iyi modeli belirlemek için kullanılan skor adı verilen bir sınır yöntemine sahiptir. Eğitmen daha sonra scikit-learn metrik modülünden iki metriği, kesinlik ve geri çağırma puanını tanıtır ve bir puanlama sözlüğü kullanarak bunların grid aramasına nasıl dahil edileceğini açıklar.

  • 01:05:00 Bu bölümde, konuşmacı test kesinliğini ve test hatırlama puanlarını ekler ve çapraz doğrulama sonuçlarına tren puanlarının eklenmesini sağlayacak bir bayrak ayarlar. Daha sonra çapraz doğrulama sayısını artırırlar ve dört aralığını uyuşuk bir doğrusal alanla değiştirirler ve algoritmaya dolandırıcılık vakalarına odaklanmasını söylemek için daha yüksek bir değer ayarlarlar. Sonuçları özetleyen bazı çizelgeler hazırlarlar, hatırlamaya veya kesinliğe odaklanmanın tamamen farklı sonuçlara yol açtığına dikkat çekerler. Daha sonra, kesinlik ve geri çağırma arasındaki minimumu hesaplayan ve bunu kılavuz aramaya ekleyen minimum geri çağırma kesinliği olan metriklerini oluşturmaya karar verirler. Bunu, iki ölçümü dengelemek ve hatırlama ile kesinlik puanlarını dengeleyen bir modele sahip olmak için yaparlar.

  • 01:10:00 , girdi olarak y_true ve y_pred'i kabul eden özel tanımlı metriğimiz min_precision_recall ile kılavuz aramada make_scorer işlevini kullanıyoruz. Ancak make_scorer işlevi bir tahmin edici, X veri kümesi, y true ve bir tür örnek ağırlık gerektirir, bu nedenle metrik işlevimizi ızgara aramasında kullanılabilecek bir tahmin puanlayıcı nesnesine dönüştürür. Örnek ağırlığı, makine öğrenimi modellerine aktarılabilen ve belirli bir satırın diğerinden daha önemli olduğunu söylememizi sağlayan ekstra bir özelliktir. make_scorer fonksiyonunu kullanmak yerine tahmin ediciyi direkt olarak geçebilir ve tahmin fonksiyonu ile tahmin edilen y değerlerini hesaplayabiliriz.

  • 01:15:00 Bu bölümde, konuşmacı örnek ağırlığın sahtekarlığı tespit etmede kullanımını tartışıyor ve bunun sayısal kararlılık işlevine nasıl eklenebileceğini gösteriyor. Ayrıca, algoritmik model üzerinde örnek ağırlığı eklemenin etkisini de gösterirler. Konuşmacı daha sonra sahtekarlığı tespit etmek için bir aykırı değer tespit algoritması kullanmayı önerir ve bu yaklaşım için ölçümlerin nasıl uyarlanacağını gösterir. Lojistik regresyonu bir yalıtım ormanı algoritmasıyla değiştirirler ve bunun kesinlik ve geri çağırma puanlarını nasıl etkilediğini gösterirler. Son olarak konuşmacı, aykırı değer tahminini dolandırıcılık etiketi tahminlerine dönüştürmek için metrik fonksiyonlarının varyantlarını yazar.

  • 01:20:00 Bu bölümde anlatıcı, Scikit-learn'ün API'sinin esnekliğini ve özel metriklerde y etiketleri geçirerek aykırı değer saptama algoritmalarını sanki sınıflandırıcılarmış gibi kullanma becerisini tartışıyor. Bu, bir aykırı değer modelinin bir sınıflandırma probleminde yararlı olup olmayacağına karar vermede yararlı olabilir. Ancak anlatıcı, modelin metriklerini önemli ölçüde etkileyebileceğinden, etiketlerin kalitesiyle ilgilenmenin önemli olduğu konusunda uyarıyor. Ek olarak, anlatıcı, daha büyük olanın daha iyi olup olmadığını belirtmek ve bazı ölçümler için bir olasılık ölçüsüne ihtiyaç duyulması gibi ölçümler için bazı özelleştirme ayarlarına işaret eder. Son olarak anlatıcı, Scikit-learn'in meta modellerle çalışma yeteneğinden bahseder.

  • 01:25:00 Bu bölümde eğitmen, scikit-learn ardışık düzenlerinin nasıl çalıştığını ve makine öğrenimi modelleri için yalnızca scikit-learn ardışık düzenlerini kullanmanın sınırlamalarını açıklıyor. Eğitmen, bir modele ekstra adımlar ve son işleme araçları eklemek için ardışık düzenlerin sınırlamalarını aşmanın bir yolu olarak meta-tahmin edicilerin kullanılmasını önerir. Eğitmen, bir meta-tahmin ediciye, oylama sınıflandırıcısına ve her bir tahmin ediciye ağırlıklar vererek bir veri kümesi için farklı modelleri dengelemek için nasıl kullanılabileceğine dair bir örnek sağlar.

  • 01:30:00 Bu bölümde eğitmen, daha doğru tahminler üretmek için farklı şekillerde çalışan farklı modelleri birleştirebilen scikit-learn ile bir oylama sınıflandırıcısının kullanımını gösteriyor. Ayrıca, bu model diğer tahminciler tarafından girdi olarak kullanılabilir, böylece esneklik ve anlamlılık artar. Eğitmen ayrıca, bir lojistik regresyon modelindeki eşik değerini, eşikleyici meta-modelini kullanarak geri çağırma veya tam tersi için takas kesinliğine ayarlama fikrini de sunar. Bu, eşikleyici modelinin bir ızgara aramasında nasıl kullanılacağına dair bir örnekle gösterilmiştir. Scikit-learn tarafından sağlanan bu teknikleri kullanarak, model parametrelerini ayarlayabilir ve daha iyi performans elde edebilirsiniz.

  • 01:35:00 Bu bölümde konuşmacı, bir ikili sınıflandırıcının eşiğini ayarlamak için ızgara aramayı kullanmaktan bahsediyor. Kesinlik ve geri çağırma eğrilerinin eşik değiştikçe değiştiğini, ancak doğruluğun nispeten tutarlı kaldığını gösteriyorlar. Konuşmacı, bu tür son işleme adımının en iyi şekilde, başka bir modeli girdi olarak kabul eden bir meta model olarak uygulandığını açıklar. Konuşmacı daha sonra Scikit-learn'ün Pipeline ve Group( byRegressor sınıfları ile verileri diyete göre gruplamak için bir meta model oluşturma örneğini gösterir ve ardından her grup için farklı bir doğrusal regresyon modeli kullanır. kategorik bir değişkenin etkisinin sadece sabit bir kayma olmayabileceği durumlar.

  • 01:40:00 Bu bölümde, video bir zaman serisi görevini açıklıyor ve bunun gruplanmış bir öngörücü ve yapay bir regresör kullanarak nasıl modelleneceğini gösteriyor. Tahminin orta yıl için iyi olduğunu, ancak son yıllarda altında kaldığını ve geçmişte aştığını belirtiyor. Modeli daha iyi hale getirmek için video, daha yeni verilere odaklanmayı ve geçmiş verileri unutmayı öneriyor. Kullanıcının belirli bir veri noktasının ne kadar tartılacağını belirlemesine izin veren numune ağırlıkları kavramını sunar. Ardından video, modele bozulmanın nasıl ekleneceğini gösterir, bu da son veri noktalarının eskilerden daha önemli olmasını sağlar. Bunu yaparak, model daha anlamlı hale gelir ve uzak geçmişi göz ardı ederken son veriler üzerinde daha iyi performans gösterir. Ancak bu hile, eğitim verilerinin test verilerinden daha kötü performans gösterdiği bir duruma neden olabilir.

  • 01:45:00 Bu bölümde, konuşmacı, kural tabanlı sistemlerin oluşturulmasına ve karşılaştırılmasına yardımcı olan scikit-learn uyumlu araçlar sunmak için tasarlanmış açık kaynaklı bir proje olan Human Learn adlı bir aracı tanıtıyor. Konuşmacı, geçmişte, makine öğrenimi algoritmalarından ziyade veri sınıflandırması için iş kuralları ve sistemleri oluşturmak üzere insan uzmanların kullanılmasının daha yaygın olduğunu açıklıyor. Ancak, makine öğrenimi modelleri mükemmel değildir ve sorunlu veya etkisiz davranışlar sergileyebilir. Human Learn'ün amacı, makine öğrenimi modelleriyle kolayca karşılaştırılabilen ve aynı zamanda onlarla birleştirilebilen kural tabanlı sistemler oluşturmaktır. Konuşmacı, Titanic veri setini kullanarak kural tabanlı bir sistemin nasıl oluşturulacağını gösteriyor ve Human Learn'ün bu sistemleri günlük iş akışınıza dahil etmeyi nasıl kolaylaştırabileceğini açıklıyor.

  • 01:50:00 Videonun bu bölümünde konuşmacı, kullanıcı tanımlı bir işlevi alıp onu scikit-learn uyumlu bir sınıflandırıcıya dönüştüren scikit-learn'deki FunctionClassifier aracını tanıtıyor. Araç ayrıca, kullanıcının işlevinde tanımlanan herhangi bir parametrenin ızgara arama optimizasyonuna izin verir. Konuşmacı, Titanik felaketiyle ilgili bir veri kümesiyle bir eşik parametresi üzerinde ızgara araması yapmak için FunctionClassifier aracının nasıl kullanılacağını gösterir. Aracın esnekliği, kullanıcıların bir sınıflandırıcı modeli olarak özelleştirilmiş mantıkla herhangi bir Python işlevi oluşturmasına ve aykırı değer algılama gibi davranışlar eklemesine olanak tanır.

  • 01:55:00 Bu bölümde eğitmen, önceden var olan makine öğrenimi modellerinde aykırı değerlerin nasıl ele alınabileceğini açıklıyor. Modelin önüne bir mantık ekleyerek, bir aykırı değer tanımlanabilir ve farklı bir etiket atanabilir. Paket, önceden var olan makine öğrenimi modelleri kullanılarak kural tabanlı sistemlerin oluşturulmasına ve doğal zeka ile yapay zeka arasında bir denge kurulmasına olanak tanır. Eğitmen scikit-lego paketini ve yük penguenleri fonksiyonunu, özelliklerine dayalı olarak bir penguenin türünün etkili tahminini göstermek için kullanır. İşlev, etkileşimli bir grafik kullanır ve eğitmen, sınıflandırma gerektiren veri noktalarının etrafına çokgenler çizer. Point-in-poly algoritması daha sonra veri noktalarını sınıflandırmak için kullanılır. Etkileşimli bir sınıflandırıcı, json bloğundan scikit-learn uyumlu bir modelin tanımlanmasını sağlar. Ardından, bir veri çerçevesinden x ve y veri kümeleri üretilebilir ve model, herhangi bir döngüleyici model gibi kullanılabilir.
  • 02:00:00 Bu bölümde konuşmacı, çizilmiş makine öğrenimi modellerinin özelliklerini ve faydalarını vurgular. Matplotlib'deki bir grafik özelliğini kullanarak, çizilen modellerin yeni örnekler için sınıflandırmaları nasıl tahmin ettiğini ve eksik verileri etkin bir şekilde nasıl ele aldığını gösteriyor. Ayrıca konuşmacı, noktaların poligonların dışında olup olmadığını kontrol ederek aynı çizimin aykırı değer tespit sistemi olarak nasıl kullanılabileceğini gösterir. Ayrıca, etiketler hazır olmadığında bile veri noktalarına etiket atamak için çizim mekaniğinin nasıl kullanılabileceğini gösteriyor, bu da onu yararlı bir ön işleme adımı yapıyor.

  • 02:05:00 Bu bölümde, konuşmacı nispeten deneysel olan ve bir scikit-learn dönüştürücü veya bir pandas ardışık düzeninde veri noktasının bir sistemdeki görünümüyle ilgili sayıları içeren iki yeni sütun eklemek için işlev görebilen Etkileşimli Grafikler API'sini tartışıyor. çokgen. Konuşmacı, kural tabanlı sistemler oluşturmak için iş kurallarının yanı sıra makine öğrenimi algoritmalarının kullanılmasını önerir. Ayrıca konuşmacı, makine öğrenimi ve scikit-learn hakkında daha fazla bilgi edinmek için freeCodeCamp, pi data YouTube kanalı ve scikit-learn dokümantasyon sayfası gibi çeşitli kaynaklar önerir.
Scikit-learn Crash Course - Machine Learning Library for Python
Scikit-learn Crash Course - Machine Learning Library for Python
  • 2021.04.07
  • www.youtube.com
Scikit-learn is a free software machine learning library for the Python programming language. Learn how to use it in this crash course.✏️ Course created by V...
 

Scikit-learn Hızlandırılmış Kurs - Python için Makine Öğrenimi Kitaplığı



Scikit-learn Hızlandırılmış Kurs - Python için Makine Öğrenimi Kitaplığı

"Scikit-learn Crash Course" videosu, Python'da makine öğrenimi için Scikit-learn kitaplığının kullanımına genel bir bakış sağlar. Video, veri hazırlama, model oluşturma ve uydurma, ızgara arama yoluyla hiperparametre ayarlama ve model değerlendirme konularını kapsar. Model performansını artırmada ön işleme ve transformatörlerin önemi, standart ölçekleyici ve niceliksel transformatör örnekleriyle vurgulanmaktadır. Videoda ayrıca model değerlendirmesinin önemi ve sorun için doğru ölçümü seçmenin yanı sıra dengesiz veri kümelerini ve bilinmeyen kategorileri tek geçişli kodlamada ele alma da tartışılıyor. Konuşmacı, veri setini ve model tahminlerindeki olası yanlılıkları anlamayı vurguluyor ve kredi kartı dolandırıcılığının tespitine bir örnek sunuyor.

Videonun ikinci bölümü, ızgara arama, ölçümler, boru hatları, eşik ayarı, zaman serisi modelleme ve aykırı değer işleme dahil olmak üzere çeşitli konuları kapsar. Eğitmen, özel tanımlı metriklerin kullanımını ve model oluşturmada hassaslık ile hatırlamayı dengelemenin önemini araştırır. Ek olarak, oylama sınıflandırıcısı, model esnekliğini ve anlamlılığını artıran bir meta-tahmin edici olarak gösterilir. Video, makine öğrenimi algoritmalarıyla birleştirilebilen kural tabanlı sistemlerin oluşturulmasına ve karşılaştırılmasına yardımcı olan Human Learn aracının tanıtılmasıyla sona eriyor. Ayrıca, kullanıcıların bir sınıflandırıcı modeli olarak özelleştirilmiş mantık oluşturmasına ve aykırı değer tespiti gibi davranışlar eklemesine olanak tanıyan FunctionClassifier aracı keşfedilmiştir. Genel olarak video, Scikit-learn ve esnek API'sine kapsamlı bir genel bakış sunarak, model oluşturma ve özelleştirme için ilgili metrikleri anlamanın önemini vurguluyor.

  • 00:00:00 veri y. X, özellikleri veya girdi değişkenlerini içerirken Y, tahmin etmek istediğimiz hedef veya çıktı değişkenini içerir. Modelin performansını değerlendirmek için verileri bir eğitim seti ve bir test seti olarak ayırdık. Ardından, verileri önceden işlememiz gerekiyor. En önemli ön işleme tekniklerinden biri, özelliklerin değerlerinin hepsinin benzer bir aralığa düşmesi için normalleştirilmesini içeren ölçeklendirmedir. Bu, modelin daha etkili bir şekilde öğrenmesine yardımcı olur. Son olarak bir model seçip eğitim setinde eğitiyoruz. Model eğitildikten sonra, test setindeki performansını değerlendirir ve yeni veriler üzerinde tahminler yaparız. Sonraki bölümlerde, ön işleme, model değerlendirme ve meta tahmin edici konularını daha derinlemesine inceleyeceğiz.

  • 00:05:00 Bu bölümde konuşmacı, makine öğrenimi modelleri için verilerin x ve y kümelerine nasıl bölüneceğini tartışıyor. x seti, tahmin yapmak için kullanılan verileri temsil ederken, y seti, ilgilenilen tahminleri içerir. Kullanıcılar, scikit-learn kitaplığını kullanarak eğitim amaçlı kıyaslama veri kümeleri yükleyebilir. Konuşmacı ayrıca, tahminlerde bulunmak amacıyla verilerden öğrenmek için bir model oluşturma ve uydurma işleminin iki aşamalı sürecini de açıklıyor. Örnek olarak k-en yakın komşu modeli kullanılmıştır, ancak farklı modellerin scikit-learn içinde nasıl hala aynı API'ye sahip olabileceğini göstermek için Doğrusal Regresyon modeli de gösterilmiştir.

  • 00:10:00 Bu bölümde, Scikit-learn Crash Course videosu, K-en yakın komşu modelinin, bir evin sahip olduğu metrekareyi ve okullara yakınlığını gösteren basit bir veri kümesinde nasıl çalıştığını açıklıyor. Model, en yakın 5 komşuya dayalı tahminler yapar, ancak farklı ölçeklere sahip mesafeler kullanıldığında zorluk ortaya çıkabilir, bu da bir eksenin tahminler üzerinde diğerinden çok daha büyük bir etkiye sahip olabileceği anlamına gelir. Bu, bir makine öğrenimi modelinin ne olduğunu yeniden düşünmeyi gerektirir ve veriler K-en yakın komşu modeline verilmeden önce bir ön işleme yapılması gerektiğini öne sürer, böylece tahminler yapılmadan önce ölçeklendirme yapılır ve içindeki her şey ön- işleme kutusu modelin bir parçasıdır.

  • 00:15:00 Bu bölümde video, Scikit-learn'de işleme adımlarının zincirlenmesine ve eğitildiğinde tüm ardışık düzen için nokta sığdırma ve nokta tahmin çağrısına izin veren bir ardışık düzen kavramını araştırıyor. Bir ardışık düzen kullanarak, sağlam bir sistem sağlamak için verilerden öğrenmek üzere ölçekleme ve normalleştirme gibi ön işleme adımlarını otomatik olarak işlemek mümkündür. Ancak bu yaklaşım, modelin orijinal verileri ezberlemesine izin verilen bir sorunu ortaya çıkarır. Video, grafiğin nasıl yanlış bir şekilde mükemmel bir tahmin önerdiğini gösteriyor, ancak model bunu yalnızca orijinal veri noktasını ezberlemesine izin verildiği için yapabiliyor, bu da adil bir karşılaştırmayı ve yeni veriler üzerinde güvenilir öngörülebilirliği engelliyor.

  • 00:20:00 Bu bölümde eğitmen, modelin üzerinde eğitildiği aynı veri kümesine göre değerlendirilmesini önlemek için ayrı bir test veri kümesi kullanarak bir modelin performansını değerlendirme yöntemini açıklar. Veri setini segmentlere ayırmayı ve birini eğitim için, diğerlerini test için kullanmayı önerir. Ek olarak, modelde kullanılacak en iyi hiperparametreleri belirlemek için otomatik çapraz doğrulamaya izin veren Scikit-learn'ün ızgara arama cv nesnesini tanıtıyor. Bu nesne, modelde ince ayar yapmak ve tahmin yeteneklerini geliştirmek için daha önce oluşturulan ardışık düzen ile birlikte kullanılabilir.

  • 00:25:00 Bu bölümde, eğitmen KNearestNeighbors modelinin çeşitli parametrelerini inceler ve en iyi hiperparametre setini bulmak için GridSearch nesnesinin nasıl kullanılacağını gösterir. GridSearch nesnesi otomatik olarak çapraz doğrulama gerçekleştirecek ve sonuçları takip ederek analiz etmeyi ve en iyi yapılandırmayı seçmeyi kolaylaştıracaktır. Ancak eğitmen, scikit-learn ile çalışırken uygun API ve yapı taşlarını kullanmanın önemli olduğu kadar, kullanılan veri setini anlamanın ve analiz etmenin de aynı derecede önemli olduğunun altını çiziyor. Eğitmen, bir veri setinin açıklamasına nasıl erişileceğini ve bu tanımın nasıl görüntüleneceğini gösterir ve bir model oluşturmadan önce veri setindeki değişkenleri anlamak için zaman ayırmanın önemini vurgular.

  • 00:30:00 Bu bölümde konuşmacı, eğitim ve tahmin için kullanılan verileri tam olarak anlamadan makine öğrenimi modellerini körü körüne uygulamanın olası tuzaklarını tartışıyor. Bir kasabadaki belirli bir ırkın oranı gibi görünüşte zararsız değişkenler bile önyargılı ve hatta ırkçı algoritmalara yol açabilir. Konuşmacı, modeli üretime geçirmeden önce iyice incelemenin ve test etmenin önemini vurguluyor. Izgara arama ve diğer yöntemlerin kullanılması istatistiksel garantiler sağlayabilir, ancak aynı zamanda yanlış bir iyimserlik duygusu yaratabilir ve kör noktalara neden olabilir. Kullanılan veriler konusunda kendilerini eğitmek ve etik ve geri bildirim mekanizmalarının yanı sıra üretimde işler ters gittiğinde geri dönüş senaryolarını dikkate almak kullanıcının sorumluluğundadır.

  • 00:35:00 Bu bölümde, model oluşturmada veri dönüşümünün önemi vurgulanmaktadır. Video, transformatörlerin kullanımını ve model performansını artırmadaki önemini tartışıyor. Scikit-Learn'ün standart ölçekleyicisi, bir veri kümesini yeniden ölçeklendirmek için kullanılır ve performansı iyi olsa da video, diğer ölçeklendirme yöntemleri kullanılarak nasıl geliştirilebileceğini gösterir. Yaklaşım, ortalamanın veri kümesinden çıkarılmasını ve standart sapmaya bölünmesini içerir. Yaklaşım verileri ölçeklendirirken, bazı algoritmaları etkileyebilecek aykırı değerler bırakır. Video, istenen model sonuçlarına ulaşmada ön işlemenin önemini daha da vurgulamaktadır.

  • 00:40:00 Videonun bu bölümünde, konuşmacı normalleştirme kavramını ve ortalama değerler yerine kantilleri hesaplayarak nasıl etkili bir şekilde kullanılacağını tartışıyor. Nicelikler kullanılarak aykırı değerlerin veriler üzerindeki etkisi azaltılır ve süreç daha sağlam hale gelir. Konuşmacı, makine öğrenimi modellerinde daha iyi sonuçlar elde etmek için standart ölçekleyicinin yerine bir ön işleme adımı olarak nicel dönüştürücünün nasıl uygulanacağını gösterir. Transformatörün çıkış verileri üzerindeki derin etkisi, bir k-en yakın komşu modelini eğiten ve hem standart ölçekleyici hem de niceliksel transformatör için tahminler üreten bir çizim çıktı fonksiyonu aracılığıyla gösterilir.

  • 00:45:00 Videonun bu bölümünde konuşmacı, ön işlemenin veri kümelerinin sınıflandırılmasını nasıl büyük ölçüde etkileyebileceğini açıklıyor. İlk örnekte konuşmacı, modeli daha kararlı ve uzun vadede aykırı değerlerle başa çıkmak için daha uygun hale getiren Quantile Transformer'ı kullanır. İkinci örnek, yeni özellikler eklemenin modelin performansını nasıl iyileştirebileceğini göstermektedir. Lojistik Regresyon Modeli, x1 çarpı x2 ve x1 üzeri 2 ve x2 üzeri 2 gibi doğrusal olmayan özellikleri Polinom Özellikleri aracılığıyla üreterek, mükemmele yakın bir sınıflandırma üretebildi. Son olarak, One Hot Encoder, metin veya kategorileri düşük, orta veya yüksek risk gibi sınıfları tahmin etmeye yarayan sayısal verilere dönüştürme tekniği olarak tanıtıldı.

  • 00:50:00 Bu bölümde video, Scikit-learn kitaplığıyla tek sıcak kodlama kullanılırken bilinmeyen kategorilerin nasıl ele alınacağını tartışıyor. Sunucu, kodlayıcıdan daha önce görmediği verileri dönüştürmesi istenirse bunun bir değer hatasıyla sonuçlanacağını açıklar. Ancak bu, "handle_unknown" parametresini "ignore" olarak ayarlayarak değiştirilebilir. Video ayrıca, kullanıcıların ön işleme ve ardışık düzenlerde pratik yapmak için kendi veri kümelerini oluşturmasına olanak tanıyan "DrawData.xyz" adlı bir web sitesini tanıtıyor. Konuşmacı, modelin sonucunu güçlü bir şekilde etkileyebileceği için ön işleme adımlarının çok önemli olduğunu vurguluyor. Son olarak video, örnek olarak bir kredi kartı sahtekarlığı veri seti kullanarak, birden çok modeli karşılaştırmak ve tahmin için en iyisini seçmek için bir ızgara araması kullanmanın faydalarını açıklıyor.

  • 00:55:00 Bu bölümde video, doğru ölçümü seçmenin önemini ve Scikit-learn'ün bunu nasıl ele aldığını açıklıyor. Video, Scikit-learn'ün dolandırıcılık vakalarını doğru bir şekilde tahmin etmek için nasıl kullanılabileceğini göstermek için anonimleştirilmiş özelliklerden ve işlem tutarlarından oluşan bir veri kümesi kullanıyor. Bununla birlikte, veri kümesi, dolandırıcılık olmayan durumlara göre daha fazla dolandırıcılık vakasıyla dengesiz olduğundan, model, varsayılan yineleme sayısıyla yakınsamayı başaramaz. Bu nedenle, maksimum yineleme sayısı artırılır ve modelin dolandırıcılık tespitini iyileştirmek için sınıf ağırlığı parametresi, dolandırıcılık vakalarının ağırlığını iki katına çıkaracak şekilde ayarlanır. Video ayrıca sınıf ağırlık parametresi için en iyi değeri bulmak üzere GridSearchCV'yi tanıtır.
  • 01:00:00 Bu bölümde eğitmen, scikit-learn'de lojistik regresyon için en iyi model parametrelerini bulmak için grid aramanın nasıl kullanılacağını açıklıyor. Eğitmen, bir parametre değerleri ızgarası tanımlayarak, bu hiper parametreler arasında nasıl döngü yapılacağını ve bunları çapraz doğrulama kullanarak test etmeyi gösterir. Izgara nesnesi, sınıf ağırlığı ve puanları da dahil olmak üzere bir sonuç sözlüğü döndürür. Lojistik regresyon modeli, en iyi modeli belirlemek için kullanılan skor adı verilen bir sınır yöntemine sahiptir. Eğitmen daha sonra scikit-learn metrik modülünden iki metriği, kesinlik ve geri çağırma puanını tanıtır ve bir puanlama sözlüğü kullanarak bunların grid aramasına nasıl dahil edileceğini açıklar.

  • 01:05:00 Bu bölümde, konuşmacı test kesinliğini ve test hatırlama puanlarını ekler ve çapraz doğrulama sonuçlarına tren puanlarının eklenmesini sağlayacak bir bayrak ayarlar. Daha sonra çapraz doğrulama sayısını artırırlar ve dört aralığını uyuşuk bir doğrusal alanla değiştirirler ve algoritmaya dolandırıcılık vakalarına odaklanmasını söylemek için daha yüksek bir değer ayarlarlar. Sonuçları özetleyen bazı çizelgeler hazırlarlar, hatırlamaya veya kesinliğe odaklanmanın tamamen farklı sonuçlara yol açtığına dikkat çekerler. Daha sonra, kesinlik ve geri çağırma arasındaki minimumu hesaplayan ve bunu kılavuz aramaya ekleyen minimum geri çağırma kesinliği olan metriklerini oluşturmaya karar verirler. Bunu, iki ölçümü dengelemek ve hatırlama ile kesinlik puanlarını dengeleyen bir modele sahip olmak için yaparlar.

  • 01:10:00 , girdi olarak y_true ve y_pred'i kabul eden özel tanımlı metriğimiz min_precision_recall ile kılavuz aramada make_scorer işlevini kullanıyoruz. Ancak make_scorer işlevi bir tahmin edici, X veri kümesi, y true ve bir tür örnek ağırlık gerektirir, bu nedenle metrik işlevimizi ızgara aramasında kullanılabilecek bir tahmin puanlayıcı nesnesine dönüştürür. Örnek ağırlığı, makine öğrenimi modellerine aktarılabilen ve belirli bir satırın diğerinden daha önemli olduğunu söylememizi sağlayan ekstra bir özelliktir. make_scorer fonksiyonunu kullanmak yerine tahmin ediciyi direkt olarak geçebilir ve tahmin fonksiyonu ile tahmin edilen y değerlerini hesaplayabiliriz.

  • 01:15:00 Bu bölümde, konuşmacı örnek ağırlığın sahtekarlığı tespit etmede kullanımını tartışıyor ve bunun sayısal kararlılık işlevine nasıl eklenebileceğini gösteriyor. Ayrıca, algoritmik model üzerinde örnek ağırlığı eklemenin etkisini de gösterirler. Konuşmacı daha sonra sahtekarlığı tespit etmek için bir aykırı değer tespit algoritması kullanmayı önerir ve bu yaklaşım için ölçümlerin nasıl uyarlanacağını gösterir. Lojistik regresyonu bir yalıtım ormanı algoritmasıyla değiştirirler ve bunun kesinlik ve geri çağırma puanlarını nasıl etkilediğini gösterirler. Son olarak konuşmacı, aykırı değer tahminini dolandırıcılık etiketi tahminlerine dönüştürmek için metrik fonksiyonlarının varyantlarını yazar.

  • 01:20:00 Bu bölümde anlatıcı, Scikit-learn'ün API'sinin esnekliğini ve özel metriklerde y etiketleri geçirerek aykırı değer saptama algoritmalarını sanki sınıflandırıcılarmış gibi kullanma becerisini tartışıyor. Bu, bir aykırı değer modelinin bir sınıflandırma probleminde yararlı olup olmayacağına karar vermede yararlı olabilir. Ancak anlatıcı, modelin metriklerini önemli ölçüde etkileyebileceğinden, etiketlerin kalitesiyle ilgilenmenin önemli olduğu konusunda uyarıyor. Ek olarak, anlatıcı, daha büyük olanın daha iyi olup olmadığını belirtmek ve bazı ölçümler için bir olasılık ölçüsüne ihtiyaç duyulması gibi ölçümler için bazı özelleştirme ayarlarına işaret eder. Son olarak anlatıcı, Scikit-learn'in meta modellerle çalışma yeteneğinden bahseder.

  • 01:25:00 Bu bölümde eğitmen, scikit-learn ardışık düzenlerinin nasıl çalıştığını ve makine öğrenimi modelleri için yalnızca scikit-learn ardışık düzenlerini kullanmanın sınırlamalarını açıklıyor. Eğitmen, bir modele ekstra adımlar ve son işleme araçları eklemek için ardışık düzenlerin sınırlamalarını aşmanın bir yolu olarak meta-tahmin edicilerin kullanılmasını önerir. Eğitmen, bir meta-tahmin ediciye, oylama sınıflandırıcısına ve her bir tahmin ediciye ağırlıklar vererek bir veri kümesi için farklı modelleri dengelemek için nasıl kullanılabileceğine dair bir örnek sağlar.

  • 01:30:00 Bu bölümde eğitmen, daha doğru tahminler üretmek için farklı şekillerde çalışan farklı modelleri birleştirebilen scikit-learn ile bir oylama sınıflandırıcısının kullanımını gösteriyor. Ayrıca, bu model diğer tahminciler tarafından girdi olarak kullanılabilir, böylece esneklik ve anlamlılık artar. Eğitmen ayrıca, bir lojistik regresyon modelindeki eşik değerini, eşikleyici meta-modelini kullanarak geri çağırma veya tam tersi için takas kesinliğine ayarlama fikrini de sunar. Bu, eşikleyici modelinin bir ızgara aramasında nasıl kullanılacağına dair bir örnekle gösterilmiştir. Scikit-learn tarafından sağlanan bu teknikleri kullanarak, model parametrelerini ayarlayabilir ve daha iyi performans elde edebilirsiniz.

  • 01:35:00 Bu bölümde konuşmacı, bir ikili sınıflandırıcının eşiğini ayarlamak için ızgara aramayı kullanmaktan bahsediyor. Kesinlik ve geri çağırma eğrilerinin eşik değiştikçe değiştiğini, ancak doğruluğun nispeten tutarlı kaldığını gösteriyorlar. Konuşmacı, bu tür son işleme adımının en iyi şekilde, başka bir modeli girdi olarak kabul eden bir meta model olarak uygulandığını açıklar. Konuşmacı daha sonra Scikit-learn'ün Pipeline ve Group( byRegressor sınıfları ile verileri diyete göre gruplamak için bir meta model oluşturma örneğini gösterir ve ardından her grup için farklı bir doğrusal regresyon modeli kullanır. kategorik bir değişkenin etkisinin sadece sabit bir kayma olmayabileceği durumlar.

  • 01:40:00 Bu bölümde, video bir zaman serisi görevini açıklıyor ve bunun gruplanmış bir öngörücü ve yapay bir regresör kullanarak nasıl modelleneceğini gösteriyor. Tahminin orta yıl için iyi olduğunu, ancak son yıllarda altında kaldığını ve geçmişte aştığını belirtiyor. Modeli daha iyi hale getirmek için video, daha yeni verilere odaklanmayı ve geçmiş verileri unutmayı öneriyor. Kullanıcının belirli bir veri noktasının ne kadar tartılacağını belirlemesine izin veren numune ağırlıkları kavramını sunar. Ardından video, modele bozulmanın nasıl ekleneceğini gösterir, bu da son veri noktalarının eskilerden daha önemli olmasını sağlar. Bunu yaparak, model daha anlamlı hale gelir ve uzak geçmişi göz ardı ederken son veriler üzerinde daha iyi performans gösterir. Ancak bu hile, eğitim verilerinin test verilerinden daha kötü performans gösterdiği bir duruma neden olabilir.

  • 01:45:00 Bu bölümde, konuşmacı, kural tabanlı sistemlerin oluşturulmasına ve karşılaştırılmasına yardımcı olan scikit-learn uyumlu araçlar sunmak için tasarlanmış açık kaynaklı bir proje olan Human Learn adlı bir aracı tanıtıyor. Konuşmacı, geçmişte, makine öğrenimi algoritmalarından ziyade veri sınıflandırması için iş kuralları ve sistemleri oluşturmak üzere insan uzmanların kullanılmasının daha yaygın olduğunu açıklıyor. Ancak, makine öğrenimi modelleri mükemmel değildir ve sorunlu veya etkisiz davranışlar sergileyebilir. Human Learn'ün amacı, makine öğrenimi modelleriyle kolayca karşılaştırılabilen ve aynı zamanda onlarla birleştirilebilen kural tabanlı sistemler oluşturmaktır. Konuşmacı, Titanic veri setini kullanarak kural tabanlı bir sistemin nasıl oluşturulacağını gösteriyor ve Human Learn'ün bu sistemleri günlük iş akışınıza dahil etmeyi nasıl kolaylaştırabileceğini açıklıyor.

  • 01:50:00 Videonun bu bölümünde konuşmacı, kullanıcı tanımlı bir işlevi alıp onu scikit-learn uyumlu bir sınıflandırıcıya dönüştüren scikit-learn'deki FunctionClassifier aracını tanıtıyor. Araç ayrıca, kullanıcının işlevinde tanımlanan herhangi bir parametrenin ızgara arama optimizasyonuna izin verir. Konuşmacı, Titanik felaketiyle ilgili bir veri kümesiyle bir eşik parametresi üzerinde ızgara araması yapmak için FunctionClassifier aracının nasıl kullanılacağını gösterir. Aracın esnekliği, kullanıcıların bir sınıflandırıcı modeli olarak özelleştirilmiş mantıkla herhangi bir Python işlevi oluşturmasına ve aykırı değer algılama gibi davranışlar eklemesine olanak tanır.

  • 01:55:00 Bu bölümde eğitmen, önceden var olan makine öğrenimi modellerinde aykırı değerlerin nasıl ele alınabileceğini açıklıyor. Modelin önüne bir mantık ekleyerek, bir aykırı değer tanımlanabilir ve farklı bir etiket atanabilir. Paket, önceden var olan makine öğrenimi modelleri kullanılarak kural tabanlı sistemlerin oluşturulmasına ve doğal zeka ile yapay zeka arasında bir denge kurulmasına olanak tanır. Eğitmen scikit-lego paketini ve yük penguenleri fonksiyonunu, özelliklerine dayalı olarak bir penguenin türünün etkili tahminini göstermek için kullanır. İşlev, etkileşimli bir grafik kullanır ve eğitmen, sınıflandırma gerektiren veri noktalarının etrafına çokgenler çizer. Point-in-poly algoritması daha sonra veri noktalarını sınıflandırmak için kullanılır. Etkileşimli bir sınıflandırıcı, json bloğundan scikit-learn uyumlu bir modelin tanımlanmasını sağlar. Ardından, bir veri çerçevesinden x ve y veri kümeleri üretilebilir ve model, herhangi bir döngüleyici model gibi kullanılabilir.
  • 02:00:00 Bu bölümde konuşmacı, çizilmiş makine öğrenimi modellerinin özelliklerini ve faydalarını vurgular. Matplotlib'deki bir grafik özelliğini kullanarak, çizilen modellerin yeni örnekler için sınıflandırmaları nasıl tahmin ettiğini ve eksik verileri etkin bir şekilde nasıl ele aldığını gösteriyor. Ayrıca konuşmacı, noktaların poligonların dışında olup olmadığını kontrol ederek aynı çizimin aykırı değer tespit sistemi olarak nasıl kullanılabileceğini gösterir. Ayrıca, etiketler hazır olmadığında bile veri noktalarına etiket atamak için çizim mekaniğinin nasıl kullanılabileceğini gösteriyor, bu da onu yararlı bir ön işleme adımı yapıyor.

  • 02:05:00 Bu bölümde, konuşmacı nispeten deneysel olan ve bir scikit-learn dönüştürücü veya bir pandas ardışık düzeninde veri noktasının bir sistemdeki görünümüyle ilgili sayıları içeren iki yeni sütun eklemek için işlev görebilen Etkileşimli Grafikler API'sini tartışıyor. çokgen. Konuşmacı, kural tabanlı sistemler oluşturmak için iş kurallarının yanı sıra makine öğrenimi algoritmalarının kullanılmasını önerir. Ayrıca konuşmacı, makine öğrenimi ve scikit-learn hakkında daha fazla bilgi edinmek için freeCodeCamp, pi data YouTube kanalı ve scikit-learn dokümantasyon sayfası gibi çeşitli kaynaklar önerir.
Scikit-learn Crash Course - Machine Learning Library for Python
Scikit-learn Crash Course - Machine Learning Library for Python
  • 2021.04.07
  • www.youtube.com
Scikit-learn is a free software machine learning library for the Python programming language. Learn how to use it in this crash course.✏️ Course created by V...
 

Derin Öğrenme ve Makine Öğrenimi için PyTorch – Tam Kurs (1-3. Bölümler)


Derin Öğrenme ve Makine Öğrenimi için PyTorch – Tam Kurs

00:00:00 - 01:00:00 "Derin Öğrenme ve Makine Öğrenimi için PyTorch" çevrimiçi kursu eğitmeni Daniel Bourke, Python kodunu kullanarak PyTorch'ta makine öğrenimi kavramlarını uygulamaya odaklanan kursu izleyicilere tanıtıyor. Kursta ele alınan temel konular arasında transfer öğrenimi, model dağıtımı ve deney izleme yer alır. Video, makine öğrenimi ve derin öğrenmeye ve bunların farklılıklarına bir giriş sağlar; derin öğrenme, büyük miktarda veri gerektiren karmaşık problemler için daha iyidir ve yapılandırılmamış veriler hakkında bilgi sağlar. Bir sinir ağının anatomisi açıklanır ve kurs, denetimli öğrenme ve transfer öğrenme gibi farklı makine öğrenimi paradigmalarını kapsar. Ayrıca video, özellikle nesne algılama ve doğal dil işlemede derin öğrenmenin potansiyel uygulamalarını araştırıyor. Son olarak, PyTorch'un araştırma metodolojilerini standartlaştırma ve sayısal hesaplamaların verimli bir şekilde madenciliği için GPU'larda makine öğrenimi kodunun çalıştırılmasını sağlama gibi faydaları açıklanmaktadır.

01:00:00 - 02:00:00 Bu bölüm, PyTorch'un temellerini, verileri ön işlemeyi, önceden eğitilmiş derin öğrenme modellerini oluşturmayı ve kullanmayı, bir modeli bir veri kümesine uydurmayı, tahminlerde bulunmayı ve modelin tahminlerini değerlendirmeyi kapsar. Eğitmen, deneme, görselleştirme ve soru sormanın yanı sıra GitHub, tartışmalar ve learnpytorch.io gibi kurs kaynaklarının kullanılmasının önemini vurgular. Öğrenciler ayrıca, daha hızlı bilgi işlem süresi için GPU veya TPU hızlandırma, önceden yüklenmiş PyTorch ve diğer veri bilimi paketlerini kullanma yeteneği sağlayan Google Colab ile tanıştırılır. Kurs, derin öğrenmenin temel yapı taşları olan tensörler hakkında derinlemesine bilgi verir ve skaler, vektör ve matris tensörler dahil olmak üzere farklı boyut ve şekillerde tensörlerin nasıl oluşturulacağını gösterir. Kurs ayrıca rasgele tensörler, sıfırlar ve birler tensörleri oluşturmayı ve veri türlerinin, aygıtların nasıl belirleneceğini ve tensör oluştururken grad parametrelerinin nasıl kullanılacağını kapsar.

02:00:00 - 03:00:00 Bu PyTorch eğitiminde eğitmen, tensör işlemlerinin sorun giderme, manipülasyon, matris çarpımı, transpoze ve toplama gibi çeşitli yönlerini ele alır. Derin öğrenme modelleriyle çalışırken doğru tensör şeklini ve veri türünü korumanın önemini açıklıyorlar ve PyTorch komutlarını kullanarak bu parametrelerin nasıl kontrol edilip değiştirileceğini gösteriyorlar. Öğretici, izleyiciler için matris çarpımını uygulama ve tensörlerin konumsal minimum ve maksimum değerlerini bulma gibi zorlukları içerir ve yaygın şekil hatalarından kaçınmak ve döngüler için vektörleştirmeyi kullanmak gibi performansı artırmak için yararlı ipuçları sağlar. Ek olarak, eğitmen tensörleri yeniden şekillendirmek, istiflemek, sıkıştırmak ve sıkıştırmayı çözmek için birkaç yararlı PyTorch işlevi sunar.

03:00:00 - 04:00:00 Bu bölüm, yeniden şekillendirme, görüntüleme, istifleme, sıkıştırma, çözme ve izin verme gibi tensör manipülasyon yöntemleri dahil olmak üzere PyTorch ile ilgili çeşitli konuları kapsar. Eğitmen kod örnekleri sağlar, makine öğrenimi ve derin öğrenmede tensör şekli manipülasyonunun önemini vurgular ve izleyicileri belirli değerleri döndürmek için tensörleri indekslemeye davet eder. Kurs ayrıca, PyTorch tensörleri ve NumPy dizileri ile her birinin varsayılan veri türleri arasında verilerin dönüştürülmesinin yanı sıra sinir ağlarında tekrar üretilebilirlik kavramını ve deneylerde rastgeleliği azaltmak için rastgele tohumların kullanımını da kapsar. Eğitmen, daha hızlı hesaplamalar için GPU'lara nasıl erişileceğini açıklar ve kendi GPU'nuzu kullanarak veya GCP, AWS veya Azure gibi bulut bilgi işlem hizmetlerini kullanarak Google Colab, Colab Pro gibi seçenekler sunar.

04:00:00 - 05:00:00 Bu bölüm, yeni başlayanlar için PyTorch ile GPU erişiminin nasıl kurulacağı, PyTorch'ta nn modülünün kullanılması, doğrusal regresyon modelleri oluşturulması ve daha fazlası dahil olmak üzere çok çeşitli konuları kapsar. Eğitmen, farklı cihazlarda çalıştırmak için cihaz agnostik kodunun önemini ve tensörlerin ve modellerin depolandığı cihaz tipini akılda tutmanın önemini vurgular. Kurs ayrıca, öğrenilenleri uygulamak için alıştırmalar ve ekstra müfredat içerir ve eğitmen, Colab'daki alıştırmalara nasıl yaklaşılacağı konusunda ipuçları verir. Kurs, makine öğrenimi modellerini eğitmeyi ve değerlendirmeyi, genelleme için verileri eğitim ve test kümelerine ayırmayı ve verileri görselleştirmeyi kapsar. Eğitmen, init işleviyle bir kurucu oluşturmayı, nn.parameter kullanarak bir ağırlık parametresi oluşturmayı ve bunu torch.rand kullanarak rastgele parametrelere ayarlamayı içeren, saf PyTorch kullanarak bir doğrusal regresyon modelinin nasıl oluşturulacağını açıklar.

05:00:00 - 06:00:00 Bu bölüm, PyTorch kullanarak doğrusal bir regresyon modeli oluşturma, PyTorch aracılığıyla gradyan iniş ve geri yayılım gibi optimizasyon algoritmalarını uygulama ve bir PyTorch modelinin tahmin gücünün nasıl test edileceğini anlama gibi konuları kapsar. Tahminler yaparken, model parametrelerini başlatırken, bir modelin tahminlerinin doğruluğunu ölçmek için kayıp fonksiyonlarını kullanırken ve modelin doğruluğunu iyileştirmek için model parametrelerini optimize ederken torch.inference_mode bağlam yöneticisini kullanmanın önemi de tartışılmaktadır. Ek olarak, torch.nn, torch.nn.module, torch.optim ve torch.utils.dataset dahil olmak üzere PyTorch'taki temel modüller sunulur.

06:00:00 - 07:00:00 Bu bölüm, PyTorch ve makine öğreniminin çeşitli yönlerini kapsar. Bir bölüm, PyTorch'ta bir eğitim döngüsü oluşturmak için gereken, veriler arasında döngü oluşturma, bilgi işlem kaybı ve geri yayılım gerçekleştirme dahil olmak üzere gereken adımlara odaklandı. Eğitmen, uygun kayıp fonksiyonu ve optimize ediciyi seçmenin önemini vurguladı ve gradyan iniş kavramını tanıttı. Başka bir bölümde optimize edici ve öğrenme oranı ve bunların modelin parametrelerini nasıl etkilediği tartışıldı. Video ayrıca test etmenin önemini vurguladı ve test tahminleri oluşturmaya ve test kaybını hesaplamaya genel bir bakış sağladı. Kurs, geri yayılımın ve gradyan inişin matematiksel arka planıyla ilgilenenler için ek kaynaklar sağlar.

07:00:00 - 08:00:00 Bu bölüm, PyTorch ile ilgili birçok konuyu kapsar. Kurs, kayıp değerlerinin kaydını tutarak ve düşüş eğilimi göstermesi gereken kayıp eğrilerini çizerek bir modelin ilerlemesini izlemenin önemini tartışır. Eğitmen ayrıca bir durum sözlüğünün kaydedilmesi, torch.nn.module.loadStateDict yöntemi veya torch.load yöntemi kullanılarak modelin yüklenmesi ve yüklenen modelin test edilmesi dahil olmak üzere PyTorch modellerini kaydetme ve yükleme yöntemlerini açıklar. Sonraki bölümlerde, kurs, doğrusal regresyon modelleri oluşturmayı ve nn.module alt sınıflayarak doğrusal katman gibi PyTorch'ta önceden var olan modelleri kullanmayı kapsar.

08:00:00 - 09:00:00 Bu bölüm, derin öğrenme ve makine öğrenimi alanındaki çok çeşitli konuları kapsar. İlk bölüm, torch.nn'de bulunan farklı katmanları, bu katmanların önceden oluşturulmuş uygulamalarını ve kayıp ve optimize edici işlevleri kullanarak PyTorch modellerinin nasıl eğitileceğini kapsar. Sonraki bölümlerde eğitmen, cihaz agnostik kodunun önemini, PyTorch modellerini kaydetmeyi ve yüklemeyi ve sınıflandırma problemlerine nasıl yaklaşılacağını açıklar. Eğitmen örnekler verir ve girdiler için sayısal kodlamanın, özel veriler oluşturmanın ve gizli katman sayısı, nöronlar, kayıp fonksiyonu ve optimize edici gibi bir sınıflandırma modelinde yer alan tasarım karmaşıklıklarının önemini vurgular. Son olarak eğitmen, herhangi bir makine öğrenimi problemine verilerle başlamanın en önemli adım olduğunu vurgular.

09:00:00 - 10:00:00 Bu bölüm, ikili sınıflandırma için PyTorch kullanılarak bir sinir ağının nasıl oluşturulup eğitileceğine dair genel bir bakış sunar. Video, özel bir veri kümesi oluşturma, giriş ve çıkış şekillerini kontrol etme, verileri eğitim için hazırlama, bir model oluşturma ve bir GPU'ya gönderme, bir model için optimize edici ve kayıp işlevi seçme ve tahminler yapma gibi çok çeşitli konuları kapsar. Kurs, bu kavramların uygulamalı gösterimlerini içerir ve makine öğrenimi projeleri için PyTorch kullanımına ilişkin kapsamlı bir anlayış sağlamayı amaçlar.

10:00:00 - 11:00:00 Bu bölüm, kayıp fonksiyonları, optimize ediciler, aktivasyon fonksiyonları, eğitim döngüsü ve değerlendirme metrikleri dahil olmak üzere çeşitli konuları kapsar. Eğitmen, kayıp fonksiyonunun ve optimize edicinin nasıl kurulacağını, bir doğruluk fonksiyonunun nasıl oluşturulacağını ve ham logitlerin tahmin olasılıklarına ve etiketlerine nasıl dönüştürüleceğini açıklar. Kurs ayrıca BCE kaybı ile logit kaybı olan BCE arasındaki farkı ve bir sınıflandırma modeli için test kaybının ve doğruluğunun nasıl hesaplanacağını gözden geçirir. Ayrıca eğitmen, sinir ağının derinliğini artırma, hiperparametreleri ayarlama ve harici Python betiklerinden yardımcı işlevleri içe aktarma ve kullanma gibi bir modelin performansını geliştirmeye yönelik ipuçları sağlar.

11:00:00 - 12:00:00 Bu bölümde eğitmen gizli birim sayısı, katman sayısı ve çağ sayısı gibi hiperparametreleri değiştirerek bir modelin nasıl geliştirileceğini açıklar ve test etmenin önemini vurgular iyileştirmeleri veya bozulmaları belirlemek için birer birer değiştirir. Ayrıca parametreler ve hiperparametreler arasındaki farkları ve bu ayrımı yapmanın neden önemli olduğunu tartışırlar. Ek olarak, eğitmen bir model çalışmadığında sorun giderme tekniklerini ele alır ve makine öğrenimi ve derin öğrenme modellerinde doğrusal olmamanın önemini tanıtır. Eğitmen bu kavramları doğrusal ve doğrusal olmayan regresyon problemleri dahil olmak üzere çeşitli örneklerle gösterir ve farklı hiperparametreleri ve kayıp fonksiyonlarını test ederken modellerin nasıl eğitileceğini ve değerlendirileceğini gösterir.

12:00:00 - 13:00:00 Bu Derin Öğrenme ve Makine Öğrenimi için PyTorch kursu, model oluşturmaya yönelik temelden ileri düzeye kadar PyTorch kavramlarını kapsar. Eğitmen, doğrusal olmama kavramını tanıtır ve PyTorch ile doğrusal olmamayı kullanarak sınıflandırma modellerinin nasıl oluşturulacağını gösterir. Ayrıca bina iyileştiricileri, kayıp fonksiyonları ve özel aktivasyon fonksiyonlarını tartışıyorlar. Bir model oluşturmak için bu işlevlerin katmanlarını istifleyerek verilerdeki kalıpları bulmak için doğrusal ve doğrusal olmayan işlevleri birleştirmenin önemi vurgulanır. Kurs hem ikili hem de çok sınıflı sınıflandırma modellerini kapsar ve bunların PyTorch'ta nasıl kurulacağını açıklar. Bu bölüm, girdi özellikleri ve çıktı özellikleri ile çok sınıflı sınıflandırma modellerinin nasıl başlatılacağını göstererek sona erer.

13:00:00 - 14:00:00 Bu bölümdeki eğitmen, çok sınıflı sınıflandırma gerçekleştirmek için PyTorch'un nn.Sequential yöntemini kullanarak doğrusal bir katman yığın modeli oluşturmayı tartışıyor. Çapraz entropi kaybı ve stokastik gradyan inişini (SGD) kullanarak kayıp fonksiyonunun ve optimize edicinin oluşturulmasını açıklarlar. Eğitmen ayrıca, bırakma katmanlarını ve hataları çözmek için makine öğrenimi kodunda sorun gidermenin önemini tartışır. Doğruluk, kesinlik, geri çağırma, F1 puanı, karışıklık matrisi gibi çeşitli sınıflandırma değerlendirme yöntemlerini kullanarak eğitimli modelin değerlendirmesini ve torchmetrics ve scikit-learn kitaplıklarını kullanarak sınıflandırma raporu gösterirler. Son olarak eğitmen, torchmetrics paketini kullanarak PyTorch'ta önceden oluşturulmuş metrik fonksiyonlarının nasıl içe aktarılacağını ve kullanılacağını gösterir ve daha fazla araştırma için torchmetrics modülüne ve ders dışı makalelere bağlantılar sağlar.

14:00:00 - 15:00:00 Bu bölüm, PyTorch ve makine öğrenimini kullanan bilgisayar görüşü ile ilgili çeşitli konuları kapsar. Bu, ikili veya çok sınıflı sınıflandırma problemleri gibi bilgisayarla görme problemlerini anlamayı ve bir makine öğrenme modelinin çeşitli görüntü örneklerinden kalıpları nasıl öğrendiğini öğrenmeyi içerir. Video ayrıca TorchVision gibi PyTorch kitaplıklarını ve veri kümelerini, önceden eğitilmiş modelleri ve vizyon verilerini makine öğrenimi modelleri tarafından kullanılabilen sayılara dönüştürmek için nasıl içerdiğini açıklar. Buna ek olarak eğitmen, FashionMNIST veri setinin giriş ve çıkış şekillerini, potansiyel sorunları belirlemek için veri setlerini görselleştirmenin ve keşfetmenin önemini ele alır ve PyTorch ve Matplotlib kullanarak görüntü verilerinin nasıl çizilip görselleştirileceğine ilişkin gösterimler sağlar.

15:00:00 - 16:00:00 Derin Öğrenme ve Makine Öğrenimi için PyTorch konulu bu video kursu, veri hazırlamanın ve PyTorch veri kümeleri ile veri yükleyicileri kullanmanın önemini kapsar. Derin öğrenmede mini partiler kavramı vurgulanır ve toplu iş boyutu hiperparametresi 32 olarak ayarlanarak PyTorch kullanılarak tren ve test veri yükleyicileri oluşturma süreci açıklanır. PyTorch modelinde kullanılmak üzere çok boyutlu verileri tek bir vektöre dönüştürmek için düzleştirme tanıtılmıştır. Düzleştirme katmanı ve iki doğrusal katmanı olan basit bir sinir ağı modeli oluşturma süreci ele alınmakta ve Python makine öğrenimi projelerinde yardımcı işlevleri kullanma kavramı açıklanmaktadır. Son olarak, bir modelin eğitilmesinin ne kadar sürdüğünü ölçmek için zamanlama fonksiyonlarının önemi ve bir ilerleme çubuğu için TQDM kullanımının önemi gösterilmiştir.

16:00:00 - 17:00:00 Kursun bu bölümü, PyTorch ile ilgili, eğitim ve test döngülerinin kurulması, yaygın hataların giderilmesi, modellerin değerlendirilmesi ve tahminler yapılmasından başlayarak çeşitli konuları kapsar. Eğitmen, belirli bir veri kümesi için en iyi sinir ağı modelini bulmak için deney yapmanın önemini vurgular ve doğrusal olmayan verilerin modellenmesi için doğrusal olmamanın faydalarını tartışır. Ayrıca PyTorch'ta yardımcı işlevlerin nasıl oluşturulacağını, döngülerin nasıl optimize edileceğini ve değerlendirileceğini ve eğitim ve test adımlarının nasıl gerçekleştirileceğini gösterirler. Kurs, cihazdan bağımsız kodu ve CPU'lar ve GPU'lar üzerindeki eğitim modellerinin avantajlarını daha ayrıntılı olarak inceler ve eğitim süresinin her iki cihazda nasıl ölçüleceğinin bir gösterimiyle sona erer.

17:00:00 - 18:00:00 Bu bölüm, derin öğrenme ve makine öğrenimindeki birçok konuyu kapsar. Eğitmen, bir derin öğrenme modelinin nasıl oluşturulacağını ve test edileceğini, PyTorch kullanılarak bir evrişimli sinir ağının (CNN) nasıl oluşturulacağını ve PyTorch'ta blokların nasıl oluşturulacağını gösterir. Ek olarak, öğretici, bir PyTorch modelinin bileşimini ve kıvrımların pratikte nasıl çalıştığını, bir evrişim katmanındaki adım ve dolgu değerlerindeki değişiklikleri ve PyTorch'taki evrişim ve maksimum havuzlama katmanlarını ele alır. Eğitmen video boyunca kaynakları paylaşır, PyTorch kodu ve adım adım açıklamalar sağlar ve verimli ve yeniden kullanılabilir kodun nasıl oluşturulacağına ilişkin rehberlik sunar.

19:00:00 - 20:00:00 Bu bölüm, makine öğrenimi modeli tahminlerinin görselleştirilmesi, PyTorch'ta karışıklık matrisi kullanılarak çok sınıflı bir sınıflandırma modelinin değerlendirilmesi, Google Colab'da paketlerin yüklenmesi ve yükseltilmesi, bir PyTorch'un kaydedilmesi ve yüklenmesi gibi çeşitli konuları kapsar. model ve özel veri kümeleriyle çalışma. Kurs ayrıca PyTorch kullanarak bir bilgisayarla görme modeli oluşturma sürecini de gösterir. Eğitmen, veri yükleme işlevleri ve özelleştirilebilir veri yükleme işlevleri için etki alanı kitaplıklarından yararlanmanın önemini vurgular ve görsel, metin, ses ve öneri gibi çeşitli kategoriler için örnekler verir. Ayrıca, Learn pytorch.io web sitesi ve PyTorch derin öğrenme deposu gibi yardımcı kaynaklar da sağlarlar.

20:00:00 - 21:00:00 Derin Öğrenme ve Makine Öğrenimi için bu PyTorch kursunun eğitmeni, Gıda 101 veri setini tanıtarak başlar, ancak üç gıda kategorisi ve görüntülerin yalnızca %10'unu pratik olarak içeren daha küçük bir alt küme sağlar PyTorch. Eğitmen, veriler için ayrı bir dizine sahip olmanın önemini vurgular ve ardından Python görüntü kitaplığı Cushion ve PyTorch yöntemlerini kullanarak görüntülerin nasıl açılacağını, görselleştirileceğini ve dönüştürüleceğini gösterir. Bu bölüm, görüntülerin yeniden boyutlandırılması ve çevrilmesi gibi PyTorch ile veri dönüşümlerini de kapsar ve eğitmen, PyTorch ile makine öğrenimi modelleri için görüntülerin tensör olarak nasıl yüklenip dönüştürüleceğini gösterir. Bölüm, PyTorch'ta bulunan çeşitli görüntü dönüştürme seçeneklerini keşfetmek için bir öneri ile sona ermektedir.

21:00:00 - 22:00:00 Bu PyTorch kursunda eğitmen, görüntü verilerinin nasıl yüklenip tensörlere dönüştürüleceğini, eğitim ve test için veri yükleyicilerin nasıl oluşturulacağını ve özelleştirileceğini ve özel bir veri yükleme sınıfının nasıl oluşturulacağını açıklar. Tüm görüntüler için dönüşümleri özelleştirmek için kullanılabilen önceden oluşturulmuş veri kümeleri işlevinin, görüntü klasörünün işlevselliğini gösterirler. Ayrıca dizinlerden sınıf adlarını ve eşlemeleri almak için bir işlev oluşturmak, torch.utils.data.Dataset'i alt sınıflandırmak ve get item ve len yöntemlerinin üzerine yazmak dahil olmak üzere özel bir veri yükleyici oluşturmak için gerekli adımları adım adım anlatıyorlar. Veri yükleyicilerin özelleştirme yetenekleri yararlı olsa da, hatalı kod yazma riski vardır.

22:00:00 - 23:00:00 Kursun bu bölümü, PyTorch'ta özel veri kümelerinin ve özel yükleyicilerin nasıl oluşturulacağını ve kullanılacağını ve ayrıca veri artırma tekniklerinin nasıl uygulanacağını kapsar. Eğitmen, PyTorch kitaplığını kullanarak evrişimli bir sinir ağının nasıl oluşturulacağını gösterir ve çekirdek boyutu ve adım gibi hiperparametreler dahil olmak üzere denenecek alanlar hakkında tavsiyeler verir. Kurs ayrıca, artırma hattının nasıl test edileceğini ve model doğruluğunu iyileştirmek için önemsiz artırma tekniklerinden nasıl yararlanılacağını da kapsar. Kurstan çıkarılacak dersler, PyTorch'un esnekliğini ve özel veri seti yükleme işlevleri oluşturmak için temel veri seti sınıfından devralma yeteneğini içerir.

23:00:00 - 24:00:00 Eğitmen, modellerdeki şekil hatalarını giderme, PyTorch modellerinin özetlerini yazdırmak için Torch Bilgisini kullanma, değerlendirme için tren ve test adımı işlevleri oluşturma dahil olmak üzere derin öğrenme ve makine öğrenimi için PyTorch'un çeşitli yönlerini ele alır. veri kümelerinde performans ve daha kolay model eğitimi için bu işlevleri bir tren işlevinde birleştirmek. Eğitmen ayrıca bir derin öğrenme modelinin eğitim sürecini zamanlamayı, modelin zaman içindeki ilerlemesini izlemek için kayıp eğrilerini çizmeyi ve katman ekleme veya öğrenme oranını ayarlama gibi farklı ayarlarla deneyler yaparak model performansını değerlendirmeyi tartışır. Sonuç olarak, bu beceriler PyTorch kullanarak gelişmiş modeller oluşturmak ve değerlendirmek için sağlam bir temel sağlayacaktır.

24:00:00 - 25:00:00 Derin Öğrenme ve Makine Öğrenimi için PyTorch kursunun bu bölümünde eğitmen, modellerde fazla uydurma ve yetersiz uydurma kavramlarını ve bunlarla başa çıkmanın veri artırma gibi yollarını tartışır. erken durdurma ve modeli basitleştirme. Kayıp eğrilerini kullanarak modelin performansını zaman içinde değerlendirmenin önemini vurgularlar ve farklı modellerin performansını karşılaştırmak için araçlar sağlarlar. Bu bölüm ayrıca tahmin için özel görüntülerin nasıl hazırlanacağını kapsar ve bir görüntünün torch vision.io kullanılarak PyTorch'a nasıl yüklenip bir tensöre nasıl dönüştürüleceğini gösterir. Eğitmen, görüntüyü bir modelden geçirmeden önce yeniden boyutlandırılması, float32'ye dönüştürülmesi ve doğru cihaza yerleştirilmesi gerekebileceğini not eder.

25:00:00 - 26:35:00 PyTorch kursunun bu bölümü, veri tipleri ve şekilleri, PyTorch'un transform paketini kullanarak görüntü verilerini dönüştürme ve önceden eğitilmiş bir model kullanarak özel veriler üzerinde tahminler yapma gibi çeşitli konuları kapsar. Modele beslenmeden önce verilerin doğru formatta olduğundan emin olmak için ön işleme tabi tutmak, 0 ile 1 arasında olacak şekilde ölçeklendirmek, gerekirse dönüştürmek ve doğru aygıta, veri tipine ve şekle sahip olduğunu kontrol etmek önemlidir. . Eğitmen ayrıca öğrencileri PyTorch özel veri seti alıştırmaları yaparak pratik yapmaya teşvik eder ve referans olarak çözümler sunar. Eğitmen ayrıca, Learnpytorch.io'da keşfedilecek, transfer öğrenimi, pytorch modeli deney takibi, pytorch kağıdı kopyalama ve pytorch modeli konuşlandırması gibi konuları kapsayan beş ek bölüm olduğundan bahseder.


Bölüm 1

  • 00:00:00 Videonun bu bölümünde eğitmen Daniel Bourke, izleyicilere PyTorch kursunu tanıtıyor ve yeni başlayanlar için uygun video eğitimi için beklentileri belirliyor. Kursun odak noktası, izleyicilerin kod yazarak öğreneceği Python tabanlı bir çerçeve olan PyTorch'ta makine öğrenimi kavramlarını uygulamak olacaktır. Bourke, kursun transfer öğrenimi, model dağıtımı ve deney izleme gibi önemli konuları kapsayacağını ve izleyiciler PyTorch hakkında daha fazla bilgi edinmek istiyorsa, Learn pytorch.io adresinde ek kaynaklar bulunduğunu belirtiyor. Son olarak Bourke, makine öğrenimini verileri sayılara dönüştürme ve algoritmalar ile matematiği kullanarak örüntüler bulma süreci olarak tanımlıyor ve kursun odak noktasının kod yazmak olduğunu, ancak izleyicilerin matematiğin derinliklerine inmek isterlerse ekstra kaynaklar bulabileceklerini açıklıyor. kodun arkasında.

  • 00:05:00 Bu bölümde geleneksel programlama ile makine öğrenimi arasındaki fark anlatılmaktadır. Geleneksel programlama, bir görev için kural yazmayı içerirken, makine öğrenimi algoritmaları, girdi ve çıktı verilerine dayalı olarak kuralları belirler. Makine öğrenimini geleneksel programlama yerine kullanmanın nedeni, tüm kuralları manuel olarak yazmanın külfetli hale geldiği karmaşık problemler içindir. Makine öğrenimi, sayılara dönüştürülebildiği sürece her şey için kullanılabilir, ancak Google'ın makine öğreniminin bir numaralı kuralı, makine öğrenimine geçmeden önce kural tabanlı basit bir sistem oluşturmaya çalışmaktır.

  • 00:10:00 Bu bölümde, eğitmen derin öğrenmenin ne için iyi olduğunu ve ne için iyi olmadığını tartışır. Derin öğrenme, uzun kural listeleri gerektiren sorunların üstesinden gelmek, sürekli değişen ortamları yönetmek ve büyük veri kümelerindeki içgörüleri keşfetmek için yararlıdır. Ancak derin öğrenme, açıklanabilirlik gerektiren görevler için ideal değildir çünkü bir derin öğrenme modeli tarafından öğrenilen modeller tipik olarak insanlar tarafından yorumlanamaz. Ek olarak, basit bir kural tabanlı sistem eldeki sorunu çözebiliyorsa, derin öğrenme yerine bunu kullanmak daha iyi olabilir.

  • 00:15:00 Derin öğrenme ve makine öğrenimi için PyTorch'taki tam kursun bu bölümünde, eğitmen makine öğrenimi ile derin öğrenmeyi karşılaştırır. xg boost gibi gradyan destekli makineler gibi geleneksel makine öğrenimi teknikleri, satırlar ve sütunlardaki yapılandırılmış veriler için en iyisidir. Doğal dil veya resimler gibi yapılandırılmamış veriler için derin öğrenme genellikle daha iyi bir seçimdir. Derin öğrenme modelleri olasılıklıdır, yani sonuç üzerine bahis oynarlar, kural tabanlı sistemler ise öngörülebilir çıktılar üretir. Ek olarak, derin öğrenme modelleri harika sonuçlar elde etmek için büyük miktarda veri gerektirir, ancak daha az veriyle iyi sonuçlar elde etmenin teknikleri vardır.

  • 00:20:00 Bu bölümde eğitmen, yapılandırılmış ve yapılandırılmamış veriler arasındaki farkı ve makine öğrenimi ve derin öğrenmede her tür için kullanılan algoritmaları açıklar. Yapılandırılmış veriler, rastgele orman ve gradyan destekli makineler gibi sığ algoritmalarla iyi çalışır, oysa yapılandırılmamış veriler sinir ağları gerektirir. Eğitmen daha sonra tamamen bağlantılı sinir ağları, evrişimli sinir ağları, tekrarlayan sinir ağları ve dönüştürücüler gibi sinir ağı türlerini derinlemesine inceler. Eğitmen, sinir ağları için temel yapı taşları öğrenildikten sonra, diğer sinir ağları stillerinin anlaşılmasının daha kolay hale geleceğini tavsiye ediyor. Bölüm, eğitmenin izleyiciyi bir sonraki videodan önce sinir ağlarını araştırmaya ve kendi tanımlarını oluşturmaya teşvik etmesiyle sona erer.

  • 00:25:00 PyTorch kursunun bu bölümünde, eğitmen sinir ağları ve anatomileri hakkında genel bir bakış sunar. Yapay sinir ağları, girdi verilerinin sayılara dönüştürüldüğü bir girdi katmanı, verilerdeki kalıpları değiştiren ve öğrenen çoklu gizli katmanlar ve öğrenilen temsilleri çıkaran bir çıktı katmanından oluşur. Gizli katmanlardaki düğüm sayısı özelleştirilebilir ve sinir ağı, öznitelik veya ağırlık olarak da adlandırılan temsilleri kendi kendine öğrenir. Görüntüler için CNN'ler ve doğal dil işleme için dönüştürücüler gibi farklı türde sinir ağları farklı problemler için kullanılabilir. Sinir ağı temsillerini çıkardığında, bunlar insanın anlayabileceği biçime dönüştürülebilir. Bir sinir ağının anatomisi, birkaç katmandan yüzün üzerine kadar değişen katman sayısıyla özelleştirilebilir.

  • 00:30:00 Bu bölümde bir sinir ağının anatomisi anlatılmaktadır. Yapay sinir ağları, bir giriş katmanı, her biri çok sayıda nöron veya gizli birim içeren bir veya daha fazla gizli katman ve bir çıkış katmanından oluşur. Modeller ve veri kümeleri, doğrusal ve doğrusal olmayan fonksiyonlar kullanılarak sayısal verilere dönüştürülür. Desenler, istenen sonucu elde etmek için doğrusal ve doğrusal olmayan fonksiyonların bir kombinasyonu kullanılarak çizilir. Verilerin ve etiketlerin birlikte kullanıldığı denetimli öğrenme ve yalnızca verilerin kullanıldığı denetimsiz öğrenme dahil olmak üzere farklı öğrenme paradigmaları tartışılır. Kendinden denetimli öğrenme algoritmaları, kalıpları bulmak için verileri kullanırken, transfer öğrenme, farklı bir modelde zaten öğrenilmiş kalıpları kullanmayı içerir.

  • 00:35:00 Bu bölümde eğitmen, makine öğreniminin farklı paradigmalarını, özellikle denetimli öğrenimi, aktarım öğrenimini ve pekiştirmeli öğrenimi tartışır. Bu kursta denetimli öğrenme ve transfer öğrenimi üzerinde durulacak olsa da eğitmen, öğrencileri kendi zamanlarında pekiştirmeli öğrenmeyi keşfetmeye teşvik eder. Ayrıca eğitmen, öneri sistemleri, çeviri, konuşma tanıma ve bilgisayar görüşü gibi derin öğrenmenin nasıl kullanıldığına dair örnekler sunar. Sayılara dönüştürülebilen ve kalıp bulmak için programlanabilen her şey makine öğrenimi algoritmalarında kullanılabileceğinden, makine öğreniminin çok yönlülüğü vurgulanır.

  • 00:40:00 Videonun bu bölümünde eğitmen, suçlunun arabasını tespit etmek için vur-kaç olaylarını yakalamak için bilgisayar görüşünü kullanarak nesne algılama gibi potansiyel derin öğrenme uygulamalarını tartışıyor. Eğitmen, doğal dil işleme kavramını ve spam tespitinde nasıl kullanıldığını açıklar. Ardından video, Python'da hızlı derin öğrenmeye, önceden oluşturulmuş modellere erişime ve hızlandırılmış GPU performansına olanak tanıyan en popüler araştırma derin öğrenme çerçevesi olan PyTorch'un temellerini ele alıyor. PyTorch web sitesi, kurs için gerekli bir kaynak olarak tanımlanır.

  • 00:45:00 Bu bölümde eğitmen, en popüler derin öğrenme araştırma çerçevesi olduğunu iddia ettiği PyTorch'u tartışıyor. PyTorch'un popülaritesini göstermek için kod içeren makine öğrenimi kağıtlarını izleyen Papers with Code'dan alıntı yapıyor ve sitenin izlediği 65.000 makalenin %58'inin PyTorch ile uygulandığını gösteriyor. Ek olarak, PyTorch'un popülaritesi için Facebook/Meta, Tesla, Microsoft ve OpenAI gibi şirketler tarafından kullanılması ve araştırma metodolojilerini standartlaştırma yeteneği dahil olmak üzere çeşitli nedenler sunuyor. Eğitmen ayrıca, önemli bir yatırım veya mühendislik ekibi gerektirmeden herkesin sorunları çözmek için kullanabileceği bir araç olarak PyTorch'u öven Francois Chale'in tweet'ini vurgular. Genel olarak eğitmen, PyTorch'un çeşitli ekosistemi ve endüstrinin ağır sikletleri arasında yüksek benimseme oranıyla araştırmaların favorisi olduğu sonucuna varıyor.

  • 00:50:00 Derin Öğrenme ve Makine Öğrenimi için PyTorch kursunun bu bölümünde eğitmen, tarım ve Facebook ve Microsoft gibi sosyal medya platformları gibi PyTorch'un çeşitli uygulamalarını tartışıyor. Ayrıca, PyTorch'un kullanıcıların, özellikle paralel işlemede sayısal hesaplamalar gerçekleştirmede oldukça verimli olan GPU'larda makine öğrenimi kodu çalıştırmasına nasıl olanak tanıdığını açıklıyor. PyTorch, makine öğrenimi kodunun NVIDIA GPU'larda çalışmasını sağlamak için CUDA'dan yararlanır ve TPU'lar mevcut olsa da, PyTorch kodunu çalıştırırken GPU'lar daha popüler olma eğilimindedir. Ayrıca "Tensor nedir?" sorusunu da bırakıyor. araştırmak için izleyiciye, konuyu derinlemesine ele almak için aşağıdaki bölümle.

  • 00:55:00 Bu bölümde eğitmen, tensörlerin PyTorch'un temel yapı taşı olduğunu ve sayıları temsil eden herhangi bir şey olabileceğini açıklıyor. Giriş verileri, bir görüntü veya bir milyon görüntü olabilen bir tensöre dönüştürmek için sayısal olarak kodlanır. Girdi tensör(ler)i daha sonra, onu matematiksel işlemlerle manipüle eden ve daha sonra tekrar insan tarafından anlaşılabilir bir biçime dönüştürülen başka bir tensör çıkaran bir sinir ağına geçirilir. PyTorch'u kullanmanın ve çevrimiçi sorulara yanıt aramanın nedeni vurgulanırken, kursta ele alınacak belirli konulara giriş de yapılır.

Bölüm 2

  • 01:00:00 Bu bölümde, eğitmen PyTorch kursunda işlenen konuları vurgular. Kurs, tensörlere ve tensör işlemlerine odaklanarak PyTorch'un temelleri ile başlar, ardından verileri ön işlemeye, önceden eğitilmiş derin öğrenme modelleri oluşturmaya ve kullanmaya, bir modeli bir veri kümesine uydurmaya, tahminler yapmaya ve modelin tahminlerini değerlendirmeye geçer. Eğitmen, verileri hazırlama, önceden eğitilmiş bir model seçme, bir kayıp fonksiyonu ve optimize edici seçme, bir eğitim döngüsü oluşturma, modeli uydurma ve deneme yoluyla modeli iyileştirme dahil olmak üzere iş akışını açıklar. Son olarak, eğitmen, kodun arkasındaki teori hakkında daha fazla bilgi edinmek için ders dışı kaynakları birbirine bağlarken birlikte kodlamanın ve kodu keşfetmenin ve denemenin önemini vurgular.

  • 01:05:00 Bu bölümde, Derin Öğrenme ve Makine Öğrenimi için PyTorch kursunun eğitmeni, öğrencilere kursa bir bilim insanı ve bir şef zihniyle yaklaşmalarını tavsiye ediyor. Derin öğrenmede verileri anlamak için deneme ve görselleştirmenin önemini vurguluyor. Ek olarak, eğitmen öğrencileri soru sormaya ve sağlanan alıştırmaları yapmaya ve ayrıca kendi öğrenmelerine ve diğerlerine yardımcı olmak için çalışmalarını başkalarıyla paylaşmaya teşvik eder. Son olarak, öğrencilere fazla düşünmekten ve öğrenemeyeceklerini söylemekten kaçınmalarını tavsiye ediyor ve onları beyinlerinin yanmasından kaçınmaya teşvik ediyor. Son olarak, gerekli tüm malzemeleri içeren bir GitHub deposu da dahil olmak üzere, öğrencileri kurs için gereken temel kaynaklara yönlendirir.

  • 01:10:00 Bu bölümde, konuşmacı kurs için mevcut kaynakları ve bunların nasıl etkili bir şekilde kullanılacağını açıklar. Kod ve not defterleri de dahil olmak üzere kurs materyalleri GitHub'da bulunurken, kurs Soru-Cevap aynı deponun tartışmalar sekmesinde bulunabilir. Ek olarak, learnpytorch.io adresinde çevrimiçi bir kitap bulunmaktadır. Kursa özel olmayan PyTorch ile ilgili sorular için PyTorch forumları ve web sitesi şiddetle tavsiye edilir. Konuşmacı daha sonra kurs boyunca kullanılacak ana araç olacak Google Colab'ı tanıtır ve kullanıcıları colab.research.google.com adresinden erişerek birlikte kod yazmaya teşvik eder.

  • 01:15:00 Bu bölümde eğitmen, yeni bir not defteri oluşturmak ve PyTorch kodu yazmak için Google Colab'ı nasıl kullanacağını açıklıyor. Google Colab, önceden yüklenmiş PyTorch ve diğer yaygın Python veri bilimi paketlerinin yanı sıra daha hızlı bilgi işlem süresi için GPU veya TPU hızlandırma kullanma yeteneği gibi avantajlar sağlar. Eğitmen, learnpytorch.io'daki bir kaynak not defterine bağlanır ve öğrencilerin dersle ilgili sorular sorabilecekleri bir GitHub deposu sağlar. Eğitmen ayrıca Google Colab'ın ücretli sürümünü kullanırken ücretsiz sürümünün kursu tamamlamak için yeterli olduğunu belirtiyor.

  • 01:20:00 Bu bölümde video, Google Colab kullanarak veya yerel kurulum için kurulum belgesine başvurarak PyTorch'un nasıl kurulacağını tanıtıyor. Kursu tamamlamak için önerilen kurulum PyTorch 1.10 ve CUDA 11.3'tür. Video ayrıca, devam etmek ve pratik yapmak için bir not defteri oluşturmak için bölünmüş pencere yaklaşımını kullanmanızı önerir. Videonun ana odak noktası, derin öğrenmenin ana yapı taşı olan tensörlere giriş, yedi sayısıyla dolu bir skaler tensör oluşturma örnekleri ve torch.tensor için PyTorch belgelerine nasıl erişileceğidir.

  • 01:25:00 Bu bölümde eğitmen, torch.dot.tensor kullanarak tensörlerin oluşturulmasından başlayarak PyTorch tensörlerinin temellerini açıklar. Öğrencileri, kütüphane hakkında daha fazla bilgi edinmek için PyTorch belgelerini incelemeye teşvik ediyor. Eğitmen devam ederek skalerlerin, vektörlerin ve matrislerin niteliklerini açıklar. Bir skalerin boyutları olmadığını ve sadece tek bir sayı olduğunu, bir vektörün ise genellikle büyüklük ve yön olarak temsil edilen tek bir boyutu olduğunu açıklar. Bir matris bir sonraki adımdır ve iki çift köşeli parantez ile temsil edilen iki boyutu vardır. Boyut ve şekil arasındaki farkı ve boyutları açısından bir vektörün şeklinin nasıl bulunacağını açıklıyor.

  • 01:30:00 Bu bölümde, eğitmen PyTorch'taki tensörleri tanıtır ve bunların derin öğrenme sinir ağlarının temel yapı taşları olduğunu açıklar. Eğitmen, skalerden matrise ve üç köşeli parantez eşleşmesine sahip bir tensöre kadar farklı boyutlarda tensörlerin nasıl oluşturulacağını gösterir. Eğitmen, boyutların sayısının köşeli parantez çiftlerinin sayısıyla gösterildiğini ve şeklin her bir boyuttaki öğe sayısıyla belirlendiğini açıklar. Ek olarak eğitmen, tensörleri elle yazmak sıkıcı olsa da, PyTorch bunları kapsamlı bir şekilde kullandığından nasıl çalıştıklarını anlamanın önemli olduğunu belirtiyor.

  • 01:35:00 Bu bölümde eğitmen, makine öğrenimi ve derin öğrenme için PyTorch'taki rastgele tensörlerin önemini tartışıyor. Rastgele sayılarla dolu tensörlerle başlamak ve ardından verileri daha iyi temsil edecek şekilde ayarlamak, sinir ağlarında önemli bir kavramdır. Eğitmen, PyTorch'ta rastgele bir tensör oluşturmak için torch.rand işlevinin nasıl kullanılacağını gösterir ve "boyut" ve "şekil"in aynı şeyin iki farklı versiyonu olduğunu açıklar. Skalerler ve vektörlerin küçük harf olması ve matrislerin ve tensörlerin büyük harf olması gibi derin öğrenmedeki değişkenler için adlandırma kuralı da kısaca tartışılmaktadır.

  • 01:40:00 Bu bölümde eğitmen, PyTorch kullanarak rastgele tensörlerin nasıl oluşturulacağını gösterir ve görüntüler de dahil olmak üzere çeşitli veri türlerinin tensör formatında temsil edilebileceğini açıklar. Eğitmen, PyTorch'un tensör oluşturma sürecini basitleştirdiğini ve çoğu durumda perde arkasındaki süreci ele aldığını açıklıyor. Bir görüntü tensörününkine benzer bir şekle sahip rastgele bir tensörün nasıl oluşturulacağını gösterirler ve görüntülerin genellikle renk kanalları, yükseklik ve genişlik ile tensörler olarak temsil edildiğini açıklarlar. Eğitmen, hemen hemen her tür verinin bir tensör olarak temsil edilebileceğini vurgulayarak PyTorch'u derin öğrenme ve makine öğrenimi uygulamaları için güçlü bir araç haline getirir.

  • 01:45:00 Bu bölümde eğitmen, sıfır ve bir tensörlerinin nasıl oluşturulacağını ve bir tensör aralığının nasıl oluşturulacağını tanıtır. Tüm sıfırların tensörü, bir tensörün belirli sütunlarını sıfırlayabilen bir tensör maskesi oluşturmak için kullanışlıdır. Tüm birlerin tensörü de bazı durumlarda yararlı olabilir. Eğitmen, torch.range'in nasıl kullanılacağını açıklar, ancak bunun PyTorch'un bazı sürümlerinde kullanımdan kaldırılabileceği konusunda uyarır ve bunun yerine bir aralık işlevinin kullanılmasını önerir.

  • 01:50:00 Bu bölümde, bir aralık kullanarak ve başka bir tensörle aynı şekle sahip tensörler oluşturmanın PyTorch işlevi açıklanmaktadır. Tensör aralığı, start, stop ve step'in tanımlanabileceği torch.arange() kullanılarak oluşturulur. Benzer şekilde, torch.zeros_like(), giriş tensörüyle aynı şekle sahip bir sıfır tensörü oluşturmak için kullanılır. Bu bölüm daha sonra PyTorch'ta tensör veri türlerini tanıtır ve hiçbiri belirtilmemiş olsa bile varsayılan türün float 32 olduğunu belirtir.

  • 01:55:00 Bu bölümde, PyTorch'ta tensör oluştururken veri türü, cihaz ve gereksinim derecesi gibi önemli parametreleri öğreniyoruz. Veri tipinin bilgi işlemdeki kesinlik seviyesini ifade ettiğini ve genellikle 32-bit kayan nokta ve 16-bit kayan nokta tensörleri ile etkileşime girdiğini keşfediyoruz. PyTorch'ta varsayılan tensör tipi 32 bit olmak üzere, tek kesinlik 32 bit ve yarı kesinlik 16 bittir. Tensör veri türleri ile ilgili not, PyTorch ve derin öğrenmeyi kullanırken karşılaşabileceğimiz üç önemli hatadan biri olduğu için önemlidir. Diğer iki hata tensörlerin doğru şekle sahip olmaması ve doğru cihaz üzerinde olmamasıdır.

Bölüm 3

  • 02:00:00 Bu bölümde eğitmen, PyTorch'ta tensörlerle çalışırken doğru şekli ve cihazı korumanın önemini tartışıyor. Tensörlerin farklı şekilleri varsa veya farklı cihazlarda (CPU veya GPU) bulunuyorsa hatalar oluşabilir. Ayrıca eğitmen, sayısal hesaplamalar sırasında gradyanların izlenmesinde "grad" parametresinin rolünü açıklar. Ders, izleyicilerin farklı veri türlerinden tensörler oluşturması ve farklı türlerdeki tensörleri çarpmanın etkisini test etmesi için bir meydan okuma içerir. Eğitmen, bazı işlemlerin hatalarla sonuçlanmayabileceği, ancak diğerlerinin, özellikle büyük sinir ağlarını eğitirken veri türü sorunlarına yol açabileceği konusunda uyarır.

  • 02:05:00 Videonun bu bölümünde eğitmen, tensör işlemleriyle ilgili sorunların nasıl giderileceğini ve tensörlerin makine öğrenimi modellerinde kullanım için doğru veri tipine ve şekline sahip olduğundan emin olunacağını anlatıyor. PyTorch kullanarak, tensor.Dtype, tensor.shape ve tensor.device komutlarını kullanarak bir tensörün veri türünü, şeklini ve aygıtını nasıl kontrol edeceklerini gösterirler. Eğitmen ayrıca tensörler doğru veri tipinde veya şeklinde değilse PyTorch'un hata atabileceğini not eder ve gerekirse veri tipinin nasıl değiştirileceğini gösterir. Son olarak, boyut ve şekil komutlarını karşılaştırırlar ve bunların birbirinin yerine kullanılabileceğini, birinin işlev, diğerinin ise öznitelik olduğunu not ederler.

  • 02:10:00 Bu bölümde, eğitmen PyTorch'ta tensörleri manipüle etmeyi, özellikle toplama, çıkarma, çarpma, bölme ve matris çarpımı gibi tensör işlemlerini ele alıyor. Bu işlemler, derin öğrenme modelleri oluştururken en sık karşılaşılan sorunları çözmeye yardımcı oldukları için sinir ağları oluşturmak için önemlidir. Ek olarak, sinir ağları, bir veri kümesini temsil etmek için rastgele bir tensörün sayılarını analiz etmek ve ayarlamak için bu işlevleri çeşitli şekillerde birleştirir. Eğitmen, PyTorch kod örneklerini kullanarak toplama, çarpma ve matris çarpma gibi temel tensör işlemlerinin nasıl gerçekleştirileceğini gösterir.

  • 02:15:00 Bu bölümde, eğitmen PyTorch kullanarak tensör işlemlerini ele alır ve matris çarpımı kavramını tanıtır. Python işleçlerinin yanı sıra PyTorch yerleşik işlevlerini kullanarak öğe bazında çarpma, toplama ve çıkarma işlemlerinin nasıl gerçekleştirileceğini gösterirler. Eğitmen, izleyicilere matris çarpımına dalmadan önce arama yapmaları ve anlamaları için bir meydan okuma verir. Sinir ağlarında çarpmayı gerçekleştirmenin iki ana yolu olduğunu açıklıyorlar, eleman bazında ve aynı zamanda nokta çarpımı olarak da adlandırılan matris çarpımı. Eğitmen, matrisleri kullanarak her iki çarpma türüne örnekler verir ve matris çarpmanın sinir ağlarında en yaygın tensör işlemlerinden biri olduğunu vurgular.

  • 02:20:00 Bu bölümde eğitmen, PyTorch'ta element bazında ve nokta çarpım çarpma arasındaki farkı açıklıyor. Konsepti göstermek için eğitmen, nihai sonucu elde etmek için her bir öğenin nasıl çarpıldığını ve toplandığını vurgulayarak, iki matrisi çarpmak için adım adım bir süreçten geçer. Daha sonra, eğitmen ilkel bir örnek kullanarak eleman bazında çarpmanın nasıl gerçekleştirileceğini ve ardından torç dot mat mall işlevini kullanarak matris çarpmanın nasıl yapıldığını gösterir. Bu bölüm ayrıca bir for döngüsü kullanarak matris çarpımının nasıl gerçekleştirileceğini ve iki yöntem arasındaki performans farkını açıklar.

  • 02:25:00 Bu bölümde video, matris çarpımı örneğini kullanarak PyTorch'ta döngüler için vektörleştirmenin faydalarını açıklıyor. Torç yönteminin, küçük tensörler için bir for döngüsü kullanmaktan 10 kat daha hızlı olduğu gösterilmiştir. Ancak video, matris çarpımında şekil hatalarını önlemek için daha büyük tensörler için iki ana kuralın sağlanması gerektiğine dikkat çekiyor. İlk kural, iki tensörün iç boyutlarının eşleşmesidir.

  • 02:30:00 Bu bölümde eğitmen, matris çarpımının kurallarını ve tensörleri çarparken yaygın şekil hatalarından nasıl kaçınılacağını açıklar. İlk kural, matrisin iç boyutlarının eşleşmesi gerektiğidir. Bunu göstermek için eğitmen 3x2 boyutunda bir tensör oluşturur ve bunu aynı iç boyutlara sahip olmayan başka bir tensörle çarpmaya çalışır ve hata verir. İkinci kural, ortaya çıkan matrisin dış boyutların şekline sahip olmasıdır. Eğitmen, farklı tensör şekilleri ve boyutları ile matris çarpımına ve bunların nasıl farklı matris şekilleriyle sonuçlandığına dair örnekler verir. Eğitmen, izleyicileri bir sonraki videodan önce bir meydan okuma olarak matris çarpımını uygulamak için bir web sitesini kullanmaya teşvik ediyor.

  • 02:35:00 Bu bölümde eğitmen, derin öğrenmede en yaygın hatalardan biri olan sinir ağlarındaki şekil hatalarını tartışır. Yapay sinir ağları birkaç matris çarpım işleminden oluştuğundan, küçük bir tensör şekil hatası bile bir şekil hatasına yol açabilir. Eğitmen daha sonra iki tensör, tensör a ve tensör b oluşturur ve aralarında bir matris çarpımı gerçekleştirmeye çalışır, bu da bir şekil hatasına yol açar. Bu hatayı düzeltmek için eğitmen, belirli bir tensörün eksenlerini veya boyutlarını değiştiren devrik kavramını tanıtır ve bunun PyTorch kodunda tensörlerin şeklini ayarlamak için nasıl kullanılabileceğini gösterir.

  • 02:40:00 Bu bölümde, eğitmen tansörlerin devrikliği kavramını ve bunun matris çarpımındaki önemini açıklar. Yer değiştirme, bir tensörün öğelerini, temel verilerini değiştirmeden yeniden düzenler ve "dot t" ile gösterilir. Eğitmen ayrıca tensör b yer değiştirdiğinde bir matris çarpma işleminin nasıl çalıştığını gösterir ve bu işlemin sinir ağları ve derin öğrenmedeki önemini vurgular. Tensörleri transpoze etme süreci görsel olarak gösterilir ve eğitmen, öğrencilerin kavramı anlamalarına ve uygulamalarına yardımcı olmak için adım adım kod örnekleri sağlar.

  • 02:45:00 Bu bölümde eğitmen, PyTorch ve Matrix Multiplication adlı bir web sitesini kullanarak matris çarpımını açıklamaktadır. İki tensör, tensör a ve tensör b yarattı ve bunların çarpımının belirli bir çıktı şekline sahip yeni bir tensörle sonuçlandığını gösterdi. İzleyicileri, b tensörü yerine a tensörünü transpoze etmeye ve sonuçları görmeye davet ediyor. Eğitmen devam ederken, PyTorch yöntemlerini kullanarak bir tensörün min, maks, ortalama ve toplamının nasıl bulunacağını göstererek tensör toplamayı ele alır. Ayrıca, tensör toplamanın bir tensördeki öğe sayısını azaltmaya nasıl yardımcı olduğunu da açıklıyor.

  • 02:50:00 PyTorch eğitiminin bu bölümünde eğitmen, PyTorch'taki en yaygın hatalardan biri olan yanlış veri türüne sahip olmanın nasıl çözüleceğini gösteriyor. Bunu, torç ortalama işlevinin kullanılmasını engelleyen uzun veri türünde bir tensör oluşturarak gösterir. Ardından, x.type() yöntemini kullanarak, ortalama fonksiyonun gerektirdiği tensor'ün float 32'ye nasıl dönüştürüleceğini açıklıyor. Eğitmen, tensörün min, maks, ortalama ve toplamını bulmanın yanı sıra, bir sonraki videoda ele alınacak olan konumsal min ve maks'ı bulmak için de bir görev belirler.

  • 02:55:00 Bu bölümde argmin ve argmax fonksiyonlarının PyTorch'ta bir tensörün konumsal min ve max'ını bulmak için kullanımı anlatıldı. argmin işlevi tensördeki minimum değere sahip konumu döndürürken argmax işlevi tensördeki maksimum değere sahip konumu döndürür. Bu işlevler, bir tensörün minimum veya maksimum değerlerini tanımlamanın gerekli olmadığı, yalnızca bu değerlerin konumunun gerekli olduğu durumlarda faydalıdır. Ek olarak, makine öğrenimi ve derin öğrenmede şekil uyuşmazlıklarını yönetmek için yararlı olan tensörlerin yeniden şekillendirilmesi, istiflenmesi, sıkıştırılması ve sıkıştırılmaması kavramları tanıtıldı.

PyTorch for Deep Learning & Machine Learning – Full Course
PyTorch for Deep Learning & Machine Learning – Full Course
  • 2022.10.06
  • www.youtube.com
Learn PyTorch for deep learning in this comprehensive course for beginners. PyTorch is a machine learning framework written in Python.✏️ Daniel Bourke develo...
 

Derin Öğrenme ve Makine Öğrenimi için PyTorch – Tam Kurs (4-7. bölümlerin açıklaması)


Derin Öğrenme ve Makine Öğrenimi için PyTorch – Tam Kurs

4. Bölüm

  • 03:00:00 Bu bölümde eğitmen, PyTorch'ta yeniden şekillendirme, görüntüleme, istifleme, sıkıştırma, çözme ve izin verme gibi farklı tensör manipülasyon yöntemlerini açıklar. Yeniden şekillendirme, bir giriş tensörünün şeklini değiştirir, görünüm, farklı bir şekle sahip bir tensörün görünümünü döndürür, yığınlama, birden çok tensörü dikey veya yatay olarak birleştirir, sıkıştır, 1'e eşit olan tüm boyutları kaldırır ve sıkıştırmayı kaldır, bir boyuta sahip yeni bir boyut ekler 1. Son olarak, permute bir tensörün boyutlarını değiştirir. Eğitmen, bu yöntemlerin her birini göstermek için kod örnekleri sağlar ve tensör şekli manipülasyonunun makine öğrenimi ve derin öğrenmede ne kadar önemli olduğunu vurgular.

  • 03:05:00 Bu bölümde, eğitim videosu PyTorch tensörlerinin nasıl yeniden şekillendirileceğini ve görüntüleneceğini araştırıyor. Yeniden şekillendirme, orijinal boyutla uyumluluk gerektirir ve 'yeniden şekillendirme' veya 'görüntüleme' işlevleri kullanılarak yapılabilir. 'Görünüm'ün orijinal tensörle aynı hafızayı paylaştığına dikkat etmek önemlidir. Ek olarak, 'yığın' işlevi tensörleri yeni bir boyut boyunca birleştirir ve varsayılan boyut sıfırdır. Google CoLab veya diğer Jupyter Not Defterleri biçimlerini kullanırken hatalar oluşabileceğinden, kullanıcılara çalışmalarını sık sık kaydetmeleri önerilir.

  • 03:10:00 Bu bölümde, eğitmen PyTorch'ta sıkma ve sıkıştırmayı açma kavramlarını tanıtır. Bu yöntemleri kullanarak alıştırma yapmak için, izleyicinin belgelere bakması ve denemesi önerilir. Eğitmen, bir hedef tensörden tek boyutların çıkarıldığı sıkma yöntemini gösterir. Bu işlemler sırasında tensörlerde yapılan değişiklikleri görselleştirmek için, eğitmen her değişikliğin çıktısını almayı ve tensörün boyutunu kontrol etmeyi önerir. Ek olarak, eğitmen bu kavramlara aşinalık kazanmak için bu kavramları birden çok kez uygulamanın önemini vurgulamaktadır.

  • 03:15:00 Bu bölümde, eğitmen "squeeze" ve "unsqueeze" yöntemlerini kullanarak PyTorch tensörlerinde boyut ekleme ve çıkarma kavramını açıklar. Tensörlerden boyut ekleyip çıkararak ve şekillerini yazdırarak bu yöntemlerin etkilerini gösterir. Eğitmen ayrıca bir hedef tensörün boyutlarını belirli bir sırada yeniden düzenleyen "permute" yöntemini de tanıtıyor. Permüte'in görüntülerle nasıl kullanılabileceğine dair bir örnek veriyor ve derin öğrenmede verileri sayısal temsillere dönüştürmenin önemini tartışıyor.

  • 03:20:00 Bu bölümde eğitmen, PyTorch'ta permute() yöntemini kullanarak boyutlarını yeniden düzenleyerek bir tensörü değiştirmeyi öğretir. Verilen örnek, renk kanalı boyutunun ilk dizine taşındığı bir görüntü tensörüdür. Eğitmen, izin verilen bir tensörün yalnızca bir görünüm olduğunu ve orijinal tensörle aynı hafızayı paylaştığını, orijinal tensördeki bir değeri güncelleyerek ve aynı değerin izin verilen tensöre kopyalandığını görerek açıklar. Bu bölüm ayrıca PyTorch'ta indekslemeyi ve bunun başka bir popüler sayısal bilgi işlem kitaplığı olan NumPy ile indekslemeye nasıl benzediğini de kapsar.

  • 03:25:00 Bu bölümde eğitmen, meşalenin nasıl içe aktarılacağını ve küçük bir aralığın nasıl oluşturulacağını ve uyumlu bir şekilde nasıl yeniden şekillendirileceğini gösterir. Öğretici daha sonra tensörlerle indekslemeye girer ve birinci ve ikinci boyutlarda nasıl indeksleneceğini gösterir. Öğretici ayrıca, bir hedef boyutun tamamını seçmek için noktalı virgül kullanmanın işlevselliğini de gösterir. Bölüm, dokuz numarayı elde etmek için kodu yeniden düzenleme mücadelesiyle sona erer.

  • 03:30:00 Bu bölümde eğitmen, PyTorch kullanarak bir tensörden belirli değerlerin nasıl seçileceğini gösterir. Örnekler, uygun indeks değerleri belirtilerek tensörün farklı boyutlarından elemanların seçilmesini içerir. Eğitmen daha sonra izleyicileri belirli değerleri döndürmek için tensörü indekslemeye davet eder. Bir sonraki bölümde eğitmen, PyTorch tensörlerinin popüler bilimsel sayısal hesaplama kitaplığı NumPy ile nasıl etkileşime girdiğini açıklıyor. PyTorch gerektirdiğinden, NumPy dizileri ve PyTorch tensörleri arasında kolay geçişe izin veren yerleşik bir işlevsellik vardır.

  • 03:35:00 Bu bölümde video, verilerin NumPy'den PyTorch tensörlerine ve tersinin nasıl dönüştürüleceğini tartışıyor. NumPy'den PyTorch'a gitmek için, NumPy dizisinde torch.fromNumPy yöntemi kullanılır, ancak PyTorch'un varsayılan veri türünün float32, NumPy'nin varsayılanının ise float64 olduğu belirtilmelidir. Bu nedenle, dönüştürme sırasında veri türünün belirtilmesi gerekebilir. Orijinal NumPy dizisinin değerini değiştirirken, fromNumPy yöntemi kullanılarak oluşturulmuşsa PyTorch tensörünün değerini değiştirmediğini de not etmek önemlidir. PyTorch'tan NumPy'ye gitmek için torch.tensor.numpy() yöntemi kullanılabilir.

  • 03:40:00 Bu bölümde video, PyTorch ve NumPy arasında nasıl gidileceğini ve her birinin varsayılan veri türlerini tartışıyor. PyTorch'un varsayılan veri tipi float32'dir, NumPy'nin varsayılan veri tipi ise float64'tür ve PyTorch'ta veri tipini değiştirirseniz, NumPy tensörü orijinal veri tipini yansıtacaktır. Video ayrıca sinir ağlarında tekrar üretilebilirlik kavramını ve deneylerde rastgeleliği azaltmak için rastgele tohumların kullanımını da kapsıyor. Rastgele bir tohum ayarlayarak, rasgelelik çeşnilendirilir ve bilgisayar daha deterministik hale gelir ve daha tekrarlanabilir sonuçlar sağlar.

  • 03:45:00 Bu bölümde eğitmen, PyTorch'ta rastgelelik ve yeniden üretilebilirlik kavramlarını tanıtıyor. torch.rand işlevi kullanılarak iki rasgele tensör oluşturulur ve değerleri yazdırılır ve karşılaştırılır. Eğitmen, PyTorch'ta tekrarlanabilir rastgelelik oluşturmak için kullanılan rastgele tohum kavramını açıklar. Rastgele tohum değeri, 42 gibi sayısal bir seçim değerine ayarlanabilir ve ardından aromalı rasgelelik elde etmek için çeşitli rasgele fonksiyonlarda kullanılabilir. Torch.manual_seed işlevi kullanılırsa, genellikle not defterinde yalnızca bir kod bloğu için çalıştığını not etmek önemlidir.

  • 03:50:00 Videonun bu bölümünde makine öğrenimi ve derin öğrenmede tekrarlanabilirliğin önemi vurgulanmakta ve rastgele tohum kavramı açıklanmaktadır. Manuel tohum, PyTorch rasgele tensörlerinin rasgeleliğini tatlandırmanın ve onları yeniden üretilebilir hale getirmenin bir yoludur. PyTorch yeniden üretilebilirlik belgesi, yeniden üretilebilirlik hakkında bilgi edinmek için harika bir kaynak olarak önerilir. Bu bölümde ayrıca ücretsiz bir GPU için Google Colab, daha hızlı GPU'lar ve daha uzun çalışma süresi için Google Colab Pro ve daha gelişmiş avantajlar için Google Colab Pro Plus kullanımı dahil olmak üzere daha hızlı hesaplamalar için GPU'larda PyTorch nesnelerini çalıştırma ve GPU'lara nasıl erişileceği ele alınmaktadır.

  • 03:55:00 Bu bölümde eğitmen, derin öğrenme ve makine öğrenimi görevleri için GPU'lara erişmenin farklı yollarını açıklıyor. Seçenekler, Google Colab'ı kullanmak, Colab Pro'ya yükseltmek, kendi GPU'nuzu kullanmak veya GCP, AWS veya Azure gibi bulut bilgi işlem hizmetlerini kullanmaktır. Eğitmen, kullanımı kolay ve ücretsiz olan Google Colab ile başlamanızı önerir. Ancak, daha fazla kaynağa ihtiyacınız varsa veya daha büyük deneyler yapmak istiyorsanız, kendi GPU'nuzu veya bulut bilgi işleminizi yükseltmek veya kullanmak isteyebilirsiniz. Eğitmen ayrıca çalışma zamanı türünü değiştirerek ve PyTorch ile GPU erişimini kontrol ederek Google Colab'da nasıl GPU alınacağını gösterir.


Bölüm 5

  • 04:00:00 Bu bölümde eğitmen, PyTorch ile GPU erişiminin nasıl kontrol edileceğini ve cihaz agnostik kodunun nasıl kurulacağını açıklar. Kullanıcı "torch.cuda.is_available()" komutunu kullanarak PyTorch'un GPU'ya erişip erişemediğini kontrol edebilir. Ek olarak, PyTorch'u çalıştırmak için, aygıt değişkeni, varsa GPU'yu kullanacak veya varsayılan olarak CPU'ya ayarlanmalıdır. "args.device=torch.device('cuda' if torch.cuda.is_available()) ayarını yaparak, PyTorch'un mevcut olana bağlı olarak CPU veya GPU üzerinde çalışmasına izin veren cihaz agnostik kodunu ayarlamak da önemlidir. Python betiklerinde başka 'işlemci')". Eğitmen, kodun farklı cihazlarda çalıştırılmasına izin verdiği için PyTorch ile çalışırken cihaz agnostik kodu kurmanın en iyi uygulama olduğunu vurgular.

  • 04:05:00 Bu bölümde eğitmen, GPU kullanımının nasıl daha hızlı hesaplamalara yol açabileceğini ve tensör işlemleri gibi sayısal hesaplamalarla çalışan makine öğrenimi modellerinde nasıl faydalı olabileceğini tartışıyor. GPU'yu kullanmak için tensörlerin ve modellerin ona aktarılması gerekir ve PyTorch bunu "to" yöntemiyle kolaylaştırır. Kod, bir GPU olup olmadığına bakılmaksızın çalışacak şekilde cihazdan bağımsız hale getirilebilir. Benzer şekilde, gerekirse tensörler de CPU'ya geri taşınabilir ve bunun için "cpu()" yöntemi kullanılabilir. Eğitmen, cihaz sorunlarının PyTorch'ta en yaygın üçüncü hata olduğunu ve tensörlerin ve modellerin depolandığı cihaz tipini akılda tutmanın iyi bir uygulama olduğunu vurgular.

  • 04:10:00 Bu bölümde eğitmen, GPU üzerinde PyTorch ile çalışmanın temellerini tartışıyor. CPU ve GPU arasında nasıl geçiş yapılacağını ve GPU'da tensörlerle NumPy hesaplamalarını kullanırken hatalardan nasıl kaçınılacağını açıklıyor. Ayrıca, Learn.pytorch.io adresinde bulunan bir dizi alıştırma ve ekstra müfredat aracılığıyla öğrencileri öğrendiklerini uygulamaya teşvik eder. Alıştırmalar, önceki bölümlerde ele alınanlara dayanmaktadır ve öğrencilerin bunları tamamlamak için PyTorch belgelerini kullanmaları teşvik edilir. Son olarak eğitmen, iki ekran ayarlayarak ve meşaleyi içe aktararak Colab'da bu alıştırmalara nasıl yaklaşılacağına dair ipuçları sağlar.

  • 04:15:00 Bu bölümde eğitmen, PyTorch kursundaki alıştırmaları ve ekstra müfredatı tartışır. Alıştırmalar kod tabanlıdır ve alıştırmaların her biri için şablonlar içerir. Ekstra müfredat okumaya dayalıdır ve eğitmen, PyTorch temelleri öğreticisi, hızlı başlangıç ve tensör bölümlerinin yanı sıra "What's a Tensor?" video. Eğitmen ayrıca, verilerin hazırlanmasını ve tensörlere dönüştürülmesini, önceden eğitilmiş bir modelin seçilmesini veya oluşturulmasını, bir kayıp fonksiyonunun seçilmesini ve optimize edilmesini, bir eğitim döngüsü oluşturulmasını, modelin uydurulmasını, modelin değerlendirilmesini, deney yapılmasını içeren PyTorch iş akışının ana hatlarını çizer. ve eğitimli modeli iyileştirme, kaydetme ve yeniden yükleme. Eğitmen, öğrencileri kodu ve belgeleri takip etmeye, kaynakları aramaya, tekrar denemeye ve PyTorch forumlarında sorular sormaya teşvik eder.

  • 04:20:00 Videonun bu bölümünde, eğitmen Colab'da yeni bir not defteri açarak başlıyor ve buna "01 PyTorch İş Akışı" adını veriyor. Birlikte kodlamaya ve veri hazırlama ve yüklemeyi, PyTorch'ta bir makine öğrenimi modeli oluşturmayı, modeli eğitmeyi, modeli değerlendirmeyi ve modeli kaydetmeyi/yüklemeyi içeren uçtan uca bir PyTorch iş akışı oluşturmaya odaklanacaklarını açıklıyor. . Eğitmen ayrıca, sinir ağları için PyTorch'un tüm yapı taşlarını içeren PyTorch'ta nn modülünü kullanacaklarından bahseder.

  • 04:25:00 Bu bölümde eğitmen, sinir ağlarında kullanılan hesaplama grafikleri için temel yapı taşlarını keşfederek PyTorch'ta torch.nn kullanımını tartışıyor. Bu yapı taşlarını birleştirmek, veri bilimcilerin ve makine öğrenimi mühendislerinin çeşitli türlerde sinir ağları oluşturmasına olanak tanır. Eğitmen, modelin kalıpları öğrenmesi için verileri sayısal bir temsile hazırlayan ve yükleyen PyTorch iş akışındaki ilk adımın önemini vurgular. Verileri kodlamak için kullanılan sayısal temsil türü, veri türüne bağlıdır. İkinci adım, sayısal temsildeki kalıpları öğrenmek için bir sinir ağı oluşturmayı ve ardından öğrenilen kalıpları görüntü tanıma veya istenmeyen posta sınıflandırması gibi belirli görevler için kullanmayı içerir.

  • 04:30:00 Bu bölümde eğitmen, verileri sayısal temsile dönüştürmeyi ve bu temsildeki kalıpları bulmak için bir model oluşturmayı içeren makine öğreniminde iki bölümden oluşan oyunu tanıtıyor. Eğitmen daha sonra bu süreci göstermek için doğrusal regresyon formülünü kullanarak bilinen verileri oluşturur. Formülün ağırlığı ve yanlılığı, bir modelin farklı örneklere bakarak öğreneceği parametreler olarak kullanılır. Python'daki kod, bir sayı aralığı oluşturmak, X değişkenine bir değer atamak ve ağırlık çarpı X artı eğilime eşit olan bir Y formülü oluşturmak için kullanılır. X ve Y'nin uzunluğu ve değeri görüntülenir ve X ve Y'nin ilk on değeri görüntülenir.

  • 04:35:00 Bu bölümde eğitmen, makine öğreniminde verileri eğitim ve test kümelerine ayırmanın önemini tartışıyor. Kavramı açıklamak için üniversite dersleri ve sınavlar benzetmesini kullanır. Eğitim seti tüm ders materyallerine benzer, doğrulama seti bir uygulama sınavı gibidir ve test seti final sınavıdır. Amaç, modelin görünmeyen verilere uyum sağlayabilmesi için genelleme elde etmektir. Eğitmen, doğru bir model oluşturmak için verileri doğru bir şekilde bölmenin hayati önem taşıdığını vurgular.

  • 04:40:00 PyTorch tam kursunun bu bölümünde eğitmen, makine öğrenimi modellerinde genelleştirmenin önemini ve eğitim ve testte yaygın olarak kullanılan üç veri setini tartışır: eğitim, doğrulama ve test setleri. Ayrıca, bu kümelerin her biri için kullanılan ortak yüzde bölmelerini açıklıyor; eğitim kümesi genellikle verilerin %60-80'ine ve test kümesi %10-20'ye sahip. Eğitmen daha sonra, her bir bölme için uygun örnek sayısını seçmek üzere indekslemeyi kullanarak X ve Y değerlerine sahip bir örnek veri seti kullanarak bir eğitim ve test setinin nasıl oluşturulacağını gösterir. Son olarak, daha karmaşık veri kümelerinde bir doğrulama kümesi için genellikle bir kullanım durumu olsa da, eğitim ve test kümelerinin en sık kullanılanlar olduğunu açıklıyor.

  • 04:45:00 Bu bölümde eğitmen, eğitim ve test verilerini karşılaştırmak için kullanılacak "grafik tahminleri" adlı bir işlev yazarak verilerin görselleştirilmesinin önemini vurgular. İşlev, X dizisi, Y dizisi, X testi, Y testi ve tahminleri parametre olarak alır ve ardından matplotlib kitaplığıyla bir dağılım grafiği kullanarak eğitim verilerini mavi olarak çizer. Test verileri daha sonra aynı dağılım işlevi kullanılarak yeşil olarak çizilir. İşlev ayrıca herhangi bir tahmin olup olmadığını kontrol eder ve varsa dağılım işlevini kullanarak bunları da çizer. Verileri görselleştirerek anlaşılması ve yorumlanması kolaylaşır.

  • 04:50:00 Videonun bu bölümünde eğitmen, makine öğrenimi modellerini eğitme ve değerlendirme sürecini tartışıyor. Amacın, test verilerinin değerlerini doğru bir şekilde tahmin etmek için modeli eğitim verileri üzerinde eğitmek olduğunu açıklarlar. Bunu, eğitim verilerinin mavi ve test verilerinin yeşil olarak gösterildiği basit bir doğrusal veri seti kullanarak gösterirler. Eğitmen daha sonra lineer regresyon kavramını tanıtır ve lineer regresyon için bir PyTorch modeli oluşturacakları bir sonraki bölüm için zemini hazırlar. Ayrıca, Google Colab için bazı sorun giderme ipuçları da sağlarlar.

  • 04:55:00 Videonun bu bölümünde saf PyTorch kullanarak doğrusal bir regresyon modeli oluşturmayı öğreniyoruz. Eğitmen, PyTorch'un, PyTorch modellerinin Lego yapı taşları gibi olan nn.module üzerine inşa edildiğini açıklıyor. PyTorch'taki hemen hemen her şey nn.module'den devralır ve modüller, karmaşık sinir ağları oluşturmayı kolaylaştıran başka modüller içerebilir. Eğitmen daha sonra init işleviyle bir oluşturucu oluşturma, nn.parameter kullanarak bir ağırlık parametresi oluşturma ve bunu torch.rand kullanarak rastgele parametrelere ayarlama sürecinde bize yol gösterir. Eğitmen ayrıca request_grad ve dtype'ın nasıl ayarlanacağını da açıklar.

6. Bölüm

  • 05:00:00 Bu bölümde, eğitmen PyTorch kullanarak doğrusal bir regresyon modelinin nasıl oluşturulacağını açıklar. Model için bir sınıf oluşturarak ve onu, bir modül özniteliğine atandığında otomatik olarak parametre listesine eklenen ağırlıklar ve yanlılık parametreleriyle başlatarak başlarlar. Daha sonra modeldeki hesaplamayı tanımlamak için doğrusal regresyon formülüne dayalı bir ileri yöntem oluştururlar. Modelin amacı, makine öğreniminin öncülü olan gradyan iniş yoluyla eğitim verilerinin modelini temsil edecek rastgele parametreleri güncellemektir.

  • 05:05:00 Bu bölümde eğitmen, iki ana algoritma kullanılarak gerçekleştirilen verilerde istenen ağırlık ve yanlılık değerlerini daha iyi temsil etmek için rasgele değerleri ayarlama sürecini tartışır: gradyan iniş ve geri yayılım. 'Requires grad equals true' ifadesinin kullanımı, model kullanılarak yapılan hesaplamalar yoluyla gradyanları takip etmek, algoritmayı doğru yönde dürtmek olarak açıklanır. Nesne yönelimli programlamanın önemi ve PyTorch'un bu algoritmaları uygulamadaki rolü, kod için sezgi kazanmaya yardımcı olmak için önerilen ek kaynaklarla vurgulanmaktadır. Eğitmen ayrıca, mevcut model bilinen parametrelere sahip basit veri kümeleriyle ilgilenirken, daha karmaşık veri kümelerinin bizim için genellikle nn'den modüller tarafından tanımlanan parametrelere sahip olduğunun altını çiziyor.

  • 05:10:00 Bu bölümde eğitmen, ilk PyTorch modelini oluşturmanın temel çıkarımlarını açıklıyor. PyTorch'taki her model, nn.modgable'dan miras alır ve model içinde gerçekleşen hesaplamayı tanımlamak için forward yöntemini geçersiz kılmalıdır. Ayrıca, model öğrendiğinde, torch.auto grad modülünü kullanarak gradyan iniş ve geri yayılım yoluyla ağırlıklarını ve yanlılık değerlerini günceller. Eğitmen, bu kavramın tam olarak anlaşılması için transkriptte bağlantılı iki videoyu incelemenizi önerir. Ek olarak, eğitmen, sinir ağları için gerekli tüm yapı taşlarını içeren torch.nn modülü gibi bazı PyTorch model oluşturma temellerini tanıtır.

  • 05:15:00 Bu bölümde eğitmen, torch.nn, torch.nn.module, torch.optim ve torch.utils.dataset dahil olmak üzere PyTorch'taki temel modülleri açıklar. Torch.nn.module, tüm sinir ağı modülleri için temel sınıftır ve ileri hesaplamada ne olacağını tanımlayan forward yönteminin üzerine yazılmasını gerektirir. Torch.optim, modelin değerlerini optimize etmek için rastgele değerlerle başlayan ve ideal değerleri daha iyi temsil edecek şekilde ayarlanan algoritmalar içerir. Eğitmen ayrıca kütüphanenin daha fazla keşfedilmesi için yararlı bir kaynak olarak PyTorch kopya kağıdından bahseder.

  • 05:20:00 Bu bölümde, eğitmen PyTorch iş akışına biraz renk ve kod ekler ve veri kümeleri oluşturmak, modeller oluşturmak ve eğitmek, model parametrelerini optimize etmek, modeli değerlendirmek ve deneme yoluyla geliştirmek için kullanılan önemli PyTorch modüllerini ele alır. Eğitmen daha sonra doğrusal regresyon modelinin bir örneğini oluşturarak ve tensör değerlerini görmek için nokta parametrelerini kullanarak bir PyTorch modelinin içeriğinin nasıl kontrol edileceğini gösterir. Eğitmen ayrıca parametreleri tutarlı değerlerle oluşturmak için rastgele bir çekirdek ayarlar.

  • 05:25:00 bölümünde, derin öğrenme modellerinin ağırlıklar ve yanlılık parametreleri için rastgele değerlerle nasıl başlatıldığını öğrendik. Tekrarlanabilirlik için rastgele tohum değerleri kullanmanın önemini de öğrendik. Derin öğrenmenin temel öncülü, eğitim verilerini kullanarak gradyan iniş ve geri yayılım yoluyla bu rastgele değerleri ideal değerlere mümkün olduğunca yakın olacak şekilde ayarlamaktır. Bir sonraki bölümde video, modelin rasgele parametre değerleriyle tahmin yapmayı içerecektir.

  • 05:30:00 bu bölümde, video bir PyTorch modelinin tahmin gücünü test etme sürecini açıklıyor. Modelin ileri yöntemi, X giriş verilerini alır ve tahminler yapmak için modelden geçirir. Video, 10 değişkenden oluşan X testi girilerek ve modelin çıktısı Y pred gözlemlenerek modelin tahmin gücünün nasıl test edileceğini gösterir. Video ayrıca bir PyTorch modelinin oluşturulması sırasında meydana gelebilecek yaygın bir hatayı ele alır ve bu hata için bir düzeltme sağlar.

  • 05:35:00 Bu bölümde daha önce tanımladığımız Ford metodunu kullanarak test verilerini çalıştırarak modelin tahminlerini görüyoruz. Tahminler, ideal tahminlerden şaşırtıcı derecede uzak görünüyor. Kod ayrıca, tahminler yaparken gradyan izlemeyi devre dışı bırakmak için kullanılan ve PyTorch'un daha az veriyi takip etmesine ve tahminleri daha hızlı yapmasına izin veren bir bağlam yöneticisi olan meşale çıkarım modunu da sunar. Torch no grad benzer bir şey yapamazken, PyTorch belgelerinde ve videoda sağlanan bir Twitter dizisinde açıklandığı gibi, çıkarım modunun no grad'a göre bazı avantajları vardır. Bu nedenle, çıkarım modu şu anda çıkarım yapmanın tercih edilen yoludur.

  • 05:40:00 bu bölümde video, modelin eğitim modu yerine çıkarım modunda olmasını sağladığı için PyTorch'ta tahminler yaparken torch.inference_mode bağlam yöneticisini kullanmanın önemini açıklıyor. Video ayrıca, bir modeli rastgele parametrelerle başlatmanın düşük performansa yol açabileceğini vurguluyor ve sıfır değerlerin kullanılması veya başka bir modelden parametrelerin aktarılması gibi bazı başlatma seçenekleri sunuyor. Ancak videonun ana odak noktası, modelin tahminlerinin ne kadar kötü performans gösterdiğini ölçen bir kayıp fonksiyonu kullanarak bilinmeyen parametrelerden bilinen parametrelere geçerek bir modeli eğitmektir. Video, makine öğreniminde "kayıp işlevi", "maliyet işlevi" ve "kriter" terimlerinin sıklıkla birbirinin yerine kullanıldığını belirtiyor.

  • 05:45:00 Bu bölümde eğitmen, bir modelin tahminlerinin ideal çıktılarla karşılaştırıldığında ne kadar yanlış olduğunu ölçmek için kullanılan kayıp fonksiyonu kavramını tanıtıyor. Eğitmen, bir kayıp fonksiyonunun nasıl hesaplanabileceğini açıklamak için kırmızı ve yeşil noktalar arasındaki mesafeyi ölçme örneğini kullanır. Video ayrıca, bir modelin kaybını hesaba katan ve kayıp işlevini iyileştirmek için ağırlık ve yanlılık değerleri gibi parametrelerini ayarlayan bir optimize edicinin önemini de ele alıyor. Bölüm, bir kayıp fonksiyonu ve optimize edicinin ilkelerinin ister iki parametreli ister milyonlarca parametreli modellerle uğraşılsın, ister bilgisayarla görme modelleri veya düz bir çizgi üzerindeki noktaları tahmin eden basit modeller olsun, aynı kaldığını açıklayarak sona erer.

  • 05:50:00 Derin Öğrenme ve Makine Öğrenimi için PyTorch kursunun bu bölümünde eğitmen, modelin doğruluğunu artırmak için kayıp fonksiyonunu düşüren değerlere doğru bir modelin parametrelerini itmek için bir optimize edici kullanmanın önemini açıklıyor. tahminler. PyTorch, kayıp işlevlerini ve optimize edicileri uygulamak için yerleşik işlevselliğe sahiptir ve eğitmen, tahmin edilen ve gerçek değerler arasındaki mutlak farkı ölçen, ortalama mutlak hata olarak da bilinen L1 kaybına odaklanır. Eğitmen, ortalama mutlak hatayı göstermek için renkli bir grafik sağlar ve PyTorch'un NN modülünü kullanarak kayıp fonksiyonunun nasıl uygulanacağını gösterir. Bir modeli eğitmenin amacı, tahmin edilen ve gerçek değerler arasındaki mesafeleri en aza indirmek ve ardından ortalama mutlak hatanın toplam değerini en aza indirmek olacaktır.

  • 05:55:00 Bu bölümde, eğitmen, kaybı en aza indirmek için ağırlık ve yanlılık gibi model parametrelerini ayarlamak üzere kayıp işleviyle birlikte çalışan optimize edicinin makine öğrenimindeki rolünü tartışıyor. PyTorch, Stochastic Gradient Descent (SGD) ve Adam gibi çeşitli optimizasyon algoritmalarının mevcut olduğu torch.optim'e sahiptir. Her ikisi de, kaybı en aza indirmek için model parametrelerini rastgele ayarlar, ancak belirli bir sorun için en uygun olanı seçmek meselesidir. Çoğu, rastgele ayarlamalarla başlayan ve daha sonra hiçbir ayarlama yapılamayana kadar kaybı en aza indirecek yönde ayarlamaya devam eden SGD'yi tercih eder. Optimize edici, iki bağımsız değişken, param veya optimize edicinin hangi parametreleri optimize etmesi gerektiğini ve optimize ederken ayarlanması gereken en önemli hiperparametre olan öğrenme oranını (LR) gerektirir.

7. Bölüm

  • 06:00:00 Bu bölümde eğitmen, model parametrelerinin ve hiper parametrelerin ne olduğunu ve derin öğrenme sürecindeki rollerini açıklar. Model parametreleri, modelin belirlediği değerlerdir, hiper parametreler ise veri bilimcisi veya makine öğrenimi mühendisi tarafından belirlenen değerlerdir. Öğrenme hızı bir hiper parametredir ve değeri, optimizasyon sırasında parametrelerdeki değişikliğin boyutunu belirler. Küçük bir öğrenme oranı, küçük değişikliklerle sonuçlanırken, büyük bir öğrenme oranı, büyük değişikliklerle sonuçlanır. Eğitmen ayrıca belirli bir problem için uygun kayıp fonksiyonunu ve optimize ediciyi seçmenin öneminden bahseder. Son olarak eğitmen, PyTorch'ta bir eğitim döngüsü oluşturma sürecini açıklamaya geçer.

  • 06:05:00 Bu bölümde eğitmen, PyTorch'ta bir eğitim döngüsü ve bir test döngüsü oluşturmak için gereken adımları tartışıyor. İlk adım, tahminleri iyileştirmek ve modelden ileri geçişler yaparak kaybı en aza indirmek için veriler arasında birden çok kez döngü oluşturmayı içerir. Eğitmen, ileri geçişin, verilerin modelin ileri fonksiyonları boyunca hareket ettiği zaman olduğunu ve kaybın, modelin tahminlerini yer gerçeği etiketleriyle karşılaştırarak hesapladığını açıklar. Eğitmen daha sonra optimize ediciyi tanıtır ve geriye doğru geçişin, kayba göre her parametrenin gradyanlarını hesapladığını ve optimize edicinin gradyan iniş yoluyla kaybı iyileştirmek için modelin parametrelerini ayarlamasına izin verdiğini açıklar. Eğitmen, PyTorch'un geri yayılımı ve gradyan iniş matematiğini uyguladığını ve sınırlı matematik geçmişi olanların makine öğrenimi hakkında bilgi edinmesini kolaylaştırdığını vurguluyor.

  • 06:10:00 Bu bölümde eğitmen, makine öğreniminde model parametrelerini optimize etmek için kullanılan gradyan iniş kavramını tanıtıyor. Eğitmen bir yokuş örneğini kullanarak modelin sıfır kaybı temsil eden yokuşun dibine ulaşmak için eğimin daha az olduğu yöne doğru nasıl hareket etmesi gerektiğini açıklar. Eğitmen daha sonra, dönem sayısını ayarlamayı ve "requires grad equals true" parametresini kullanarak modeli eğitim moduna ayarlamayı içeren gradyan inişini çalıştırmak için bazı kodlar yazmaya devam eder. Eğitmen ayrıca pytorch modelleri için farklı modların mevcut olduğundan bahseder ve izleyicileri farklı ayarlarla denemeler yapmaya teşvik eder.

  • 06:15:00 Videonun bu bölümünde eğitmen, bir PyTorch modelinin eğitimi için ileri geçişin uygulanmasını tartışıyor. İleriye geçiş, daha sonra MAE kayıp fonksiyonu kullanılarak gerçek eğitim değerleriyle karşılaştırılan tahminler yapmak için modelin ileri fonksiyonundan verilerin geçirilmesini içerir. Kaybı geriye doğru hesaplamadan ve gradyan inişini kullanarak model parametrelerini güncellemeden önce tüm gradyanları sıfıra ayarlayan optimizer.zero_grad() işlevi de tanıtıldı. Bu adımlar, bir modelin nasıl öğrendiğini anlamada çok önemlidir ve kursun sonraki bölümlerinde daha fazla optimize edilecek ve işlevlendirilecektir.

  • 06:20:00 Bu bölümde, eğitmen PyTorch'ta bir eğitim döngüsünün ileri geçiş, kaybı hesaplama, optimize edici gradyanlarını sıfırlama, geri yayılım gerçekleştirme ve optimize ediciyi gradyan inişinden geçirmeyi içeren beş ana adımının üzerinden geçer. . Eğitmen, bu adımların sırasının bazen belirsiz olabileceğini, ancak geriye yayılımdan sonra optimize edici adımı korumanın önemli olduğunu belirtiyor. Eğitmen ayrıca, döngüler arasında birikmeyi önlemek için optimize edici gradyanlarının neden her yinelemede sıfırlanması gerektiğini açıklar. Eğitmen, bu adımları daha iyi anlamak için bir eğitim döngüsü yazma alıştırması yapmayı önerir ve daha fazla öğrenme için bir şarkı ve ekstra kaynaklar sağlar.

  • 06:25:00 Videonun bu bölümünde sunum yapan kişi, PyTorch'ta ileri geçiş, kayıp değerinin hesaplanması, optimize edici gradyanların sıfırlanması ve kayıp fonksiyonunda geri yayılım gerçekleştirmeyi içeren bir eğitim döngüsündeki adımları özetliyor. Eğitim döngüsü, modelin eğitim verileri üzerindeki kalıpları öğrenmesine yardımcı olurken, test döngüsü görünmeyen veriler üzerindeki kalıpları değerlendirir. Sunum yapan kişi ayrıca optimize edici gradyanlarını neden sıfırladığımızı açıklıyor ve kayıp fonksiyonunun gradyanını hesaplayan geriye yayılım kavramını tanıtıyor.

  • 06:30:00 Bu bölümde eğitmen, PyTorch derin öğrenmedeki gradyanlar ve kayıp fonksiyon eğrileri kavramını açıklıyor. Parametreler için "gradyan gerektirir" ayarını doğru olarak ayarlayarak, PyTorch her bir parametrenin gradyanlarını izleyebilir ve hepsi için bir kayıp fonksiyonu eğrisi oluşturabilir. Geri yayılımın ve sonraki gradyan inişinin amacı, minimum kaybı temsil eden eğrinin en düşük noktasını hesaplamaktır. Eğitmen, makine öğrenimindeki gradyan kavramını ve gradyan inişin adım noktalarıyla nasıl çalıştığını açıklar. PyTorch, sıfır gradyan kaybını geriye doğru optimize ederek, adımı optimize ederek ve grad gerektirir, PyTorch bu işin çoğunu perde arkasında yapar, gradyanları otomatik olarak izler ve eğrinin dibini bulur.

  • 06:35:00 Bu bölümde eğitmen, optimize ediciyi ve öğrenme oranını tartışır. Optimize edici, model parametrelerini alır ve eğrinin dibine yaklaşmak için otomatik gradyan hesaplaması için meşale otograd adı verilen bir mekanizma kullanarak her parametre için eğriler oluşturur. Öğrenme oranı, optimize edicinin parametreleri her adımda ne kadar büyük veya küçük değiştireceğine karar verir ve yakınsamaya yaklaştıkça daha küçük adımlar atılır. Ek olarak, eğitmen, modeli başlatma, optimize ediciyi tanımlama, öğrenme oranı, ileri geçiş hesaplaması, geriye doğru yayılım ve optimize edici adımını içeren bir model eğitimiyle ilgili beş adıma değinir. Son olarak eğitmen bu döngünün kod tekrarını önleyen bir fonksiyona dönüştürülebileceğinden bahseder.

  • 06:40:00 "PyTorch for Deep Learning & Machine Learning – Tam Kurs"un bu bölümünde eğitmen, eğitim döngüsünü PyTorch'ta yazmanın önemini, modelin kalıpları ve verileri nasıl öğrendiğini vurguluyor. Video ayrıca matematiksel arka planla ilgilenenler için geri yayılma ve gradyan iniş hakkında ek kaynaklar sağlar. Eğitmen, kayıp fonksiyonu ve optimize edici seçiminin her probleme özgü olacağını açıklar ve regresyon problemleri için MAE kaybı ve L1 kaybı ve sınıflandırma problemleri için ikili çapraz entropi kaybı önerir. Bölüm, yalnızca iki parametre ve tek bir çağ içeren bir model kullanılarak eğitim döngüsünün gösterilmesiyle sona erer.

  • 06:45:00 Bu bölümde eğitmen, makine öğrenimi modelini PyTorch kullanarak eğitmeye devam ediyor ve model parametreleri gradyan iniş yoluyla güncellenirken kayıp fonksiyonunun nasıl düştüğünü gösteriyor. Eğitmen, daha düşük bir kayıp değerinin daha iyi model ilerlemesini gösterdiğini ve makine öğrenimindeki rastgeleliğe bağlı değerlerdeki küçük farklılıkların endişe verici olmaması gerektiğini vurgular. Eğitmen daha sonra izleyiciyi kodu 100 dönem boyunca çalıştırmaya ve kayıp değerini ne kadar düşük alabileceklerini görmek için tahminlerde bulunmaya davet eder. Son olarak eğitmen, test etmenin önemini tartışır ve sonraki videoda test kodu yazma hakkında bilgi verir.

  • 06:50:00 Bu bölümde eğitmen, Google ve dokümantasyon gibi harici kaynakları kullanarak araştırma yapmanın ve yeni konular öğrenmenin önemini tartışır. Öğrencileri eğitim kodunu 100 dönem boyunca çalıştırmaya ve ağırlık ve yanlılık değerlerini ve tahminleri incelemeye teşvik ederler. Eğitmen daha sonra test kodunu ve model.eval() işlevinin amacını açıklamaya devam eder; bu işlev, modelde test için gerekli olmayan, bırakma ve parti norm katmanları gibi ayarları kapatır. Ayrıca, torch.no_grad() işlevinin amacını ve bu aşamada herhangi bir öğrenme gerçekleşmediği için test sırasında gradyan izlemeyi nasıl kapattığını tartışıyorlar. Son olarak, test modunda model için ileri geçişin yazılmasıyla bölüm sona ermektedir.

  • 06:55:00 Bu bölümde video, PyTorch'ta model sıfır kullanılarak test tahminlerinin nasıl oluşturulacağını ve test kaybının nasıl hesaplanacağını öğretir. Test tahminleri, tıpkı kişinin daha önce hiç görmediği malzemeler hakkındaki bilgisini değerlendirir gibi, modelin daha önce hiç görmediği test veri seti üzerinde yapılır. Video, kötü sonuçlar almamak için modelin test veri setini değerlendirmeden önce görmesine izin vermemenin önemini açıklıyor. Model 100 epoch için eğitilirken, kod her 10 epoch'ta bir kayıp ve ne olduğunu yazdırır ve her epoch'ta kaybın azaldığı görülür. Video ayrıca daha sonra çıktısı alınabilecek olan model doğruluğu kavramını da tartışıyor.


PyTorch for Deep Learning & Machine Learning – Full Course
PyTorch for Deep Learning & Machine Learning – Full Course
  • 2022.10.06
  • www.youtube.com
Learn PyTorch for deep learning in this comprehensive course for beginners. PyTorch is a machine learning framework written in Python.✏️ Daniel Bourke develo...