与随机游走中的半监督学习有关的困惑

机器算法验证 机器学习 可能性 图形模型
2022-04-13 21:38:32

我试图理解随机游走中的半监督学习。假设我有 10 个类,并且有一些标记和未标记的点。现在,我需要在随机游走中使用半监督学习来找到未标记点的标签。

我可以为节点/元素定义转换矩阵 P,使得每个条目给出从节点 i 移动到 j 的概率。现在我可以传播标签了。如果 P 是转移矩阵,我可以将 P 重置为Pij

P =

PllPlu
PulPuu

如果 Y 表示标签集上的概率分布矩阵,那么我可以使用以下迭代算法来获取未标记点的标签。假设是给定的标记点集,是我们必须为其找到标签的未标记点集。让我们说为 10 个标签给出了 10 个标记点,我必须找到剩余 100 个点的标签让我们说,然后有这个迭代算法YlYu

Y0Y

t1

重复

YtPYt1

YltYl

直到收敛到Yinf

Y~Yinf

一开始我没有得到如何初始化这个 Y 向量。假设我有 110 分。我有十个点的标签 1.2.3...10,那么我将如何初始化这个 Y 矩阵,最后当我得到Y~时,我将如何知道它属于哪个类。我的意思是我只会有一些价值观。我怎么知道Y~中未标记的点属于哪个类。如果它是二进制的,我会知道,因为如果值大于 0.5,我会说它属于 1 类,否则为 0。但是当我有十个标签时会怎样。

1个回答

假设您有数据点(或示例),其中已标记,而未使用标记。另外,假设您有个课程。让我们用数据点分配一个维标签向量您可以将个元素解释为点属于类的概率。对于带标签的示例,如果是标签且nlulnn=l+ummyi[1,0]mijyiijyij=1.0j0否则。对于未标记的示例,理论上,初始化什么并不重要。表示整个数据集(标记和未标记)的标签向量。此外,让我们使用上标符号来表示迭代的这个标签矩阵。Y[0,1]n×mY(k)k

如上所述,我们可以从幂迭代法将让我们根据其在迭代 t 处的值计算该标签矩阵在迭代处的值,如下所示:Y(0)t+1t

Y(t+1)=PY(t)

为该标签矩阵在收敛后的值,或者按照惯例,在有限次数的迭代后。行表示学习的标签向量,例如,也称为标签后验。MAP 标签分配,例如将是:Y^iii

k^=argmaxkY^ik