半监督学习(semi-supervised learning)

#半监督学习
半监督学习的数据含有两种,一种是含有标签数据和无标签数据。
半监督学习也分为transductive learning直推学习(知道测试数据)和inductive learning归纳学习(训练未知的数据)。
半监督学习(semi-supervised learning)
Semi-supervised Learning for Generative Model
半监督学习实际样本的u ,Sigma 和有标签样本得到的可能不一样,所以我们需要无标签的样本帮助我们重新估计优先概率prior,还有均值,方差,从而生成新的边界。
通过已有标签的数据先计算出参数theta ,里面分别是2个优先概率,2个均值,和方差,我们第一步呢就是先根据model得出theta 参数下,取出无标签的样本,是C1的概率,第二步就是更新模型,优先概率考虑无标签的样本可能性,均值同理考虑了样本概率求和后一般化
半监督学习(semi-supervised learning)
更新模型后把参数进一步迭代,理论上会得到收敛,但是初始带标签的样本会影响到最终结果
半监督学习(semi-supervised learning)
当有无标签的部分数据(半监督学习)时,我们就增加了无标签项出现的概率的log项,这个无标签项既可能来自C1也可能来自C2,我们想让其最大化,但是这个数据是不可导的,只能通过一次次迭代收敛
半监督学习(semi-supervised learning)
Semi-supervised Learning Low-density Separation(非黑即白)
我们基于这种假设可以采用self-training的方法,利用带标签的数据训练(逻辑回归,神经网络,决策树等)出模型f^,将一组无标签的数据带入,得到新的标签,将新标签数据和无标签数据结合到一起,得到训练新的模型。但是f由线性回归事无效的,learning出来的模型不会变。
半监督学习(semi-supervised learning)
一般地,hard label和soft label,区别在于前者的标签是hard label即我们非黑即白,离谁近就是谁,后者是软标签,还有概率成分,如果我们训练参数是0.7,0.3,硬标签会将其置为0,1,而软标签对其没有变化= =,相当于没起作用
半监督学习(semi-supervised learning)
上面的进阶型基于熵的正则,我们根据参数theta ^
可以得到无标签的输出概率,我们按低密度分割考虑,同类里分布应该是比较密集的,左下3种分布前2种比较密集,第三种就比较平均(不好),我们就考虑引入熵的公式,将3种情况带入可以得到,前2个的熵是0,第三个最大是ln5,所以一般这个熵越小越好,
所以我们的损失函数加上了无标签部分的熵的正则项,lambda 来决定是根据样本数据多一点还是考虑将熵减少(分类更明显)多一点
半监督学习(semi-supervised learning)
SVM就是找到一个边界,是间隔最大同时最小错误率,我们对未标签的做假设,有其中几种可能如右,我们可以分别作出他的SVM,最后从中选出分类边距最大的,就选择方框中的,有人会说我们如果有M个未标签数据,岂不是要做2^M个假设,其实我们实际做SVM,都是改一笔data的label看假设是否使边界变大,如果变大就采用假设
半监督学习(semi-supervised learning)
Semi-supervised Learning Smoothness Assumption(近朱者赤,近墨者黑)
x分布不均匀的,如果x1,x2较相近且在一个高密度的区域里,那么他们的标签就相同,注意不是离得远近关系。
半监督学习(semi-supervised learning)
聚类
半监督学习(semi-supervised learning)
基于图像的接近法
一般是定义一个相似度函数,比如我们定义KNN,找K个最近的连在一起,或者en,找到半径e内的连在一起,还有一种是算相似度函数跟距离的平方得e次幂的倒数,两个一旦距离远就相似度下降很快,所以只有很近的才能连接到一起
半监督学习(semi-supervised learning)
半监督学习(semi-supervised learning)
我们找到距离Class1比较近的点,根据连接就认为连接的点是Class1,而这种方式是会传递扩散的,但是如果数据量不够的话,可能有些过渡点就没有连接上。
半监督学习(semi-supervised learning)
已知x2,x3分类是1,x4是0,我们假设x1是1,0就得到2种情况,我们会认为左侧的比较smooth,我们就需要定义一个函数来评定平滑程度,对所有的数据(不管是否有标签),两两计算权重乘以预测结果(有标签为真实结果)之间的平方再求和,这个函数越小证明越平滑
半监督学习(semi-supervised learning)
我们可以将y定义为R+U维度的向量,那么s就可以写成上式,这个矩阵L=D-W,其中W是两两间的权重值(自身和自身,未连接的部分都为0),D是W每一行作和然后放到对角线的位置上。
半监督学习(semi-supervised learning)
平滑函数是根据网络上的参数决定的,我们定义损失函数可以加上平滑函数的正则项,看是考虑已有标签多一点还是平滑程度多一点,我们考虑平滑程度不光可以在output层观察,可以在前几层layer就要去平滑。
半监督学习(semi-supervised learning)
Semi-supervised Learning Better Representation
找到这些潜藏的因素往往就能得到很好的效果。
半监督学习(semi-supervised learning)