En basit ve anlaşılması kolay perceptron öğreticisi: teoriden pratiğe (kodla)

Leifeng.com'un notu: Bu makalenin yazarı Zhen Ranran'dır.Orijinal metin yazarın kişisel blogunda yayınlanmıştır.Leifeng.com yetkilendirilmiştir.

Algılayıcı nedir

Perceptron, iki sınıflı bir doğrusal sınıflandırma modelidir.Girdi, örneğin özellik vektörüdür ve çıktı, örneğin kategorisidir (+1 ve -1 alın).

Perceptron'un amacı, örnekleri ayırabilen bir hiper düzlem bulmaktır. Bulmak için, yanlış sınıflandırma kaybı fonksiyonu ve gradyan inişine dayalı bir optimizasyon stratejisi kullanırız.

Perceptron modeli

Örneğin, x, n boyutlu verileri ve y, veri türünü temsil eder. Algılayıcı formülü şu şekilde ifade edilebilir:

f (x) = işaret (wx + b)

Bunlar arasında, w ve b model parametreleridir, w ağırlıktır ve b sapmadır. wx, w ve x'in iç çarpımını temsil eder. İşte işaret, teşvik işlevi:

işaret (x)

Algılayıcı hiper düzleminin doğrusal denklemi şöyledir:

w * x + b = 0

Geometrik anlamı:

Düzlemin eksenindeki koordinat (w1x1 + w2x2 + b = 0):

(0, -b / w2)

(-b / w1, 0)

(Arkasındaki kod kullanılacak, bu yüzden önceden açıklamama izin verin.)

İşte başka bir bilgi parçası ve w'nin neden hiper düzlemin normal vektörü olduğunu kanıtlayın:

Biraz hiper düzlem bilgisi ekleyeyim:

Hiper düzlem ayırma teoremi, konveks kümelerin optimizasyon teorisine uygulanmasının önemli bir sonucudur ve bu sonuç optimizasyon teorisinde önemli bir yere sahiptir. İki dışbükey kümenin sezgisel olarak ayrılması, iki dışbükey kümenin kesişmemesi veya üst üste binmemesi anlamına gelir, bu nedenle ikisini her iki tarafta ayırmak için bir hiper düzlem kullanılabilir.

Konuya dönün:

0'dan büyük olanları +1 kategorisine, 0'dan küçük olanları -1 kategorisine ayırıyoruz. Örneğin, 0'dan büyükse, -1 veya tam tersi olarak değerlendirilir İlk reaksiyon, kayıp fonksiyonu olarak daha az sayıda yanlış sınıflandırılmış nokta kullanmaktır, ancak bu tür kayıp fonksiyonunun w ve b'si sürekli ve türevlenebilir değildir. , Optimize edilemez.

Bu yüzden başka bir seçeneğe geçmek istiyoruz, yani yanlış sınıflandırılmış noktadan hiper düzleme olan mesafe ne kadar kısa olursa o kadar iyidir. Mesafe formülü aşağıdaki gibidir:

Mesafe formülünü unutursanız, size bir ipucu verin:

Ve her yanlış sınıflandırma noktasının -yi (wx + b) karşıladığını biliyoruz > 0

Çünkü veri noktamızın doğru değeri +1 olduğunda yanlış sınıflandırmışsınızdır, o zaman eğer onu -1 olarak değerlendirirseniz (wx0 + b) 0 hesaplayın.

Veri noktasının doğru değeri -1 olduğunda, yanlış sınıflandırmış olursunuz, sonra onu +1 olarak yargılarsınız, sonra hesaplarsınız (wx0 + b > 0), yani -yi (wx + b) > 0

Sonra mutlak değer sembolünü kaldırabilir ve yanlış sınıflandırılmış noktanın mesafesini şu şekilde alabiliriz:

Çünkü bildiğiniz için, mutlak değeri kaldırabilirsiniz. Ardından toplam mesafe şu şekilde elde edilebilir:

W normunun bir bölümünü dikkate almadan (sonuçların aynı olduğunu düşünmek ve dikkate almamak, deney kanıtlamıştır), kayıp fonksiyonunu şu şekilde elde edebiliriz:

M, yanlış sınıflandırılan noktaların sayısıdır.

Zaten aşağıda gösterildiği gibi kayıp işlevini en aza indirmek için bir hedefimiz olduğunda:

Güncellemek için yaygın olarak kullanılan gradyan iniş yöntemini kullanabiliriz ve w ve b parametrelerinin kısmi türevleri elde edilebilir:

Sonra keyfi olarak w ve b'yi başlattıktan sonra, bir yanlış sınıflandırma noktasıyla karşılaştığımızda, alınan ağırlıklar sırasıyla w ve b olarak güncellenir:

Tüm süreci düzenleyin (iki boyutlu bir düzlem gibi):

a. w1, w2, b başlangıç değerlerini seçin (bir hiper düzlemi başlatmakla eşdeğer)

b. Eğitim setinde verileri seçin (xi, yi) (keyfi olarak veri noktalarını çıkarın, tüm veri noktalarının tamamlanmış olarak değerlendirilip değerlendirilmediğini belirleyin ve yorgun noktaların yanlış bölünmesi yoktur, eğer yoksa, hala c varsa algoritmayı sonlandırın)

c. yi (w * xi + b) ise

Ardından parametreleri güncelleyin! Güncelleme yöntemi aşağıdaki gibidir:

, 0-1 arasındaki öğrenme oranıdır.

Kod açıklaması

Başlatma verileri

Yinelemeli güncelleme döngüsü

Leifeng.com'da İlgili Okumalar:

Perceptron: prensipten eğitime

Perceptron (Perceptron)

Jackie Chan'in yeni filmi "British Showdown" u bir dakika içinde anlamaya götürürsünüz.
önceki
NI 2017 Turing Semineri, ulusal savunma endüstrisinin hızlı gelişimine yardımcı olmak için Şangay'da yelken açıyor
Sonraki
Drama bir tanrı atı mı oldu?
"Dikiş Makinesi Grubu" karşı saldırı afişi yayınladı, rüya ne kadar güçlü?
Kendi kendine giden arabaların derin sinir ağlarını eğitmesine yardımcı olmak için simüle edilmiş resimler kullanmak, bu yöntem güvenilir midir?
Ayakkabı kırmaktan mı endişeleniyorsun? 3D baskı, malzemelerin kendi kendine onarımını sağlayabilir
"Mükemmel blog yayını" TS akışı (6) -TS akış dosyası analizi
Olimpiyatlara giren e-sporlar hakkında daha fazla konuşulduğunda yumurtadan kurtulmak kolay
İmparator Gökyüzünün çevre yolu Titanların tutumu
"Gökyüzünde Avlanma" filmi, aile izlemek için ilk tercih oldu ve pozitif enerji teması izleyiciler tarafından övüldü
Böyle güzel bir şov izleyemiyorum
Emlak piyasasının gerçek eğilimini bilmek istiyorsanız, önce bu iki temel göstergeyi okuyun
Tehlike karşısında, bir grup Chongqing askeri doktoru yaşam onurunu koruyor.
Huawei ve Apple yenilecek mi? Qualcomm Snapdragon 8150 geliyor: 4 Aralık'ta Hawaii'de görücüye çıkıyor
To Top