在概率统计和机器学习中,特征分布和经验分布是描述数据或模型行为的重要概念。下面分别定义它们,并说明它们的区别与联系。
1. 特征分布 (Feature Distribution)
定义
特征分布指的是一个模型中特征的统计分布。它通常描述的是模型的输出分布中特征的期望值,具体与模型所定义的概率分布 P ( x , y ) P(x, y) P(x,y) 相关。
公式表示
设
f
i
(
x
,
y
)
f_i(x, y)
fi(x,y) 是一个特征函数,用于描述输入
x
x
x 和输出
y
y
y 的某种关系,则特征分布的期望由模型的概率分布
P
(
x
,
y
)
P(x, y)
P(x,y) 决定:
E
[
f
i
]
=
∑
x
,
y
P
(
x
,
y
)
f
i
(
x
,
y
)
\mathbb{E}[f_i] = \sum_{x, y} P(x, y) f_i(x, y)
E[fi]=x,y∑P(x,y)fi(x,y)
或对于条件概率:
E
[
f
i
]
=
∑
x
,
y
P
(
y
∣
x
)
f
i
(
x
,
y
)
\mathbb{E}[f_i] = \sum_{x, y} P(y|x) f_i(x, y)
E[fi]=x,y∑P(y∣x)fi(x,y)
解释
- 特征分布是模型生成的,是从模型的概率分布 P ( x , y ) P(x, y) P(x,y) 推导而来的。
- 在最大熵模型或条件随机场等模型中,特征分布反映的是模型在给定参数下的预测行为。
2. 经验分布 (Empirical Distribution)
定义
经验分布是从数据中直接计算得出的分布,用于描述数据集中某些特征的统计规律。它反映了真实数据的分布情况,与模型无关。
公式表示
设有
N
N
N 条训练样本
{
(
x
1
,
y
1
)
,
(
x
2
,
y
2
)
,
…
,
(
x
N
,
y
N
)
}
\{(x_1, y_1), (x_2, y_2), \dots, (x_N, y_N)\}
{(x1,y1),(x2,y2),…,(xN,yN)},特征函数
f
i
(
x
,
y
)
f_i(x, y)
fi(x,y) 的经验分布期望定义为:
E
emp
[
f
i
]
=
1
N
∑
k
=
1
N
f
i
(
x
k
,
y
k
)
\mathbb{E}_{\text{emp}}[f_i] = \frac{1}{N} \sum_{k=1}^N f_i(x_k, y_k)
Eemp[fi]=N1k=1∑Nfi(xk,yk)
解释
- 经验分布是基于样本的频率计算的,代表真实数据的分布。
- 它完全由训练数据决定,不依赖任何模型或假设。
3. 区别与联系
类别 | 特征分布 | 经验分布 |
---|---|---|
来源 | 从模型的概率分布 P ( x , y ) P(x, y) P(x,y) 推导而来。 | 从训练数据直接计算得出。 |
公式 | E [ f i ] = ∑ x , y P ( x , y ) f i ( x , y ) \mathbb{E}[f_i] = \sum_{x, y} P(x, y) f_i(x, y) E[fi]=∑x,yP(x,y)fi(x,y) | E emp [ f i ] = 1 N ∑ k = 1 N f i ( x k , y k ) \mathbb{E}_{\text{emp}}[f_i] = \frac{1}{N} \sum_{k=1}^N f_i(x_k, y_k) Eemp[fi]=N1∑k=1Nfi(xk,yk) |
依赖性 | 依赖模型的结构和参数。 | 依赖训练数据,与模型无关。 |
用途 | 用于模型预测特征的行为分析。 | 用于描述真实数据中的特征分布。 |
目标 | 理想情况下与经验分布匹配。 | 提供模型校准的基准。 |
4. 示例
假设我们在一个二分类任务中有以下 5 条训练数据:
x x x | y y y |
---|---|
1 | 0 |
2 | 1 |
3 | 0 |
2 | 1 |
3 | 1 |
特征函数
定义一个特征函数 f ( x , y ) = x ⋅ y f(x, y) = x \cdot y f(x,y)=x⋅y,即当 y = 1 y = 1 y=1 时取 x x x 值,否则为 0。
经验分布计算
根据数据直接计算经验分布的期望值:
E
emp
[
f
(
x
,
y
)
]
=
1
N
∑
k
=
1
N
f
(
x
k
,
y
k
)
\mathbb{E}_{\text{emp}}[f(x, y)] = \frac{1}{N} \sum_{k=1}^N f(x_k, y_k)
Eemp[f(x,y)]=N1k=1∑Nf(xk,yk)
逐条计算:
- 对第 1 条数据: f ( 1 , 0 ) = 0 f(1, 0) = 0 f(1,0)=0
- 对第 2 条数据: f ( 2 , 1 ) = 2 f(2, 1) = 2 f(2,1)=2
- 对第 3 条数据: f ( 3 , 0 ) = 0 f(3, 0) = 0 f(3,0)=0
- 对第 4 条数据: f ( 2 , 1 ) = 2 f(2, 1) = 2 f(2,1)=2
- 对第 5 条数据: f ( 3 , 1 ) = 3 f(3, 1) = 3 f(3,1)=3
总和:
E
emp
[
f
(
x
,
y
)
]
=
0
+
2
+
0
+
2
+
3
5
=
7
5
=
1.4
\mathbb{E}_{\text{emp}}[f(x, y)] = \frac{0 + 2 + 0 + 2 + 3}{5} = \frac{7}{5} = 1.4
Eemp[f(x,y)]=50+2+0+2+3=57=1.4
特征分布计算
假设我们用一个模型估计了 P ( y ∣ x ) P(y|x) P(y∣x) 的分布,例如:
- P ( y = 1 ∣ x = 1 ) = 0.2 P(y=1|x=1) = 0.2 P(y=1∣x=1)=0.2, P ( y = 1 ∣ x = 2 ) = 0.6 P(y=1|x=2) = 0.6 P(y=1∣x=2)=0.6, P ( y = 1 ∣ x = 3 ) = 0.8 P(y=1|x=3) = 0.8 P(y=1∣x=3)=0.8
- P ( y = 0 ∣ x ) = 1 − P ( y = 1 ∣ x ) P(y=0|x) = 1 - P(y=1|x) P(y=0∣x)=1−P(y=1∣x)
特征分布的期望值为:
E
[
f
(
x
,
y
)
]
=
∑
x
,
y
P
(
x
,
y
)
⋅
f
(
x
,
y
)
\mathbb{E}[f(x, y)] = \sum_{x, y} P(x, y) \cdot f(x, y)
E[f(x,y)]=x,y∑P(x,y)⋅f(x,y)
- P ( x = 1 , y = 1 ) = P ( y = 1 ∣ x = 1 ) ⋅ P ( x = 1 ) = 0.2 ⋅ freq ( x = 1 ) P(x=1, y=1) = P(y=1|x=1) \cdot P(x=1) = 0.2 \cdot \text{freq}(x=1) P(x=1,y=1)=P(y=1∣x=1)⋅P(x=1)=0.2⋅freq(x=1)
- 按照模型分布继续计算各项,最终得到特征分布的期望值。
5. 特征分布与经验分布的关系
在最大熵模型中,目标是让模型的特征分布尽可能接近真实数据的经验分布。通过最大化对数似然函数,调整模型的参数
θ
\theta
θ,可以使以下约束成立:
E
[
f
i
(
x
,
y
)
]
=
E
emp
[
f
i
(
x
,
y
)
]
\mathbb{E}[f_i(x, y)] = \mathbb{E}_{\text{emp}}[f_i(x, y)]
E[fi(x,y)]=Eemp[fi(x,y)]
这保证了模型的输出分布能忠实地反映训练数据的统计特性。