P(Y|X)P(X) = P(XY) = P(X|Y)P(Y)
如果 X 是我们的数据,也称为证据,Y 是我们的模型假设,则 P(Y) 是我们看到任何证据之前的概率,称为先验概率。在实践中,我们通常假设服从均匀分布或正态分布。
P(X|Y) 是似然函数,这意味着如果我们知道模型假设/参数的值,那么我们可以通过似然函数得到证据发生的概率。
P(Y|X) 是我们的模型假设在我们看到数据/证据 X 的情况下的概率,也称为后验概率。
贝叶斯推理是根据我们可以观察到的数据样本X估计后验概率P(Y|X)的过程。通常,我们会迭代以下步骤:
我们可以使用贝叶斯推理来估计逻辑回归的参数。在这里,我将以贷款审批预测数据为例。
贷款审批情况也会受到信用记录、教育水平、居住区的位置以及贷款是长期还是短期的影响。
Julia 使用宏@model
来定义概率模型。其中输入参数 x 是数据向量:
最后,将公式的整个输出输入逻辑函数以计算伯努利概率。最终分类 (Y/N) 可以视为伯努利分布的 0–1 结果。
@model logistic_regression(x, y, n, σ) = begin
intercept ~ Normal(0, σ)
income1 ~ LogNormal(0, σ)
income2 ~ LogNormal(0, σ)
numfamily ~ LogNormal(0, σ)
credit ~ LogNormal(0, σ)
edu ~ LogNormal(0, σ)
self_emp ~ LogNormal(0, σ)
urban ~ LogNormal(0, σ)
long ~ LogNormal(0, σ)
for i = 1:n
v =
logistic(intercept + income1*(x[i, 1] + income2*x[i,2] - numfamily*x[i,3]) / x[i,4]
+ credit*x[i,5] + edu*x[i,6] + self_emp*x[i,7] + urban*x[i,8] + long*x[i,9]
)
y[i] ~ Bernoulli(v)
end
end;
https://embed.notionlytics.com/wt/ZXlKd1lXZGxTV1FpT2lJNVlqTXpaV1V6TnpOa01ERTBaRFZoT1RrNU5UY3lZalEzTVRsa09XUmxZU0lzSW5kdmNtdHpjR0ZqWlZSeVlXTnJaWEpKWkNJNklsZHNTR2hsVEZSUFdXeHpaVmRhUW1ZNU1YQmxJbjA9