机器学习研究的主要内容:关于在计算机上从数据中产生“模型”的算法,即“学习算法”。
“模型”泛指从数据中学到的结果。
表示含有个示例的数据集,每个示例由个属性描述,称为“维数”。
从数据中学得模型的过程称为"学习"或"训练", 这个过程通过执行某个学习算法来完成。训练过程中使用的数据称为"训练数据",其中每个样本称为一个“训练样本", 训练样本组成的集合称为"训练集"。
泛化能力 :学得模型适用于新样本的能力,称为"泛化" (generalization) 能力。
归纳
从特殊到一般的"泛化"过程,即从具体的事实归结出一般性规律,例如,从已有的样例中学习;
演绎
从一般到特殊的"特化"过程,即从基础原理推演出具体状况,例如,公理和推理规则的推导。
机器学习算法在学习过程中对某种类型假设的偏好,称为“归纳偏好”或简称为“偏好”;
“奥卡姆剃刀”(Occam’s razor)是一种常用的、自然科学研究中最基本的原则,即"若有多个假设与观察一致,则选最简单的那个”。
测试集应尽可能与训练集互斥,即测试样本尽量不在训练集中出现,为在训练过程中使用过。
留出法(hold-out)直接将数据集D划分为两个互斥的集合,其中一个集合作为训练集S,另一个作为测试集T,即D= SUT, S∩T= ∅ .在S上训练出模型后,用T来评估其测试误差,作为对泛化误差的估计。
常见做法:将大约2/3 ~ 4/5的样本用于训练,剩余样本用于测试
注意:
“交叉验证法”先将数据集D划分为k个大小相似的互斥子集。每个子集Di都尽可能保持数据分布的一致性,即从D中通过分层采样得到。然后,每次用k-1个子集的并集作为训练集,余下的那个子集作为测试集;这样就可获得k组训练/测试集,从而可进行k次训练和测试。
通常把交叉验证法称为“k折交叉验证”。k最常用的取值是10,此时称为10折交叉验证;其他常用的k值有5、20等。
“自助法”以自助采样法为基础. 给定包含m个样本的数据集D,我们对它进行采样产生数据集D:每次随机从D中挑选一个样本,将其拷贝放入D’,然后再将该样本放回初始数据集D中,使得该样本下次采样时仍有可能被采到;这个过程重复执行m次后,我们就得到了包含m个样本的数据集D’,这就是自助采样的结果。
注意:
大多数学习算法都有些参数需要设定,参数配置不同,学得模型的性能往往有显著差别,因此,在进行模型评估与选择时,除了要对适用学习算法进行选择,还需对算法参数进行设定,这就是通常所说的“参数调节”或简称“调参”.
错误率是分类错误的样本数占样本总数的比例;
精度则是分类正确的样本数占样本总数的比例.
对于二分类问题,可将样例根据其真实类别与学习器预测类别的组合划分为真正例TP、 假正例FP、 真反例TN、假反例FN四种情形,则显然有TP+ FP+TN+ FN =1样例总数。分类结果的“混淆矩阵”(confusion matrix).
注意:
查准率和查全率是一对矛盾的度量.一般来说,查准率高时,查全率往往偏低;而查全率高时,查准率往往偏低.
综合考虑查准率、查全率的性能度量
在下图中,A将C的P-R曲线完全“包住”,表示A比C性能好。对于A与B,比较合理的判据是比较P-R曲线面积大小。此外,人们设计了“平衡点”作为度量。
“平衡点”(Break-Event Point,简称BEP),它是"查准率=查全率"时的取值.
但平衡点BEP还是过于简化了些,更常用的是F1度量:
F1度量的一般形式–Fß’能让我们表达出对查准率/查全率的不同偏好,它定义为
其中 ß >O 度量了查全率对查准率的相对重要性. ß = 1 时退化为标准的F1; ß > 1时查全率有更大影响;ß < 1时查准率有更大影响.