失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 【机器学习】机器学习一些概念的整理(不断更新中)

【机器学习】机器学习一些概念的整理(不断更新中)

时间:2022-04-04 14:09:30

相关推荐

【机器学习】机器学习一些概念的整理(不断更新中)

维数灾难:

当特征维数很高的时候,即使训练集性能很好,也很有可能是由于过拟合造成的,模型的泛化能力很弱。当特征维数很高的时候,样本映射到高维的特征空间下,距离度量逐渐失去了度量差异性的能力。

/zbc1090549839/article/details/38929215

/tanya_girl/article/details/50151291

判别式模型与生成式模型:

对于输入x,类别标签y:

生成式模型:估计它们的联合概率分布P(x,y),生成数据的分布。

特点:寻找不同类别之间的最优分类面,反映的是异类数据之间的差异。

判别式模型:判别式模型估计条件概率分布P(y|x),判别数据的输出量。

特点:对后验概率建模,从统计的角度表示数据的分布情况,能够反映同类数据本身的相似度。

二者联系:由产生式模型可以得到判别式模型,但由判别式模型得不到产生式模型。

/wolenski/article/details/7985426

/shuke1991/article/details/51689670

线性分类器三大类

感知器准则函数:代价函数J=-(W*X+w0),分类的准则是最小化代价函数。感知器是神经网络(NN)的基础,网上有很多介绍。SVM:支持向量机也是很经典的算法,优化目标是最大化间隔(margin),又称最大间隔分类器,是一种典型的线性分类器。(使用核函数可解决非线性问题)Fisher准则:更广泛的称呼是线性判别分析(LDA),将所有样本投影到一条远点出发的直线,使得同类样本距离尽可能小,不同类样本距离尽可能大,具体为最大化“广义瑞利商”。/pinard/p/6244265.html

基于核的机器学习算法

径向基核函数(Radial Basis Function)线性判别分析(Linear Discrimimate Analysis):LDA其他变种,如果原始数据投影后,仍旧不能很好的分开,那么Kernel LDA是一个解决方法。在有出现向量内积的地方,都可以引入核函数。支持向量机 (Support Vector Machine)

噪声对SVM的影响

少数支持向量决定了最终结果,这不但可以帮助我们抓住关键样本、“剔除”大量冗余样本,而且注定了该方法不但算法简单,而且具有较好的“鲁棒”性。这种“鲁棒”性主要体现在: 增、删非支持向量样本对模型没有影响;支持向量样本集具有一定的鲁棒性;有些成功的应用中,SVM 方法对核的选取不敏感但当噪声出现的过多,以及当噪声出现并成为支持向量时,那么噪声对模型对影响是巨大的。所以此时SVM对噪声不具备鲁棒性!以下两种情况会增大噪声成为支持向量的概率: 噪声数量太多噪声以新的分布形式出现,与原先样本集的噪声分布表现的相当不同。此时噪声也有大概率落在最大分类间隔中间,从而成为支持向量,大大影响模型。

所以我们常说的鲁棒性其实是主要是体现在对Outlier(异常点、离群点)上。

HMM算法分类

前向、后向算法解决的是一个评估问题,即给定一个模型,求某特定观测序列的概率,用于评估该序列最匹配的模型。Baum-Welch算法解决的是一个模型训练问题,即参数估计,是一种无监督的训练方法,主要通过EM迭代实现;如果给定观测序列,没有对应的状态序列,才用EM,将状态序列看不不可测的隐数据维特比算法解决的是给定 一个模型和某个特定的输出序列,求最可能产生这个输出的状态序列。如通过海藻变化(输出序列)来观测天气(状态序列),是预测问题,通信中的解码问题。极大似然估计:即观测序列和相应的状态序列都存在时的监督学习算法,用来估计参数

数据清理中,处理缺失值的方法

估算(estimation)。最简单的办法就是用某个变量的样本均值、中位数或众数代替无效值和缺失值。这种办法简单,但没有充分考虑数据中已有的信息,误差可能较大。另一种办法就是根据调查对象对其他问题的答案,通过变量之间的相关分析或逻辑推论进行估计。例如,某一产品的拥有情况可能与家庭收入有关,可以根据调查对象的家庭收入推算拥有这一产品的可能性。整例删除(casewise deletion)是剔除含有缺失值的样本。由于很多问卷都可能存在缺失值,这种做法的结果可能导致有效样本量大大减少,无法充分利用已经收集到的数据。因此,只适合关键变量缺失,或者含有无效值或缺失值的样本比重很小的情况。变量删除(variable deletion)。如果某一变量的无效值和缺失值很多,而且该变量对于所研究的问题不是特别重要,则可以考虑将该变量删除。这种做法减少了供分析用的变量数目,但没有改变样本量。成对删除(pairwise deletion)是用一个特殊码(通常是9、99、999等)代表无效值和缺失值,同时保留数据集中的全部变量和样本。但是,在具体计算时只采用有完整答案的样本,因而不同的分析因涉及的变量不同,其有效样本量也会有所不同。这是一种保守的处理方法,最大限度地保留了数据集中的可用信息。

基于二次准则函数的H-K算法较之于感知器算法的优点

HK算法的思想很朴实,就是在最小均方误差准则下求得权矢量。它相对于感知器算法的优点在于,它适用于线性可分和非线性可分的情况。对于线性可分的情况,给出最优权矢量,对于分线性可分的情况,能够判别出来,以退出迭代过程。

时间序列模型的比较

AR模型:AR模型是一种线性预测,即已知N个数据,可由模型推出第N点前面或后面的数据(设推出P点),所以其本质类似于插值。MA模型:移动平均法模型,其中使用趋势移动平均法建立直线趋势的预测模型,模型参量法谱分析方法之一。ARMA模型:自回归滑动平均模型,拟合较高阶模型,模型参量法高分辨率谱分析方法之一。这种方法是研究平稳随机过程有理谱的典型方法。它比AR模型法与MA模型法有较精确的谱估计及较优良的谱分辨率性能,但其参数估算比较繁琐。GARCH模型:广义回归模型,它是ARCH模型的推广,GARCH(p,0)模型,相当于ARCH(p)模型。GARCH模型是一个专门针对金融数据所量体订做的回归模型,除去和普通回归模型相同的之处,GARCH对误差的方差进行了进一步的建模。特别适用于波动性的分析和预测,这样的分析对投资者的决策能起到非常重要的指导性作用,其意义很多时候超过了对数值本身的分析和预测。

关联规则模式挖掘各算法简介(From 机器学习:序列模式挖掘算法,需要详细学习)

1. Apriori算法:关联分析原始算法,用于从候选项集中发现频繁项集。两个步骤:进行自连接、进行剪枝。缺点:无时序先后性。

AprioriAll算法:AprioriAll算法与Apriori算法的执行过程是一样的,不同点在于候选集的产生,需要区分最后两个元素的前后。

AprioriSome算法:可以看做是AprioriAll算法的改进。

AprioriAll算法和AprioriSome算法的比较:

(1)AprioriAll用 去计算出所有的候选Ck,而AprioriSome会直接用 去计算所有的候选 ,因为 包含 ,所以AprioriSome会产生比较多的候选

(2)虽然AprioriSome跳跃式计算候选,但因为它所产生的候选比较多,可能在回溯阶段前就占满内存。

(3)如果内存占满了,AprioriSome就会被迫去计算最后一组的候选。

(4)对于较低的支持度,有较长的大序列,AprioriSome算法要好些

2. GPS算法:类Apriori算法。用于从候选项集中发现具有时序先后性的频繁项集。两个步骤:进行自连接、进行剪枝。缺点:每次计算支持度,都需要扫描全部数据集;对序列模式很长的情况,由于其对应的短的序列模式规模太大,算法很难处理。

3. SPADE算法:改进的GPS算法,规避多次对数据集D进行全表扫描的问题。与GSP算法大体相同,多了一个ID_LIST记录,使得每一次的ID_LIST根据上一次的ID_LIST得到(从而得到支持度)。而ID_LIST的规模是随着剪枝的不断进行而缩小的。所以也就解决了GSP算法多次扫描数据集D问题。

4.FreeSpan算法:即频繁模式投影的序列模式挖掘。核心思想是分治算法。基本思想为:利用频繁项递归地将序列数据库投影到更小的投影数据库集中,在每个投影数据库中生成子序列片断。这一过程对数据和待检验的频繁模式集进行了分割,并且将每一次检验限制在与其相符合的更小的投影数据库中。

优点:减少产生候选序列所需的开销。缺点:可能会产生许多投影数据库,开销很大,会产生很多的

5.PrefixSpan 算法:从FreeSpan中推导演化而来的。收缩速度比FreeSpan还要更快些。

正负样本数据量不等情况下的数据处理方式

采样:采样分为上采样(Oversampling)下采样(Undersampling),上采样是把小种类复制多份,下采样是从大众类中剔除一些样本,或者说只从大众类中选取部分样本。数据合成:数据合成方法是利用已有样本生成更多样本,例如图像旋转、形变等。权值调整:对不同类别分错的代价不同一分类:对于正负样本极不平衡的场景,我们可以换一个完全不同的角度来看待问题:把它看做一分类(One Class Learning)或异常检测(Novelty Detection)问题。这类方法的重点不在于捕捉类间的差别,而是为其中一类进行建模,经典的工作包括One-class SVM等。

How To Choose:(From 如何解决机器学习中数据不平衡问题)

解决数据不平衡问题的方法有很多,上面只是一些最常用的方法,而最常用的方法也有这么多种,如何根据实际问题选择合适的方法呢?接下来谈谈一些我的经验。

在正负样本都非常之少的情况下,应该采用数据合成的方式;在负样本足够多,正样本非常之少且比例及其悬殊的情况下,应该考虑一分类方法;在正负样本都足够多且比例不是特别悬殊的情况下,应该考虑采样或者加权的方法。

采样和加权在数学上是等价的,但实际应用中效果却有差别。尤其是采样了诸如Random Forest等分类方法,训练过程会对训练集进行随机采样。在这种情况下,如果计算资源允许上采样往往要比加权好一些。

另外,虽然上采样和下采样都可以使数据集变得平衡,并且在数据足够多的情况下等价,但两者也是有区别的。实际应用中,我的经验是如果计算资源足够且小众类样本足够多的情况下使用上采样,否则使用下采样,因为上采样会增加训练集的大小进而增加训练时间,同时小的训练集非常容易产生过拟合。对于下采样,如果计算资源相对较多且有良好的并行环境,应该选择Ensemble方法。

机器学习中的数据降维方法

(From:机器学习四大数据降维方法详解,数据降维方法总结待补充)

LASSO主成分分析法聚类分析小波分析法线性判别法拉普拉斯特征映射奇异值分解法因子分析法局部线性嵌入(LLE)多维标定法(MDS)

非极大值抑制(Non-maximum suppression)

如果觉得《【机器学习】机器学习一些概念的整理(不断更新中)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。