Tôi đã tải xuống mã GPML Matlab mã GPML gần đây nhất và tôi đã đọc tài liệu và chạy bản thử nghiệm hồi quy mà không gặp vấn đề gì. Tuy nhiên, tôi đang gặp khó khăn trong việc hiểu làm thế nào để áp dụng nó vào một vấn đề hồi quy mà tôi phải đối mặt.
Vấn đề hồi quy được định nghĩa như sau:
Đặt là một vectơ đầu vào và là mục tiêu tương ứng của nó. Tập hợp các đầu vào được sắp xếp thành một ma trận và các mục tiêu tương ứng của chúng được lưu trữ trong một ma trận , với là giá trị đích trung bình trong .
Tôi muốn đào tạo một mô hình GPR bằng cách sử dụng hàm số mũ bình phương:
,
trong đó bằng nếu và nếu không. Các siêu đường kính là với là mức nhiễu giả định trong dữ liệu huấn luyện và là thang đo chiều dài.
Để đào tạo mô hình, tôi cần giảm thiểu khả năng cận biên của log âm đối với các siêu đường kính:
Trong đó c là hằng số và ma trận là một hàm của siêu đường kính (xem phương trình k (xi, xj) = ...).
Dựa trên bản demo được cung cấp trên trang web GPML, nỗ lực của tôi trong việc thực hiện điều này bằng cách sử dụng mã Matlab GPML dưới đây.
covfunc = @covSEiso;
likfunc = @likGauss;
sn = 0.1;
hyp.lik = log(sn);
hyp2.cov = [0;0];
hyp2.lik = log(0.1);
hyp2 = minimize(hyp2, @gp, -100, @infExact, [], covfunc, likfunc, X1, Y1(:, n));
exp(hyp2.lik)
nlml2 = gp(hyp2, @infExact, [], covfunc, likfunc, X1, Y1(:, n));
[m s2] = gp(hyp2, @infExact, [], covfunc, likfunc, X1, Y1(:, n), X2);
Y2r(:, n) = m;
X1 chứa các đầu vào đào tạo
X2 chứa các đầu vào thử nghiệm
Y1 chứa các mục tiêu đào tạo
Y2r là các ước tính từ việc áp dụng mô hình
n là chỉ số được sử dụng để hồi quy từng phần tử trong vectơ đầu ra
Đưa ra vấn đề, đây có phải là cách chính xác để đào tạo và áp dụng mô hình GPR? Nếu không, tôi cần thay đổi điều gì?