Tarihteki en özlü ve anlaşılması kolay öğretici Gradyan inişini anlamak için Excel'i kullanın

Lei Feng net notu: Bu makalenin yazarı, eski American Express (American Express) kıdemli makine öğrenimi mühendisi, derin öğrenme çevrimiçi eğitim web sitesi Deeplearningtrack'in kurucu ortağı Jahnavi Mahanta'dır.

Jahnavi Mahanta: Algoritmaların rolüne ilişkin sezgisel bir anlayış oluşturmak - makine öğrenmeye ilk başladığımda, kendimi çok zor hissettirdi. Sadece matematiksel teoriyi ve notasyonu anlamak kolay değil, aynı zamanda sıkıcı olduğu için. Bir yol bulmak için çevrimiçi eğiticiye gittim, ancak yalnızca formüller veya üst düzey açıklamalar var ve çoğu durumda ayrıntılara girmeyeceğim.

O sırada, bir veri bilimi meslektaşım beni yeni bir yöntemle tanıştırdı Algoritmaları uygulamak için Excel elektronik tablolarını kullanın, Bu yöntem beni hayrete düşürüyor. Daha sonra, hangi algoritma olursa olsun, onu Excel'de küçük ölçekte öğrenmeye çalışacağım - güven bana, bu yöntem, algoritmayı daha iyi anlamak ve matematiksel güzelliğini tam olarak anlamak için bir mucizedir.

Durum

Size bir örnekle açıklayayım.

Çoğu veri bilimi algoritması optimizasyon problemleridir. Bu konuda en yaygın kullanılan algoritma gradyan iniştir.

Gradyan iniş kulağa çok gizemli gelebilir, ancak bu makaleyi okuduktan sonra, bu konudaki duygularınız muhtemelen değişecektir.

Burada konut fiyatı tahmin problemini örnek olarak kullanıyoruz.

Şimdi, tarihsel konut verileriyle, bölgeye göre yeni bir konutun fiyatını tahmin edebilecek bir model oluşturmamız gerekiyor.

Görev: Yeni bir ev için, X alanı verildiğinde, Y fiyatı nedir?

Geçmiş konut verilerini çizerek başlayalım.

Şimdi, X bölgesine göre yeni bir Ypred evin fiyatını tahmin etmek için geçmiş verileri bir çizgiyle eşleştirmek için basit bir doğrusal model kullanacağız.

Yukarıdaki şekilde kırmızı çizgi, farklı alanlar altında tahmin edilen Ypred fiyatı göstermektedir.

Ypred = a + bX

Mavi çizgi, geçmiş verilerden Yactual'in gerçek ev fiyatıdır.

Yactual ile sarı kesikli çizgi olan Ypred arasındaki fark, tahmin hatası E'dir.

A ve b ağırlıklarının optimum değeri elde etmesini sağlayan düz bir çizgi bulmalı ve tahmin hatasını azaltarak ve tahmin doğruluğunu artırarak geçmiş verilerle en iyi eşleşmeyi sağlamalıyız.

Bu nedenle amaç, Yactual ile Ypred arasındaki E hatasını en aza indirmek için en uygun a, b'yi bulmaktır.

Hata Karelerinin Toplamı (SSE) = ½ a (gerçek fiyat - tahmini fiyat) 2 = ½ a (Y - Ypred) 2

(Leifeng.com, hataları ölçmenin birden fazla yolu olduğunu hatırlatır, bu sadece bunlardan biridir)

Bu, gradyan inişinin sahneye çıktığı zamandır. Gradyan inişi, tahmin hatasını azaltmak için optimum ağırlığı (a, b) bulabilen bir optimizasyon algoritmasıdır.

Gradyan inişini anlama

Şimdi gradyan iniş algoritmasını adım adım anlayalım:

  • A ve b ağırlıklarını rastgele değerler ve hesaplanan hata (SSE) ile başlatın.

  • Gradyanı hesaplayın, yani ağırlıklar (a ve b) rastgele başlangıç değerinden biraz arttığında veya azaldığında, SSE değişir. Bu, SSE'yi en aza indirmek için a ve b'nin değerlerini hareket ettirmemize yardımcı olur.

  • Optimum değere ulaşmak ve SSE'yi en aza indirmek için ağırlığı ayarlamak için gradyanı kullanın.

  • Tahmin yapmak ve yeni SSE'yi hesaplamak için yeni ağırlıkları kullanın.

  • Ağırlık ayarı artık hatayı etkili bir şekilde azaltamayana kadar ikinci ve üçüncü adımları tekrarlayın.

  • Yukarıdaki adımların her birini Excel'de yaptım, ancak buna bakmadan önce verileri standartlaştırmamız gerekiyor çünkü bu optimizasyon sürecini daha hızlı hale getiriyor.

    ilk adım

    SSE tahmin hatasını hesaplamak için düz çizgiyi Ypred = a + b X rasgele a ve b değerleriyle başlatın.

    İkinci adım

    Hata gradyanını farklı ağırlıklarla hesaplayın.

    SSE / a = - (Y-YP)

    SSE / b = - (Y-YP) X

    Burada SSE = ½ (Y-YP) 2 = ½ (Y- (a + bX)) 2

    Biraz matematik bilmeniz gerekiyor, ancak başka bir gereklilik yok.

    SSE / a ve SSE / b, a ve b hareketinin yönlerini vermek için SSE'ye dayanan gradyanlardır.

    üçüncü adım

    SSE'yi en aza indiren optimum değeri elde etmek için ağırlıkları gradyanlarla ayarlayın

    Optimal a ve b yönünde hareket etmemizi sağlamak için a ve b'nin rastgele değerlerini güncellememiz gerekir.

    Kuralları güncelleyin:

    • a - SSE / a

    • b - SSE / b

    bu nedenle:

  • Yeni a = a - r * SSE / a = 0.45-0.01 * 3.300 = 0.42

  • Yeni b = b - r * SSE / b = 0.75-0.01 * 1.545 = 0.73

  • Burada r, ağırlık ayarlama oranı olan öğrenme oranı = 0.01'dir.

    dördüncü adım

    Tahmin yapmak ve toplam SSE'yi hesaplamak için yeni a ve b'yi kullanın.

    Yeni tahminde, toplam SSE'nin 0,677'den 0,553'e düştüğünü görebilirsiniz. Bu, tahmin doğruluğunun arttığı anlamına gelir.

    beşinci adım

    A ve b'nin ayarlanması hatayı etkili bir şekilde azaltamayana kadar üçüncü ve dördüncü adımları tekrarlayın. Şu anda, optimal a, b ve en yüksek tahmin doğruluğuna ulaştık.

    Bu, gradyan iniş algoritmasıdır. Optimizasyon algoritması ve varyantları, derin ağlar ve hatta derin öğrenme gibi birçok makine öğrenimi algoritmasının temelini oluşturur.

    Leifeng.com tarafından derlenen kdnuggets aracılığıyla.

    Çeşitli ülkelerin "Bahar Şenliği Galası" kaynıyor, Yılbaşı yemeği için hangisini seçmeli?
    önceki
    Yüksek Hassasiyetli Güneş Takip Sisteminin Araştırılması ve Uygulanması
    Sonraki
    Chongqing ve Shandong Eyaleti arasında bir dostluk köprüsü kurmak için, Shandong Fotoğrafçılar Derneği, Chongqing Wushan İlçesi Yaratıcı Üssü ödüllendirildi
    Ev TV duvar dekorasyonu hakkında endişelenmeyin! Sadece bir "Meimeida" TV al
    Bazı iyi oyuncular yemeğin içindeki tuz gibidir
    "God of War" geliştirici röportajı: Kratos oğlu için yeni bir umut yaratacak
    Çin'in ticari havacılığının bir envanteri: özel roketler iki büyük darboğaz ve üç ana eğilimle karşı karşıya.
    Parametre Tanımlamasına Dayalı PMSM'nin Konum Sensörsüz Vektör Kontrolü
    Otopilot şirketi Zoox, büyük ölçekli yol testlerine başladı, işte bilmek istediğiniz etabın önü ve arkası
    Yurtdışı Film Haberleri "Bond 25" kesinleşti, "Reunion 4" çekime başlayacak
    "Hao Hey Yo" un arkasındaki Güneybatı lehçesi interneti nasıl işgal etti?
    Ulusal bir basketbol karnavalı oluşturmak için Tencent Microvision, NBA doğrudan oyun yeni deneyimi ile özel olarak işbirliği yapıyor
    Yuan Quan kırmızı olmak isteseydi, uzun zaman önce kırmızı olurdu
    X-bandı negatif dirençli osilatör tasarımı
    To Top