阅读 134

CAN: 借助数据分布提升分类性能

模拟计算AN(Alternating Normalization)

首先我们设置一些矩阵和参数

A0=[0.200.80.90.10001]b0=[0.500.5]Λq=[0.80.10.1]α=1,d=1\begin{aligned} A_0 &= \begin{bmatrix}0.2 & 0&0.8\\0.9 & 0.1& 0\\0&0&1\end{bmatrix}\\ b_0 &= \begin{bmatrix}0.5\\0\\0.5\end{bmatrix}\\ \Lambda_q &= \begin{bmatrix}0.8\\& 0.1\\&&0.1\end{bmatrix} \\ \alpha &= 1, d = 1 \end{aligned}A0b0Λqα=0.20.9000.100.801=0.500.5=0.80.10.1=1,d=1

稍微解释一下,A0A_0A0根据原算法描述是nnn个置信度比较高的样本的预测概率分布进行拼接,可以看出只有3个样本置信度比较高,并且他们的预测类别分别为2,0,2;b0b_0b0是某样本xxx的预测概率,因为是概率分布,所以必须满足求和为1;Λq\Lambda_qΛq是三个类别的样本比例,可以看出第一个类别的数据非常多

首先是列归一化

ΛS=D(L0Te)=D([0.200.80.90.100010.500.5]T[1111])=D([1.60.12.3])=[1.60.12.3]Sd=L0ΛS−1=[0.200.80.90.100010.500.5][1/1.6101/2.3]=[1/808/239/16100010/235/1605/23]\begin{aligned} \Lambda_S &= \mathcal{D}(L_0^T\mathbf{e})\\ &=\mathcal{D}({\begin{bmatrix}0.2&0&0.8\\0.9&0.1&0\\0&0&1\\ 0.5&0&0.5\end{bmatrix}}^T\begin{bmatrix}1\\1\\1\\1\end{bmatrix})\\ &=\mathcal{D}(\begin{bmatrix}1.6\\0.1\\2.3\end{bmatrix})\\ &= \begin{bmatrix}1.6&&\\&0.1&\\&&2.3\end{bmatrix}\\\\ S_d &=L_0\Lambda_S^{-1}\\ &=\begin{bmatrix}0.2&0&0.8\\0.9&0.1&0\\0&0&1\\0.5&0&0.5\end{bmatrix}\begin{bmatrix}1/1.6&&\\&10&\\&&1/2.3\end{bmatrix}\\ &= \begin{bmatrix}1/8&0&8/23\\9/16&1&0\\0&0&10/23\\5/16&0&5/23\end{bmatrix} \end{aligned}ΛSSd=D(L0Te)=D(0.20.900.500.1000.8010.5T1111)=D(1.60.12.3)=1.60.12.3=L0ΛS1=0.20.900.500.1000.8010.51/1.6101/2.3=1/89/1605/1601008/23010/235/23

仔细观察矩阵SdS_dSd,它每列求和都是1,也就是列归一化,如果我们追根溯源的话,实际上SdS_dSd就是L0L_0L0对每列求和,然后将L0L_0L0每列元素除以该和

接着是行归一化

伪原创工具 https://www.237it.com/ 

ΛL=D([1/808/239/16100010/235/1605/23][0.80.10.1][111])=D([31/23011/201/2325/92])=[31/23011/201/2325/92]L1=[230/3120/112392/25][1/808/239/16100010/235/1605/23][0.80.10.1]=[23/3108/319/112/11000123/2502/25]\begin{aligned} \Lambda_L &= \mathcal{D}(\begin{bmatrix}1/8&0&8/23\\9/16&1&0\\0&0&10/23\\5/16&0&5/23\end{bmatrix}\begin{bmatrix}0.8&&\\&0.1&\\&&0.1\end{bmatrix}\begin{bmatrix}1\\1\\1\end{bmatrix})\\ &= \mathcal{D}(\begin{bmatrix}31/230\\11/20\\1/23\\25/92\end{bmatrix})\\ &= \begin{bmatrix}31/230&&&\\&11/20&&\\&&&1/23&\\&&&&25/92\end{bmatrix}\\\\ L_1&= \begin{bmatrix}230/31&&&\\&20/11&&\\&&&23&\\&&&&92/25\end{bmatrix}\begin{bmatrix}1/8&0&8/23\\9/16&1&0\\0&0&10/23\\5/16&0&5/23\end{bmatrix}\begin{bmatrix}0.8&&\\&0.1&\\&&0.1\end{bmatrix}\\ &= \begin{bmatrix}23/31&0&8/31\\9/11&2/11&0\\0&0&1\\23/25&0&2/25\end{bmatrix} \end{aligned}ΛLL1=D(1/89/1605/1601008/23010/235/230.80.10.1111)=D(31/23011/201/2325/92)=31/23011/201/2325/92=230/3120/112392/251/89/1605/1601008/23010/235/230.80.10.1=23/319/11023/2502/11008/31012/25

我们只需要L1L_1L1的最后一行,即b1=[23/2502/25]T\mathbf{b}_1=\begin{bmatrix}23/25&0&2/25\end{bmatrix}^Tb1=[23/2502/25]T,可以看,原本b0\mathbf{b}_0b0的概率分布是[0.500.5]T\begin{bmatrix}0.5 &0&0.5\end{bmatrix}^T[0.500.5]T,经过「先验」调整后的类别明显偏向数据占比比较多的第一类,并且b1\mathbf{b}_1b1向量求和为1,符合概率的定义


作者:数学家是我理想
链接:https://juejin.cn/post/7034316748388040734


文章分类
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐