Çok Sınıflı Sinir Ağı

Önemli

Machine Learning Stüdyosu (klasik) desteği 31 Ağustos 2024'te sona erecektir. Bu tarihe kadar Azure Machine Learning'e geçmenizi öneririz.

1 Aralık 2021'den başlayarak artık yeni Machine Learning Stüdyosu (klasik) kaynakları oluşturamayacaksınız. 31 Ağustos 2024'e kadar mevcut Machine Learning Stüdyosu (klasik) kaynaklarını kullanmaya devam edebilirsiniz.

ML Stüdyosu (klasik) belgeleri kullanımdan kaldırılacak ve gelecekte güncelleştirilmeyecektir.

Bir sinir ağ algoritması kullanarak çok bir Lass sınıflandırma modeli oluşturur

kategori: Model/sınıflandırmayı Machine Learning/başlat

Not

uygulama hedefi: yalnızca Machine Learning Studio (klasik)

benzer sürükle ve bırak modülleri Azure Machine Learning tasarımcısındakullanılabilir.

Modüle genel bakış

bu makalede, birden fazla değere sahip bir hedefi tahmin etmek için kullanılabilecek bir sinir ağ modeli oluşturmak için Machine Learning Studio 'da (klasik) çok lass sinir ağ modülünün nasıl kullanılacağı açıklanır.

Örneğin, bu türdeki sinir ağları, sayı veya mektup tanıma, belge sınıflandırması ve model tanıma gibi karmaşık bilgisayar görme görevlerinde kullanılabilir.

Sinir Networks kullanan sınıflandırma, denetimli bir öğrenme yöntemidir ve bu nedenle etiket sütunu içeren etiketli bir veri kümesi gerektirir.

Modeli eğitme veya model hiper parametrelerini ayarlamakiçin model ve etiketli veri kümesini bir giriş olarak sağlayarak modeli eğitebilirsiniz. Eğitilen model daha sonra yeni giriş örneklerinin değerlerini tahmin etmek için kullanılabilir.

Sinir Networks hakkında daha fazla bilgi

Bir sinir ağı, birbirine bağlı bir katman kümesidir. Girişler ilk katmandır ve ağırlıklı kenarlardan ve düğümlerden oluşan Çevrimsiz bir grafik tarafından çıkış katmanına bağlanır.

Giriş ve çıkış katmanları arasında birden çok gizli katman ekleyebilirsiniz. En tahmine dayalı görevler, yalnızca bir veya birkaç gizli katman ile kolayca gerçekleştirilebilir. Ancak, son araştırma, çok sayıda katmanlı derin sinir ağların (DNN), görüntü veya konuşma tanıma gibi karmaşık görevlerde çok etkili olduğunu göstermiştir. Art arda gelen katmanlar, daha yüksek semantik derinlik düzeylerini modellemek için kullanılır.

Girişler ve çıktılar arasındaki ilişki, giriş verilerinde sinir ağını öğreticiden öğrenilir. Grafiğin yönü, girdilerin gizli katman ve çıkış katmanına göre ilerler. Bir katmandaki tüm düğümler, sonraki katmandaki düğümlere ağırlıklı kenarlar ile bağlanır.

Belirli bir girdi için ağın çıkışını hesaplamak üzere, Gizli katmanlardaki ve çıkış katmanındaki her bir düğümde bir değer hesaplanır. Değer, önceki katmandaki düğümlerin değerlerinin ağırlıklı toplamı hesaplanarak ayarlanır. Daha sonra bu ağırlıklı Sum için bir etkinleştirme işlevi uygulanır.

Birden çok Lass sinir ağını yapılandırma

  1. Studio 'daki (klasik) çok Lass sinir ağ modülünü denemenize ekleyin. bu modülü, sınıflandırma kategorisinde Machine Learning, ınitializealtında bulabilirsiniz.

  2. Eğitmen modu oluşturma: modelin nasıl eğitilme etmek istediğinizi belirtmek için bu seçeneği kullanın:

    • Tek parametre: modeli nasıl yapılandırmak istediğinizi zaten biliyorsanız bu seçeneği belirleyin.

    • Parametre aralığı: en iyi parametrelerden emin değilseniz ve bir parametre tarama kullanmak istiyorsanız bu seçeneği belirleyin. Daha sonra bir değer aralığı belirtin ve birleşimler üzerinde yineleme yapmak ve en iyi yapılandırmayı bulmak için model hiper parametrelerini ayarla modülünü kullanın.

  3. Gizli katman belirtimi: oluşturulacak ağ mimarisi türünü seçin.

    • Tam bağlantılı durum: varsayılan sinir ağ mimarisini kullanarak bir model oluşturmak için bu seçeneği belirleyin. Birden çok Lass sinir ağ modelleri için varsayılanlar aşağıdaki gibidir:

      • Bir gizli katman
      • Çıktı Katmanı gizli katmana tam olarak bağlanır.
      • Gizli katman, giriş katmanına tam olarak bağlanır.
      • Giriş katmanındaki düğümlerin sayısı eğitim verilerinde özelliklerin sayısına göre belirlenir.
      • Gizli katmandaki düğümlerin sayısı Kullanıcı tarafından ayarlanabilir. Varsayılan değer 100'dür.
      • Çıkış katmanındaki düğümlerin sayısı, sınıfların sayısına bağlıdır.
    • Özel tanım betiği. NET # dilini kullanarak özel bir sinir ağ mimarisi oluşturmak için bu seçeneği belirleyin. Gizli katmanların sayısını, bunların bağlantılarını ve Katmanlar arasındaki eşlemeleri belirtme gibi gelişmiş seçenekleri tanımlayabilirsiniz. NET # uygulamasına giriş için bu konunun ilerleyen kısımlarında net # hakkında daha fazla bilgi bulabilirsiniz.

  4. Sinir ağ tanımı: özel mimari seçeneğini belirlediyseniz, net # dilinde yazılmış deyimlere yazmak veya yapıştırmak için metin kutusunu kullanın. Ek betik örnekleri için bkz. net # sinir Networks belirtim diline yönelik kılavuz.

  5. Gizli düğümlerin sayısı: Bu seçenek, varsayılan mimarideki gizli düğüm sayısını özelleştirmenizi sağlar. Gizli düğümlerin sayısını yazın. Varsayılan değer, 100 düğümü olan bir gizli katmandır.

  6. Öğrenme oranı: düzeltmeden önce her yinelemede gerçekleştirilen adımın boyutunu tanımlayın. Öğrenme oranı için daha büyük bir değer modelin daha hızlı yakınsama olmasına neden olabilir, ancak yerel Mini ma 'yı aşırı gerçekleştirebilir.

  7. Öğrenme yinelemesi sayısı: algoritmanın eğitim çalışmalarını kaç kez işlemesi gerektiğini belirtin.

  8. İlk öğrenme ağırlıkları çapı: öğrenme sürecinin başlangıcında düğüm ağırlıklarını belirtin.

  9. İtici güç: önceki yinelemelerdeki düğümlere öğrenme sırasında uygulanacak ağırlığı belirtin.

  10. Normalleştirici türü: Özellik normalleştirme için kullanılacak yöntemi seçin. Aşağıdaki normalleştirme yöntemleri desteklenir:

    • Binme: normalleştirici, eşit büyüklükte depo gözleri oluşturuyor ve ardından her bir sepetteki her değeri normalleştirir ve toplam bölme sayısına göre çarpır.

    • Gauss normalleştirici: Gauss normalleştirici her bir özelliğin değerlerini 0 ve varyans 1 ' e sahip olacak şekilde yeniden ayırır. Bu, her bir özelliğin ortalaması ve varyansı hesaplanırken yapılır. Her örnek için, ortalama değer çıkarılır ve sonuç, farkının kare köküne (Standart sapma) bölünür.

    • Min-Max normalleştirici: Min-Max normalleştirici her özelliği [0, 1] aralığına göre.

      [0, 1] aralığına yeniden boyutlandırılması, en az değer 0 olacak şekilde her bir özelliğin değerlerini değiştirerek ve sonra yeni maxhayvan değeri (özgün maxhayvan ve en düşük değerler arasındaki fark) ile bölünerek yapılır.

    • Normalleştirin: hiçbir normalleştirme yapılmaz.

  11. Örnekleri karıştır: yinelemeler arasındaki örnekleri karıştırmak için bu seçeneği belirleyin.

    Bu seçeneğin işaretini kaldırırsanız, denemeler her çalıştırdığınızda her zaman tam olarak aynı sırada işlenir.

  12. Rastgele sayı çekirdek: aynı denemenin yinelenebilirlik arasında çalışmasını sağlamak istiyorsanız, çekirdek olarak kullanılacak bir değer yazın.

  13. Bilinmeyen kategorik düzeylerine Izin ver: eğitim ve doğrulama kümelerinde bilinmeyen değerler için bir gruplama oluşturmak üzere bu seçeneği belirleyin. Model bilinen değerler üzerinde daha az kesin olabilir, ancak yeni (bilinmiyor) değerler için daha iyi tahminler sağlar.

    Bu seçeneğin işaretini kaldırırsanız model yalnızca eğitim verilerinde bulunan değerleri kabul edebilir.

  14. eğitim veri kümesini ve eğitim modüllerdenbirini Bağlan:

    Not

    Modeli Eğiteetmekiçin bir parametre aralığı geçirirseniz, parametre aralığı listesindeki yalnızca ilk değeri kullanır.

    Tek bir parametre değerleri kümesini ayarlama modeli hiper parametreleri modülüne geçirirseniz, her parametre için bir dizi ayar beklerken, değerleri yoksayar ve öğrenici için varsayılan değerleri kullanır.

    Parametre aralığı seçeneğini belirleyip herhangi bir parametre için tek bir değer girerseniz, belirtilen tek değer, diğer parametrelerin bir değer aralığı üzerinde değişse bile, tarama boyunca kullanılır.

Sonuçlar

Eğitim tamamlandıktan sonra:

  • Modellerden öğrenilen Özellik ağırlıklarından ve sinir ağın diğer parametrelerine sahip model parametrelerinin özetini görmek için, model eğitme veya model hiper parametrelerini ayarlamaçıkışına sağ tıklayın ve Görselleştir' i seçin.

  • Eğitilen modelin anlık görüntüsünü kaydetmek için eğitilen model çıktısına sağ tıklayın ve eğitilen model olarak kaydet' i seçin. Bu model, aynı deneyin art arda çalıştırmaları üzerinde güncelleştirilmemiş.

  • Etiketli bir veri kümesine karşı çapraz doğrulama gerçekleştirmek için eğitilen modeli çapraz doğrulama modelinebağlayın.

Örnekler

Bu öğrenme algoritmasının nasıl kullanıldığına ilişkin örnekler için Azure yapay zeka GalerisiBu örnek denemeleri bakın. Denemeleri ile ilgilidir ve temel ve gelişmiş yapılandırmalara ilerlediği tek bir belgede açıklanmaktadır:

Teknik notlar

Bu bölümde, sık sorulan soruların uygulama ayrıntıları, ipuçları ve yanıtları yer almaktadır.

Betiği kullanarak sinir ağını özelleştirme

Machine Learning Studio 'da (klasik), Net # dilini kullanarak bir sinir ağ modelinin mimarisini özelleştirebilirsiniz. NET # dili tarafından desteklenen özelleştirmeler şunlardır:

  • Gizli katmanların sayısını ve her katmandaki düğüm sayısını belirtme
  • Katmanlar arasında eşlemeler belirtme
  • Evler ve ağırlık paylaşım paketleri tanımlama
  • Etkinleştirme işlevini seçme

Bir sinir ağ modeli, grafiğin yapısı tarafından tanımlanır ve bu öznitelikleri içerir:

  • Gizli katmanların sayısı
  • Her gizli katmandaki düğümlerin sayısı
  • Katmanların bağlanması
  • Hangi etkinleştirme işlevinin kullanıldığı
  • Grafik kenarlarındaki ağırlıklar

Önemli

Grafiğin genel yapısının yanı sıra etkinleştirme işlevi de Kullanıcı tarafından belirtilebilir. Ancak, kenarlardaki ağırlıklar belirtilemez ve giriş verilerinde sinir ağı eğitiminde öğrenilmesi gerekir.

Genel olarak, ağ şu varsayılan değerlere sahiptir:

  • İlk katman her zaman giriş katmanıdır.
  • Son katman her zaman çıkış katmanıdır.
  • Çıkış katmanındaki düğümlerin sayısı, sınıf sayısına eşit olmalıdır.

Herhangi bir sayıda ara katman tanımlayabilirsiniz: Bunlar bazen, model içinde olduklarından ve doğrudan uç nokta olarak gösterilmediği için gizli katmanlar olarak adlandırılır.

NET # Reference Guide, sözdizimini açıklar ve örnek ağ tanımlarını sağlar. Gizli katmanları eklemek ve farklı katmanların birbirleriyle etkileşim kurma şeklini tanımlamak için net # ' i nasıl kullanabileceğinizi açıklar.

Örneğin, aşağıdaki komut, giriş ve çıkış katmanları için özellik sayısını otomatik olarak ayarlayan ve gizli katman için varsayılan değerleri kullanan anahtar sözcüğünü kullanır auto .

input Data auto;  
hidden Hidden auto from Data all;  
output Result auto from Hidden all;   

Ek betik örnekleri için bkz. net # sinir Networks belirtim diline yönelik kılavuz.

İpucu

Sinir Networks, bir dizi hiper parametre ve özel ağ topolojilerinin kullanıma sunulmasından dolayı hesaplama açısından pahalı olabilir. Birçok durumda sinir Networks, diğer algoritmalardan daha iyi sonuçlar üretse de, bu tür sonuçlar elde etmek hiper parametrelere göre (yinelemeler) dengeli bir miktar içerebilir.

Modül parametreleri

Name Aralık Tür Varsayılan Description
Gizli katman belirtimi Liste Sinir ağ topolojisi Tam bağlantılı durum Gizli katman veya katmanların mimarisini belirtin
İlk öğrenme ağırlıkları çapı >= Double. Upsilon Float 0.1 Öğrenme işleminin başlangıcında düğüm ağırlıklarını belirtin
Öğrenme oranı Çift. Epsilon; 1.0] Float 0.1 Öğrenme işlemindeki her adımın boyutunu belirtin
İtici güç [0.0; 1.0] Float 0,0 Önceki yinelemelerdeki düğümlere öğrenme sırasında uygulanacak ağırlığı belirtin
Sinir ağ tanımı Herhangi biri StreamReader Özel tanım betiği' ni seçtiğinizde, bir özel sinir ağının katmanlarını, düğümlerini ve davranışını tanımlamak için her satıra geçerli bir betik ifadesi yazın
Normalleştirici türü Liste Normalleştirme yöntemi En az normalleştirici Öğrenme örneklerine uygulanacak normalleştirme türünü seçin
Öğrenme yinelemesi sayısı >değer Tamsayı 100 Öğrenirken yineleme sayısını belirtin
Örnekleri karıştır Herhangi biri Boole Doğru Öğrenme yinelemeleri arasındaki örneklerin sırasını değiştirmek için bu seçeneği belirleyin
Rastgele sayı çekirdek Herhangi biri Tamsayı Rastgele sayı üretimi için kullanılacak sayısal bir çekirdek belirtin. Varsayılan tohum 'yi kullanmak için boş bırakın.
Bilinmeyen kategorik düzeylerine izin ver Herhangi biri Boole Doğru Bilinmeyen kategoriler için ek düzeyin oluşturulup oluşturulmayacağını belirtin. Test veri kümesi, eğitim veri kümesinde mevcut olmayan kategoriler içeriyorsa, bu bilinmeyen düzeye eşlenir.

Çıktı

Ad Tür Description
Eğitilen model ILearner arabirimi Eğitilen birden çok sınıf sınıflandırma modeli

Ayrıca bkz.

Sınıflandırma
İki Sınıflı Sinir Ağı
Sinir Ağı Regresyonu
A-Z modül listesi