পূর্ণ উদ্ধৃতি এখানে পাওয়া যাবে । অনুমান θ এন কম সমস্যা (এর সমাধান পৃষ্ঠা 344 ):θ^N
minθ∈ΘN−1∑i=1Nq(wi,θ)
তাহলে সমাধান θ এনθ^NΘH^ ) ইতিবাচক আধা নির্দিষ্ট হয়।
N−1∑Ni=1q(wi,θ)θ0
minθ∈ΘEq(w,θ).
N−1∑Ni=1q(wi,θ)Θ যা উদ্দেশ্য ফাংশনের চট ইতিবাচক নির্দিষ্ট না করা প্রয়োজন।
তার বই ওওলড্রিজে আরও পরে হেসিয়ান অনুমানের একটি উদাহরণ দেয় যা সংখ্যাগতভাবে ইতিবাচক নিশ্চিত হওয়ার গ্যারান্টিযুক্ত। অনুশীলনে হেসিয়ানের অ-ধনাত্মক সুনির্দিষ্টতার সাথে বোঝানো উচিত যে সমাধানটি সীমানা বিন্দুতে রয়েছে বা অ্যালগরিদম সমাধানটি খুঁজে পেতে ব্যর্থ হয়েছে। যা সাধারণত আরও ইঙ্গিত দেয় যে মডেল লাগানো কোনও প্রদত্ত ডেটার জন্য অনুপযুক্ত হতে পারে।
এখানে সংখ্যার উদাহরণ। আমি অ-রৈখিক সর্বনিম্ন স্কোয়ার সমস্যা উত্পন্ন করি:
yi=c1xc2i+εi
X[1,2]εσ2set.seed(3)
xiyi
আমি সাধারন অ-রৈখিক ন্যূনতম স্কোয়ারগুলি উদ্দেশ্যমূলক ফাংশনের উদ্দেশ্যমূলক ফাংশন বর্গ নির্বাচন করেছি:
q(w,θ)=(y−c1xc2i)4
ফাংশনটি, তার গ্রেডিয়েন্ট এবং হেসিয়ানকে অনুকূলকরণের জন্য এখানে কোড রয়েছে।
##First set-up the epxressions for optimising function, its gradient and hessian.
##I use symbolic derivation of R to guard against human error
mt <- expression((y-c1*x^c2)^4)
gradmt <- c(D(mt,"c1"),D(mt,"c2"))
hessmt <- lapply(gradmt,function(l)c(D(l,"c1"),D(l,"c2")))
##Evaluate the expressions on data to get the empirical values.
##Note there was a bug in previous version of the answer res should not be squared.
optf <- function(p) {
res <- eval(mt,list(y=y,x=x,c1=p[1],c2=p[2]))
mean(res)
}
gf <- function(p) {
evl <- list(y=y,x=x,c1=p[1],c2=p[2])
res <- sapply(gradmt,function(l)eval(l,evl))
apply(res,2,mean)
}
hesf <- function(p) {
evl <- list(y=y,x=x,c1=p[1],c2=p[2])
res1 <- lapply(hessmt,function(l)sapply(l,function(ll)eval(ll,evl)))
res <- sapply(res1,function(l)apply(l,2,mean))
res
}
প্রথমে সেই গ্রেডিয়েন্ট এবং হেসিয়ান বিজ্ঞাপন হিসাবে কাজ করে test
set.seed(3)
x <- runif(10,1,2)
y <- 0.3*x^0.2
> optf(c(0.3,0.2))
[1] 0
> gf(c(0.3,0.2))
[1] 0 0
> hesf(c(0.3,0.2))
[,1] [,2]
[1,] 0 0
[2,] 0 0
> eigen(hesf(c(0.3,0.2)))$values
[1] 0 0
হেসিয়ান শূন্য, সুতরাং এটি ইতিবাচক আধা-নির্দিষ্ট। এর মানগুলির জন্য এখনএক্স এবং Y আমরা পেতে লিঙ্ক দেওয়া
> df <- read.csv("badhessian.csv")
> df
x y
1 1.168042 0.3998378
2 1.807516 0.5939584
3 1.384942 3.6700205
4 1.327734 -3.3390724
5 1.602101 4.1317608
6 1.604394 -1.9045958
7 1.124633 -3.0865249
8 1.294601 -1.8331763
9 1.577610 1.0865977
10 1.630979 0.7869717
> x <- df$x
> y <- df$y
> opt <- optim(c(1,1),optf,gr=gf,method="BFGS")
> opt$par
[1] -114.91316 -32.54386
> gf(opt$par)
[1] -0.0005795979 -0.0002399711
> hesf(opt$par)
[,1] [,2]
[1,] 0.0002514806 -0.003670634
[2,] -0.0036706345 0.050998404
> eigen(hesf(opt$par))$values
[1] 5.126253e-02 -1.264959e-05
গ্রেডিয়েন্ট শূন্য তবে হেসিয়ান ইতিবাচক নয়।
দ্রষ্টব্য: উত্তর দেওয়ার এটি আমার তৃতীয় প্রয়াস। আমি আশা করি অবশেষে আমি সুনির্দিষ্ট গাণিতিক বক্তব্য দিতে পেরেছি, যা আমাকে পূর্ববর্তী সংস্করণগুলিতে বাদ দিয়েছে।