Aracılığıyla paylaş


İki Sınıflı Sinir Ağı

Bir sinir ağ algoritması kullanarak ikili bir sınıflandırıcı 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, yalnızca iki değere sahip bir hedefi tahmin etmek için kullanılabilecek bir sinir ağ modeli oluşturmak için Machine Learning Studio 'da (klasik) iki sınıf sinir ağ modülünün nasıl kullanılacağı açıklanır.

Sinir Networks kullanan sınıflandırma, denetimli bir öğrenme yöntemidir ve bu nedenle etiket sütunu içeren etiketli bir veri kümesigerektirir. Örneğin, bir hastanın belirli bir zaman çerçevesinde mi yoksa bir bilgisayarın başarısız olup olmadığı gibi ikili sonuçları tahmin etmek için bu sinir ağ modelini kullanabilirsiniz.

Modeli tanımladıktan sonra modeli eğitme veya model hiper parametrelerini ayarlamakiçin giriş olarak etiketli bir veri kümesi ve model sağlayarak bunu eğitme. Eğitilen model daha sonra yeni girişler için değerleri 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.

Two-Class sinir ağını yapılandırma

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

  2. Model oluşturma modunu ayarlayarak modelin eğitilme şeklini belirleyin.

    • 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 bu seçeneği belirleyin. Ardından, bir dizi değer belirtin ve birleşimler üzerinde yinelemek ve en iyi yapılandırmayı bulmak için model hiper parametrelerini ayarla modülünü kullanın.

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

    • Tam bağlantılı durum: iki sınıf sinir ağları için tanımlanan varsayılan sinir ağ mimarisini aşağıdaki gibi kullanır:

      • , Bir gizli katmana sahiptir.

      • Çıktı Katmanı gizli katmana tamamen bağlanır ve gizli katman giriş katmanına tam olarak bağlanır.

      • Giriş katmanındaki düğümlerin sayısı eğitim verilerinde özelliklerin sayısına eşittir.

      • Gizli katmandaki düğümlerin sayısı Kullanıcı tarafından ayarlanır. Varsayılan değer 100’dür.

      • Düğüm sayısı, sınıfların sayısına eşittir. İki sınıflı bir sinir ağı için bu, tüm girişlerin çıkış katmanındaki iki düğümden birine eşlenmesi gerektiği anlamına gelir.

    • Özel tanım betiği: net # dilinikullanarak özel bir sinir ağ mimarisi oluşturmak için bu seçeneği belirleyin. Bu seçenekle gizli katmanların sayısını, bağlantılarını ve Katmanlar arasındaki eşlemeleri tanımlayabilirsiniz.

    Özel Betik seçeneğini belirledikten sonra, sinir ağ tanımı metin kutusuna ağı tanımlayan net # deyimlerini yazın veya yapıştırın. Örnekler için bkz. net # sinir Networks belirtim diline yönelik kılavuz.

  4. Betik seçeneğini kullanmıyorsanız, gizli düğüm sayısınıkullanın ve gizli düğümlerin sayısını yazın. Varsayılan değer, 100 düğümü olan bir gizli katmandır.

  5. Learning hıziçin, 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.

  6. Öğrenme yinelemeleri sayısıiçin, algoritmanın eğitim çalışmalarını kaç kez işlemesi gerektiğini belirtin.

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

  8. İtici güçiçin, önceki yinelemelerdeki düğümlere öğrenme sırasında uygulanacak ağırlığı belirtin

  9. Normalleştirici türü' nde, özellik normalleştirme için kullanılacak bir yöntem seçin. Aşağıdaki normalleştirme yöntemleri desteklenir:

    • Normalleştirilmiş normalleştirici: binme normalleştirici, eşit büyüklükte depo gözleri oluşturuyor ve sonra her bir sepetteki her değeri normalleştirir ve toplam bölme sayısına göre sıralar.

    • 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.

  10. Yinelemeler arasındaki örnekleri karıştırmak için karışık örnekler seçeneğini 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.

  11. Rastgele sayıiçin çekirdek olarak kullanılacak bir değer yazın.

    Bir çekirdek değeri belirtilmesi, aynı denemenin yinelenebilirlik arasında çalışmasını sağlamak istediğinizde faydalıdır. Aksi takdirde, bir sistem saati değeri çekirdek olarak kullanılır ve bu da denemeyi her çalıştırdığınızda biraz farklı sonuçlara neden olabilir.

  12. Eğitim ve doğrulama kümelerinde bilinmeyen değerler için bir gruplama oluşturmak üzere Bilinmeyen kategorik düzeylerine Izin ver seçeneğini 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.

  13. Denemeye etiketli bir veri kümesi ekleyin ve eğitim modüllerdenbirini bağlayın.

    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, diğer parametreler bir değer aralığı boyunca değişse bile, bu tek değer tarama boyunca kullanılır.

  14. Denemeyi çalıştırın.

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 Galerisibakın. Bu denemeleri birbirleriyle ilgilidir ve temel ve gelişmiş yapılandırmalara ilerlediği tek bir belgede açıklanmıştır:

Teknik notlar

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

NET hakkında daha fazla bilgi #

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 (bazen gizli katmanlar olarak adlandırılır, model içinde olduklarından) tanımlayabilir ve bunlar doğrudan bitiş noktaları olarak gösterilmeyebilir.

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 dengeli bir miktar (yineleme) 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 Min-Max normalleştirici Öğrenme örneklerine uygulanacak normalleştirme türünü seçin
Öğrenme yinelemesi sayısı >değer Tamsayı 100 Öğrenme sırasında gerçekleştirilen yineleme sayısını belirtin
Örnekleri karıştır Herhangi biri Boole true Öğ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ı belirtir. 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 ikili sınıflandırma modeli

Ayrıca bkz.

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