正则化的具体做法【机器学习】半监督学习⼏种⽅法
1.Self-training algorithm(⾃训练算法)
这个是最早提出的⼀种研究半监督学习的算法,也是⼀种最简单的半监督学习算法.
2.Multi-view algorithm(多视⾓算法)
⼀般多⽤于可以进⾏⾃然特征分裂的数据集中.考虑特殊情况(每个数据点表征两个特征):每⼀个数据点看成是两个特征的集合,然后利⽤协同训练(Co-training algorithm)进⾏处理.协同训练(co-training)算法,此类算法隐含地利⽤了聚类假设或流形假设,它们使⽤两个或多个学习器,在学习过程中,这些学习器挑选若⼲个置信度⾼的未标记⽰例进⾏相互标记,从⽽使得模型得以更新。
Balcan and Blum (2006) show that co-training can be quite effective, that in the extreme case only one labeled point is needed to learn the classifier. Zhou et al. (2007) give a co-training algorithm using Canonical Correlation Analysis which also need only one labeled point. Dasgupta et al. (Dasgupta et al., 2001) provide a PAC-style th-eoretical analysis.
3.Generative Models(⽣成模型)
以⽣成式模型为分类器,将未标记⽰例属于每个类别的概率视为⼀组缺失参数,然后采⽤EM算法来进⾏标记估计和模型参数估计,此类算法可以看成是在少量有标记⽰例周围进⾏聚类,是早期直接采⽤聚类假设的做法。EM算法的贪⼼本质使其容易陷⼊局部极值,因此算法对初始值的选择具有很强的依赖性.常⽤的解决⽅法是采⽤多组初值进⾏重复运算,并从中选择最好的⼀组解,或者通过复杂的优化算法(如分裂合并EM算法)获取参数的优化解.这些做法尽管降低了对初始值选择的敏感性,但却引⼊了过多的运算负担。
具体算法这⾥不说,我这⾥只说⼀下⽣成模型(Generative Models)和判别模型(Discriminative Models)的区别.
对于分类和聚类问题⽽⾔.①判别模型只关⼼类的决定边界在哪⾥;⽣成模型关⼼的是类本⾝⽽⾮决定边界.②判别模型只能判定数据点属于哪个类别,⽆法将过程描述出来;⽣成模型可以将过程描述.③⽣成模型可以得到判别模型;判别模型推不出⽣成模型.④判别模型估计的是条件概率分布(Conditional distribution);⽣成模型估计的是联合概率分布(Joint probability distribution).
常见的判别模型有:Linear discriminate analysis, Support vector machines, Boosting, Conditional random fields, Logistic regression.
常见的⽣成模型有:Gaussian distribution, Gaussian mixture model, Multinomial distribution, Hidden M
arkov model, Na?ve Bayes, Latent Dirichlet allocation.
4.Transductive SVM(转导SVM)
强调⼀点,根据Vapnik的Statistical Learning Theory中提出统计学习中考虑两种不同类型的推理:归纳推理(Inductive inference)和转导推理(Transductive inference).转导推理的⽬的是估计某⼀未知预测函数在给定兴趣点上的值(⽽不是在该函数的全部定义域上的值).关键是,通过求解要求较低的问题,可以得到更精确的解.
传统的推理⽅法是归纳-演绎⽅法,⼈们⾸先根据⽤已有的信息定义⼀个⼀般规则,然后⽤这个规则来推断所需要的答案.也就是说,⾸先从特殊到⼀般,然后从⼀般到特殊.但是在转导模式中,我们进⾏直接的从特殊到特殊的推理,避免了推理中的不适定部分.
5.Graph-Based Algorithms(基于图的算法)
是基于图正则化框架的半监督学习算法,此类算法直接或间接地利⽤了流形假设,它们通常先根据训练例及某种相似度度量建⽴⼀个图,图中结点对应了(有标记或未标记)⽰例,边为⽰例间的相似度,然后,定义所需优化的⽬标函数并使⽤决策函数在图上的光滑性作为正则化项来求取最优模型参数
Which method should I choose ?
This may be difficult in reality. Nonetheless we can try the following checklist: Do the classes producewell clustered data? If yes, EM with generative mixture models may be a good choice; Do the features naturally split into two sets? If yes, co-training may be appropriate; Is it true that two points with similar features tend to be in the same class? If yes, graph-based methods can be used; Already using SVM? Transductive SVM is a natural extension; Is the existing supervised classifier complicated and hard to modify? Self-training is a practical wrapper method.
Where can I learn more?
A: An existing survey can be found in (Seeger, 2001).

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。