评估训练后的概率分布 - 量子计算应用
以下是评估训练后的概率分布的代码://n//nvalues = [//nbounds[0] + (bounds[1] - bounds[0]) * x / (2num_qubits - 1) for x in range(2num_qubits)//n]//nuncertainty_model = g_circuit.assign_parameters(dict(zip(theta, g_params)))//namplitudes = Statevector.from_instruction(uncertainty_model).data//n//nx = np.array(values)//ny = np.abs(amplitudes) ** 2//n//n下面是从目标概率分布中采样的代码://n//nN = 100000//nlog_normal = np.random.lognormal(mean=1, sigma=1, size=N)//nlog_normal = np.round(log_normal)//nlog_normal = log_normal[log_normal <= 7]//nlog_normal_samples = []//nfor i in range(8)://n log_normal_samples += [np.sum(log_normal == i)]//nlog_normal_samples = np.array(log_normal_samples / sum(log_normal_samples))//n//n下面是绘制分布图的代码://n//nplt.bar(x, y, width=0.2, label=/'trained distribution/', color=/'royalblue/')//nplt.xticks(x, size=15, rotation=90)//nplt.yticks(size=15)//nplt.grid()//nplt.xlabel(/'Spot Price at Maturity $S_T$ (/$)/', size=15)//nplt.ylabel(/'Probability ($/%$)/', size=15)//nplt.plot(//n log_normal_samples,//n /'-o/',//n color=/'deepskyblue/',//n label=/'target distribution/',//n linewidth=4,//n markersize=12,//n)//nplt.legend(loc=/'best/')//nplt.show()
原文地址: https://www.cveoy.top/t/topic/qAlq 著作权归作者所有。请勿转载和采集!