ননলাইনার সীমানা সহ শ্রেণিবদ্ধকরণের সমস্যাগুলি সাধারণ পার্সেপট্রন দ্বারা সমাধান করা যায় না । নিম্নলিখিত আর কোডটি চিত্রণমূলক উদ্দেশ্যে এবং পাইথনের এই উদাহরণের উপর ভিত্তি করে ):
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
এখন কার্নেল এবং তথাকথিত কার্নেল ট্রিকের ধারণাটি ইনপুট স্পেসকে একটি উচ্চতর মাত্রিক স্থান হিসাবে প্রবর্তন করবে ( ছবিগুলির উত্স ):
আমার প্রশ্ন
আমি কীভাবে কার্নেল ট্রিকটি ব্যবহার করব (উদাহরণস্বরূপ একটি সাধারণ চতুষ্কোণীয় কার্নেল দিয়ে) যাতে আমি একটি কার্নেল পার্সেপট্রন পাই , যা প্রদত্ত শ্রেণিবিন্যাস সমস্যার সমাধান করতে সক্ষম? দয়া করে নোট করুন: এটি মূলত একটি ধারণাগত প্রশ্ন তবে আপনি যদি প্রয়োজনীয় কোড পরিবর্তনও করতে পারেন তবে এটি দুর্দান্ত
আমি এ পর্যন্ত
যা চেষ্টা করেছি আমি নিম্নলিখিতটি চেষ্টা করেছি যা ঠিকঠাক কাজ করে তবে আমি মনে করি যে এটি আসল চুক্তি নয় কারণ এটি জটিল সমস্যাগুলির জন্য গণনামূলকভাবে খুব ব্যয়বহুল হয়ে যায় ("কার্নেল ট্রিক" এর পিছনে "কৌশল" কেবল একটি ধারণা নয়) কার্নেল নিজেই কিন্তু আপনাকে সমস্ত দৃষ্টান্তের জন্য প্রজেকশন গণনা করতে হবে না:
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)
পূর্ণ প্রকাশ
আমি এক সপ্তাহ আগে এই প্রশ্নের পোস্ট তাই কিন্তু এটা অনেক মনোযোগ পাইনি। আমি সন্দেহ করি যে এখানে একটি ভাল জায়গা কারণ এটি প্রোগ্রামিং প্রশ্নের চেয়ে ধারণাগত প্রশ্ন।