机器学习复习

本文探讨了机器学习中两种重要的距离度量——欧式距离和马氏距离,以及它们在分类任务中的应用。马氏距离考虑了特征间的相关性,能消除量纲影响。接着介绍了朴素贝叶斯分类器的参数估计、最大似然估计和拉普拉斯平滑。还讨论了决策树的构建、剪枝策略以及熵和信息增益在决策树选择中的作用。最后提到了SVM的结构风险最小化原则和K-means聚类的局限性。
摘要由CSDN通过智能技术生成

欧式距离与马氏距离

欧式距离:最常见的两点之间或多点之间的距离表示法,又称之为欧几里得度量,它定义于欧几里得空间中

一般在机器学习模型中会涉及到衡量两个样本间的距离,如聚类、KNN,K-means等,使用的距离为欧式距离
马氏距离(Mahalanobis Distance):是由马哈拉诺比斯(P. C. Mahalanobis)提出的,表示数据的协方差距离。它是一种有效的计算两个未知样本集的相似度的方法。与欧氏距离不同的是它考虑到各种特性之间的联系(例如:一条关于身高的信息会带来一条关于体重的信息,因为两者是有关联的)并且是尺度无关的(scale-invariant),即独立于测量尺度。

马氏距离有很多优点: 马氏距离不受量纲的影响,两点之间的马氏距离与原始数据的测量单位无关;由标准化数据和中心化数据(即原始数据与均值之差)计算出的二点之间的马氏距离相同。马氏距离还可以排除变量之间的相关性的干扰。

下面我们来看一个例子:
如果我们以厘米为单位来测量人的身高,以克(g)为单位测量人的体重。每个人被表示为一个两维向量,如一个人身高173cm,体重50000g,表示为(173,50000),根据身高体重的信息来判断体型的相似程度。

我们已知小明(160,60000);小王(160,59000);小李(170,60000)。根据常识可以知道小明和小王体型相似。但是如果根据欧几里得距离来判断,小明和小王的距离要远远大于小明和小李之间的距离,即小明和小李体型相似。这是因为不同特征的度量标准之间存在差异而导致判断出错。

以克(g)为单位测量人的体重,数据分布比较分散,即方差大,而以厘米为单位来测量人的身高,数据分布就相对集中,方差小。马氏距离的目的就是把方差归一化,使得特征之间的关系更加符合实际情况。

参数估计

朴素贝叶斯

其中P(c)称为类“先验”(prior)概率,P(x|c)称为样本x相对于类c的类条件概率(class-conitional probability,或称为“似然” likelihood),P(x)为用于归一化的“证据”(evidence)因子。这样,计算P(c|x)问题,就转化成计算P(c)与P(x|c)问题。找到P(c|x)最大的c类,即简化为使得P(c).P(x|c)最大的类别c。

P(c)的计算较为简便,各个单独属性xj的类条件概率也能够计算,现在问题在于,如何计算多个属性x的P(x|c)?

对于这样的问题,朴素贝叶斯认为各个属性是独立的,即“属性条件独立性假设”(attribute conditional independence assumption),假设每个属性都独立地对分类结果产生影响,这也是“朴素”一词的来源。这样联合概率就可以简化为各个属性类条件概率的乘积,即:

    如果都是连续性属性的情况,若使用朴素贝叶斯,就认为各属性均服从正态分布且相互独立,即多元正态分布中协差阵对角线以外的元素都为0的情况。

最大似然估计

最大(极大)似然估计(maximum likelihood estimate ),简称(MLE):最有可能的情况。(也就是找出与样本分布最接近的概率分布模型)
最大似然估计是需要你寻找确定的参数,使得联合密度最大。
即:给定了一个参数待定的模型(该模型符合伯努利分布(b(1,p)),和一组从该模型中得出的数据。
你需要确定这个参数p,并使该确定参数p后的模型 在所有模型中产生已知数据的联合概率最大L(p)。

拉普拉斯平滑

分子加一,分母加K,K代表类别数目。

零概率问题:在计算实例的概率时,如果某个量x,在观察样本库(训练集)中没有出现过,会导致整个实例的概率结果是0。这是不合理的,不能因为一个事件没有观察到就武断的认为该事件的概率是0。

假定训练样本很大时,每个分量x的计数加1造成的估计概率变化可以忽略不计,但可以方便有效的避免零概率问题。

非参数估计

Parzon窗

通过改变区域内的样本数:固定区域,看落在区域中的点

KNN

通过改变包含相同样本所需要的区域大小:固定点,更改区域的大小,k=5,所以扩大面积到包括5个点的时候,其中4个绿1个红,则绿类

K值较小,则模型复杂度较高,容易发生过拟合,学习的估计误差会增大,预测结果对近邻的实例点非常敏感。K值较大可以减少学习的估计误差,但是学习的近似误差会增大,与输入实例较远的训练实例也会对预测起作用,使预测发生错误,k值增大模型的复杂度会下降。在应用中,k值一般取一个比较小的值,通常采用交叉验证法来来选取最优的K值。

交叉验证

在训练集中每次都选择不同的部分作为验证集,比如S训练集分为S1S2S3S4S5,第一次用S1作验证集,S2S3S4S5作训练集,第二次用S2作验证集,S1S3S4S5作训练集......

神经网络

梯度下降

梯度为什么下降我们可以将它理解为:找误差函数(损失函数)最小值对应的自变量。

其本身不是机器学习算法,而是一种求解的最优化算法。主要解决求最小值问题,其基本思想在于不断地逼近最优点,每一步的优化方向就是梯度的方向。

机器学习的本质就是“喂”给模型数据,让模型不断地去学习,而这个学习的过程就是利用梯度下降法不断去优化的过程,目前最为常见的深度神经网络便是利用梯度的反向传播,反复更新模型参数直至收敛,从而达到优化模型的目的。

详解梯度下降法(干货篇) - 知乎

BP

正向反馈,反向传播

先度量误差,然后通过改变权值降低误差

一般BP是不会显示收敛的,所以并没有关于定义好的何时停止的标准。但是可以:

1.当梯度向量的欧几里得规范达到足够小的梯度阈值时

2.当每个epoch的平均平方误差足够小时,通常范围是每个epoch的0.1%到1%,或者小到0.01%

决策树

选择属性,根据属性值划分子集(选择属性的顺序对学习有影响)

(1)如果子集为空或者属于同一类,为叶结点

(2)否则,对应内部结点

(3)选择新的属性进行划分,直到得到条件1

熵,度量不确定性/混乱程度

ID3

使用信息增益来选择属性构建树,但是选择偏好是选择有更多值的属性

C4.5

使用信息增益率,但是选择偏好是选择属性值较少的,所以C4.5非直接选择增益率最大的候选划分属性,启发式的选择:先从候选划分属性中找到信息增益高于平均水平的属性,再从中选择增益率最高的

剪枝

剪枝(pruning)是决策树学习算法对付“过拟合”的主要手段。

可以通过留出法或者交叉验证法来评估泛化能力的提升。

预剪枝:在决策树生成过程中,对每个节点在划分前先进行估计,若当前节点的划分不能带来决策树泛化性能提升,则停止划分并将当前节点标记为叶节点。

预剪枝基于 “贪心” 本质禁止这些分支展开,虽然降低了 "过拟合“ 的风险,节省了决策树训练的时间开销,但另一方面有些直接去掉的分支虽然暂时不能给决策树带来性能上的提升,但是他们的后续结点未必会是这样,给预剪枝决策树带来了 “欠拟合” 的风险。

后剪枝:先从训练集中生成一棵完整的决策树,然后自底向上地对非叶节点进行考察,若将该节点对应的子树替换成叶节点能带来决策树泛化能力的提升,则将该子树替换成叶节点。

后剪枝决策树通常比预剪枝决策树保留了更多的分支,一般情形下,后剪枝决策树的欠拟合风险小,泛华性能往往也要优于预剪枝决策树。但后剪枝过程是在构建完全决策树之后进行的,并且要自底向上的对树中的所有非叶结点进行逐一考察,因此其训练时间开销要比未剪枝决策树和预剪枝决策树都大得多。

决策树剪枝处理 - 知乎

集成学习

不同的模型、同样模型不同参数、不同属性的数据集、数据集的不同子集

Bagging

Resample traning data,可以并行

bootstarp aggregating;bootstarp自助采样(有放回)

voting or averaging

对unstable(训练数据中的小变动就会引起预测结果的大变化,比如NN、决策树)的学习算法有效,但反而会降低stable的学习算法(KNN)

Boosting

Reweight training data,只能串行

最终的分类器是基学习器的结合(比如线性分类器结合出了一个非线形分类器)

 AdaBoost自适应增强

数学推理??

SVM

支持向量机方法是建立在统计学习理论的VC 维理论和结构风险最小原理基础上。

置信风险: 分类器对 未知样本进行分类,得到的误差。
经验风险: 训练好的分类器,对训练样本重新分类得到的误差。即样本误差
结构风险:置信风险 + 经验风险
结构风险最小化就是为了防止过拟合而提出来的策略,贝叶斯估计中最大后验概率估计就是结构风险最小化的一个例子。当模型的条件概率分布、损失函数是对数损失函数、模型复杂度由模型先验概率表示时,结构风险最小化等价于最大后验概率估计。监督学习问题变成经验风险或结构风险函数的最优化问题,这时经验风险或结构风险函数是最优化的目标函数。

SVM在小样本训练集上能够得到比其它算法好很多的结果。支持向量机之所以成为目前最常用,效果最好的分类器之一,在于其优秀的泛化能力,这是是因为其本身的优化目标是结构化风险最小,而不是经验风险最小,因此,通过margin的概念,得到对数据分布的结构化描述,因此减低了对数据规模和数据分布的要求。SVM也并不是在任何场景都比其他算法好,对于每种应用,最好尝试多种算法,然后评估结果。如SVM在邮件分类上,还不如逻辑回归、KNN、bayes的效果好。

置信风险的影响因素有: 训练样本数目和分类函数的VC维。训练样本数目,即样本越多,置信风险就可以比较小;VC维越大,问题的解的种类就越多,推广能力就越差,置信风险也就越大。因此,增加样本数,降低VC维,才能降低置信风险。而一般的分类函数,需要提高VC维,即样本的特征数据量,来降低经验风险,如多项式分类函数。如此就会导致置信风险变高,结构风险也相应变高。过度学习即overfit,就是置信风险变高的缘故。

结构风险最小化SRM(structured risk minimize)就是同时考虑经验风险与结构风险。在小样本情况下,取得比较好的分类效果。保证分类精度(经验风险)的同时,降低学习机器的 VC 维,可以使学习机器在整个样本集上的期望风险得到控制,这应该就是SRM的原则。

结构风险最小化SRM(structured risk minimize)就是同时考虑经验风险与结构风险。在小样本情况下,取得比较好的分类效果。保证分类精度(经验风险)的同时,降低学习机器的 VC 维,可以使学习机器在整个样本集上的期望风险得到控制,这应该就是SRM的原则。当训练样本给定时,分类间隔越大,则对应的分类超平面集合的 VC 维就越小。(分类间隔的要求,对VC维的影响)

根据结构风险最小化原则,前者是保证经验风险(经验风险和期望风险依赖于学习机器函数族的选择)最小,而后者使分类间隔最大,导致 VC 维最小,实际上就是使推广性的界中的置信范围最小,从而达到使真实风险最小。

称这类距离划分超平面最近的样本点为“支持向量”

使间隔最大

K-means

​​​​​​​

对噪点和异常点/离群点敏感,对数据分布、数据不平衡敏感

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值