Tüm makine öğrenme algoritmaları verileri doğrusal olarak ayırıyor mu?


22

Programlama ve makine öğrenmenin meraklısıyım. Sadece birkaç ay önce makine öğrenimi programlaması hakkında öğrenmeye başladım. Kantitatif bir bilim geçmişine sahip olmayan birçok kişi gibi, ben de yaygın olarak kullanılan ML paketindeki (caret R) algoritmalar ve veri setleri ile uğraşarak ML hakkında öğrenmeye başladım.

Bir süre önce, yazarın ML'deki doğrusal regresyonun kullanımı hakkında konuştuğu bir blogu okudum. Doğruyu hatırlıyorsam, sonunda bütün makine öğreniminin, doğrusal ya da doğrusal olmayan problemlerde bile bir çeşit "doğrusal regresyon" kullandığından (bu tam terimi kullanıp kullanmadığından emin değil) bahsetti. O zaman onun ne demek istediğini anlamadım.

Doğrusal olmayan veriler için makine öğrenmeyi kullanma anlayışı, verileri ayırmak için doğrusal olmayan bir algoritma kullanmaktır.

Bu benim düşüncemdi

En biz lineer denklem kullanılan doğrusal verileri sınıflandırmak için diyelim ve kullandığımız doğrusal olmayan veriler için doğrusal olmayan denklem diyelim ki Y = s ı n ( x )y=mx+cy=sin(x)

görüntü tanımını buraya girin

Bu görüntüden alınan sikit destek vektör makinesinin web sitesini öğren. SVM'de ML amacıyla farklı çekirdekler kullandık. Bu yüzden benim ilk düşüncem doğrusal çekirdeği doğrusal bir işlev kullanarak verileri ayırır ve RBF çekirdeği verileri ayırmak için doğrusal olmayan bir işlev kullanır.

Ama sonra yazarın Sinir ağları hakkında konuştuğu bu blogu gördüm .

Doğrusal olmayan problemi sol alt arsada sınıflandırmak için, sinir ağı, verileri sağ alt arsadaki dönüştürülmüş verilere basit bir doğrusal ayırma kullanabileceğimiz şekilde dönüştürür.

görüntü tanımını buraya girin

Sorum şu: Sonunda tüm makine öğrenme algoritmaları sınıflandırma için doğrusal bir ayrım kullanıyor mu (doğrusal / doğrusal olmayan veri kümesi)?



3
günah(x)s=günah(x)y=θ0+θ1s

Mbq'in bu konudaki cevabını da seviyorum, Destek vektör makinelerini anlamama yardım et .
Andy W,

Yanıtlar:


26

Cevap hayır. User20160 mükemmel bir cevaba sahip, fikri açıklamak için görselleştirme ile 3 örnek ekleyeceğim. Unutmayın, bu çizimler "nihai kararın" doğrusal biçimde olup olmadığını görmek için size yardımcı olmayabilir, ancak ağaç, boost ve KNN hakkında biraz fikir sahibi olabilirsiniz.

Karar ağaçları ile başlayacağız. Birçok bölünmeyle, doğrusal olmayan bir karar sınırıdır. Ve önceki bütün bölünmelerin "özellik dönüşümleri" olduğunu düşünemeyiz ve sonunda nihai bir karar çizgisi vardır.

Diğer bir örnek, birçok "zayıf sınıflandırıcıyı" bir araya getiren ve nihai karar sınırını doğrusal olmayan bir yükseltme modelidir. Son tahminde bulunmak için karmaşık bir kod / algoritma olduğunu düşünebilirsiniz.

Son olarak, K En Yakın Komşular'ı (KNN) düşünün. Aynı zamanda son katmandaki doğrusal bir karar işlevi değildir. Ek olarak, KNN'de "özellik dönüşümü" yoktur.

2B uzayda üç görselleştirme (Ağaç, Yükseltme ve KNN yukarıdan aşağıya doğru). Temel gerçek 2 spiral, iki sınıfı temsil eder ve sol alt çizgi modelden tahminler ve sağ alt çizgi modelden karar sınırlarıdır.

Ağaç karar sınırı

Karar sınırını artırmak

KNN karar sınırı


EDIT: @ ssdecontrol bu yazıdaki cevabı başka bir bakış açısı verir.

Bu , "dönüşümü" nasıl tanımladığımıza bağlıdır .

Verileri iki parçaya bölen herhangi bir işlev, bir kesişme ve tek bir giriş (bu veri noktasının bölümünün "tarafının" üzerinde bir gösterge olduğu) olan, bu formun doğrusal bir modeline dönüştürülebilir. Bir karar fonksiyonu ile karar sınırı arasındaki farkı not etmek önemlidir.


Eleştirmek istemiyorum, ama yükseltme biraz zor görünüyor, değil mi? Farklı parametrelerle daha yumuşak bir sonuç elde etmek mümkün değil mi? Kusura bakma, çünkü bütün açıklamaları çok iyi buluyorum.
YCR

@YCR Bence zorlu bir karar sınırına sahip olduğunuzu artırmanın noktası bu. Pürüzlülük birçok zayıf sınıflandırıcının toplanmasından kaynaklanır (bu örnekte, ağaçlardır). Fakat ikinci örneğin iyi bir model olmadığı konusunda hemfikir olduğunuzu kabul ediyorum :)
Haitao Du

1
(+1) Harika görselleştirme ( spiralsDeneylerimde de çok kullanıyorum ). Bir öneri: karar sınırlarını şu şekilde çizin imageve olasılık olasılıklarını (olasılıklı çıktılar kullanıyorsanız) ile ekleyin contour.
Firebug

@Firebug harika öneri! Bu arsa bir ızgarada üretilir ve yalnızca size son etiketi söyleyebilir. Kontur çok daha iyi.
Haitao Du

Buradaki cevaba bakınız: stats.stackexchange.com/a/218578/60613
Firebug

21

Bazı algoritmalar verileri ayırmak için bir hiper düzlem (yani doğrusal işlev) kullanır. En önemli örnek lojistik regresyondur. Diğerleri, doğrusal olmayan bir dönüşümden sonra verileri ayırmak için bir hiper düzlem kullanır (örneğin sinir ağları ve doğrusal olmayan çekirdekli vektör makinelerini destekler). Bu durumda, karar sınırı orijinal veri alanında doğrusal değildir, ancak verilerin haritalandığı özellik alanında doğrusaldır. SVM'lerde, çekirdek formülasyonu bu haritalamayı örtük olarak tanımlar. Diğer algoritmalar, veri alanının yerel bölgelerinde (örn. Karar ağaçları) birden fazla bölme hiper düzlemi kullanır. Bu durumda, karar sınırı parçalı olarak doğrusaldır (ama genel olarak doğrusal olmayan).

Ancak, diğer algoritmalar doğrusal olmayan karar sınırlarına sahiptir ve hiper düzlemler şeklinde formüle edilmemiştir. Belirgin bir örnek, en yakın komşu sınıflamasıdır. Topluluk sınıflayıcıları (örneğin, diğer sınıflayıcıları artırarak veya torbalayarak üreterek) genellikle doğrusal değildir.


Yapay Sinir Ağı, doğrusal olmayan dönüşümden sonra köprüleri kullanan bir model sınıfına iyi bir örnek değildir. Çıktı katmanı (çoğu durumda), önceki katmanları bir özellik alanına doğrusal olmayan bir dönüşüm olarak kabul etmeniz şartıyla, bir sigmoid aktivasyonu olabilir.
Cagdas Ozgenc

1
@CagdasOzgenc Önerdiğiniz gibi ikili sınıflandırma ve ağ / sigmoidal çıkışlı bir durum düşünelim. Bu, önceki katmanın aktivasyonlarındaki lojistik regresyona eşdeğerdir (softmax çıkışları kullanmak, multinomiyal lojistik regresyona eşdeğer olacaktır). Dolayısıyla, karar sınırı özellik uzayındaki bir köprüdür. Orijinal sorudaki resim bunun güzel bir örneğini gösteriyor.
user20160

F (Ax) = 0 ve f bire bir olduğunda, yalnızca f ^ -1 (Ax) = f ^ -1 (0) => Ax = 0 (veya bir miktar c) yapabilir. Yani sigmoid durumunda, doğrusal bir karar sınırı alırsınız. Temel olarak f, tersinir olmadığı durumlar hakkında mı konuşuyoruz?
Cagdas Ozgenc

F çıkış nöronunun aktivasyon işlevi ve önceki katmanın x çıktısı mı? Ne sorduğunu anladığımdan emin değilim.
user20160

x, önceki katmanın nöronlarından gelen bir vektördür ve f, çıktı aktivasyon işlevidir.
Cagdas Ozgenc
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.