Regresyon modelleri yapıyorum. Ön işleme adımı olarak, özellik değerlerimi ortalama 0 ve standart sapma 1 olacak şekilde ölçeklendiriyorum. Hedef değerleri normalleştirmek de gerekli mi?
Regresyon modelleri yapıyorum. Ön işleme adımı olarak, özellik değerlerimi ortalama 0 ve standart sapma 1 olacak şekilde ölçeklendiriyorum. Hedef değerleri normalleştirmek de gerekli mi?
Yanıtlar:
İlk önce neden özellik ölçeklendirme yapıldığını analiz edelim. Özellik ölçeklendirme, ölçek değişmezliği özelliğine sahip olmayan en dik iniş algoritmalarının yakınsamasını iyileştirir.
Stokastik gradyan iniş olarak eğitim örnekleri ağırlık şöyle yinelemeli güncelleştirir bilgi,
Burada ağırlıklarıdır, γ bir stepSize olan ∇ w , gradyan wrt ağırlıkları olan ℓ , bir kayıp fonksiyonu f w parametreli fonksiyonu w , x , bir eğitim örnektir ve y yanıtı / etikettir.
Düzgün ölçeklemeyi ve uygun olmayan ölçeklemeyi temsil eden aşağıdaki dışbükey fonksiyonlarını karşılaştırın.
Çıktıları ölçeklendirmenin hayal edebileceği tek durumun bir etkisi var, cevap değişkeniniz çok büyükse ve / veya f32 değişkenleri kullanıyorsanız (GPU doğrusal cebir ile ortaktır). Bu durumda, ağırlık elemanının bir kayan nokta taşması mümkündür. Belirti ya bir Inf değeridir ya da diğer aşırı gösterime sarılır.
Genellikle gerekli değildir. Ölçekleme girişleri durumdan kaçınmaya yardımcı olur, bir veya birkaç özellik diğerlerine büyük ölçüde hükmediyorsa, sonuç olarak bu model, güçlü olsalar bile, daha küçük ölçek değişkenlerinin katkısını zorlukla alır. Ancak hedefi ölçeklendirirseniz, ortalama kare hatanız otomatik olarak ölçeklendirilir. MSE> 1 otomatik olarak, sabit (naif) bir tahminden daha kötü bir şey yaptığınız anlamına gelir.
Hayır, cevabın doğrusal dönüşümleri asla gerekli değildir. Bununla birlikte, modelinizin yorumlanmasına yardımcı olmak için yardımcı olabilirler. Örneğin, cevabınız metre cinsinden verilirse, ancak tipik olarak çok küçükse, milimetreye geri dönmek yararlı olabilir. Ayrıca, girişlerin merkezlenmesi ve / veya ölçeklendirilmesinin de aynı nedenle faydalı olabileceğine dikkat edin. Örneğin, diğer tüm tahminciler 0 olarak ayarlandığında , tahmin edicideki birim başına yanıt üzerindeki değişiklik üzerindeki etki olarak bir katsayıyı kabaca yorumlayabilirsiniz . Ancak 0, bu değişkenler için genellikle geçerli veya ilginç bir değer olmayacaktır. Girdilerin ortalanması, diğer tahminciler ortalama değerlerini aldıklarında, katsayıyı birim başına etki değiştiği şeklinde yorumlamanızı sağlar.
Yanıt orijinal ölçekte tahminlerde doğrusal değilse diğer dönüşümler (log veya karekök) yardımcı olabilir. Bu durumda, sizin için uygun olup olmadıklarını görmek için genelleştirilmiş doğrusal modeller hakkında okuyabilirsiniz.
Evet , hedef değişkeni ölçeklendirmeniz gerekir. Bu referansı alıntılayacağım :
Büyük bir değer dağılımına sahip olan bir hedef değişken, sırayla, ağırlık değerlerinin çarpıcı bir şekilde değişmesine neden olarak büyük hata gradyan değerleriyle sonuçlanarak öğrenme sürecini dengesiz hale getirebilir.
Referansta, çok büyük hatalar verildiğinde, eğitim sırasında model ağırlıklarının patladığı ve ardından ağırlık güncellemeleri için hesaplanan hata gradyanlarının da patladığı bir kod gösterimi var . Kısacası, verileri ölçeklendirmiyorsanız ve çok büyük değerleriniz varsa, çok küçük öğrenme oranı değerlerini kullandığınızdan emin olun. Bu, @drSpacy tarafından da belirtildi.