আমার মনে হয় না যে আপনি এর প্রদত্ত উপলব্ধির জন্য বেইস সিদ্ধান্তের সীমানার জন্য বিশ্লেষণাত্মক অভিব্যক্তি খুঁজে পাওয়ার কথা । একইভাবে আমি সন্দেহ করি যে আপনি বিতরণের সীমানাটি পেয়ে বলে আপনি সন্দেহ করেছেন যেহেতু এটি উল্লিখিত হিসাবে দ্বারা কেবল ।mkmkx=y
আমার মনে হয় আপনার যা দেখাতে হবে তা হল এমন একটি প্রোগ্রাম যা এর প্রদত্ত উপলব্ধির জন্য সিদ্ধান্তের সীমানা গণনা করতে পারে । এটি এবং মানগুলির একটি গ্রিড সেট করে , শ্রেণি-শর্তসাপেক্ষ ঘনত্বগুলি গণনা করে এবং পয়েন্টগুলি যেখানে তারা সমান এটি সন্ধান করে।mkxy
এই কোডটি এটিতে একটি ছুরিকাঘাত। আইআইআরসি এর সাথে আধুনিক প্রয়োগিত পরিসংখ্যানগুলিতে এস এর সাথে সিদ্ধান্তের সীমানা গণনা করার কোড রয়েছে , তবে আমি এখনই খুব সহজে পাইনি।
# for dmvnorm/rmvnorm: multivariate normal distribution
library(mvtnorm)
# class-conditional density given mixture centers
f <- function(x, m)
{
out <- numeric(nrow(x))
for(i in seq_len(nrow(m)))
out <- out + dmvnorm(x, m[i, ], diag(0.2, 2))
out
}
# generate the class mixture centers
m1 <- rmvnorm(10, c(1,0), diag(2))
m2 <- rmvnorm(10, c(0,1), diag(2))
# and plot them
plot(m1, xlim=c(-2, 3), ylim=c(-2, 3), col="blue")
points(m2, col="red")
# display contours of the class-conditional densities
dens <- local({
x <- y <- seq(-3, 4, len=701)
f1 <- outer(x, y, function(x, y) f(cbind(x, y), m1))
f2 <- outer(x, y, function(x, y) f(cbind(x, y), m2))
list(x=x, y=y, f1=f1, f2=f2)
})
contour(dens$x, dens$y, dens$f1, col="lightblue", lty=2, levels=seq(.3, 3, len=10),
labels="", add=TRUE)
contour(dens$x, dens$y, dens$f2, col="pink", lty=2, levels=seq(.3, 3, len=10),
labels="", add=TRUE)
# find which points are on the Bayes decision boundary
eq <- local({
f1 <- dens$f1
f2 <- dens$f2
pts <- seq(-3, 4, len=701)
eq <- which(abs((dens$f1 - dens$f2)/(dens$f1 + dens$f2)) < 5e-3, arr.ind=TRUE)
eq[,1] <- pts[eq[,1]]
eq[,2] <- pts[eq[,2]]
eq
})
points(eq, pch=16, cex=0.5, col="grey")
ফলাফল: