যেহেতু এল 1 নিয়মিতকরণ প্রাসঙ্গিক সহগের পূর্বে একটি ল্যাপ্লেসের (ডাবল এক্সফোনেনশিয়াল) সমতুল্য, আপনি এটি নিম্নলিখিত হিসাবে এটি করতে পারেন। এখানে আমার কাছে তিনটি পৃথক ভেরিয়েবল x1, x2 এবং x3 রয়েছে এবং y হ'ল বাইনারি টার্গেট ভেরিয়েবল। নিয়মিতকরণ প্যারামিটারের নির্বাচন এই ক্ষেত্রে শুধু একটি ভাল মাপের সীমায় ইউনিফর্ম এটি একটি hyperprior নির্বাণ, এখানে সম্পন্ন করা হয়।λ
model {
# Likelihood
for (i in 1:N) {
y[i] ~ dbern(p[i])
logit(p[i]) <- b0 + b[1]*x1[i] + b[2]*x2[i] + b[3]*x3[i]
}
# Prior on constant term
b0 ~ dnorm(0,0.1)
# L1 regularization == a Laplace (double exponential) prior
for (j in 1:3) {
b[j] ~ ddexp(0, lambda)
}
lambda ~ dunif(0.001,10)
# Alternatively, specify lambda via lambda <- 1 or some such
}
আসুন আর এর মধ্যে dclone
প্যাকেজটি ব্যবহার করে দেখুন !
library(dclone)
x1 <- rnorm(100)
x2 <- rnorm(100)
x3 <- rnorm(100)
prob <- exp(x1+x2+x3) / (1+exp(x1+x2+x3))
y <- rbinom(100, 1, prob)
data.list <- list(
y = y,
x1 = x1, x2 = x2, x3 = x3,
N = length(y)
)
params = c("b0", "b", "lambda")
temp <- jags.fit(data.list,
params=params,
model="modela.jags",
n.chains=3,
n.adapt=1000,
n.update=1000,
thin=10,
n.iter=10000)
একটি অনিয়মিত লজিস্টিক রিগ্রেশন এর সাথে তুলনা করে ফলাফলগুলি এখানে রয়েছে:
> summary(temp)
<< blah, blah, blah >>
1. Empirical mean and standard deviation for each variable,
plus standard error of the mean:
Mean SD Naive SE Time-series SE
b[1] 1.21064 0.3279 0.005987 0.005641
b[2] 0.64730 0.3192 0.005827 0.006014
b[3] 1.25340 0.3217 0.005873 0.006357
b0 0.03313 0.2497 0.004558 0.005580
lambda 1.34334 0.7851 0.014333 0.014999
2. Quantiles for each variable: << deleted to save space >>
> summary(glm(y~x1+x2+x3, family="binomial"))
<< blah, blah, blah >>
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 0.02784 0.25832 0.108 0.9142
x1 1.34955 0.32845 4.109 3.98e-05 ***
x2 0.78031 0.32191 2.424 0.0154 *
x3 1.39065 0.32863 4.232 2.32e-05 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
<< more stuff deleted to save space >>
এবং আমরা দেখতে পাচ্ছি যে তিনটি b
পরামিতি সত্যই শূন্যের দিকে সঙ্কুচিত হয়েছে।
আমি ল্যাপ্লেস বিতরণ / নিয়মিতকরণ প্যারামিটারের হাইপারপ্যারামিটারের জন্য প্রাইয়ারদের সম্পর্কে খুব বেশি কিছু জানি না, আমি দুঃখের সাথে বলতে পারি। আমি অভিন্ন ডিস্ট্রিবিউশনগুলি ব্যবহার করি এবং এটি উত্তরোত্তর দিকে তাকান যে এটি যথাযথভাবে ভাল আচরণ করা দেখায়, যেমন, কোনও শেষ পয়েন্টের কাছে পাইলড না হয়ে মাঝারি ডাব্লু / ও ভয়ঙ্কর স্কিউনেস সমস্যায় ডুবে গেছে। এখনও অবধি, এটি সাধারণত ছিল। এটিকে ভেরিয়েন্স প্যারামিটার হিসাবে বিবেচনা করা এবং শ্রেণিবদ্ধ মডেলগুলিতে ভেরিয়েন্স প্যারামিটারগুলির জন্য গেলম্যান প্রাইমার ডিস্ট্রিবিউশনের প্রস্তাবনা (গুলি) ব্যবহার করাও আমার পক্ষে কাজ করে।