Sinir ağları için çekirdekleşme hilesi


9

Sinir ağları ve SVM'leri öğreniyorum. Okuduğum öğreticiler SVM'ler için çekirdekleştirmenin ne kadar önemli olduğunu vurguladı. Bir çekirdek işlevi olmadan, SVM'ler yalnızca doğrusal bir sınıflandırıcıdır. Çekirdekleştirme ile SVM'ler, onları daha güçlü bir sınıflandırıcı yapan doğrusal olmayan özellikler de içerebilir.

Bana öyle geliyor ki, sinir ağlarına çekirdekleme de uygulanabiliyor gibi gözüküyor, ancak gördüğüm sinir ağlarındaki öğreticilerin hiçbiri bundan bahsetmedi. İnsanlar çekirdek hilesini sinir ağları ile sık kullanıyor mu? Birisinin büyük bir fark yaratıp yaratmadığını görmek için onunla deney yapması gerektiğini düşünüyorum. Çekirdekleşme sinir ağlarına SVM'lere yardımcı olduğu kadar yardımcı olur mu? Neden ya da neden olmasın?

(Çekirdek numarayı sinir ağlarına dahil etmenin birkaç yolunu hayal edebilirim. Bir yol, girdiyi ön işlemek için uygun bir çekirdek işlevini, bir vektörü, daha yüksek boyutlu bir girdiye, bir vektöre kullanmak olacaktır. içinde için . çok tabakalı sinir ağları için, bir başka alternatif sinir ağının her seviyede bir çekirdek fonksiyonu uygulamak için olabilir.)RnRmmn


2
Çekirdek hile, veri noktalarınıza hesaplamalı erişiminiz iç ürünleri hesaplamaktan oluştuğunda çalışır. Sinir ağları için durumun bu olduğundan emin değilim.
Yuval Filmus

Yanıtlar:


6

Terminolojiyi konuyu kafa karıştırıcı bir şekilde karıştırıyor olabileceğinizi düşünüyorum. SVM'ler doğrusal bir karar sınırı, yani bir hiper düzlem tanımlayarak çalışır. Bu hiper düzlemi noktalar arasındaki iç ürünler olarak tanımlayabiliriz. Bu nedenle, bu iç ürünü yüksek boyutlu, hatta sonsuz boyutlu bir alanda tanımlarsak, bu yeni alanda köprü gibi görünen şey orijinal özellik alanında gerekli bir doğrusal değildir. Yani her şey hala doğrusal, yaptığımız tek şey (yeni iç çarpım yoluyla) noktaları daha yüksek boyutlu bir alana gömmek. Belki de bütün bunları zaten biliyorsunuzdur.

Sinir ağları ile ilgili dikkate alınması gereken 2 konu vardır. İlki @Yuval Filmus tarafından getirildi, çünkü gizli katman sinir ağları noktalar arasındaki iç ürünlerden daha fazlasına bağlı. Gizli katmanı kaldırırsanız, sadece çekirdek sürümleri olan lojistik regresyon gibi bir şeyiniz vardır . Belki bunun üstesinden gelmenin bir yolu var ama görmüyorum.

İkinci olarak, girdiyi daha yüksek fakat sonsuz olmayan bir boyutsal uzaya yansıtarak önişlemeden bahsediyorsunuz. Sinir ağları bir karar yüzeyi tanımlar ve bu yüzey doğrusal olmakla sınırlandırılmaz. Bu, noktaların daha yüksek boyutlu bir alana yansıtılmasından elde edilen kazancın farklı olacağı anlamına gelir, yani iyi bir ağırlık seti bulmayı kolaylaştırabilir, ancak modelimizi daha güçlü hale getirmedik. Bu , bize yeterince çok sayıda gizli ünite verildiğinde, herhangi bir işleve (bazı kısıtlamalar altında) yaklaşabileceğimizi söyleyen Evrensel yaklaşım teoreminden gelir. Bu son ifade oldukça boş ve bundan bahsetmekten nefret ediyorum. Size doğru ağırlıkları nasıl bulacağınız hakkında bir şey söylemezseniz, bir uygulama açısından tabloya fazla bir şey getirmez.


Teşekkür ederim. Evet. SVM'leri orijinal girdileri daha yüksek (hatta sonsuz) boyutsal bir alana eşlemek, sonra o daha yüksek boyutlu alanda doğrusal bir karar sınırı yapmak olarak düşünebileceğimizi biliyorum. Peki, sinir ağları ile de yapabilir miyiz? Girdileri daha yüksek boyutlu bir alana eşleyebilir miyiz, daha sonra bunu bir sinir ağına gerçek girdi olarak ele alabilir miyiz? Yapabileceğimizi sanıyorum (ve eğer istersek, bunu her katmanda da yapabileceğimizi düşünüyorum). Ve eğer yapabilirsek, asıl sorum şu: bu sinir ağlarında SVM'lerde olduğu gibi büyük bir gelişme sağlıyor mu? Neden ya da neden olmasın?
DW

Evrensel yaklaşım teoremini biliyorum, ama bu gerçekten soruyu cevaplamıyor (belirttiğiniz gibi). Önemsediğim şey, sinirsel çalışmaların pratikte ne kadar iyi çalışma eğiliminde olduğudur. Bir girdi hile ile girişlerin önişleminin sinir ağlarını uygulamada daha iyi çalışma eğilimine sokup açmayacağını merak ediyorum. Tabii ki hiçbir garanti yoktur ve yaptığınız her şeyin işleri daha da kötüleştirebileceği durumlar olacaktır, ancak uygulamada tipik davranışları merak ediyorum (aynı anlamda çekirdekleşmenin SVM'leri önemli ölçüde daha etkili hale getirdiğini söylüyoruz. uygulama).
DW

2
@DW Çekirdekleştirmenin SVM'leri daha etkili hale getirmesinin nedeni, doğrusal olmayan karar sınırlarını tanımlamalarına izin vermesidir. Sinir ağları zaten doğrusal olmayan karar sınırlarını tanımlayabilir, bu nedenle verilerinizi daha yüksek boyutlu bir alana yansıtmanın tek yararı optimizasyon problemini kolaylaştırmak olacaktır.
alto

1

Çekirdek hile, SVM'ler için öğrenme sürecinin özel bir özelliği nedeniyle SVM'ler için mümkündür. Sinir ağları bu özelliğe sahip gibi görünmüyor (anlayabildiğim kadarıyla).

Let Eğitim seti noktalar olabilir. Normalde, bir makine öğrenme algoritmasının değerlerine bakmasını beklersiniz . Bununla birlikte, SVM öğrenme süreci oldukça dikkate değer bir özelliğe sahiptir. değerlerini bilmek gerekmez . Herhangi bir giriş noktası çifti için değerini hesaplamak yeterlidir (yani, seçtiğiniz herhangi bir giriş vektörü çifti için nokta-ürünü hesaplamak için); SVM öğrenme sürecinin tüm ihtiyacı budur.x1,,xnRdxixixixj

SVM öğrenme sürecinin bu özel özelliği, çekirdek hilesini kullanmamızı sağlar. Bir çekirdek fonksiyonu tanımlayabiliriz, böylece girişlerin doğrusal olmayan bazı dönüşümlerinin nokta . Girdi vektörlerini doğrusal olmayan bir dönüşüm (bazı ) dönüştürüyorsak, . Bir sonraki harika özellik, bazı doğrusal olmayan dönüşümler için , açık bir şekilde hesaplamaktan ve daha sonra nokta ürünlerini hesaplamaktan daha verimli bir şekilde hesaplayabilmenizdir ; hesaplayabilirsinizKK(xi,xj)ϕ:RdRmm>dK(xi,xj)=ϕ(xi)ϕ(xj)ϕK(xi,xj)ϕ(xi),ϕ(xj)K(xi,xj)içerisinde bir süre (örneğin) yerine zaman.O(d)O(m)

Ne yazık ki, sinir ağları bu serin hileden yararlanmak için herhangi bir yolu yok gibi görünüyor, çünkü sinir ağları için öğrenme süreci sadece (veya ) değerlerinden daha fazlasına bağlı gibi görünüyor ; tüm 'nin tam değerlerini gerektirir . Bu yüzden, eğer istersek, girişleri doğrusal olmayan bir ağ üzerinden doğrusal olmayan bir fonksiyonla önceden dönüştürebilmemize rağmen, SVM'ler için yapabileceğimiz gibi bunu daha verimli hale getirmek için çekirdek hile kullanmanın bir yolu yok gibi görünüyor.xixjK(xi,xj)xi


1

Yaptığım bazı gözlemleri paylaşmak istiyorum. Girdi boyutu: 144. Bir sinir ağı eğitimi aldım ve eğitim sırasında gizli katmanların çıktıları lojistik regresyon için girdi olarak verildi ve modele uyulduktan sonra ortalama kayıp fonksiyonu değeri çizildi.resim açıklamasını buraya girin

resim açıklamasını buraya girin

Katman boyutundaki artışla, gizli katmanların özelliklerinin veya çıktılarının doğrusal olarak ayrılabilir hale geldiğini görebiliriz. Bu, çekirdeklendirilmiş özellik vektörünü öğrenmenin amacı olsa da , sinir ağı bunu dahili olarak yapıyor gibi görünüyor. resim açıklamasını buraya girin

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.