机器学习十大算法的概述

一、K近邻(KNN)
机理:从训练样本中找出K个与其最相近的样本,然后看这k个样本中哪个类别的样本多,则待判定的值(或说抽样)就属于这个类别。
核心思想:对未知类别属性的数据集中的每个点依次执行以下操作:
1、 计算已知类别数据集中的点与当前点之间的距离;
2、按照距离递增次序排序;
3、 选取与当前点距离最小的k个点;
4、 确定前k个点所在类别的出现频率;
5、 返回前k个点出现频率最高的类别作为当前点的预测分类。
优点:1、一种在线技术,新数据可以直接加入数据集而不必进行重新训练
2、理论简单,容易实现
3、通过对K的选择可具备丢噪音数据的健壮性。
缺点:1、对于样本容量大的数据集计算量比较大。
2、当样本分布不平衡时,预测偏差比较大。如一个类的样本容量很大,而其他类样本容量很小时,有可能导致当输入一个新样本时,该样本的K个邻居中大容量类的样本占多数。
3、KNN每一次分类都会重新进行一次全局运算。
4、k值大小的选择,需要预先设定,而不能自适应
5、 需要大量空间储存所有已知实例。
6、算法复杂度高(需要比较所有已知实例与要分类的实例)。
适用情况:用于对样本容量比较大的类域进行自动分类, 文本分类、模式识别、聚类分析,多分类领域
二、朴素贝叶斯(NBA)
机理:基于贝叶斯定理与特征条件独立假设的分类方法
核心思想:算法的基础是概率问题,通过某对象的先验概率,利用贝叶斯公式计算出其后验概率,即该对象属于某一类的概率,选择具有最大后验概率的类作为该对象所属的类。
优点:朴素贝叶斯假设是约束性很强的假设,假设特征条件独立,但朴素贝叶斯算法简单,快速,具有较小的出错率。
1、对大数量训练和查询时具有较高的速度。即使使用超大规模的训练集,针对每个项目通常也只会有相对较少的特征数,并且对项目的训练和分类也仅仅是特征概率的数学运算而已。
2、支持增量式运算。即可以实时的对新增的样本进行训练。
3、朴素贝叶斯对结果解释容易理解。
缺点:
由于使用了样本属性独立性的假设,所以如果样本属性有关联时其效果不好。
适用情况:主要研究了电子邮件过滤以及文本分类研究。文本分类、欺诈检测中使用较多
三、ID3
机理:计算所有的属性,选择信息增益最大的属性分裂产生决策树节点,基于该属性的不同属性值建立各分支,再对各分支的子集递归调用该方法建立子节点的分支,直到所有子集仅包括同一类别或没有可分裂的属性为止。由此得到一棵决策树,可用来对新样本数据进行分类。
核心思想:通过计算属性的信息增益来选择决策树各级节点上的分裂属性,使得在每一个非叶子节点进行测试时,获得关于被测试样本最大的类别信息。
优点:构建决策树的速度比较快,算法实现简单,生成的规则容易理解。
缺点:在属性选择时,倾向于选择那些拥有多个属性值的属性作为分裂属性,而这些属性不一定是最佳分裂属性;不能处理属性值连续的属性;无修剪过程,无法对决策树进行优化,生成的决策树可能存在过度拟合的情况。
适用情况:主要用于各方面的分类研究
四、C4.5
机理:以信息论为基础,以信息熵和信息增益度为衡量标准,从而实现对数据的归纳分类。ID3算法计算每个属性的信息增益,并选取具有最高增益的属性作为给定的测试属性。
核心思想:对ID3算法的改进方面有
1)用信息增益率来选择属性,克服了用信息增益选择属性时偏向选择取值多的属性的不足;
2)在树构造过程中进行剪枝
3)能处理非离散的数据
4)能处理不完整的数据
 优点:产生的分类规则易于理解,准确率较高。
缺点:1)在构造树的过程中,需要对数据集进行多次的顺序扫描和排序,因而导致算法的低效。
2)C4.5只适合于能够驻留于内存的数据集,当训练集大得无法在内存容纳时程序无法运行。
适用情况:主要用于各方面的决策分类研究
五、分类与回归树(CART)
机理:如果目标变量是标称的,称为分类树;如果目标变量是连续的,称为回归树。分类树是使用树结构算法将数据分成离散类的方法。
核心思想:是一种决策树分类方法,采用基于最小距离的基尼指数估计函数,用来决定由该子数据集生成的决策树的拓展形。
优点:1、非常灵活,可以允许有部分错分成本,还可指定先验概率分布,可使用自动的成本复杂性剪枝来得到归纳性更强的树。
2、在面对诸如存在缺失值、变量数多等问题时CART 显得非常稳健。
3、可以生成可以理解的规则。
4、计算量相对来说不是很大。
5、可以处理连续和种类字段。
6、决策树可以清晰的显示哪些字段比较重要
缺点:1、 对连续性的字段比较难预测。
2、对有时间顺序的数据,需要很多预处理的工作。
3、当类别太多时,错误可能就会增加的比较快。
4、一般的算法分类的时候,只是根据一个字段来分类。
适用情况:主要用于各方面的分类研究。
六、K-means
机理:是一个简单的聚类算法,把n的对象根据他们的属性分为k个分割,k< n。
核心思想:优化失真函数J,使其收敛到局部最小值但不是全局最小值。其中N为样本数,K是簇数,rnk b表示n属于第k个簇,uk 是第k个中心点的值。然后求出最优的uk 
优点:算法速度很快
缺点:分组的数目k是一个输入参数,不合适的k可能返回较差的结果。
适用情况:主要用于各方面的聚类分析研究

七、支持向量机(SVM)
机理:将低维空间的点映射到高维空间,使它们成为线性可分,再使用线性划分的原理来判断分类边界。
核心思想:一种基于分类边界的方法。
优点:SVM在解决小样本、非线性及高维模式识别问题中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中。 
缺点:1、对于核函数的高维映射解释力不强,尤其是径向基函数。
2、失数据敏感。
适用情况:文本分类、图像识别、主要二分类领域
八、提升方法(AdaBoost)
机理:针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器)。其算法本身是通过改变数据分布来实现的,它根据每次训练集之中每个样本的分类是否正确,以及上次的总体分类的准确率,来确定每个样本的权值。将修改过权值的新数据集送给下层分类器进行训练,最后将每次训练得到的分类器最后融合起来,作为最后的决策分类器。
整个过程如下所示:
1. 先通过对N个训练样本的学习得到第一个弱分类器;
2. 将分错的样本和其他的新数据一起构成一个新的N个的训练样本,通过对这个样本的学习得到第二个弱分类器;
3. 将和都分错了的样本加上其他的新样本构成另一个新的N个的训练样本,通过对这个样本的学习得到第三个弱分类器;
4. 如此反复,最终得到经过提升的强分类器。
核心思想:一种迭代算法
优点:1、很好的利用了弱分类器进行级联。
2、可以将不同的分类算法作为弱分类器。
3、AdaBoost具有很高的精度。
4、相对于bagging算法和Random Forest算法,AdaBoost充分考虑的每个分类器的权重。
缺点:1、AdaBoost迭代次数也就是弱分类器数目不太好设定,可以使用交叉验证来进行确定。
2、数据不平衡导致分类精度下降。
3、训练比较耗时,每次重新选择当前分类器最好切分点。
适用情况:广泛应用于人脸检测、目标识别等领域。模式识别、计算机视觉领域,用于二分类和多分类场景
九、最大期望(EM)
机理:基于模型的聚类方法,是在概率模型中寻找参数最大似然估计的算法,其中概率模型依赖于无法观测的隐藏变量。E步估计隐含变量,M步估计其他参数,交替将极值推向最大。
优点:比K-means算法计算结果稳定、准确。
缺点:EM算法比K-means算法计算复杂,收敛也较慢,不适于大规模数据集和高维数据。
核心思想:一种近似计算含有隐变量概率模型的极大似然估计的方法。
适用情况:EM经常用在机器学习和计算机视觉的数据集聚(Data Clustering)领域。
十、关联规则(Apriori)
机理:一种挖掘关联规则的算法,用于挖掘其内含的、未知的却又实际存在的数据关系,
核心思想:基于两阶段频集思想的递推算法
1)寻找频繁项集
2)由频繁项集找关联规则
优点:使用Apriori 性质来生成候选项集的方法,大大压缩了频繁集的大小,取得了很好的性能。
缺点:
1) 在每一步产生侯选项目集时循环产生的组合过多,没有排除不应该参与组合的元素;
2) 每次计算项集的支持度时,都对数据库中    的全部记录进行了一遍扫描比较,需要很大的I/O负载。
适用情况:消费市场价格分析,网络安全,移动通信领域

监督式学习:建立一个学习过程,将预测结果与“训练数据”的实际结果进行比较,不断的调整预测模型,直到模型的预测结果达到一个预期的准确率。常见算法有逻辑回归(Logistic Regression)和反向传递神经网络(Back Propagation Neural Network)。常见应用场景如分类问题和回归问题
非监督式学习:数据并不被特别标识,学习模型是为了推断出数据的一些内在结构。常见算法包括Apriori算法以及k-Means算法。常见的应用场景包括关联规则的学习以及聚类等
半监督式学习:输入数据部分被标识,部分没有被标识,这种学习模型可以用来进行预测,但是模型首先需要学习数据的内在结构以便合理的组织数据来进行预测。应用场景包括分类和回归,算法包括一些对常用监督式学习算法的延伸,这些算法首先试图对未标识数据进行建模,在此基础上再对标识的数据进行预测。如图论推理算法(Graph Inference)或者拉普拉斯支持向量机(Laplacian SVM.)等。
强化学习:输入数据作为对模型的反馈直接反馈到模型,模型必须对此立刻作出调整。常见的应用场景包括动态系统以及机器人控制等。常见算法包括Q-Learning以及时间差学习(Temporal difference learning)
Dl在新目标检测器上速度再度提升,依旧离不开更深的网络架构设计,足够的数据量再配上多个GpU的服务器。唯一的漏洞仍然是打造一个较低的内存需求且能在单个 GPU 上高速处理多个数据流使之更加高效的对目标检测

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值