Makine öğrenmiyor: CTR serisi (2) CTR tahmini LR + GBDT

Makine www.jqbxx.com'u öğrenmiyor: Derin toplu makine öğrenimi, derin öğrenme algoritmaları ve teknik mücadele

İçinde TO serisi (1) TO tahminine giriş ve LR'ye giriş CTR öngörücü tıklama modelini eğitmek için LR'yi kullanmaktan bahsettik. LR'nin avantajları doğrusallık ve basitlik, hızlı hız ve kolay hata ayıklamadır, ancak özellik kombinasyonu ve özellik mühendisliği sürecinde çok fazla deneyim gerektirir.

Özellik mühendisliği zor olduğu için otomatik olarak yapılabilir mi? Model basamaklama bir fikir sağlar Tipik bir örnek, LR modelinin özellik kombinasyonu problemini çözmek için Facebook'un 2014 tarihli makalesinde tanıtılan GBDT (Gradient Boost Karar Ağacı) modelidir. Fikir çok basittir.Özellik mühendisliği iki bölüme ayrılmıştır.Özelliklerin bir bölümü bir GBDT modelini eğitmek için kullanılır. GBDT modelinin her bir ağacın yaprak düğüm numarası yeni bir özellik olarak kullanılır ve orijinal özellik setine eklenir ve ardından son modeli eğitmek için LR modeli kullanılır.

GBDT modeli, ağacın bir yoluna karşılık gelen (yaprak düğümleriyle temsil edilen) yüksek sıralı doğrusal olmayan özellik kombinasyonlarını öğrenebilir. Genellikle bazı sürekli değer özellikleri ve küçük bir değer uzayına sahip kategorik özellikler GBDT modeline atılır; geniş bir alana sahip kimlik özellikleri (ürün kimliği gibi) eğitim için LR modelinde bırakılır, yüksek sıralı özellik kombinasyonları ve doğrusal modeller için kullanılabilir Büyük ölçekli seyrek verilerin kolay işlenmesinin avantajı.

Algoritmayı kısaca tanıtalım:

1. GBDT + LR modeli

Öncelikle bu model yeni bir model olmayıp bazı büyük firmaların CTR modellerinde kullanılmıştır.

Şekil, makalede önerilen GBDT + LR birleşik modelidir. GBDT, özelliklerin bir kombinasyonunu birleştirme süreci olarak kabul edilebilir ve son LR, son sınıflandırma (regresyon) modelidir.

1) Veri girişi için, genel özellikler sürekli ve ayrık olacaktır.Ağaç modeli, sürekli özelliklerle uğraşmak için daha uygundur (çevrimiçi sorgulayabilirsiniz).

Seçenek bir:

Sürekli verileri ve ayrık verileri GBDT'ye ayırın ve son olarak yaprakları kodlamak için kullanın ve ardından ayrık ve sürekli değerlerin konumları üzerinde anlaşın.

Bu süreçte, GBDT'yi yalnızca sürekli değerleri kodlamak için kullanırken, ayrık özellikler orijinal tek sabit kodlamayı kullanır ve son olarak bunları birbirine diker. Eksiksiz özellik kodlaması

Seçenek II:

Ayrık özellikler üzerinde GBDT kodlaması gerçekleştirebilir ve ardından bunları birleştirebilir (GBDT + FFM'deki iyileştirmeye bakın) ve ayrık veriler üzerinde yeni istatistikler gerçekleştirebilirsiniz.

Yüksek frekanslı özellikler korunur ve seyrek özellik değerleri filtrelenir, böylece GBDT kodlamayı öğrenmek için kullanılabilir.

Bu, GBDT + FFM'de yapılır, ancak bu ayrık olmayan aykırı değerler aslında onehot şeklinde kodlanabilir ve son katmanda kullanılabilir.

GBDT kombinasyonunu kullanın, ancak ağaçların kombinasyonu tekrarlanır, özelliklerinden biri ağacın farklı katmanlarında görünerek inşaat kombinasyonuna katılmak için FM'den daha iyidir

FFM ile kombinasyon daha derindir.

Kodlamasının sonucu bağlamın bazı niteliklerini içerir. Veri girişi sabit değildir ve farklı giriş yöntemleri kullanılabilir. Yukarıdakiler yalnızca iki karşılaştırmayı listeler

Yaygın yöntem, kodlamak için bir ağaç kullanır.

2. NE (Normalize Entropi) normalize entropi

Değerlendirme için NE (Normalize Entropi) kullanın,

onların arasında

, P farklı eğitim setlerindeki farkı ortadan kaldırmak için eğitim veri setinin tıklama oranıdır, bu formül logloss kaybıdır

Eğitim örneklerinin etkisi yukarıdakilere eklenir (hesaplarken y'nin -1 ve 1 aralığına dikkat etmelisiniz)

Bir değerlendirme indeksi olarak kullanılabilir, ancak bu tür NE'yi daha sonraki makalelerde kullanmak nadirdir. Sahneye göre özel kullanım seçilebilir.

3. Veri tazeliği

Modeli güncellemek için yeni verileri kullanın. Gerçek kullanımda, verilerin dağıtımı dinamiktir ve sabit değildir. Modeli güncellemek için yeni verilerin kullanılması iyi sonuçlar sağlayabilir

Gelir, makale GBDT ağaç modelinin günlük olarak güncellendiğine ve LR modelinin gerçek zamanlı olarak güncellendiğine işaret etti. Modelin doğruluğunu korumak için. Tarihsel veri özellikleri (istatistiksel özellikler)

Verilerin güncelliği hassas değildir, ancak bağlamsal özellikler daha açıktır. Birçok makine öğrenimi modelinde, modelin yeteneğini sağlamak için modelin gerçek zamanlı veya gerçek zamanlıya yakın güncellemeleri vardır.

4. kalibre edin

Bu kalibrasyonun hepsi gerekli değildir.Genel olarak, modeli eğittiğimizde, orijinal örneğin veri dağılımını değiştirecek olan örneği veya negatif örneklemeyi vb. Örnekleyeceğiz ve veri tahmini üzerindeki etki çok zayıf, ancak LR gibi şeyler için Tahmin edilen verileri aldıktan sonra, bu verileri yeni hesaplamalara katılmak için kullanabiliriz ve sapmalar olacaktır. Bu sapmayı çözmek için modelin çıktısının kalibre edilmesi gerekir.

P, model tarafından tahmin edilen pozitif örneğin olasılık değeri ve w, örneklenen oran olduğunda w (orijinal örnekteki pozitif ve negatif oranı) genellikle modelin çıktı değerini normal bir veriye kalibre etmek için bir ondalık sayıdır.

özet:

GDBT + LR, klasik bir TO ve tahmin modeli olarak kabul edilebilir.Birleşik özellikleri öğrenmek için GBDT'nin doğrusal olmama özelliğini kullanır ve özelliklerin ilişkisini öğrenmek için LR'yi kullanır ve son olarak tıklama oranını tahmin eder. Şu anda, LR hala ana akımdır, ancak giriş özelliği kombinasyonu FM, FFM, GBDT, DNN vb. Gibi diğer yöntemler kullanılarak üretilmektedir. Bu nedenle, maksimum etkiyi elde etmek için orijinal verilerin bu modellerle nasıl birleştirileceği hala denenmeli ve farklı senaryolara göre ayarlanmalıdır.

Skitlearn kullanılarak basit bir uygulama yapılır:

# Zayıf sınıflandırıcıların sayısı

n_estimator = 10

# Sınıflandırma verilerini rastgele oluşturun.

X, y = sınıflandırma_ yap (n_örnekler = 80000)

# Test seti ve eğitim setine bölün, oran 0,5'tir

X_train, X_test, y_train, y_test = train_test_split (X, y, test_size = 0.5)

# Eğitim setini iki bölüme ayırın, bir bölüm GBDT modelini eğitmek için kullanılır ve diğer bölüm eğitimli GBDT modeline girilerek GBDT özellikleri oluşturulur ve bunlar daha sonra LR özellikleri olarak kullanılır. Fazla takmayı önlemek için bu iki bölüme ayrılmıştır.

X_train, X_train_lr, y_train, y_train_lr = train_test_split (X_train, y_train, test_size = 0.5)

# GBDT sınıflandırma modelini çağırın.

grd = GradientBoostingClassifier (n_estimators = n_estimator)

# Tek sıcak kodlamayı çağırın.

grd_enc = OneHotEncoder ()

# LR sınıflandırma modelini çağırın.

grd_lm = Lojistik Regresyon ()

'' 'GBDT modelini eğitmek için X_train'i kullanın ve ardından özellikleri oluşturmak için bu modeli kullanın' ''

grd.fit (X_train, y_train)

# tek sıcak kodlayıcıyı takın

grd_enc.fit (grd.apply (X_train))

'' '

Özellikler oluşturmak için eğitimli GBDT modelini kullanın ve ardından özellikleri tek sıcak kodlama yoluyla yeni özellikler olarak LR modeli eğitimine girin.

'' '

grd_lm.fit (grd_enc.transform (grd.apply (X_train_lr)), y_train_lr)

# X_test ile tahminler yapmak için eğitimli LR modelini kullanın

y_pred_grd_lm = grd_lm.predict_proba (grd_enc.transform (grd.apply (X_test)))

# Tahmin sonucuna göre çıktı

fpr_grd_lm, tpr_grd_lm, _ = roc_curve (y_test, y_pred_grd_lm)

İleri düzey oyun oyuncularına izin verin: Latitude BIOS, sihirden başka bir şey değil 2
önceki
17 gram çalışan sihirbaz! Huawei Band 3e kutudan çıkarma resim ödülü
Sonraki
Neredeyse "çıldıracak" bir malzeme yığını olan Jinhetian, V10 yüksek kaliteli şasinin ekranını öngördü
Makine şunları öğrenmez: Evrişimli sinir ağı CNN notları-hedef algılama 2
Herkese açık olmayan en iyi deneyimi yaşayın! ASUS ROG STRIX GeForce RTX2070 O8G GAMING incelemesi
Weibo ve Moments ziyaretçileri kontrol edebilir mi? yok!
Nostaljik olalım! Sony kaset çaları hatırlıyor musunuz?
Sonra çöpü at, bazı eski donanım şimdi bile fena değil
368.800'den! Lincoln Continental satışa çıkıyor: 2.0T, Ulusal VI emisyon standartlarını yükseltti
Makine öğrenmiyor: NLP serisi 2 konulu model LDA
Ek olarak, 3T mekanik sabit disk kadar büyük değil. Xiao Shaanın SSD'si elinde
Makine Öğrenmiyor: Derin Büyüme Ağları: - Kararlı Yüksek Kaliteli Çeşitli GAN Düşman Modelleri Oluşturma
Makine öğrenmiyor: Otomatik kodlayıcıya dayalı işbirlikçi filtreleme
En değerli 7. nesil işlemci, 3000 yuan ev giriş seviyesi oyun platformu
To Top