机器学习40讲学习笔记04

Posted bohu83

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习40讲学习笔记04相关的知识,希望对你有一定的参考价值。

一 序

  本文属于极客时间 机器学习40讲学习笔记系列。

09 实验设计

本节学习机器学习中有关实验设计与分析的一些原则性问题。

设计实验要完成的任务是对整个机器学习过程的优化。其中最基本的因子就是选用的模型形式。当模型确定后,模型的超参数(hyperparameter)就是下一个可控因素。

当实验中的因子数目比较多时,控制变量法这是最简单的实验设计技法之一,它通过将其余变量设置为固定值来观察单一因素的影响效果,以及其背后的因果关系。在机器学习中,这种方法被称为一次一因子(one factor at a time),它首先为所有因子都设定一个基线值,再在其他因子保持在基线水平的前提下令单个因子波动,观察它对学习性能的影响。

      如果在每次实验中不是控制单个因子,而是让所有的因子一起变化来发现它们之间的协同关系,这就是因子设计(factorial design)的方法。因子设计关注的是不同因子之间系统化的变化对学习效果的影响,它的一个特例是全因子实验(full factorial experiment),也叫完全交叉设计(fully crossed design)。在全因子实验中,每个因子都有有限个离散的取值,实验则覆盖了所有因子所有取值的所有可能组合。 

    全因子实验不仅能够研究每个因子对因变量的影响,还能发现因子之间相互作用对因变量的影响,它可以进一步被看成是连续实验(sequential experimentation)的一个阶段。在待分析的因子数目较多时,连续实验体现出来的就是“粗调 + 微调”的处理方式。它首先执行全因子实验,但只给每个因子赋予较少的可能取值。这种广撒网的做法能够评判所有因子的重要程度,确定哪些是对学习结果影响较大的活跃因子并保留下来,剩下的不活跃的因子就会被放弃。接下来,连续实验会聚焦活跃因子,通过增加取值数目并进行精细的微调来精确刻画它们之间的关系,以及对因变量的影响方式,进而优化学习的设置。

  在对筛选出的少量因子进行微调时,可以使用响应面方法(response surface methodology)来降低计算开销。微调的目的是找到最优的因子取值,在不可能对所有取值都计算出性能指标的情况下,通过插值的方法来拟合出因子和性能之间的响应面就是一种更容易操作的办法。在得到的响应面上寻找最值,找到的就是最优的因子取值。

纯理论还是会迷茫,挨个试一遍才知道哪个模型效果好。

10 特征预处理

     特征的本质是用于预测分类结果的信息,特征工程实际上就是对这些信息的编码。机器学习中的很多具体算法都可以归纳到特征工程的范畴之中,比如使用 L_1 正则化项的LASSO 回归,就是通过将某些特征的权重系数缩小到 0 来实现特征的过滤;再比如主成分分析,将具有相关性的一组特征变换为另一组线性无关的特征。这些方法本质上完成的都是特征工程的任务。  

特征工程之前,数据的特征需要经过哪些必要的预处理(preprocessing):

特征缩放(feature scaling)保证所有的特征数值具有相同的数量级。特征缩放的作用就是消除特征的不同尺度所造成的偏差:标准化、归一化。

     除了尺度之外,数据的偏度也是值得关注的一个问题。偏度(skewness)是用于描述概率分布非对称性的一个指标。面对偏度较大的数据,第一反应就应该是检查是否有异常点存在。如果异常点本身并没有问题,需要考虑的下一个问题就是异常点和正常点是否来源于不同的生成机制,从而具有不同的概率分布。如果对异常点所在的分布的采样数据较少,就不足以体现出分布的特性,导致单个数据点看起来显得突兀。

     最直接的处理办法就是将异常点移除,但当数据集容量较小时,这种一刀切的方式会进一步减少可用的数据,造成信息的丢失,这时就需要采用名为“空间标识”(spatial sign)的数值处理方法。空间标识算法将所有的数据点都映射到高维空间的球面上,这个映射和标准化或者归一化的不同之处在于它处理的对象并不是所有样本的同一个特征,而是同一个样本的所有特征,让所有样本呈现一致的尺度。     

      即使在没有异常点的情况下,数据依然可能呈现出有偏的分布,对它进行修正,是对数据进行去偏度处理的常用方法就是取对数变换(log transformation)。除了对数之外,求平方根和求倒数也是移除偏度的常见处理方式。

     缺失值:最简单粗暴的办法依然是将不完整的数据全部删除,对小数据集来说这依然不是好办法。更主动的处理方式是给这些缺失值进行人为的赋值(imputation)。最常用的赋值算法是K 近邻算法:选取离具有缺失值的样本最近的 K 个样本,并以它们对应特征的平均值为缺失值赋值。

什么样的特征不具备区分度呢?这里有两个经验性的标准:一是特征取值的总数与样本数目的比例在 10% 以下,这样的特征在 100 个样本里的取值数目不超过 10 个;二是出现频率最高的特征取值的出现频率应该在出现频率次高的特征取值频率的 20 倍以上,如果有 90 个样本的特征取值为 1,4 个样本的特征取值为 2,其余取值的样本数目都在 4 个以下,这样的特征就可以被删除了。

       

理论部分10讲结束了。接下来是学习模型部分了。

以上是关于机器学习40讲学习笔记04的主要内容,如果未能解决你的问题,请参考以下文章

机器学习40讲3-学习笔记

机器学习40讲2-学习笔记

机器学习40讲学习笔记-18 从全局到局部:核技巧

机器学习40讲学习笔记-14 非线性降维:流形学习

机器学习40讲 学习笔记13 线性降维

机器学习40讲学习笔记-11基础线性回归