当前位置:文档之家› 机器学习10大算法-周辉

机器学习10大算法-周辉

机器学习10大算法-周辉
机器学习10大算法-周辉

机器学习10大算法

什么是机器学习呢?

从广泛的概念来说,机器学习是人工智能的一个子集。人工智能旨在使计算机更智能化,而机器学习已经证明了如何做到这一点。简而言之,机器学习是人工智能的应用。通过使用从数据中反复学习到的算法,机器学习可以改进计算机的功能,而无需进行明确的编程。

机器学习中的算法有哪些?

如果你是一个数据科学家或机器学习的狂热爱好者,你可以根据机器学习算法的类别来学习。机器学习算法主要有三大类:监督学习、无监督学习和强化学习。

监督学习

使用预定义的“训练示例”集合,训练系统,便于其在新数据被馈送时也能得出结论。系统一直被训练,直到达到所需的精度水平。

无监督学习

给系统一堆无标签数据,它必须自己检测模式和关系。系统要用推断功能来描述未分类数据的模式。

强化学习

强化学习其实是一个连续决策的过程,这个过程有点像有监督学习,只是标注数据不是预先准备好的,而是通过一个过程来回调整,并给出“标注数据”。

机器学习三大类别中常用的算法如下:

1. 线性回归

工作原理:该算法可以按其权重可视化。但问题是,当你无法真正衡量它时,必须通过观察其高度和宽度来做一些猜测。通过这种可视化的分析,可以获取一个结果。

回归线,由Y = a * X + b表示。

Y =因变量;a=斜率;X =自变量;b=截距。

通过减少数据点和回归线间距离的平方差的总和,可以导出系数a和b。

2. 逻辑回归

根据一组独立变量,估计离散值。它通过将数据匹配到logit函数来帮助预测事件。

下列方法用于临时的逻辑回归模型:

添加交互项。

消除功能。

正则化技术。

使用非线性模型。

3. 决策树

利用监督学习算法对问题进行分类。决策树是一种支持工具,它使用树状图来决定决策或可能的后果、机会事件结果、资源成本和实用程序。根据独立变量,将其划分为两个或多个同构集。

决策树的基本原理:根据一些 feature 进行分类,每个节点提一个问题,通过判断,将数据分为两类,再继续提问。这些问题是根据已有数据学习出来的,再投入新数据的时候,就可以根据这棵树上的问题,将数据划分到合适的叶子上。

优点:与回归一样,决策树组合在实践中表现也很好。由于它们的分层结构,它们对离群值、可伸缩性和自然模型的非线性决策边界具有鲁棒性。

弱点:无约束,单个树容易过度拟合,但这可以通过集成方法来缓解。

4. 支持向量机(SVM)

基本原理(以二维数据为例):如果训练数据是分布在二维平面上的点,它们按照其分类聚集在不同的区域。基于分类边界的分类算法的目标是,通过训练,找到这些分类之间的边界(直线的――称为线性划分,曲线的――称为非线性划分)。对于多维数据(如N维),可以将它们视为N维空间中的点,而分类边界就是N 维空间中的面,称为超面(超面比N维空间少一维)。线性分类器使用超平面类型的边界,非线性分类器使用超曲面。要将两类分开,想要得到一个超平面,最优的超平面是到两类的 margin 达到最大,margin就是超平面与离它最近一点的距离。

优点:SVM可以模拟非线性决策边界,并且有很多内核可供选择。它可用于防止过度拟合,特别是在高维空间中。

缺点:SVM的内存密集,调优的难度很大,并且不能很好地扩展到更大的数据集。目前在行业中,随机森林通常优于SVM。

应用:

显示广告。

人类剪切位点识别(human splice site recognition)。

基于图像的性别检测。

大规模图像分类等。

5. 朴素贝叶斯

朴素贝叶斯认为每个特征都是独立于另一个特征的。即使在计算结果的概率时,它也会考虑每一个单独的关系。

它不仅易于使用,而且能有效地使用大量的数据集,甚至超过了高度复杂的分类系统。

优点:尽管条件独立性假设很少成立,但朴素贝叶斯模型在实践中表现出色,特别是它们的简单性。它们易于实现,可以与更多的数据集进行扩展。

弱点:由于简单性,朴素贝叶斯模型经常在正确训练和调整之前被以前的算法击败。

应用:

判断垃圾邮件。

对新闻的类别进行分类,如科技、政治、运动。

判断文本表达的感情是积极的还是消极的。

人脸识别。

6. KNN(K -最近邻)

该算法适用于分类和回归问题。在数据科学行业中,它更常用来解决分类问题。

这个简单的算法能够存储所有可用的案例,并通过对其k近邻的多数投票来对任何新事件进行分类。然后将事件分配给与之匹配最多的类。一个距离函数执行这个测量过程。

优点:该算法适用于对样本容量比较大的类域进行自动分类。

缺点:

在计算上是昂贵的(计算量比较大)。

变量应规范化。

数据需要预处理。

7. k –均值

这种无监督算法用于解决聚类问题。数据集以这样一种方式列在一个特定数量的集群中:所有数据点都是同质的,并且与其他集群中的数据是异构的。

优点:算法速度很快。

缺点:分组的数目k是一个输入参数,不合适的k可能返回较差的结果。

集群是如何形成的:

该算法为每个集群选择称为centroid的点。

数据在最接近的centroid中形成集群。

新的centroid是基于现有的集群数据点创建的。

每个数据点之间的距离是确定的。这个过程会重复,直到中心不改变。

8. 随机森林

利用多棵决策树对样本进行训练并预测的一种分类器被称为随机森林。为了根据其特性来分类一个新对象,每棵决策树都被排序和分类,然后决策树投票给一个特定的类,那些拥有最多选票的被森林所选择。

以下是每棵树种植和生长的方式:

如果在案例中有N个训练集,那么就会随机选择N个案例。

输入变量是M。

树会生长到最大水平,不经剪切和修剪。

9. 降维算法

在存储和分析大量数据时,识别多个模式和变量是具有挑战性的。维数简化算法,如决策树、因子分析、缺失值比、随机森林等,有助于寻找相关数据。

10. 梯度提高和演算法

这些算法是在处理大量数据,以作出准确和快速的预测时使用的boosting算法。boosting是一种组合学习算法,它结合了几种基本估计量的预测能力,以提高效力和功率。综上所述,它将所有弱或平均预测因子组合成一个强预测器。

(注:可编辑下载,若有不当之处,请指正,谢谢!)

相关主题
文本预览
相关文档 最新文档