Anlamam için bana yardım et Destek


76

Bir Destek Vektörü Makinelerinin amacının, bir girişin birkaç farklı sınıfa sınıflandırılması açısından ne anlama geldiğinin temellerini anlıyorum; Yeni başlayanlar için biraz Slack Değişkenleri ile kafam karıştı. Amaçları nedir?

Bir ayakkabının iç tabanına yerleştirdiğim sensörlerden basınç ölçümleri aldığım bir sınıflandırma problemi yapıyorum. Basınç verileri kaydedilirken bir konu birkaç dakika oturacak, duracak ve yürüyecektir. Bir sınıflayıcıyı, bir kişinin oturma, ayakta durma veya yürüme olup olmadığını belirleyebilmek ve gelecekteki test verileri için bunu yapabilmek için eğitmek istiyorum. Hangi sınıflandırıcı türünü denemem gerekir? Elde ettiğim verilerden bir sınıflandırıcı yetiştirmem için en iyi yol nedir? Oturmak, ayakta durmak ve yürümek için 1000 girişim var (3x1000 = 3000 toplam) ve hepsinde aşağıdaki özellik vektör formu var. (basınç sensöründen basınç 1, basınç sensöründen 2, basınç sensöründen3, basınç sensöründen4)


Yanıtlar:


103

Bence kötü bir sondan başlamaya çalışıyorsun. Bunu kullanmak için SVM hakkında bilmesi gereken şey, bu algoritmanın iki sınıfı en iyi ayıran niteliklerin hiper uzayında bir hiper uçağı bulmasıdır, burada sınıflar arasında en büyük marjla en iyi yöntem anlamına gelir (bunun nasıl yapıldığı bilgisi sizin düşmanınızdır, çünkü gibi genel bir resmi bulanıklaştırır) alt metin

Şimdi, bazı problemler kaldı.
Her şeyden önce, farklı bir sınıfın noktalarından oluşan bir bulutun merkezine utanmadan yatan kötü aykırılarla ne yapmalı?
alt metin
Bu amaçla, optimize edicinin bazı örnekleri yanlış etiketlenmiş bırakmasına izin veriyoruz, ancak bu tür örneklerin her birini cezalandırıyoruz. Çok hedefli optimizasyondan kaçınmak için, yanlış etiketlenmiş vakalara yönelik cezalar, bu amaçlar arasındaki dengeyi kontrol eden ek C parametresi kullanılarak, marj büyüklüğü ile birleştirilir.
Sonra, bazen sorun sadece doğrusal değildir ve iyi bir hiper düzlem bulunamaz. Burada, çekirdek hilesini tanıtıyoruz - sadece doğrusal olmayan uzayı, bazı doğrusal olmayan dönüşümlerle daha yüksek boyutlu bir boyuta yansıtıyoruz, elbette, ortaya çıkan uzayda problemin düz için uygun olacağını umarak SVM:

alt metin

Yine, biraz matematikle ve bu tüm dönüşüm prosedürünün, nesnelerin nokta ürününü çekirdek işlevi adı verilen bir şeyle değiştirerek nesnel işlevi değiştirerek zarif bir şekilde gizlenebileceğini görebiliriz.
Sonunda, tüm bunlar 2 sınıf için işe yarıyor ve sizde 3; Bununla ne yapmalı? Burada 3 adet 2 sınıf sınıflandırıcı oluşturuyoruz (oturma - oturma, oturma - ayakta - ayakta, yürüme - yürüme yok) ve sınıflandırmada bunları oylama ile birleştiriyoruz.

Tamam, bu yüzden problemler çözülmüş gibi görünüyor, ancak çekirdeği seçmeliyiz (burada sezgimize danışıyoruz ve RBF'yi seçiyoruz) ve en az birkaç parametreye uyuyoruz (C + çekirdeği). Ve bunun için aşırı güvenli bir amaç fonksiyonuna sahip olmalıyız, örneğin çapraz onaylamadan hata yaklaşımı. Böylece, bilgisayar üzerinde çalışarak bir kahve içelim, geri dönelim ve bazı optimal parametreler olduğunu görelim. Harika! Şimdi hata yaklaşımı ve işten ayrılma için iç içe çapraz doğrulamayı başlattık.

Bu kısa iş akışı elbette tam olarak doğru olamayacak kadar basitleştirildi, ancak ilk önce neredeyse parametreden bağımsız, doğal olarak çok sınıflı rastgele bir ormanla denemenin nedenleri olduğunu düşünüyorum ; tarafsız hata tahmini sağlıyor ve neredeyse en iyi donanımlı SVM'leri iyi bir performans sergiliyor .


5
(+1) Harika, her şeyi göstermek için bazı resimler eklediğiniz!
chl

3
@mbq SVM'de çok yetenekli göründüğünüz için, şüphemi açıklamanızı isteyeyim: en iyi ayrılan hiper uçağı bulduğumuzda, ne için kullanırız? SVM'yi, öncelikle veri noktalarını doğru şekilde sınıflandırmak için en iyi hiper düzlemi seçen bir yöntem olarak tanımlayabiliriz ve ikincisi, bu hiper uçağı iki sınıfta yeni veri noktalarını kesmek için kullanır. Sağ? (İkinci bölüm hakkında bazı şüphelerim var)
DavideChicco.it

3
@ DavideChicco.it Temel olarak tüm ML'nin temel sorunu, yeni verileri güvenilir bir şekilde tahmin edebilecek bir model yapmaktır, yani evet.
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.