Vowpal Wabbit Modelini Eğitme

Bu makalede, Vowpal Wabbit kullanarak makine öğrenmesi modeli oluşturmak için Azure Machine Learning tasarımcısında Vowpal Wabbit Modeli eğitin bileşeninin nasıl kullanılacağı açıklanmaktadır.

Makine öğrenmesi için Vowpal Wabbit kullanmak için girişlerinizi Vowpal Wabbit gereksinimlerine göre biçimlendirin ve verileri gerekli biçimde hazırlayın. Vowpal Wabbit komut satırı bağımsız değişkenlerini belirtmek için bu bileşeni kullanın.

İşlem hattı çalıştırıldığında, belirtilen verilerle birlikte deneme çalışma zamanına Vowpal Wabbit örneği yüklenir. Eğitim tamamlandığında model çalışma alanına geri serileştirilir. Verileri puan almak için modeli hemen kullanabilirsiniz.

Mevcut bir modeli yeni veriler üzerinde artımlı olarak eğitmek için kaydedilmiş bir modeli Train Vowpal Wabbit Modeli'nin Önceden eğitilmiş Vowpal Wabbit modeli giriş bağlantı noktasına bağlayın ve yeni verileri diğer giriş bağlantı noktasına ekleyin.

Vowpal Wabbit nedir?

Vowpal Wabbit (VW), Yahoo! tarafından dağıtılmış bilgi işlem için geliştirilmiş hızlı ve paralel bir makine öğrenmesi çerçevesidir Araştırma. Daha sonra Windows'a geçirildi ve John Langford (Microsoft Research) tarafından paralel mimarilerde bilimsel bilgi işlem için uyarlandı.

Makine öğrenmesi için önemli olan Vowpal Wabbit özellikleri arasında sürekli öğrenme (çevrimiçi öğrenme), boyutsallık azaltma ve etkileşimli öğrenme sayılabilir. Vowpal Wabbit, model verilerini belleğe sığdıramadığınızda ortaya çıkan sorunlar için de bir çözümdür.

Vowpal Wabbit'in birincil kullanıcıları daha önce sınıflandırma, regresyon, konu modellemesi veya matris çarpanları oluşturma gibi makine öğrenmesi görevleri için çerçeveyi kullanan veri bilimcilerdir. Vowpal Wabbit için Azure sarmalayıcı, şirket içi sürüme çok benzer performans özelliklerine sahiptir, böylece Vowpal Wabbit'in güçlü özelliklerini ve yerel performansını kullanabilir ve eğitilen modeli operasyonel bir hizmet olarak kolayca yayımlayabilirsiniz.

Özellik Karması bileşeni ayrıca Vowpal Wabbit tarafından sağlanan ve metin veri kümelerini karma algoritması kullanarak ikili özelliklere dönüştürmenizi sağlayan işlevleri de içerir.

Vowpal Wabbit Modelini yapılandırma

Bu bölümde yeni modeli eğitmek ve var olan bir modele yeni veri eklemek açıklanmaktadır.

Tasarımcıdaki diğer bileşenlerin aksine, bu bileşen hem bileşen parametrelerini belirtir hem de modeli eğiter. Mevcut bir modeliniz varsa, modeli artımlı olarak eğitmek için isteğe bağlı giriş olarak ekleyebilirsiniz.

Girdi verilerini hazırlama

Bu bileşeni kullanarak bir modeli eğitmek için, giriş veri kümesinin desteklenen iki biçimden birinde tek bir metin sütunundan oluşması gerekir: SVMLight veya VW. Bu, Vowpal Wabbit'in yalnızca metin verilerini analiz etmesi anlamına gelmez, yalnızca özelliklerin ve değerlerin gerekli metin dosyası biçiminde hazırlanması gerektiği anlamına gelmez.

Veriler, dosya veri kümesi veya tablosal veri kümesi olmak üzere iki tür veri kümesinden okunabilir. Bu veri kümelerinin her ikisi de SVMLight veya VW biçiminde olmalıdır. Vowpal Wabbit veri biçimi, seyrek verilerle uğraşırken alan tasarrufu sağlayan sütunlu bir biçim gerektirmeme avantajına sahiptir. Bu biçim hakkında daha fazla bilgi için Vowpal Wabbit wiki sayfasına bakın.

Vowpal Wabbit modeli oluşturma ve eğitma

  1. Denemenize Vowpal Wabbit Modelini Eğit bileşenini ekleyin.

  2. Eğitim veri kümesini ekleyin ve Eğitim verilerine bağlayın. Eğitim veri kümesi eğitim veri dosyasını içeren bir dizinse eğitim veri dosyasının adını eğitim veri dosyasının Adı ile belirtin. Eğitim veri kümesi tek bir dosyaysa Eğitim veri dosyasının adı'nı boş bırakın.

  3. VW bağımsız değişkenleri metin kutusuna Vowpal Wabbit yürütülebilir dosyası için komut satırı bağımsız değişkenlerini yazın.

    Örneğin, öğrenme hızını belirtmek veya -b karma bit sayısını belirtmek için öğesini ekleyebilirsiniz–l.

    Daha fazla bilgi için Vowpal Wabbit parametreleri bölümüne bakın.

  4. Eğitim veri dosyasının adı: Giriş verilerini içeren dosyanın adını yazın. Bu bağımsız değişken yalnızca eğitim veri kümesi bir dizin olduğunda kullanılır.

  5. Dosya türünü belirtin: Eğitim verilerinizin hangi biçimi kullandığını belirtin. Vowpal Wabbit şu iki giriş dosyası biçimlerini destekler:

    • VW , Vowpal Wabbit tarafından kullanılan iç biçimi temsil eder. Ayrıntılar için Vowpal Wabbit wiki sayfasına bakın.
    • SVMLight , diğer bazı makine öğrenmesi araçları tarafından kullanılan bir biçimdir.
  6. Okunabilir model dosyası çıktısı: Bileşenin okunabilir modeli iş kayıtlarına kaydetmesini istiyorsanız bu seçeneği belirleyin. Bu bağımsız değişken VW komut satırındaki parametreye karşılık gelir --readable_model .

  7. Ters karma dosyasının çıkışını alın: Bileşenin ters karma işlevini iş kayıtlarındaki bir dosyaya kaydetmesini istiyorsanız bu seçeneği belirleyin. Bu bağımsız değişken VW komut satırındaki parametreye karşılık gelir --invert_hash .

  8. İşlem hattını gönderin.

Mevcut Vowpal Wabbit modelini yeniden eğitme

Vowpal Wabbit, mevcut modele yeni veriler ekleyerek artımlı eğitimi destekler. Mevcut modeli yeniden eğitmek için almanın iki yolu vardır:

  • Aynı işlem hattında başka bir Train Vowpal Wabbit Modeli bileşeninin çıkışını kullanın.

  • Tasarımcının sol gezinti bölmesinin Veri kümeleri kategorisinde kayıtlı bir modeli bulun ve işlem hattınıza sürükleyin.

  1. Vowpal Wabbit Modelini Eğit bileşenini işlem hattınıza ekleyin.

  2. Önceden eğitilmiş modeli bileşenin Önceden eğitilmiş Vowpal Wabbit Modeli giriş bağlantı noktasına bağlayın.

  3. Yeni eğitim verilerini bileşenin Eğitim verileri giriş bağlantı noktasına bağlayın.

  4. Vowpal Wabbit Modelini Eğitin parametreleri bölmesinde, yeni eğitim verilerinin biçimini ve giriş veri kümesi bir dizinse eğitim veri dosyası adını belirtin.

  5. İlgili dosyaların iş kayıtlarına kaydedilmesi gerekiyorsa Çıkış okunabilir model dosyasını ve Ters karma dosya çıktısı seçeneklerini belirleyin.

  6. İşlem hattını gönderin.

  7. Azure Machine Learning çalışma alanınızda güncelleştirilmiş modeli korumak için bileşeni seçin ve sağ bölmedeki Çıkışlar+günlükler sekmesinin altında Veri kümesini kaydet'i seçin. Yeni bir ad belirtmezseniz, güncelleştirilmiş model mevcut kaydedilen modelin üzerine yazar.

Sonuçlar

Not

Eğitilen modeli tasarımcıda dağıtmanız gerekiyorsa, Modeli Puanla yerine Vowpal Wabbit Modelini Puanla seçeneğinin çıkarım işlem hattındaki Web Hizmeti Çıktısı bileşeninin girişine bağlı olduğundan emin olun.

Teknik notlar

Bu bölüm uygulama ayrıntılarını, ipuçlarını ve sık sorulan soruların yanıtlarını içerir.

Vowpal Wabbit'in Avantajları

Vowpal Wabbit, n gram gibi doğrusal olmayan özellikler üzerinde son derece hızlı öğrenme sağlar.

Vowpal Wabbit, modeli bir kerede bir kayıt sığdırmak için stokastik gradyan azalma (SGD) gibi çevrimiçi öğrenme tekniklerini kullanır. Bu nedenle ham veriler üzerinde çok hızlı bir şekilde yinelenir ve diğer modellerden daha hızlı bir şekilde iyi bir tahmin aracı geliştirebilir. Bu yaklaşım ayrıca tüm eğitim verilerinin belleğe okunmasını da önler.

Vowpal Wabbit, yalnızca metin verilerini değil diğer kategorik değişkenleri de içeren tüm verileri karmalara dönüştürür. Karmaların kullanılması regresyon ağırlıklarının daha verimli bir şekilde aranması sağlar ve bu da etkin stokastik gradyan azalma için kritik önem taşır.

Desteklenen ve desteklenmeyen parametreler

Bu bölümde, Azure Machine Learning tasarımcısında Vowpal Wabbit komut satırı parametreleri için destek açıklanmaktadır.

Genellikle, sınırlı sayıda bağımsız değişken dışında tümü desteklenir. Bağımsız değişkenlerin tam listesi için Vowpal Wabbit wiki sayfasını kullanın.

Aşağıdaki parametreler desteklenmez:

  • içinde belirtilen giriş/çıkış seçenekleri https://github.com/JohnLangford/vowpal_wabbit/wiki/Command-line-arguments

    Bu özellikler zaten bileşen tarafından otomatik olarak yapılandırılır.

  • Ayrıca, birden çok çıkış oluşturan veya birden çok giriş alan herhangi bir seçeneğe izin verilmez. Bunlar arasında --cbt, --ldave --wapbulunur.

  • Yalnızca denetimli öğrenme algoritmaları desteklenir. Bu nedenle, bu seçenekler desteklenmez: –active, --rank, --search vb.

Kısıtlamalar

Hizmetin amacı Vowpal Wabbit'in deneyimli kullanıcılarını desteklemek olduğundan, giriş verilerinin diğer bileşenler tarafından kullanılan veri kümesi biçimi yerine Vowpal Wabbit yerel metin biçimi kullanılarak önceden hazırlanması gerekir.

Sonraki adımlar

Bkz. Azure Machine Learning'de kullanılabilen bileşenler kümesi .