貝葉斯優(yōu)化算法代碼 貝葉斯 優(yōu)化
Rakuten樂享族開店2025-05-249090
import numpy as np
def gaussian_pdf(x, mu, sigma):
return np.exp(-0.5 * (x - mu) ** 2 / (2 * sigma ** 2))
def log_likelihood(params, x, y):
log_likelihood = 0
for i in range(len(y)):
log_likelihood += -np.log(gaussian_pdf(x[i], params[0], params[1])) - np.log(gaussian_pdf(x[i + 1], params[0], params[1]))
return log_likelihood
def maximize_log_likelihood(params, x, y, max_iter=1000):
max_log_likelihood = -np.inf
best_params = None
for i in range(max_iter):
new_params = [p + 0.1 * np.random.normal(0, 0.1) for p in params]
log_likelihood = log_likelihood(new_params, x, y)
if log_likelihood > max_log_likelihood:
max_log_likelihood = log_likelihood
best_params = new_params
return best_params
# 示例數(shù)據(jù)
mu = 0
sigma = 1
x = np.array([0, 1, 2, 3])
y = np.array([0, 1, 2, 3])
# 使用貝葉斯優(yōu)化算法找到最優(yōu)參數(shù)
best_params = maximize_log_likelihood(mu, sigma, x, y)
print("最優(yōu)參數(shù):", best_params)
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。