1. 分类问题
1.1 二分类
-
\(f:x\rightarrow p(y=1|x)\)
-
\(p(y=1|x)\): 解释成给定x,求y=1的概率,如果概率>0.5,预测为1;否则,预测为0
-
\(p_{\theta}(y|x)\):给定x,输出预测值的概率
-
\(p_{r}(y|x)\):给定x,真实分布
-
1.2 多分类
-
\(f:x\rightarrow p(y|x)\)
- \([p(y=0|x),p(y=1|x),...,p(y=9|x)]\)
-
\(p(y|x)\epsilon [0,1]\)
-
\(\sum_{i=0}^{9}p(y=i|x)=1\)
\[p_i = \frac{e^{a_i}}{\sum_{k=1}^{N} e^{a_k}} \]
2. 交叉熵
2.1 信息熵
- 描述一个随机事件的不确定性。
\[H(p)=-\sum _{x\epsilon X}p(x)logp(x) \]
- 描述一个分布,熵越高,随机变量的信息越多。
import torch
a = torch.full([4],1/4.)
print(-(a*torch.log2(a)).sum()) # tensor(2.)
b = torch.tensor([0.1,0.1,0.1,0.7])
print(-(b*torch.log2(b)).sum()) # tensor(1.3568)
c = b = torch.tensor([0.001,0.001,0.001,0.999])
print(-(c*torch.log2(c)).sum()) # tensor(0.0313)