21/7/1 读书笔记 OT的具体实现 过拟合 分类器性能的评估和比较
1/7/21 读书笔记
安全多方计算 不经意传输(OT)的具体实现及拓展协议的简要介绍
在我们之前的学习中,我们将OT描述为一个黑箱的过程,在这个过程中发送者Sed能够告诉接收者Rec特定信息,同时保证Sed不知道特定信息的具体内容,而Rec不知道Sed所持有的其他信息的具体内容。接下来,我们将探讨OT的具体实现方法:
semi-honest场景下的OT基于公钥实现,采用不对称加密。其\(OT_1^2\)过程可以被描述为:
- Rec持有一个选择位\(b\in \{0,1\}\),并持有一个公私钥对\((k_s,k_p)\)。同时Rec需要随机获取一个公钥\(k_r\)。
- 当\(b=0\)时,Rec向Sed发送\((k_p,k_r)\),反之则发送\((k_r,k_p)\)
- Sed的视角看来是接受到了一对公钥\((k_p1,k_p2)\)。其分别用这两个公钥加密自己持有的两个数据\((s_1,s_2)\),并将\((Enc_{k_{p_1}}(s_1),Enc_{k_{p2}}(s_2))\)发送给Rec
- Rec只能从接受的密文对中通过私钥\(k_s\)解密出被\(k_p\)加密的那个密文,而对于另一个值一无所知。
这个过程是semi-honest场景下的,因为Rec完全可以持有两个公私钥对,而将公钥发送出去,通过两个私钥分别解析出两个密文。
在上面描述的过程中,一次OT中涉及三次密钥加密。但是OT作为一个基础的原语,其对电路的性能具有很大影响。为了支持更多的OT操作,需要进行不经意传输的优化,提出不经意传输拓展协议
Beaver 依据混合加密构想提出了第一个非黑盒方式的不经意传输扩展协议,可以执行少数基础OT 协议(传统的基于公钥加密算法的OT协议)来构造大量的OT 协议,然而 Beaver 提出的协议需要计算复杂的伪随机发生器,在实际中也不高效,但是扩展协议的思想具有重要的影响
基于OT扩展协议的思想,Ishai等人提出了以黑盒方式构造的OT扩展协议(IKNP OT extension protocol),将基础OT 协议和随机预言模型相结合,把少量基础OT的计算代价通过对称加密操作均摊到大量的OT 操作,该协议可以同时满足实用性和安全性需求,具有重要的意义并得到很广泛的应用
数据挖掘导论 过拟合
过拟合是指模型取得了较低的训练误差,但是在泛化时反而展示出较高的泛化误差。过分拟合时可能偶然拟合到数据中的某些噪声,而这些噪声无法泛化到检验样本,使得整体模型的性能降低。总得来说可以将过拟合放在下面三种情况下讨论:
-
噪音:当训练数据中某些样本的属性被错误标记,而模型为了降低训练误差,而尽可能对所有信息进行处理,拟合度很高以至于覆盖了这些被错误标记的数据,从而导致最终的泛化效果下降。存在一个更简单的、虽然训练误差不是最小,但是由于拟合度低,从而对这些错误标记数据具有一定鲁棒性的模型在泛化时取得更好的效果。
-
代表性样本:而当训练数据本身较小时,由于各个种类在训练集中缺乏代表性样本,训练集本身无法反映真实宏观情况,使得模型的拟合结果在泛化时失效。
-
多重比较过程:以决策树为例,决策树在生长过程中通过阈值为\(\alpha\)的多重比较过程来决定是否拓展结点,即从所有可选的拓展方案\({T_1,T_2...}\)中挑出一个拓展方案\(T_i\),如果该拓展方案提供的增益\(∆_{T_i}\)大于\(\alpha\)时,就选择这个拓展方案。
- 当训练集比较大,候选个数更多,找到符合阈值的结点可能性更大,模型更偏向于拓展决策树(即使这些数据都已经无需再进行划分),可能导致模型添加上这些欺骗性的节点。
- 当训练集很小而训练集中的可选方案虽然少,但是这也使得其提供的增益\(\{∆_{T_i}\}\)的方差较大,从而使得找到一个符合阈值要求的候选方案的可能也相对上升。这种情况会导致在决策树生长的末期,由于训练集已经被划分成较小的子集了,一些本来不必要的结点被过拟合了出来。
多重比较过程:考虑我们有100个分析师,每个分析师能够按50%的几率给出对于随机事件A的判断,那么一个分析师连续10次判断正确的可能性很低,而这100个分析师中能够至少找到一个连续十次判断正确的分析师的概率很高。我们将分析师抽象为拓展方案,即可理解上述问题。
过拟合问题的一个核心问题在于如何对泛化误差进行估计。当然,这里的估计泛化误差并不是直接使用检验数据集,而是需要基于模型本身和已知的训练样本来对最终的模型泛化进行估计。
- 再代入估计:直接使用训练误差代表泛化误差,逊啦
- 结合模型复杂度:模型越是复杂,认为其泛化能力越差。
- 悲观误差评估:引入模型复杂度惩罚,结点越多,导致最终计算的悲观误差估计值越高。惩罚值的设定是一个超参数,其决定了最终的实际拟合复杂度。
- 最小描述长度(MDL)原则:对于一个记录对象属性到类的映射关系的集合,如果要描述它,一种方式是采用一张表,每个表项对应一个记录,这样的描述准确度是100%,但是需要的信息长度很长;另一种方式是采用一个分类模型,从而将集合中的对象映射到对应类标号下,记录下这样的模型相较于简单粗暴地记录下所有数据有更少的信息长度,但是可能存在被错误分类的记录,此时需要将被错误分类的记录单独存放,占用额外的空间。最小描述长度原则指在100%准确描述这个集合的情况下,选择占用最小的信息长度的描述方式。这个原则同时考虑了模型的复杂度和错误率。
- 估计统计上界:泛化误差普遍大于训练误差。采用一个置信概率\(\alpha\),并利用正态分布来近似二项分布,则能够求得一个结点在置信概率下所能达到的统计最大误差,称为错误率上界。利用错误率上界来描述一个模型的泛化误差指标。当一个结点被分裂时,需要对比原结点错误率上界和子结点错误率上界和,子结点数量越多,错误率上界和在统计意义上会越大于原结点错误率上界。
过拟合的另一个问题在于如何处理过拟合,我们以决策树归纳算法为例,讨论剪枝对于解决过拟合的作用。
- 先剪枝:要求决策树在生长时提前终止,即如上述时讨论到的设定阈值,使得数据未被完全拟合前由于增益低于阈值而提前终止。
- 后剪枝:在决策树完全拟合的前提下进行剪枝,对每个子树,可以通过两种方式进行剪枝:
- 子树提升:利用子树中最常使用的分支替换整个子树
- 子树替换:利用子树所用记录中占比最大的类标号替换整个子树使其成为叶结点。
后剪枝的效果偏好,但是会浪费额外的计算资源。
数据挖掘导论 评估分类器的性能
评估分类模型的性能,通常和分类模型的训练过程是分不开的。因为我们持有的数据集是有限的,而训练集和检测集都是我们的数据集一个子集。
- 保持方法:数据集一部分做训练集,另一部分做检验集。这样的问题一是在于训练效果和检验准确度陷入零和博弈,此消彼长;二是在于训练集和检验集高度相关,某个类如果在训练集中高于平均比例,那么在检验集中就会低于平均比例。
- 交叉验证:考虑二折交叉验证,将数据集分为两相同大小的子集,一个用于训练一个用于检验,然后交换两者角色再次训练和检验,取总误差为两次检验的平均值。
- 自助法:考虑训练集有放回,即训练集存在重复的记录。假设数据集大小为N,有放回地从数据集中选取N次,组成训练集,没有被选取过的记录成为检验集。根据概率可以得出有63.2%的记录被选入训练集(有重复),剩下的记录则一次都没被选取过。
数据挖掘导论 比较分类器性能
对于两个模型\(M_1\)和\(M_2\),前者在大小为1000的检验集上的表现的泛化误差为\(e_1\),后者在大小为10的检验集上表现的泛化误差为\(e_2\),对两者的泛化误差的直接比对并不能直接表现出分类器性能的(统计显著)差异。
第一个问题,考虑模型检验集的规模差异,实际上是考虑其表现出的泛化误差的置信区间问题。小的检验集得出的泛化误差的置信区间相对发散,而大的检验集则相对紧凑。在置信概率\(\alpha\)下,对置信区间的计算可以考虑为:
- 实验由N的相对独立的预测构成,预测结果是二分的,要么成功要么失败
- 每个预测成功的概率是常数为\(p\)
用准确率\(acc\)表示N次预测中成功的比例,认为\(acc\)服从均值为\(p\),方差为\(p(1-p)N\)正态分布:
\(Z_{\alpha/2}\)和\(Z_{1-\alpha /2}\)是置信概率为\((1-\alpha)\)时标准正态分布下的上下界
第二个问题,考虑两个模型的差异的统计显著性,实际上是看他们之间的准确率在给定置信概率\(\alpha\)时正态分布下是否严格大于零。假设在大小为\(n_1\)的检验集上\(M_1\)的错误率为\(e_1\),方差为\(\frac{e_1(1-e_1)}{n_1}\),模型\(M_2\)类同,则两者错误率的观测差\(d=e_1-e_2\)的方差是\(\sigma^2=\frac{e_1(1-e_1)}{n_1}+\frac{e_2(1-e_2)}{n_2}\),根据置信概率可以计算出该观测值的置信区间。当置信区间内严格不包含零时,认为两个模型的差异具有统计显著性
第三个问题,考虑利用\(k\)折交叉验证的方式计算的错误率。认为观测的总方差可以被描述为:
其中\(\overline d\)表示\(k\)次交叉验证中每次采用相同划分时两个模型的错误率差值的平均值,在这个场景下采用t分布(区别于之前采用正态分布)计算置信区间,系数\(t_{(1-\alpha),k-1}\)决定了置信区间:

浙公网安备 33010602011771号