Tebrikler! Tek boynuzlu at modelini dağıttınız. Modeliniz 7/24 sorunsuz çalışmalıdır. Bunun için makine öğrenimi (ML) ardışık düzeninizi izlemeniz gerekir.
Ham verileri doğrulamak için veri şeması yazma
Verilerinizi izlemek için, düzenli olarak beklentileri baz alıp karşılaştırmalısınız ve istatistiksel değerleri test etmenize yardımcı olabilir. Bu koleksiyon veri şeması olarak adlandırılır. Aşağıdakileri yaparak bir veri şeması tanımlayın şu adımları uygulayın:
Özelliklerinizin aralığını ve dağılımını anlayın. Kategorik için muhtemel değerleri kavrayabilir.
Öğrendiklerinizi veri şemasına kodlayın. Aşağıda bazı örnekler kurallarınız:
- Kullanıcılar tarafından gönderilen derecelendirmelerin her zaman 1-5 aralığında olduğundan emin olun.
- the kelimesinin en sık geçeni kontrol edin (İngilizce metinler için) özelliği) ekleyebilirsiniz.
- Her kategorik özelliğin sabit bir kümedeki bir değere ayarlandığından emin olun sağlayabilir.
Verilerinizi veri şemasıyla test edin. Şemanız verileri yakalamalıdır Örneğin:
- Anormallikler
- Kategorik değişkenlerin beklenmedik değerleri
- Beklenmeyen veri dağıtımları
Özellik mühendisliğini doğrulamak için birim testlerini yazma
Ham verileriniz veri şemasını geçirebilir ancak modeliniz ya da ham verilerdir. Modeliniz, daha önce de belirttiğimiz gibi, tasarlamamız gerek. Örneğin, modeliniz normalleştirilmiş sayısal özelliklerle eğitilir tercih eder. Çünkü özellik tabanlı veriler, diğeri ise ham giriş verilerinden farklıysa, özellik tarafından oluşturulan verileri kontrol etmeniz gerekir. ham giriş verilerindeki kontrollerinizden ayrı olarak gösterilir.
Özellik geliştirmeli veriler hakkındaki bilgilerinize bağlı olarak birim testleri yazın. Örneğin, takip etmek için:
- Tüm sayısal özellikler, örneğin 0 ile 1 arasında ölçeklendirilir.
- Tek sıcak kodlanmış vektörler yalnızca tek bir 1 ve N-1 sıfır içerir.
- Dönüşümden sonraki veri dağılımları beklentilere uygun. Örneğin, Z puanlarını kullanarak normalleştirdiyseniz, Z puanları 0 olmalıdır.
- Dikkat çeken değerler ele alındığında, örneğin ölçeklendirme veya ayırma.
Önemli veri dilimleri için metrikleri kontrol etme
Başarılı bir bütün, bazen başarısız olan bir alt kümeyi engelleyebilir. Başka bir deyişle, genel olarak mükemmel metriklere sahip olan bir modelin olası satışları durumlar olabilir. Örneğin:
Tek boynuzlu at modeliniz genel olarak iyi performans gösteriyor ancak hakkında tahminlerde bulunan bir grup insanla tanışın.
Genel anlamda muhteşem bir AUC'den memnunsanız, modelin Sahra çölünde yaşadığı sorunları fark etmeyebilirsiniz. Senaryoda her bölge için iyi tahminler önemlidir; o zaman her bir bölge için . Karşılık gelen veri alt kümeleri gibi yapılması gerekenlere veri dilimleri denir.
İlgilendiğiniz veri dilimlerini belirleyin. Ardından bu veri dilimlerinin model metriklerini, kendi anlamına gelir. Modelinizin tüm veri dilimlerinde iyi performans gösterip göstermediğini kontrol etme önyargıları ortadan kaldırmaya yardımcı olur. Görüntüleyin Adillik: Önyargı İçin Değerlendirme konulu videomuzu izleyin.
Gerçek zamanlı metrikleri kullanın
Model metrikleri, modelinizin gerçek dünya etkisini ölçmez. Örneğin, bir hiperparametrenin değiştirilmesi bir modelin AUC'sini artırabilir ancak Değişiklik kullanıcı deneyimini etkiledi mi? Gerçek dünya etkisini ölçmek için kullanabilirsiniz. Örneğin, modelinizin kullanıcılarına modelin bu olasılıktan etkileneceğini öngördüğünde gerçekten bir tek boynuzlu at gördüklerini düşünebilir.
Eğitim sunmada sapma olup olmadığını kontrol edin
Eğitim sunma sapması eğitim sırasındaki giriş verilerinizin farklı olduğu anlamına gelir. kullanabilirsiniz. Aşağıdaki tabloda iki önemli sapma türünü görebilirsiniz:
Tür | Tanım | Örnek | Çözüm |
---|---|---|---|
Şema sapması | Eğitim ve sunum giriş verileri aynı şemaya uymuyor. | Sunum verilerindeki değişikliklerin biçimi veya dağıtımı modeliniz eski verilerle eğitilmeye devam eder. | Eğitim ve sunum verilerini doğrulamak için aynı şemayı kullanın. tarafından kontrol edilmeyen istatistikleri ayrıca kontrol ettiğinizden emin olun: (ör. eksik değerlerin oranı) |
Özellik sapması | Altyapılı veriler, eğitim ile sunum arasında farklılık gösterir. | Özellik mühendisliği kodu eğitim ile sunum arasında farklılık gösterir. farklı mühendislik verileri üretiyoruz. | Şema sapmasına benzer şekilde, eğitim genelinde aynı istatistiksel kuralları uygulayın entegre edilmiş veriler sunuyoruz. Numarayı takip et ve özellik başına çarpık örnek oranının oranı. |
Eğitim sunumundaki sapmanın nedenleri çok zor olabilir. Tahmin sırasında her zaman modelinizin kullanabileceği verileri dikkate alın. Eğitim sırasında, yalnızca sunum yaparken kullanabileceğiniz özellikleri kullanın.
Alıştırma: Öğrendiklerinizi sınayın
İnternet üzerinden satış yapan bir mağazanız olduğunu ve belirli bir günde ne kadar para kazanacağınızla ilgilidir. Makine öğrenimi hedefiniz, günlük özellik olarak müşteri sayısını kullanarak gelir elde etmenizi sağlar.
Yanıt: Sorun, ne anlama geldiğini bilmemeniz günün satışları gerçekleşmeden önce, tahmin zamanında belirir. Bu özellik, şu anda en sık kullandığınız günlük geliriniz için güçlü bir tahmindir. Buna paralel olarak ve harika değerlendirme metrikleri (ör.0,99 AUC) etiketinize kullanılabilecek bu tür özellikleri arayın.
Etiket sızıntısı olup olmadığını kontrol etme
Etiket sızıntısı, etiket sızıntısı kesin referans: eğitim özelliklerinize yanlışlıkla girdiklerini tahmin etmeye çalışırken. Şirket sızıntıları tespit etmek bazen çok zor olabilir.
Alıştırma: Öğrendiklerinizi sınayın
Projenin devam edip etmediğini tahmin etmek için bir ikili sınıflandırma modeli kanseri olan yeni bir hastane. Modeliniz aşağıdakiler gibi özellikleri kullanır:
- Hasta yaşı
- Hastanın cinsiyeti
- Önceki tıbbi durumlar
- Hastane adı
- Yaşamsal belirtiler
- Test sonuçları
- Kalıtım
Etiket aşağıdaki gibidir:
- Boole: Bu hasta kanser hastası mı?
Verileri dikkatlice bölümlendirerek eğitim veri kümenizin iyi olduğundan emin olun doğrulama kümenizden ve test kümenizden izole edilir. Model, doğrulama kümesi ve test kümesi açısından son derece iyi; metrikler harika. Maalesef model yeni hastalarda çok iyi performans gösteriyor görebilirsiniz.
Yanıt: Modelin özelliklerinden biri hastane adıdır. Bazı hastaneler kanserin tedavisinde uzmanlaşmıştır. Eğitim sırasında, model, bazı hastanelere yatan ve kanser olabilir. Bu nedenle, hastane adı oldukça ağırlıklı bir özellik haline geldi.
Çıkarım sırasında çoğu hasta henüz hastaneye atanmamıştı. Sonuçta modelin amacı, sürecin varlığını veya olup olmadığını belirlemek ve bu teşhisi kullanarak hastaya uygun bir hastaneye götürebilir. Sonuç olarak, çıkarım sırasında, hastane adı özelliği henüz kullanılamadığından model zorunlu kılındı diğer özellikleri kullanması gerekir.
Ardışık düzen genelinde model yaşını izleme
Sunum verileri zaman içinde gelişiyorsa ancak modeliniz düzenli olarak yeniden eğitilmemişse model kalitesinde düşüş görürsünüz. Modelin oluşturulmasından itibaren geçen süreyi yeni verilerle yeniden eğitilir ve uyarılar için bir eşik yaşı belirler. Projenin gidişatını takip etmenin modelin sunulma yaşına bakıyorsanız ardışık düzen genelinde modelin yaşını izlemeniz gerekir. boru hattı tezgâhlarını yakalamak için yapıldı.
Model ağırlıklarının ve çıkışlarının sayısal olarak kararlı olup olmadığını test etme
Model eğitimi sırasında ağırlıklarınız ve katman çıkışlarınız NaN olmamalıdır (sayı değil) veya Inf (sonsuz). Ağırlıklarınızın ve katman çıkışlarınızın NaN ve Inf değerlerini kontrol etmek için testler yazın. Ayrıca, bir katmanın çıktılarının yarısından fazlasının sıfır olup olmadığını test edin.
Model performansını izleme
Tek boynuzlu at görünümü tahmin aracınız beklenenden daha popüler oldu. Artık çok sayıda tahmin isteği ve daha da fazla eğitim verisi alıyor. Düşünceleriniz modelinizin gittikçe daha fazla bellek aldığını fark edene kadar ve eğitim süresi anlamına gelir. Modelinizin performansını izlemeye karar vermek için şu adımları uygulayın:
- Kod, model ve veri sürümlerine göre model performansını izleyin. Bu tür izleme performans düşüşlerinin tam nedenini belirlemenize olanak tanır.
- Yeni model sürümü için saniyedeki eğitim adımlarını test edin. sabit bir eşiğe göre karşılaştırabilirsiniz.
- Bellek kullanımı için bir eşik belirleyerek bellek sızıntılarını yakalayın.
- API yanıt sürelerini ve yüzdelik dilimlerini takip edin. API yanıtıyken zamanınız kontrolünüz dışında olabilir, yavaş yanıtlar neden kötü performans metrikleridir.
- Saniye başına yanıtlanan sorgu sayısını izleyin.
Sunulan verilerde canlı modelin kalitesini test etme
Modelinizi doğruladınız. Peki tek boynuzlu at gibi gerçek senaryolar doğrulama verileriniz kaydedildikten sonra nasıl değişsin? Sonra da projenizin kalitesi düşecektir. Ancak sunum kalitesinin test edilmesi zordur. gerçek dünya verileri her zaman etiketlenmez. Yayın verileriniz etiketlenmemişse şu testleri göz önünde bulundurun:
Gerçek kişi olan değerlendiricileri kullanarak etiketler oluşturun.
Tahminlerde önemli istatistiksel sapmalar gösteren modelleri araştırma. Görüntüleyin Sınıflandırma: Tahmin Yanlı olma.
Modeliniz için gerçek dünyadaki metrikleri izleyin. Örneğin, bir müşteri eşleştirmeyi spam olarak bildiriyorsanız, tahminlerinizi kullanıcılar tarafından bildirilen spam ile karşılaştırın.
Eğitim ve sunum verileri arasındaki olası farklılığı azaltmak için bir bölümünde yeni model sürümü sunuyor. Doğrulama sürecinde yeni sunma modelinizi kullanıyorsanız tüm sorguları kademeli olarak yeni sürüme geçirin.
Bu testleri kullanarak hem ani hem de yavaş düşüşleri izlemeyi unutmayın. tahmin kalitesidir.
Rastgele hale getirme
Veri oluşturma ardışık düzeninizi tekrarlanabilir hale getirin. Diyelim ki bir özellik eklemek istiyorsunuz model kalitesini nasıl etkilediğini görmek için. Adil bir deneme olması için veri kümelerinizin aynı olacaktır. Bu doğrultuda, veri üretiminde herhangi bir rastgeleleştirme yapılabildiğinden emin olun. deterministik:
- Rastgele sayı oluşturucularınızı (RNG'ler) toplayın. Tohumlama, RNG'nin her çalıştırdığınızda aynı değerleri aynı sırayla verir. veri kümenizin nasıl kullanılacağı.
- Değişken karma anahtarları kullanın. Karma oluşturma, bölme işlemi için yaygın olarak kullanılan bir yöntemdir örneklemli veri türünden çok daha fazlasıdır. Her bir örneğe karma oluşturma işlemi uygulayabilir ve elde edilen tam sayıyı örneğin hangi bölüme yerleştirileceğine karar verebilirsiniz. Karma işlevinize girişler aynı olacaktır. Lütfen veya karma değerinizde rastgele bir sayı girin. Örneğin, karmalarınızı isteğe bağlı olarak yeniden oluşturabilirsiniz.
Yukarıdaki yaklaşımlar, verilerinizin örneklemesi ve bölünmesi için geçerlidir.
Karma oluşturma işlemi konusunda dikkat edilmesi gereken noktalar
Yine arama sorgularını topladığınızı ve karma oluşturma işlemi uyguladığınızı varsayalım. kullanabilirsiniz. Karma anahtarı yalnızca sorguyu kullanıyorsa birden fazla güne ait veriler arasında her zaman o sorgu ya da her zaman hariç tutulur. Her zaman dahil eder veya her zaman hariç tutar Bir sorgu kötüdür çünkü:
- Eğitim kümenizde daha az çeşitlilik içeren bir sorgu grubu gösterilir.
- Değerlendirme setleriniz yapay olarak zor olur çünkü eğitim verilerinizle çakışır. Gerçekte, sunum sırasında eğitim verilerinizdeki canlı trafiğin bir kısmını görmüştük. Bu nedenle, yansıtmalıdır.
Bunun yerine, sorgu + tarihe karma oluşturma işlemi uygulayabilirsiniz. Bu durumda, farklı bir karma oluşturma işlemi uygulanır. ulaşıyor.
![Şekil 7. Yalnızca
sorgusu, verilerin her gün aynı pakete girmesine neden olur ancak
artı sorgu zamanının eklenmesi, verilerin farklı alanlara gitmesine
kovaları görebilirsiniz. Bu üç paket; Eğitim, Değerlendirme ve
Yoksayıldı.](https://developers.google.cn/static/machine-learning/crash-course/images/hashing_on_query.gif?authuser=19&hl=tr)