Doğrusal olmayan sınırlarla sınıflandırma problemleri basit bir algılayıcıyla çözülemez . Aşağıdaki R kodu açıklama amaçlıdır ve Python'daki bu örneğe dayanmaktadır ):
nonlin <- function(x, deriv = F) {
if (deriv) x*(1-x)
else 1/(1+exp(-x))
}
X <- matrix(c(-3,1,
-2,1,
-1,1,
0,1,
1,1,
2,1,
3,1), ncol=2, byrow=T)
y <- c(0,0,1,1,1,0,0)
syn0 <- runif(2,-1,1)
for (iter in 1:100000) {
l1 <- nonlin(X %*% syn0)
l1_error <- y - l1
l1_delta <- l1_error * nonlin(l1,T)
syn0 <- syn0 + t(X) %*% l1_delta
}
print("Output After Training:")
## [1] "Output After Training:"
round(l1,3)
## [,1]
## [1,] 0.488
## [2,] 0.468
## [3,] 0.449
## [4,] 0.429
## [5,] 0.410
## [6,] 0.391
## [7,] 0.373
Şimdi bir çekirdek ve sözde çekirdek hilesi fikri , girdi alanını daha yüksek boyutlu bir alana yansıtmaktır (resim kaynakları ):
Benim sorum Verilen sınıflandırma problemini çözebilen
bir çekirdek algısı elde edebilmek için çekirdek hilesinden nasıl yararlanabilirim (örneğin basit bir kuadratik çekirdekli) ? Lütfen dikkat: Bu temel olarak kavramsal bir sorudur, ancak gerekli kod değişikliğini de yapabiliyorsanız, bu harika olurdu
Şimdiye kadar ne denedim
iyi çalışır aşağıdaki denedim ama bu gerçek anlaşma olmadığını düşünüyorum çünkü daha karmaşık sorunlar için hesaplama çok pahalı hale gelir ("çekirdek hüner" arkasındaki "hile" sadece bir fikir değil çekirdeğin kendisi, ancak tüm örnekler için projeksiyonu hesaplamanıza gerek yoktur):
X <- matrix(c(-3,9,1,
-2,4,1,
-1,1,1,
0,0,1,
1,1,1,
2,4,1,
3,9,1), ncol=3, byrow=T)
y <- c(0,0,1,1,1,0,0)
syn0 <- runif(3,-1,1)
Tam Açıklama
Bu soruyu bir hafta önce SO'ya gönderdim ancak çok fazla ilgi görmedi. Burada daha iyi bir yer olduğundan şüpheleniyorum çünkü bu bir programlama sorusundan daha kavramsal bir soru.