Yetersiz veya fazla uydurmaktan uzak durmak mı istiyorsunuz? Düzenlemeler en etkili olanıdır!

Bu makale, algoritmaların doğruluğunu iyileştirmek için makine öğrenimi algoritmalarına nasıl düzenlileştirme ekleneceğini tanıtacaktır. Doğrusal regresyondaki düzenlileştirme durumlarını tartışma için sıralayacağız ve farklı miktarlarda düzenlileştirmenin doğruluğu nasıl etkilediğini göreceğiz.

Yetersiz ve fazla uydurma

Makine öğrenimi algoritmaları söz konusu olduğunda, genellikle gereğinden fazla ve yetersiz uydurma sorunlarıyla karşı karşıyadır. Uydurma algoritması, algoritmayı çok fazla basitleştirmek anlamına gelir, böylece verilere eşleme yapmak zordur; aşırı uydurma, algoritmanın çok karmaşık olduğu, eğitim verilerine mükemmel bir şekilde adapte olduğu, ancak popülerleştirilmesi zor olduğu anlamına gelir.

Yetersiz uydurma ve aşırı uydurma örnekleri aşağıda gösterilmiştir. Yetersiz uydurma algoritması siyah bir çizgi ile gösterilir ve aşırı uydurma algoritması mavi bir çizgiyle gösterilir.

Algoritma yetersizliği sorununu çözmek için, genellikle daha fazla başka işlev ekleyebilir veya verilerle daha iyi eşleşmesi için işlevinizi daha yüksek hale getirebilirsiniz.

Öte yandan, aşırı uydurmayı önlemek için özelliklerin sayısını azaltabilir veya düzenlileştirmeyi kullanabilirsiniz. Özellikleri silmek zor olabilir çünkü hangi özelliklerin silineceğini bilmek kolay değildir. Öte yandan, ayarlama algoritması soruna kolayca düzenlileştirme uygulayabilir.

Düzenlilik

Düzenlemenin özü, algoritmadaki bazı parametrelerin boyutunu azaltmaktır. Bunu, algoritmadaki daha az kullanışlı özellikleri bastırmak için bir sönümleyici olarak düşünün, böylece verilere fazla uyma olasılığını azaltın. Düzenli hale getirme, veri kümesinde çok az yararlı işlevler olduğunda en etkilidir. Biraz kullanışlı, çıktı değişkenleriyle düşük korelasyona sahip oldukları anlamına gelir.

Düzenlemenin nasıl çalıştığını anlamak için, aşağıdaki doğrusal regresyona düzenlileştirmeyi uygularız. Ayrıntılarla ilgilenmiyorsanız, gerçek algoritma üzerindeki etkisini anlamak için vaka bölümüne geçebilirsiniz.

Doğrusal regresyona regresyon uygulamak için, maliyet ve gradyan fonksiyonlarına ek bir terim ekliyoruz.

Doğrusal regresyon için genel maliyet fonksiyonu aşağıdaki gibidir:

Bu, ortalama kare hatanın yarısıdır.

Düzenlemeyi uygulamak için, parametresi tarafından kontrol edilen yeni bir terim sunuyoruz:

Benzer şekilde, gradyan fonksiyonu maliyet fonksiyonunun kısmi türevi olduğundan, bu da gradyan fonksiyonunu değiştirir. Şimdi, düzenlenmiş gradyan işlevi:

Şimdi, gradyan işlevi algoritmayı mümkün olan en iyi değerine eğitmek için kullanıldığından, düzenlileştirmenin rolünü anlamak için yeni gradyan işlevini inceleyebiliriz.

· 0 için, etki yoktur - gradyan fonksiyonunun ofseti yoktur.

· j için, bu her özellik terimi içindir ve terimini tanıtıyoruz. Bu, veri kümesindeki daha az kullanışlı özelliklerin bastırılmasına yardımcı olacaktır.

Gördüğünüz gibi, yeni parametre , düzenlileştirmenin büyüklüğünü kontrol eder. 'nın optimal değeri problemden probleme değişir. Bazı makine öğrenimi kitaplıkları, problem ve eğitim seti için en uygun değerini otomatik olarak bulan işlevler içerir.

Durum

Düzenlemeyi test etmek için bazı veri kümeleri aşağıdaki formüllerle toplanabilir:

y = günah (x) x

Egzersiz verilerini XY grafiğine aşağıdaki gibi çizin:

Eğitim verileri

Şimdi, işlevi en iyi simüle eden işlevi bulmak için doğrusal regresyon kullanacağız. Düz çizgilerin fonksiyonları çok iyi taklit etmediği eğitim verilerinden açıkça görülmektedir. Bu nedenle, daha yüksek dereceden polinomları kullanmam gerekecek. Bu amaçla, doğrusal regresyon algoritmasının giriş fonksiyonunu sadece aşağıdaki fonksiyon setine vereceğim:

Bu, esasen doğrusal regresyonun eğitim verilerine uyabilecek 15 derecelik bir polinom bulacağı anlamına gelir. Bu, algoritmanın sinüs fonksiyonundaki değişiklikleri simüle etmesi için yeterli alan bırakmalıdır, ancak aynı zamanda aşırı uydurma çözümleri için algoritmayı açmamıza da izin verir.

İlk olarak, düzenlileştirmeyi kullanmadan algoritmayı eğitmeye ve ortaya çıkan işlevi çizmeye çalışıyoruz.

Düzensizlik - = 0

Düzenli hale getirme olmadan, eğitim verilerine mükemmel uyum sağlayabilen algoritmalar bulduğumuzu görebiliriz, ancak bu tür algoritmalar çözümü iyi bir şekilde genelleyemez. Eğitim setinde olmayan herhangi bir veri için bu bize tamamen yanlış sonuçlar verecektir.

Bu noktada, daha iyi sonuçlar elde etmek için giriş öğelerini eğitim setinden manuel olarak silmeyi deneyebilir veya normalleştirme algoritmasını istenmeyen öğelerin etkisini en aza indirgemek için düzenlemeyi kullanabiliriz. Örneğimizde, düzenlileştirmeyi uygulamaya çalışıyoruz.

Bunu akılda tutarak, 'yı 5'e ayarlamaya ve eğitimi yeniden başlatmaya çalıştık.

Düzenleme uygula- = 5

'yı 5 olarak ayarlarsak, ortaya çıkan işlevin çözümleri açmada çok daha iyi olduğunu görebiliriz. 0 için < x < 3. Sinüs fonksiyonunun çok iyi bir yaklaşımını verir, ancak bu yine de mükemmel değildir. Bu nedenle 'yı biraz artırmaya çalışıyoruz. Aşağıdaki sonuçları verir:

Düzenlemeyi uygula - = 13

'yı 13 olarak ayarlarsak, hesaplamanın problemin çözümünü genellemede daha etkili olduğunu görürüz. Bununla birlikte, eğitim setinin üst sınırındaki performansı hala mükemmel değil. Mükemmel olmasa da, model herhangi bir düzenleme olmadan hala geliştiriliyor.Bu sadece bir örnek. Gerçek hayatta, daha iyi sonuçlar elde etmek için özelliklerin ortadan kaldırılması ve düzenlenmesi kombinasyonunu kullanmış olabiliriz.

Bu örnek, makine öğrenimi modellerini iyileştirmek için normalleştirmenin nasıl uygulanacağını gösterir. Bununla birlikte, optimum değerini bulmak zor olabilir. Görselleştirilebilen tek boyutlu veya iki boyutlu verilere sahip olmak bunu kolaylaştırır. Verileri görselleştirme seçeneği yoksa, algoritma kaybını veya hatasını hesaplamak için güvenilir bir test veri seti kullanılması önerilir. Oradan, en düşük hataya sahip değerini bulmak için birçok farklı değerini deneyebilirsiniz. Bu yöntemi seçerseniz, test veri setinin eğitim verilerinden farklı olması gerektiğini unutmayın - bu, algoritmanın genellemesini test etmenin ve modele aşırı uymaktan kaçınmanın tek yoludur.

Aç mısın Üye hata fiyatı ayda 3 yuan ve sistem parçalandıktan sonra çöküyor.
önceki
Bilmemelisin! WeChat grupları hala böyle oynayabilir!
Sonraki
Yeni iPhone çok mu pahalı? Cook yanıt verdi: Bu yenilik için para ödemeye değersiniz
Zuckerberg İngiltere'ye gitmeye cesaret edemiyor mu? İngiliz Parlamento Komitesi raporu Facebook'u bombaladı: dijital haydut!
Yeni iPhone kötü çığlık atıyor ama randevu sayısı olağanüstü Samsung: Sırf Apple olduğu için mi?
Ningbo "Her Mu'da Kahramanlar" Reformu Uygulaması Yüksek Kaliteli Gelişimi Artırıyor
Küçük prens Millet 4 tarih sahnesinden çekiliyor ve artık MIUI10'u desteklemeyecek
Bu olay nedeniyle, her zaman düşük anahtar olan Ma Huateng, arkadaş çevresi içindeki diğerleriyle tartıştı!
Uçuş modu nedir? Uçarken neden uçuş moduna geçmiyorsun?
Wu Lei'nin 66 dakikalık şiddet koleksiyonu! Orta saha oyuncusu durdu ve iki kombo savunmak için + geri döndü
ASUS PRIME X299-DELUXE anakart / Core-X işlemci değerlendirmesi ülke çapında görücüye çıktı
6G depolama + 16 milyon önde, kendisiyle doğal olarak gurur duyan somun cep telefonu 4 ay sonra 1399'a düştü
Kod ayrıntıları: İnsan beynini simüle etmek için Python ile RNN oluşturun
Çok güzel kokuyor! Yeni iPhone ile ilgili her türlü şikayet, ancak randevu sayısı inanılmaz
To Top