Show
Tham khảo tài liệu tại https. //dflemin3. github. io/approxposterior/ để được giải thích sâu hơn về mã, ghi chú API chi tiết, nhiều ví dụ có số liệu Cài đặtSử dụng conda conda install -c conda-forge approxposterior sử dụng pip pip install approxposterior Bước này có thể thất bại nếu george (gói Quy trình Gaussian của Python) không được cài đặt và biên dịch đúng cách. Để cài đặt george, hãy chạy conda install -c conda-forge george từ nguồn git clone https://github.com/dflemin3/approxposterior.git
cd approxposterior
python setup.py install Một ví dụ đơn giảnDưới đây là một ứng dụng đơn giản của from approxposterior import approx, gpUtils, likelihood as lh, utility as ut import numpy as np # Define algorithm parameters m0 = 50 # Initial size of training set m = 20 # Number of new points to find each iteration nmax = 2 # Maximum number of iterations bounds = [(-5,5), (-5,5)] # Prior bounds algorithm = "bape" # Use the Kandasamy et al. (2017) formalism seed = 57 # RNG seed np.random.seed(seed) # emcee MCMC parameters samplerKwargs = {"nwalkers" : 20} # emcee.EnsembleSampler parameters mcmcKwargs = {"iterations" : int(2.0e4)} # emcee.EnsembleSampler.run_mcmc parameters # Sample design points from prior theta = lh.rosenbrockSample(m0) # Evaluate forward model log likelihood + lnprior for each theta y = np.zeros(len(theta)) for ii in range(len(theta)): y[ii] = lh.rosenbrockLnlike(theta[ii]) + lh.rosenbrockLnprior(theta[ii]) # Default GP with an ExpSquaredKernel gp = gpUtils.defaultGP(theta, y, white_noise=-12) # Initialize object using the Wang & Li (2018) Rosenbrock function example ap = approx.ApproxPosterior(theta=theta, y=y, gp=gp, lnprior=lh.rosenbrockLnprior, lnlike=lh.rosenbrockLnlike, priorSample=lh.rosenbrockSample, bounds=bounds, algorithm=algorithm) # Run! ap.run(m=m, nmax=nmax, estBurnin=True, nGPRestarts=3, mcmcKwargs=mcmcKwargs, cache=False, samplerKwargs=samplerKwargs, verbose=True, thinChains=False, onlyLastMCMC=True) # Check out the final posterior distribution! import corner # Load in chain from last iteration samples = ap.sampler.get_chain(discard=ap.iburns[-1], flat=True, thin=ap.ithins[-1]) # Corner plot! fig = corner.corner(samples, quantiles=[0.16, 0.5, 0.84], show_titles=True, scale_hist=True, plot_contours=True) # Plot where forward model was evaluated - uncomment to plot! fig.axes[2].scatter(ap.theta[m0:,0], ap.theta[m0:,1], s=10, color="red", zorder=20) # Save figure fig.savefig("finalPosterior.png", bbox_inches="tight") Bản phân phối cuối cùng sẽ trông giống như thế này Các điểm màu đỏ được chọn bởi Kiểm tra thư mục ví dụ để biết các ví dụ và giải thích về Jupiter Notebook. Kiểm tra tài liệu đầy đủ để được giải thích sâu hơn về các lớp, phương thức, biến và cách sử dụng mã Sự đóng gópNếu bạn muốn đóng góp cho mã này, vui lòng rẽ nhánh kho lưu trữ, thực hiện một số chỉnh sửa và mở yêu cầu kéo. Nếu bạn tìm thấy lỗi, có đề xuất, v.v., vui lòng mở một vấn đề hậu thế trong quy tắc Bayes là gì?Xác suất sau, trong thống kê Bayes, là xác suất được sửa đổi hoặc cập nhật của một sự kiện xảy ra sau khi xem xét thông tin mới . Xác suất sau được tính bằng cách cập nhật xác suất trước bằng định lý Bayes.
Chế độ sau là gì?Ước tính điểm thường thu được bằng cách tính toán giá trị trung bình hoặc trung vị (hoặc chế độ) của phân phối sau . Chúng được gọi là "trung bình sau" hoặc "trung bình sau" (hoặc "chế độ sau").
Hậu thế trong học máy là gì? Sau này. Phân phối xác suất có điều kiện thể hiện những thông số nào có thể xảy ra sau khi quan sát đối tượng dữ liệu . khả năng. Xác suất rơi vào một danh mục hoặc lớp cụ thể.
Xác suất trước và sau là gì?Xác suất biết trước, trong thống kê Bayes, là khả năng xảy ra trước của một sự kiện trước khi xem xét bất kỳ thông tin (sau) mới nào . Xác suất sau được tính bằng cách cập nhật xác suất trước bằng định lý Bayes. |