Sade ingilizcede normalleşme nedir?


74

Diğer makalelerden farklı olarak, bu konu için wikipedia girişini matematik olmayan bir kişi için (benim gibi) okunamayan buldum .

Temel fikri anladım, daha az kuralı olan modelleri tercih edersiniz. Alamadığım şey, bir dizi kuraldan, modelleri en azından en fazla giydirmeye sıralamak için kullanabileceğiniz bir 'normalizasyon puanına' nasıl ulaşacağınızdır.

Basit bir düzenleme yöntemini tarif edebilir misiniz?

İstatistiksel ticaret sistemlerinin analizi bağlamında ilgileniyorum. Aşağıdaki iki öngörücü modeli analiz etmek için düzenlileştirmeyi nasıl uygulayabileceğimi / nasıl uygulayabileceğimi açıklayabilirseniz çok iyi olurdu:

Model 1 - fiyat ne zaman artıyor:

  • exp_moving_avg (fiyat, süre = 50)> exp_moving_avg (fiyat, süre = 200)

Model 2 - fiyat ne zaman artıyor:

  • fiyat [n] <fiyat [n-1] üst üste 10 kez
  • exp_moving_avg (fiyat, nokta = 200) artış

Ama nasıl daha düzenli hale geldiğine dair bir his edinmekle ilgileniyorum. Eğer açıklamak için daha iyi modeller biliyorsanız lütfen.


7
Bir örnek, kare katsayıların toplamına bağlı OLS olan sırt regresyonudur. Bu, modele önyargı getirecek, ancak katsayıların değişkenliğini, bazen de büyük ölçüde azaltacaktır. LASSO başka bir ilgili yöntemdir, ancak katsayıların boyutuna bir L1 kısıtı koyar. Düşme katsayıları avantajına sahiptir. Bu, p >> n durumlar için kullanışlıdır. Bir şekilde, aşırı montajdan kaçınmak (ve katsayı değişkenliğini azaltmak) için modelin "küçültülmesi" anlamına gelir, bu da genellikle modelin öngörücü performansını arttırır.
HairyBeast

2
@HairyBeast Güzel yorumunuzu cevap olarak yazmalısınız. Mümkünse, açıklayıcı bir örnek eklemeye çalışın, böylece OP eldeki soruna nasıl döndüğünü anlayabilir.
chl

1
@HairyBeast, bu yüzden düzenlileşmenin yanlılık sapması fikrini uygulamada sadece bir yöntem olduğunu söyleyebilir miyim ?
avokado

Bu videoyu özellikle Lp düzenlileştirmenin farklı biçimlerini görselleştirmede çok yararlı buldum: youtube.com/watch?v=sO4ZirJh9ds
Anm

Düzenlileştirme, öğrenilen modeldeki kıyafeti ele almak içindir. Sade İngilizce ve görsel olarak anlatmaya çalıştım. Aşağıda orta.com/@vamsi149/…
çözücü

Yanıtlar:


57

Basit bir ifadeyle, düzenli hale getirme, tercih edilen model karmaşıklığı seviyesini ayarlamak veya seçmektir, böylece modelleriniz öngörmede daha iyidir (genelleme). Bunu yapmazsanız, modelleriniz çok karmaşık olabilir ve çok ya da çok basit olabilir ya da çok az tahminlerde bulunabilirsiniz.

En küçük kareler karmaşık bir modele ufak bir eğitim verisi setine uyuyorsa, muhtemelen kullanacağınız en yaygın durum budur. Modelin optimum karmaşıklığı modellediğiniz sürecin tür ve veri kalitesine bağlıdır, bu nedenle a-priori olduğu doğru bir model karmaşıklığı.

Düzenlemek için 2 şeye ihtiyacınız var:

  1. Modellerinizin tahminde ne kadar iyi olduğunu test etmenin bir yolu, örneğin çapraz doğrulama veya bir dizi doğrulama verisi kullanarak (bunun için uygunluk hatasını kullanamazsınız ).
  2. Modelin karmaşıklığını veya pürüzsüzlüğünü veya farklı karmaşıklık / pürüzsüzlük modellerini seçmenize izin veren bir ayarlama parametresi.
Temel olarak, karmaşıklık parametresini ayarlarsınız (veya modeli değiştirirsiniz) ve en iyi model tahminlerini veren değeri bulursunuz.

En iyi duruma getirilmiş düzenlileştirme hatasının genel tahmin hatasının doğru bir tahmini olmayacağına dikkat edin, bu nedenle düzenlileştirme sonrasında nihayet ek bir doğrulama veri seti kullanmanız veya tarafsız bir tahmin hatası elde etmek için bazı ek istatistiksel analizler yapmanız gerekecektir.

(Çapraz) doğrulama testini kullanmanın bir alternatifi, karmaşık veya pürüzsüz olmama cezasını düşürmek için Bayesian Priors veya başka yöntemler kullanmaktır, ancak bunlar daha fazla istatistiksel incelik ve problem ve model özellikleri hakkında bilgi gerektirir.


2
Benden +1. Bu cevabın başlangıçta başlaması ve anlaşılması çok kolay ...
Andrew

2
Düzenleme gerçekten hiç giydirmeyi azaltmak için kullanılıyor mu? Tecrübelerime göre, karmaşıklığı / hassasiyeti azaltmak için karmaşık / hassas bir modelde düzenlileştirme, ancak karmaşıklığı / hassasiyeti artırmak için asla basit / duyarsız bir modelde uygulanmaktadır.
Richard Hardy

Bu cevap şimdi oldukça eski, ancak Toby'nin kastettiği şeyin, düzenli olmanın veri miktarı göz önüne alındığında uygun bir karmaşıklık modeline uymanın ilkeli bir yolu olduğunu varsayıyorum; Hem çok az parametreli (ya da yanlış olanları) olan bir model seçmek hem de çok karmaşık ve uygun olan bir model seçmek için bir alternatiftir.
Bryan Krause,

26

Öğrenmeyi deneysel risk azaltma yoluyla gerçekleştirdiğinizi varsayalım.

Daha kesin:

  • Tahmininizin ne kadar kötü olduğunu belirleyen negatif olmayan kayıp fonksiyonunuz varL(actual value, predicted value)
  • Modelinize, tahminlerinin sadece egzersiz verilerinde hesaplanan kayıp fonksiyonunun ortalamasını en aza indireceği şekilde (sadece sahip olduğunuz veriler) uygun bir şekilde yerleştirmek istiyorsunuz.

Daha sonra öğrenme sürecinin amacı (bu yönteme deneysel risk denir. minimizasyon).Model=argminL(actual,predicted(Model))

Ancak, yeterli veriye sahip değilseniz ve modelinizde büyük miktarda değişken varsa, yalnızca modelleri açıklayan değil, verilerinizdeki rasgele gürültüyü de açıklayan böyle bir model bulmak çok olasıdır. Bu etkiye aşırı uyum denir ve modelinizin genelleştirme yeteneğinin bozulmasına yol açar.

Düzenlileştirme teriminin fazla kullanılmaması için hedef işlevine bir terim getirildi: Model=argminL(actual,predicted(Model))+λR(Model)

Genellikle, bu terim karmaşık modellere özel bir ceza getirir. Örneğin, büyük katsayılı (L2 düzenlenmesi, = katsayıların karelerinin toplamı) veya sıfır olmayan katsayıların olduğu çok partili modellerde (L1 düzenlenmesi, = katsayıların mutlak değerlerinin toplamı). Karar ağacını eğitiyorsak, derinliği olabilir.R R RR(Model)RRR

Başka bir bakış açısı, en iyi modelin bir şekli hakkında önceki bilgilerimizi sunduğudur ("çok büyük katsayılara sahip değil", " a'ya neredeyse diktir ")ˉ aRa¯


12

Basitçe ifade edersek, düzenlileştirme, elde etmeyi umduğunuz çözümlerden yararlanmaktır. Bahsettiğiniz gibi, örneğin bir basitlik tanımı için "basit" çözümlerden yararlanabilirsiniz. Sorununuzun kuralları varsa, bir tanım daha az kural olabilir. Ancak bu probleme bağımlıdır.

Ancak doğru soruyu soruyorsunuz. Örneğin, Destek Vektör Makineleri'nde bu "basitlik", "maksimum marj" yönünde bağları koparmaktan kaynaklanmaktadır. Bu marj, problem açısından açıkça tanımlanabilecek bir şeydir. Wikipedia'daki SVM makalesinde çok iyi bir geometrik türetme var . Düzenleme döneminin en azından SVM’lerin “gizli sosu” olduğu tartışılıyor.

Düzenlemeyi nasıl yapıyorsunuz? Genel olarak, kullandığınız yöntem ile birlikte gelir, eğer SVM kullanıyorsanız, L2 düzenlileştirme yapıyorsunuz, LASSO kullanıyorsanız, L1 düzenlileştirme yapıyorsunuzdur (bkz. Ne saç filesi ne diyor). Bununla birlikte, kendi yönteminizi geliştiriyorsanız, arzu edilmeyen çözümleri arzu edilmeyen çözümlerden nasıl söyleyeceğinizi bilmeniz ve bunu ölçen bir işleve sahip olmanız gerekir. Sonunda bir maliyet terimine ve bir düzenleme terimine sahip olacaksınız ve her ikisinin de toplamını optimize etmek istiyorsunuz.


1

Düzenlileştirme teknikleri, karar sınırını / takılan modeli daha yumuşak kılan makine öğrenme modellerine uygulanan tekniklerdir. Bu teknikler fazla giymeyi önlemeye yardımcı olur.

Örnekler: L1, L2, Düşüş, Yapay Sinir Ağlarında Ağırlık Düşüşü. SVM'lerde parametresi .C


0

Basit bir ifadeyle, Düzenlileştirme, makine öğrenme algoritmalarını eğitirken aşırı uyuşmayı önlemek için bir tekniktir. Yeterli serbest parametreli bir algoritmaya sahipseniz, numunenizi büyük ayrıntılarla enterpolasyon yapabilirsiniz, ancak numunenin dışından gelen örnekler, gerçek trend yerine sadece numunedeki gürültü veya rastgele düzensizlikleri yakaladığından bu detay enterpolasyonunu takip etmeyebilir.

Modeldeki parametrelerin mutlak değerinin sınırlandırılması gereğinden fazla montaj yapılmaz. Bu, model parametrelerinin büyüklüğüne dayalı bir ceza uygulayan maliyet fonksiyonuna bir terim ekleyerek yapılabilir. Büyüklük L1 normunda ölçülürse, buna "L1 normalizasyonu" (ve genellikle seyrek modellerde sonuçlanır), L2 normunda ölçülürse buna "L2 normalizasyonu" vb. Denir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.