机器学习(周志华) 参考答案 第十三章 半监督学习
机器学习(周志华西瓜书) 参考答案 总目录
1.试推导出式(13.5)~(13.8)。
为样本
属于第i个高斯混合成分的后验概率。
可知
所以推出(13.5):
使用(13.4):
对
求偏导
让
化简得
求出
得到式13.6
同理推出式(13.7),式(13.8)。
2.试基于朴素贝叶斯模型推导出生成式半监督学习算法。
朴素贝叶斯模型假设样本所有属性相互独立。
参数表示:
- a表示属性集合
- x样本属性
- y表示有标记样本的分类
- c表示样本的生成伪分类
- θ表示属性的类条件概率,
表示第i个属性值为
分类为k的概率
对于每个样本,将它分类为k的概率为
贝叶斯判定为
初始化:
根据训练样本计算出最初的θ,并对无标记样本生成最初的伪标记。
使用EM算法来求解伪标记:
E步:使用拉普拉斯平滑标记对已经有标记的样本进行属性类概率估计,求出θ。
M步:使用当前的θ对无标记样本集合重新进行分类,获得新的伪标记。
直到无标记样本的伪标记不再变化。
3.假设数据由混合专家模型生成,即数据是基于k个成分混合的概率密度生成: ,其中θ为模型参数。假设每个混合成分对应一种类别,但每个类别可能包含多个混合成分。试推导出生成式半监督学习算法。
与书上高斯混合成分不同的是,混合专家模型的分类可以对应多个混合成分。
由于与高斯混合只是混合成分与类别对应不同,可以列出相同的目标函数,如式(13.4)
假设第i个混合成分生成分类j的概率为
则(13.4)改写为
如果
定义为常数,则与高斯混合模型进行相同的EM算法就行。
否则加入对β参数的优化。
具体初始化与公式参考本章引用[Miller and Uyar,1997]。
4.实现TSVM算法,选择两个UCI数据集,将其中30%作为测试样本,10%作为训练样本,60%作为无标记样本,分别训练出利用无标记样本的TSVM和仅利用有标记样本的SVM,并比较其性能。
5.对未标记样本进行标记指派与调整过程中可能出现类别不平衡问题,试给出该问题改进的TSVM算法。
将
拆分为
与
,将
作为参数,使
。
将式(13.9)改为
min
约束条件做相应更改。
6.TSVM对未标记样本进行标记指派与调整过程涉及很大的计算开销,试设计一个高效的改进算法。
在标记调整过程中,可以考虑每次将最有可能指派错误的样本进行调整,即正负伪标记样本中松弛变量最大且大于1的样本进行标记更改,可以减少迭代的次数。
7.试设计一个能对新样本进行分类图半监督算法。
图半监督算法不会直接对新样本进行分类,可行的办法一是将新样本作为无标记样本再次进行图半监督算法。或者使用已有标记的样本训练一个学习器,再对新样本分类。
8.自训练是一种比较原始的半监督学习方法:它现在有标记的样本上学习,然后在无标记的样本上获得伪标记,再在全部样本上进行重复训练,分析该方差有何缺陷。
由于训练样本远远少于无标记样本,如果将全部无标记样本的伪标记直接作为训练样本,将导致很多样本属于噪声样本,十分影响分类器的准确度。应该进行局部伪标记调整来优化分类器,而不是直接使用全部的伪标记重复训练分类器。
9.给定一个数据集,假设属性集包含两个示图,但事先并不知道哪些属性属于哪个示图,试设计一个算法将两示图分离出来。
根据已有的数据集将属性集分成二个集合,若遍历求最优解是指数级的复杂度。
考虑使用一种局部最优的方法:
设置两个集合,初始时一个集合包含全部属性,另一个为空。
从集合1随机选取一个集合放入集合2。
然后开始迭代:
每轮迭代从集合1选择一个属性放入集合2,使得集合2属性的训练误差减小量与集合1属性的训练误差增加量最小。
当两个属性集合训练结果符合停止标准时,停止迭代。