Aracılığıyla paylaş


Microsoft Neural ağ algoritması teknik başvurusu

The Microsoft Neural Network uses a Multilayer Perceptron network, also called a Back-Propagated Delta Rule network, composed of up to three layers of neurons, or perceptrons.Bu katman bir giriş katmanı, isteğe bağlı bir gizli katmanı ve bir çıkış Katmanı ' dir.

Multilayer Perceptron neural ağların ayrıntılı bir tartışma'nin bu belgenin kapsam dışındadır.Bu konu, temel uygulama giriş ve çıkış değerlerini Normalleştir ve seçim yöntemlerini azaltmak için kullanılan özellik için kullanılan yöntem de dahil olmak üzere bu algoritmanın açıklar öznitelik önem.Bu konuda, Parametreler ve model sorgulama hakkında ek bilgilere bağlantılar sağlar ve algoritmanın davranışını özelleştirmek için kullanılan diğer ayarlar açıklanmaktadır.

Neural ağ algoritması Microsoft uygulamasıdır.

Her neuron Multilayer Perceptron neural ağındaki bir veya daha fazla girdi alır ve bir veya daha çok benzer çıkış oluşturur.Her çıktı bir Basit doğrusal olmayan için neuron girişlerinin toplamını işlevidir.Girdileri ileri giriş katmanındaki düğümlerinden düğümlerine gizli bir katmanda geçirmek ve sonra da gizli katmandan çıkış katmana aktarmak; bir katman içinde neurons arasında bağlantı yok.Hiçbir gizli bir katmanda, bir logistic regresyon modeline olarak içerilmişse, girdileri ileri doğrudan giriş katmanındaki düğümlerinden düğümler çıkış katmanı iletin.

Ile oluşturulan ağ neural neurons üç tür Microsoft Neural ağ algoritması:

  • Input neurons

    Giriş öznitelik değerleri için giriş neurons sağlamak veri araştırma modeli.Farklı giriş öznitelik s için bir giriş neuron genellikle tek bir durum girdisini gösteren öznitelik.Bu öznitelik için boş değerlere eğitim veri içeriyorsa, bu değerleri eksik içerir.Ayrı bir giriş öznitelik ikiden fazla olan durumları her durum için bir giriş neuron oluşturur ve eğitim verilerde herhangi bir boşluk varsa bir neuron eksik bir il girin.Sürekli BIR giriş özniteliği, iki giriş neurons oluşturur: eksik bir durum için bir neuron ve sürekli öznitelik değeri için bir neuron. Giriş neurons girişleri için bir veya daha çok gizli neurons sağlar.

  • Hidden neurons

    Gizli neurons giriş neurons girdileri almak ve çıkışlarını neurons çıkış sağlar.

  • Output neurons

    Çıkış neurons öngörülebilir bir öznitelik değerlerini gösteren veri araştırma modeli.Ayrı giriş öznitelikleri bir çıkış neuron genellikle eksik değerler de dahil olmak üzere, tahmin edilebilir bir öznitelik için tek bir tahmini durumunu gösterir.Örneğin, ikili ve öngörülebilir bir öznitelik değeri için bu özniteliği bulunup bulunmadığını belirtmek üzere bir eksik ya da varolan durumunu açıklayan bir çıkış düğümü oluşturur.Öngörülebilir bir öznitelik olarak kullanılan BIR Boole sütun üç çıkış neurons oluşturur: true değeri için bir neuron yanlış bir değer için bir neuron ve bir neuron eksik ya da varolan bir durum. Her durum için bir çıkış neuron ikiden fazla durumları olan ayrı öngörülebilir bir öznitelik oluşturur ve bir neuron eksik ya da varolan bir durum için çıktı.Sürekli tahmin edilebilir sütunları iki çıkış neurons oluşturur: eksik veya varolan bir durum için bir neuron ve sürekli sütun değeri için bir neuron. 500'Den fazla çıktı neurons gözden geçirerek oluşturulur, küme öngörülebilir bir sütun Analysis Services Yeni bir ağ ek çıktı neurons temsil etmek üzere madenciliği model oluşturur.

Giriş, BIR neuron diğer neurons veya hangi ağ katmanı bağlı olduğu diğer verileri alır.Giriş bir neuron girdileri, özgün verileri alır.Gizli neurons ve çıktı neurons girdileri neural ağındaki diğer neurons çıktısını alırsınız.Girdileri neurons arasındaki ilişkileri kurmak ve ilişkileri analiz belirli bir servis talebi için bir yol olarak hizmet eder.

Her girdi, adlı atanmış bir değeri olan Ağırlıkşirketinizle veya, belirli giriş gizli neuron veya çıktı neuron için önemini tanımlayan. Bu girdi değerinin bir giriş, daha ilgili veya önemli için atanan büyük ağırlığı.Ağırlıkları negatif olabilir, giriş engelle, yerine, belirli bir neuron etkinleştirmek gerekir.Değeri her girdi bir girdi için belirli bir neuron önemini vurgulamak için ağırlığı çarpılır.Negatif ağırlıkları için tarafından ağırlık değeri çarpımının etkisini önemi deemphasize sağlamaktır.

Her neuron, adlı atanmış Basit doğrusal olmayan bir işlev olan etkinleştirme işlevşirketinizle veya belirli bir neuron bu neural ağ katmanı için önemini tanımlayan. Neurons kullanımı gizli bir hiperbolik tanjantı ( işlevTANH) etkinleştirme işlev için çıkış neurons kullanın, ancak bir sigmoid işlevini etkinleştirme.Her iki işlev, giriş ve çıkış neurons arasındaki doğrusal olmayan ilişkiler modeli neural ağa izin doğrusal olmayan, sürekli işlevlerdir.

Eğitim Neural ağları

Birkaç adım kullanan bir veri araştırma modeli eğitim söz konusu Microsoft Neural ağ algoritması. Bu adımları çok algoritma parametreleri için belirttiğiniz değer etkilediği.

Algoritma, önce değerlendirir ve eğitim verileri veri kaynağından ayıklar.Yüzde olarak adlandırılan eğitim verileri gizleme verisi, ağ doğruluğunu değerlendiriliyor içinde kullanılmak üzere ayrıldı.Eğitim işlemi, ağ, eğitim verilerde her yineleme hemen sonra değerlendirilir.Artık, doğruluğu artırır, eğitim işlemi durduruldu.

Değerleri SAMPLE_SIZE ve HOLDOUT_PERCENTAGE Parametreler, servis taleplerini örnek için Eğitim verilerdeki sayısını ve gizleme verisi Owner konması için bir servis talebi sayısını belirlemek için kullanılır. Değeri HOLDOUT_SEED parametre rasgele Owner gizleme verisi olarak tek tek servis taleplerini belirlemek için kullanılır.

Not

Bu algoritma parametreleri bir sınama verileri tanımlamak için bir araştırma yapısı uygulanan HOLDOUT_SIZE ve HOLDOUT_SEED özellikleri farklıdır küme.

Algoritma, sonraki sayısını ve karmaşıklık ağların belirler, araştırma modeli destekler.Algoritma, araştırma modeli, yalnızca tahmin için kullanılan bir veya daha fazla öznitelik içeriyorsa, tüm özniteliklerini gösteren tek bir ağ oluşturur.Algoritma sağlayıcı, araştırma modeli girdi ve tahmin için kullanılan bir veya daha fazla öznitelik değerini içeriyorsa, her öznitelik için bir ağ oluşturur.

Ayrı değerleri olan giriş ve öngörülebilir özniteliklerini, her bir giriş veya çıkış neuron sırasıyla tek bir durumu temsil eder.Sürekli değerleri olan giriş ve öngörülebilir öznitelikleri her giriş veya çıkış neuron aralık ve dağıtım için öznitelik değerleri sırasıyla temsil eder.Ya da desteklenen en fazla durum sayısını durum durumunun değerine bağlı MAXIMUM_STATES algoritma parametresi. Belirli bir öznitelik için durumları sayısı değerini aşıyor, MAXIMUM_STATES algoritma parametresi, bu öznitelik için en yaygın veya ilgili durum, en fazla sayısı izin verilen, durumları için seçilir ve kalan durumları çözümleme amacıyla eksik değerleri olarak gruplandırılmıştır.

Algoritma, daha sonra değerini kullanır HIDDEN_NODE_RATIO Gizli katmanı için oluşturulacak neurons başlangıç sayısını belirlerken parametresi. Yapabilecekleriniz küme HIDDEN_NODE_RATIO gizli bir katmanda algoritması logistic regresyon neural ağ işlemek için madenciliği model oluşturur ağlardaki oluşturulmasını önlemek için 0.

Algoritma sağlayıcı yinelenen tüm girişleri için ağırlık ağ üzerinden aynı anda alarak değerlendirir küme önceden rezerve edilen veri eğitim ve gerçek bilinen değeri her durumda gizleme veri olarak da bilinen bir işlem içinde ağın tahmin ile karşılaştırma Toplu iş öğrenme.Algoritma tüm değerlendirilecek sonra küme veri eğitim algoritma her neuron tahmini ve gerçek değerini inceler.Algoritma, varsa, hata derecesini hesaplar ve gelen çıktı neurons neurons olarak bilinen bir işlem için geriye doğru çalışıyor, o neuron için girişleri ile ilişkili ağırlıkları ayarlar. backpropagation.Algoritma tüm sonra işlemin yinelenme küme eğitim veri.Algoritma birçok ağırlıkları destekler ve neurons çıkış için eğitim işlemi atama ve ağırlıklarını girişleri için Değerlendirme Kılavuzu conjugate Gradyan algoritma kullanılır.Gradyan conjugate algoritmanın BIR bir tartışma, bu belgenin kapsam dışındadır.

Özellik Seçimi

Giriş bir öznitelik sayısı değerinden büyük olup olmadığını MAXIMUM_INPUT_ATTRIBUTES parametre veya öngörülebilir bir öznitelik sayısı değerinden büyükse MAXIMUM_OUTPUT_ATTRIBUTES parametre, bir özellik seçim algoritmasını dahil edilen ağların karmaşıklığını azaltmak amacıyla kullanılan araştırma modeli. Özellik Seçimi, modele istatistiksel olarak en uygun olanlar için giriş veya öngörülebilir bir öznitelik sayısını azaltır.

Özellik seçimi otomatik olarak tüm tarafından kullanılır Analysis Services veri madenciliği algoritmaları, çözümleme geliştirmek ve işleme azaltmak için yüklenemedi. Özellik Seçimi neural ağ modeli için kullanılan yöntem özniteliği veri türüne bağlıdır.Başvuru, aşağıdaki tablo seçim yöntemlerini neural ağ modeller için kullanılan özellik gösterir ve ayrıca özelliği Neural ağ) algoritmasına dayanan Logistic regresyon algoritması için kullanılan bir seçim yöntemlerini gösterir.

Algoritma

Analiz yöntem

Açıklamalar

Neural ağ

Interestingness Skoru

Shannon'ın Entropisi

Bayesian K2 önceki ile

Bayesian Dirichlet ile Tekdüzen önceki (varsayılan)

Verileri sürekli bir sütun içeren sürece Neural ağları algoritması, her iki yöntem de kullanabilirsiniz.

Varsayılan.

Logistic regresyon

Interestingness Skoru

Shannon'ın Entropisi

Bayesian K2 önceki ile

Bayesian Dirichlet ile Tekdüzen önceki (varsayılan)

Bu algoritma için özellik seçimi davranışını denetlemek için bir parametre geçirilemez çünkü varsayılanlar kullanılır.Tüm öznitelikleri ayrı veya discretized, bu nedenle, BDEU varsayılandır.

Özellik Seçimi neural ağ model için denetleyen algoritma parametreleri MAXIMUM_INPUT_ATTRIBUTES MAXIMUM_OUTPUT_ATTRIBUTES ve MAXIMUM_STATES ' dir.Ayrıca, gizli bir katman sayısını HIDDEN_NODE_RATIO parametreyi ayarlayarak denetleyebilirsiniz.

Skor yöntemleri

Skor , yani bir neural ağ modeli eğitim kapsamında girişleri diğer türlerini karşılaştırma ve ağ ağırlıklı bir değere, ayrı bir metin etiketi gibi bir değer, dönüştürme işlemi normalleştirme türüdür.Örneğin, bir giriş özniteliği cinsiyet ve erkek ve Female olası değerler şunlardır; başka bir giriş gelir, değerlerini değişken bir dizi özniteliğidir, her öznitelik değerlerini doğrudan benzer değildir ve ağırlıkları hesaplanır, bu nedenle için ortak bir ölçek kodlanmış gerekir.Skor, sayısal değerler için bu tür girdileri normalleştirme işlemidir: Özellikle, bir olasılık aralık. Normalleştirme için kullanılan işlevler aşırı değerleri çözümlemesi sonuçlarını deforme böylece giriş değeri Tekdüzen ölçeğini daha eşit şekilde dağıtmak için de yardımcı olur.

Çıkış neural ağın da kodlanmıştır.Ne zaman tek bir hedef için Çıkış (tahmini) veya yalnızca tahmin için kullanılan birden çok hedef değil, giriş için model oluşturmak tek bir ağ ve bu değerleri normalize etmek gerekli görünebilir olmayan.Ancak, birden çok özniteliği girdi ve tahmin için kullanılan, model, birden çok ağ oluşturmanız gerekir; bu nedenle, tüm değerleri normalleştirilmiş ve bunlar ağ çıkmak gibi çıktıların çok kodlanmış gerekir.

Her bir ayrı değeri eğitim durumlarda toplamak ve bu değerle çarpımının girişleri için kodlama, Ağırlık tarafından dayanır.Bu adı verilen bir Ağırlıklı toplamıetkinleştirme için geçen işlev gizli bir katmanda. Bir z-puan kodlamak için aşağıdaki gibi kullanılır:

Ayrık değerler

μ = p – önceki bir durum olasılığı

Sürekli bir değer

Bugünkü değer: = 1 Μ/Σ

Değerleri kodlanmış sonra girdileri ağırlıklı, ağ kenarları ağırlıkları olarak toplamak aracılığıyla gidin.

Çıkış için kodlamayı sigmoid kullanan işlev, sahip olduğu, tahmin için çok yararlı özellikleri.Bir özellik, özgün değerleri nasıl ölçeklenir ne olursa olsun, ve değer negatif veya pozitif olmanıza bakılmaksızın, bu işlevin çıktı her zaman 0 ve değerler bir tahmin etmek için uygundur, ve 1 arasında bir değer.Değerleri daha uzağa inflection noktası geçtiğinizde, olasılık değeri 0 veya 1'de, doğru ancak çok yavaş hareket başka bir kullanışlı özellik sigmoid işlev bir düzeltme etkin olduğundan, böylece.

Neural ağ algoritması'nı özelleştirme

The Microsoft Neural Network algorithm supports several parameters that affect the behavior, performance, and accuracy of the resulting araştırma modeli. Ayrıca, veri sütunlarda bayraklarını modelleme ayarlayarak veya sütundaki değerlerin nasıl işleneceğini belirtmek için dağıtım bayraklarını ayarlayarak model işleme biçimini değiştirebilirsiniz.

Algoritma parametreleri ayarlama

Aşağıdaki tabloda, Microsoft Neural ağ algoritması ile kullanılan parametrelerini açıklar.

  • hidden_node_ratio
    Giriş için gizli neurons oranını belirtir ve neurons çıkış.Aşağıdaki formül, gizli bir katmanda neurons başlangıç sayısını belirler:

    HIDDEN_NODE_RATIO * SQRT(Total input neurons * Total output neurons)

    Varsayılan değer 4,0’dır.

  • holdout_percentage
    Eğitim veri araştırma modeli eğitimi sırasında durdurma ölçütünün bir parçası olarak kullanılan gizleme hata hesaplamakta kullanılan içinde taleplerinin yüzdesini belirtir.

    Varsayılan değer 30’dır.

  • holdout_seed
    Algoritma rasgele gizleme verisi belirlediğinde üretir oluşturucu temel için kullanılan bir sayı belirtir.Bu parametre, küme 0, içerik modeli aynı reprocessing sırasında kalmasını güvence altına almak için madenciliği modelinin adı temel alınarak çekirdek algoritma oluşturur.

    Varsayılan değer 0’dır.

  • maximum_input_attributes
    En önce bu özellik seçimi kullanılan algoritma için sağlanan giriş öznitelikleri belirler.Bu değeri 0 olarak ayarlandığında özellik seçimi giriş öznitelikleri için devre dışı bırakır.

    Varsayılan değer 255’dır.

  • maximum_output_attributes
    En önce bu özellik seçimi kullanılan algoritma için sağlanan çıkış öznitelikleri belirler.Bu değeri 0 olarak ayarlandığında özellik seçimi çıkış öznitelikleri için devre dışı bırakır.

    Varsayılan değer 255’dır.

  • maximum_states
    Ayrı durum algoritması tarafından desteklenen bir öznitelik başına en fazla sayısını belirtir.Belirli bir öznitelik için durum sayısını, bu parametre için belirtilen sayıdan büyükse, algoritma bu öznitelik için en yaygın durumlara kullanır ve kalan durumları eksik olarak nitelendirir.

    Varsayılan değer 100’dır.

  • sample_size
    Model eğitmek için kullanılacak bir servis talebi sayısını belirtir.Bu sayı veya yüzde olarak toplam servis talepleri HOLDOUT_PERCENTAGE parametresi tarafından belirtilen gizleme verisi bulunmayan algoritması kullanır, hangi değer daha küçüktür.

    Baþka bir deyiþle, HOLDOUT_PERCENTAGE 30'a ayarlı ise, karma algoritması bu parametrenin değeri veya değeri yüzde 70'toplam servis talebi sayısı eşit olarak kullanır, hangisi daha küçükse.

    Varsayılan değer 10000’dır.

Flags model oluşturma

Aşağıdaki bayraklardan modelleme kullanılmak üzere desteklenen Microsoft Neural ağ algoritması.

  • null DEĞİL
    Sütun null içeremez gösterir.Analysis Services null karşılaşırsa modeli eğitim sırasında bir hata neden olur.

    araştırma yapısı sütunlar için geçerlidir.

  • model_existence_only
    Model değeri için öznitelik varolup olmadığından veya bir değeri eksik ise yalnızca düşünmelisiniz gösterir.Tam değeri önemli değildir.

    araştırma modeli sütunlar için geçerlidir.

Dağıtım bayrakları

Aşağıdaki bayraklardan dağıtım ile kullanılmak üzere desteklenen Microsoft Neural ağ algoritması. Bayrakları, yalnızca modeline ipuçları olarak kullanılır; bu algoritmanın farklı bir dağıtım algılarsa değil ipucu sağlanan dağıtım bulunan dağılımı kullanır.

  • Normal
    Içinde değerleri gösterir sütun normal veya Gauss, dağıtım temsil ettikleri rağmen bu güvenlik açığından değerlendirilmelidir.

  • Tekdüzen
    Içinde değerleri gösterir sütun birörnek dağıtılmış rağmen bu güvenlik açığından değerlendirilmelidir; diğer bir deyişle, herhangi bir değer olasılığını kabaca eşit olduğu ve değerlerin toplam sayısını bir işlevidir.

  • Normal oturum
    Içinde değerleri gösterir sütun göre dağıtılan rağmen bu güvenlik açığından değerlendirilmelidir Normal oturum eğri değerleri logaritması normal olarak dağıtılmıştır anlamına gelir.

Gereksinimler

Bir neural ağ modeli, en az bir giriş sütun ve bir çıkış sütun içermeli.

Girdi ve öngörülebilir bir sütun

The Microsoft Neural Network algorithm supports the specific input columns and predictable columns that are listed in the following tablo.

Sütun

Içerik türleri

Giriş bir öznitelik

Sürekli, Döngüsel, ayrı, Discretized, anahtar, tablo ve sipariş

Öngörülebilir bir öznitelik

Sürekli, Döngüsel ayrı, Discretized ve Siparişli

Not

Cyclical ve sipariş edilmiş içerik türleri desteklenir, ancak algoritma bunları gibi farklı değerleri kabul eder ve özel bir işlem gerçekleştirmez.