无监督学习适用的场景是,您想要探查数据,但还没有特定目标或不确定数据包含什么信息。这也是减少数据维度的好方法。
绝大多数无监督学习技术是聚类分析的形式。
在聚类分析中,根据某些相似性的量度或公有特征把数据划分成组。采用聚类的组织形式,同一类(或簇)中的对象非常相似,不同类中的对象截然不同。
聚类算法分为两大类:
工作原理:
将数据分割为k个相互排斥的类。一个点在多大程度上适合划入一个类由该点到类中心的距离来决定。
最佳使用时机:
- 当聚类的数量已知时
- 适用于大型数据集的快速聚类
工作原理:
与k-均值类似,但要求类中心与数据中的点契合。
最佳使用时机:
- 当聚类的数量已知时
- 适用于分类数据的快速聚类
- 扩展至大型数据集
工作原理:
通过分析成对点之间的相似度并将对象分组到一个二进制的层次结构树,产生聚类的嵌套集。
最佳使用时机:
- 当您事先不知道您的数据中有多少类时
- 您想要可视化地指导您的选择
工作原理:
基于神经网络的聚类,将数据集变换为保留拓扑结构的2D图。
最佳使用时机:
- 采用2D或3D方式可视化高维数据
- 通过保留数据的拓扑结构(形状)降低数据维度
工作原理:
当数据点可能属于多个类时进行基于分割的聚类。
最佳使用时机:
- 当聚类的数量已知时
- 适用于模式识别
- 当聚类重叠时
工作原理:
基于分割的聚类,数据点来自具有一定概率的不同的多元正态分布。
最佳使用时机:
- 当数据点可能属于多个类时
- 当聚集的类具有不同的大小且含有相关结构时
无监督学习可能是您的最终目标。例如:如果您做市场研究并想根据网站行为有针对性地划分消费群体,那么聚类算法几乎肯定能给您想要寻求的结果。
另一方面,您可能想使用无监督学习,作为监督学习的预处理步骤。例如:应用聚类技术得出数量较少的特征,然后使用这些特征作为训练分类器的输入。
监督式学习算法接受已知的输入数据集合(训练集)和已知的对数据的响应(输出),然后训练一个模型,为新输入数据的响应生成合理的预测。如果您尝试去预测现有数据的输出,则使用监督式学习。
监督学习技术科分为分类或者回归的形式。
分类技术预测离散的响应。
回归技术预测连续的响应。
工作原理:
适合可以预测属于一个类或者另一个类的二元响应概率的模型。因为逻辑回归比较简单,所以常用作二分类问题的起点。
最佳使用时机:
- 当数据能由一个线性边界清晰划分时
- 作为评估更复杂分类方法的基准
工作原理:
kNN根据数据集内类的最近邻关系划分对象的类别。kNN预测假定相互靠近的对象是相似的。距离量度(如欧氏距离、绝对值距离、夹角余弦和Chebychev距离)用来查找最近邻。
最佳使用时机:
- 当您需要简单算法来设立基准学习规则时
- 当无需太关注训练模型的内存使用时
- 当无需太关注训练模型的预测速度时
工作原理:
通过搜索能将全部数据点分割开的判别边界(超平面)对数据进行分类。当数据为线性分离时,SVM的最佳超平面是在两个类之间具有最大边距的超平面。如果数据不是线性可分离,则使用损失函数对处于超平面错误一边的点进行惩罚。SVM有时使用核变换,将非线性可分离的数据变换为可找到线性判定边界的更高温度。
最佳使用时机:
- 适用于正好有两个类的数据(借助所谓的纠错输出码技术,也可以将其用于多类分类)
- 适用于高维、非线性可分离的数据
- 当您需要一个简单、易于解释、准确的分类器时
工作原理:
判别分析通过发现特征的线性组合来对数据分类。判别分析假定不同的类根据高斯分布生成数据。训练判别分析模型涉及查找每个类的高斯分布函数。分布参数用来计算边界,边界可能为线性函数或二次函数。这些边界用来确定新数据的类。
最佳使用时机:
- 适用于高度非线性系统建模
- 当数据逐渐增多,而您希望不断更新模型时
- 当您的输入数据可能有意外变动时
- 当模型可解释性不是主要考虑因素时
工作原理:
朴素贝叶斯分类器假设类中某一具体特征的存在与任何其他特征的存在不相关。根据数据属于某个特定类的最高概率对新数据进行分类。
最佳使用时机:
- 适用于包含许多参数的小数据集
- 当您需要易于解释的分类器时
- 当模型会遇到不在训练数据中的情形时,许多金融和医学应用就属于这种情况
工作原理:
朴素贝叶斯分类器假设类中某一具体特征的存在与任何其他特征的存在不相关。根据数据属于某个特定类的最高概率对新数据进行分类。
最佳使用时机:
- 当您需要易于解释的简单模型时
- 当训练过程中的内存使用是需要关注的问题时
- 当您需要快速预测的模型时
工作原理:
利用决策树预测对数据响应的方法是,按照树种根节点(起始)到叶节点的顺序自上而下地决策。树由分支条件组成,在这些条件中,预测元的值与训练的权重进行比较。分支的数量和权重的值在训练过程中确定。附加修改或剪枝可用来简化模型。
最佳使用时机:
- 当您需要易于解释和快速拟合的算法时
- 最小化内存使用
- 当不要求很高的预测准确性时
工作原理:
在这些集成方法中,几个”较弱”的决策树组合成一个”较强”的整体。
袋装决策树由根据从输入数据中自举的数据进行独立训练的树组成。
促进决策树涉及创建一个强学习器。具体方法是:迭代地添加”弱”学习器并调节每个弱学习器的权重,从而将重点放在错误分类的样本。
最佳使用时机:
- 当预测元为无序类别(离散)或表现非线性时
- 当无需太关注训练一个模型所用时间时
工作原理:
线性回归是一项统计建模技术,用来描述作为一个或多个预测元变量的线性函数的连续应变量。因为线性回归模型解释简单,易于训练,所以通常是第一个要与新数据集拟合的模型。
最佳使用时机:
- 当您需要易于解释和快速拟合的算法时
- 作为评估其他更复杂回归模型的基准
工作原理:
非线性回归是一种有助于描述实验数据中非线性关系的统计建模技术。通常将非线性回归模型假设为参数模型,将该模型称为非线性方程。
“非线性”是指一个拟合函数,他是多个参数的非线性函数。例如,如果拟合参数为 b0,b1和b2 ,方程式 y=b0+b1x+b2x2 是拟合参数的线性函数,而 y=(b0xb1)/(x+b2) 是拟合参数的非线性函数。
最佳使用时机:
- 当数据有很强的非线性趋势,不容易转化成线性空间时
- 适用于自定义模型与参数拟合
工作原理:
高斯过程回归(GPR)模型是非参数模型,用于预测连续应变量的值。这些模型广泛应用于对存在不确定情况下的插值进行空间分析的领域。GPR也称克里格法(Kriging)。
最佳使用时机:
- 适用于空间数据插值,如针对地下水分布的水文地质学数据
- 作为有助于优化汽车发动机等复杂涉及的替代模型
工作原理:
SVM回归算法类似于SVM分类算法,但经过改良,能够预测连续响应。不同于查找一个分离数据的超平面,SVM回归算法查找一个偏离测量数据的模型,偏离的值不大于一个小数额,采用尽可能小的参数值(使对误差的敏感度最小)。
最佳使用时机:
- 适用于高维数据(将会有大量的预测元变量)
工作原理:
广义线性模型是使用线性方法的非线性模型的一种特殊情况。它涉及输入的线性组合与输出的非线性函数(连续函数)拟合。
最佳使用时机:
- 当应变量有非正态分布时,比如始终预期为正值的应变量
工作原理:
回归的决策树类似于分类的决策树,但经过改良,能够预测连续响应。
改进模型意味着提高其准确性和预测能力,防止过拟合(当模型无法区分数据和噪声时)。模型改进设计特征工程(特征选择和变换)和超参数调优。
特征选择:识别最相关的特征或变量,在对您的数据建模中提供最佳预测能力。这可能意味着向模型添加变量,或移除不能改进模型性能的变量。
特征变换:使用主成分分析、非负矩阵因式分解等技术,将现有特征转变为新特征。
超参数调优:识别能提供最佳模型的参数集的过错。超参数控制机器学习算法如何实现模型与数据拟合。
特征选择是机器学习中最重要的任务之一。模型的优劣取决于你选择用来训练它的特征。当您在处理高维度数据时,或您的数据集包含大量特征和有限的观察值时,特征选择特别有用。减少特征还节省存储空间和计算时间,使您的结果更容易理解。
常见特征选择技术包括:
逐步回归: 依次添加或移除特征,直到预测精度没有改进为止。
顺序特征选择:迭代地添加或移除预测元变量并评估每次变动对模型性能的影响。
正则化:使用收缩估计量,通过将冗余特征权重(系数)减至零消除冗余特征。
近邻元分析(NCA):查找每个特征在预测输出中的权重,以便能够丢弃权重较低的特征。
特征变换是一种降维的形式。三个最重要的降维技术是:
主成分分析(PCA):在许多变量的数据集中,变量组经常一起移动。PCA充分利用这种信息冗余,通过原始变量的线性组合生成新变量,使少数新变量能够捕获大多数信息。对数据执行线性变换,使您的高维数据集中的绝大多数方差或信息被前几个主成分捕获。第一个主成分将会捕获大部分方差,然后是第二个主成分,以此类推。
非负矩阵因式分解:当模型术语必须代表非负数量(比如物理量)时使用。
因子分析:识别您的数据集中各变量之间潜在的相关性,提供数量较少的未发现潜在因子或公共因子的一种表现方式。
与许多机器学习任务一样,参数调优也是一个迭代过程。一开始设置参数是根据对结果的”最佳猜测”。您的目标是找到”最佳可能”值–这些值生成最佳模型。随着您调整参数,模型性能开始改进,您会看到哪些参数设置有效,哪些仍需调优。采用适当调优参数的简单算法通常比调优不充分的复杂算法能够生成更好的模型。
三个常用的参数调优方法是: