常见机器学习算法简述

kNN(k近邻):

给定测试样本,基于某种距离度量找出训练集中与其最靠近的k个训练样本。在分类中,通过投票法选择这k个样本中出现最多的类别作为预测结果。在回归任务中,通过计算这k个样本的实际值的平均值作为预测结果。

LDA(线性判别分析):

核心:向最大化类间差异、最小化类内差异的方向线性投影,
是有监督的线性降维算法,确保样本向量线性映射到低维空间后,同类样本的差异尽可能小,不同类样本间的差异尽可能大。

LDA支持向量机:

核心:最大化分类间隔的线性分类器
寻找一个分类超平面,不仅能正确地分类所有训练样本,而且要使得每一类样本中距离超平面最近的样本到超平面的距离尽可能远。通过核函数,SVM将向量非线性的映射到高维空间,使其更可能线性可分。实现的时候通过拉格朗日对偶转化为对偶问题求解,采用了高效的SMO算法(分治法)。

朴素贝叶斯

基于贝叶斯定理与特征条件独立假设的分类方法。分类原理是通过某对象的先验概率,利用贝叶斯计算其后验概率,即为该对象的概率,选择具有最大后验概率的类最为该对象所属的类。

Logistic回归

核心:从样本向量预测出它属于正负样本的概率。
属于二分类问题,先对向量做线性映射,再用logistic函数进行映射,得到它属于正样本的概率。模型的参数通过最大似然估计确定。Logistic是一种线性判别模型。是分类算法而不是回归算法。

随机森林:

核心:有放回的抽取样本训练多颗决策树,训练决策树的每个节点也只用了随机抽取的部分特征,预测时对这些树的预测的结果进行投票。
随机森林是一种集成学习算法,由多颗决策树组成,是一种线性判别模型,即支持分类也支持回归问题。

AdaBoost算法

核心:用多颗决策树的加权和进行预测,训练时重点关注错分的样本,准确率高的弱分类器权重大。
是一种集成学习算法,用多个弱分类器的线性加权组合构造强分类器。训练时,样本带有权重值,算法依次训练每个弱分类器,确定它们的权重。被错分的训练样本增大权重,准确率高的弱分类器权重大,否则减小权重。标注的AdaBoost算法是一种非线性判别模型,只支持二分类问题。

K均值

核心:把样本分配到离它最近的类中心对应的类中,类中心由属于这个类的所有样本确定
是一种无监督算法,是聚类算法。随机生成类中心,每次迭代时将样本分配到离它最近的类中心对应的类中, 再根据分配好的结果更新类中心,反复迭代直至收敛

均值漂移聚类

基于滑动窗口的算法,它试图找到数据点的密集区域。中心点的候选点更新为滑动窗口内的均值,在后处理阶段对这些候选窗口进行过滤以消除近似重复。

EM算法

基于模型的聚类算法,是在概率模型中寻找参数最大似然估计的算法,其中概率模型依赖于无法观测的隐藏变量。E步估计隐含变量,M步估计其他参数,交替将极值推向最大。

你可能感兴趣的:(常见机器学习算法简述)