关键词:
👇👇关注后回复 “进群” ,拉你进程序员交流群👇👇
作者丨Fahim ul Haq
译者丨刘志勇
策划丨赵钰莹
来源丨InfoQ(ID:infoqchina)
本文为有志于成为数据科学家或对此感兴趣的读者们介绍最流行的机器学习算法。
机器学习是该行业的一个创新且重要的领域。我们为机器学习程序选择的算法类型,取决于我们想要实现的目标。
现在,机器学习有很多算法。因此,如此多的算法,可能对于初学者来说,是相当不堪重负的。今天,我们将简要介绍 10 种最流行的机器学习算法,这样你就可以适应这个激动人心的机器学习世界了!
让我们言归正传!
1. 线性回归
线性回归(Linear Regression)可能是最流行的机器学习算法。线性回归就是要找一条直线,并且让这条直线尽可能地拟合散点图中的数据点。它试图通过将直线方程与该数据拟合来表示自变量(x 值)和数值结果(y 值)。然后就可以用这条线来预测未来的值!
这种算法最常用的技术是最小二乘法(Least of squares)。这个方法计算出最佳拟合线,以使得与直线上每个数据点的垂直距离最小。总距离是所有数据点的垂直距离(绿线)的平方和。其思想是通过最小化这个平方误差或距离来拟合模型。
例如,简单线性回归,它有一个自变量(x 轴)和一个因变量(y 轴)
2. 逻辑回归
逻辑回归(Logistic regression)与线性回归类似,但它是用于输出为二进制的情况(即,当结果只能有两个可能的值)。对最终输出的预测是一个非线性的 S 型函数,称为 logistic function, g()。
这个逻辑函数将中间结果值映射到结果变量 Y,其值范围从 0 到 1。然后,这些值可以解释为 Y 出现的概率。S 型逻辑函数的性质使得逻辑回归更适合用于分类任务。
逻辑回归曲线图,显示了通过考试的概率与学习时间的关系。
3. 决策树
决策树(Decision Trees)可用于回归和分类任务。
在这一算法中,训练模型通过学习树表示(Tree representation)的决策规则来学习预测目标变量的值。树是由具有相应属性的节点组成的。
在每个节点上,我们根据可用的特征询问有关数据的问题。左右分支代表可能的答案。最终节点(即叶节点)对应于一个预测值。
每个特征的重要性是通过自顶向下方法确定的。节点越高,其属性就越重要。
决定是否在餐厅等候的决策树示例。
4. 朴素贝叶斯
朴素贝叶斯(Naive Bayes)是基于贝叶斯定理。它测量每个类的概率,每个类的条件概率给出 x 的值。这个算法用于分类问题,得到一个二进制“是 / 非”的结果。看看下面的方程式。
朴素贝叶斯分类器是一种流行的统计技术,可用于过滤垃圾邮件!
5. 支持向量机(SVM)
支持向量机(Support Vector Machine,SVM)是一种用于分类问题的监督算法。支持向量机试图在数据点之间绘制两条线,它们之间的边距最大。为此,我们将数据项绘制为 n 维空间中的点,其中,n 是输入特征的数量。在此基础上,支持向量机找到一个最优边界,称为超平面(Hyperplane),它通过类标签将可能的输出进行最佳分离。
超平面与最近的类点之间的距离称为边距。最优超平面具有最大的边界,可以对点进行分类,从而使最近的数据点与这两个类之间的距离最大化。
例如,H1 没有将这两个类分开。但 H2 有,不过只有很小的边距。而 H3 以最大的边距将它们分开了。
6. K- 最近邻算法(KNN)
K- 最近邻算法(K-Nearest Neighbors,KNN)非常简单。KNN 通过在整个训练集中搜索 K 个最相似的实例,即 K 个邻居,并为所有这些 K 个实例分配一个公共输出变量,来对对象进行分类。
K 的选择很关键:较小的值可能会得到大量的噪声和不准确的结果,而较大的值是不可行的。它最常用于分类,但也适用于回归问题。
用于评估实例之间相似性的距离可以是欧几里得距离(Euclidean distance)、曼哈顿距离(Manhattan distance)或明氏距离(Minkowski distance)。欧几里得距离是两点之间的普通直线距离。它实际上是点坐标之差平方和的平方根。
KNN 分类示例
7. K- 均值
K- 均值(K-means)是通过对数据集进行分类来聚类的。例如,这个算法可用于根据购买历史将用户分组。它在数据集中找到 K 个聚类。K- 均值用于无监督学习,因此,我们只需使用训练数据 X,以及我们想要识别的聚类数量 K。
该算法根据每个数据点的特征,将每个数据点迭代地分配给 K 个组中的一个组。它为每个 K- 聚类(称为质心)选择 K 个点。基于相似度,将新的数据点添加到具有最近质心的聚类中。这个过程一直持续到质心停止变化为止。
8. 随机森林
随机森林(Random Forest)是一种非常流行的集成机器学习算法。这个算法的基本思想是,许多人的意见要比个人的意见更准确。在随机森林中,我们使用决策树集成(参见决策树)。
为了对新对象进行分类,我们从每个决策树中进行投票,并结合结果,然后根据多数投票做出最终决定。
(a)在训练过程中,每个决策树都是基于训练集的引导样本来构建的。
(b)在分类过程中,输入实例的决定是根据多数投票做出的。
9. 降维
由于我们今天能够捕获的数据量之大,机器学习问题变得更加复杂。这就意味着训练极其缓慢,而且很难找到一个好的解决方案。这一问题,通常被称为“维数灾难”(Curse of dimensionality)。
降维(Dimensionality reduction)试图在不丢失最重要信息的情况下,通过将特定的特征组合成更高层次的特征来解决这个问题。主成分分析(Principal Component Analysis,PCA)是最流行的降维技术。
主成分分析通过将数据集压缩到低维线或超平面 / 子空间来降低数据集的维数。这尽可能地保留了原始数据的显著特征。
可以通过将所有数据点近似到一条直线来实现降维的示例。
10. 人工神经网络(ANN)
人工神经网络(Artificial Neural Networks,ANN)可以处理大型复杂的机器学习任务。神经网络本质上是一组带有权值的边和节点组成的相互连接的层,称为神经元。在输入层和输出层之间,我们可以插入多个隐藏层。人工神经网络使用了两个隐藏层。除此之外,还需要处理深度学习。
人工神经网络的工作原理与大脑的结构类似。一组神经元被赋予一个随机权重,以确定神经元如何处理输入数据。通过对输入数据训练神经网络来学习输入和输出之间的关系。在训练阶段,系统可以访问正确的答案。
如果网络不能准确识别输入,系统就会调整权重。经过充分的训练后,它将始终如一地识别出正确的模式。
每个圆形节点表示一个人工神经元,箭头表示从一个人工神经元的输出到另一个人工神经元的输入的连接。
接下来是什么?现在,你已经了解了最流行的机器学习算法的基础介绍。你已经准备好学习更为复杂的概念,甚至可以通过深入的动手实践来实现它们。如果你想了解如何实现这些算法,可以参考 Educative 出品的 Grokking Data Science 课程,该课程将这些激动人心的理论应用于清晰、真实的应用程序。
祝你学习愉快!
作者介绍:
Fahim ul Haq,曾在 Facebook、Microsoft 工作。Educative.io 联合创始人。Educative 旨在帮助学生使用交互式课程来学习编程知识。
原文链接:
https://towardsdatascience.com/the-top-10-ml-algorithms-for-data-science-in-5-minutes-4ffbed9c8672
-End-
最近有一些小伙伴,让我帮忙找一些 面试题 资料,于是我翻遍了收藏的 5T 资料后,汇总整理出来,可以说是程序员面试必备!所有资料都整理到网盘了,欢迎下载!
点击👆卡片,关注后回复【面试题
】即可获取
在看点这里好文分享给更多人↓↓
机器学习十大常用算法
机器学习十大常用算法小结 机器学习十大常用算法小结通过本篇文章可以对ML的常用算法有个常识性的认识,没有代码,没有复杂的理论推导,就是图解一下,知道这些算法是什么,它们是怎么应用的,例子主要是分类问题... 查看详情
机器学习的相关算法了解和总结(代码片段)
文章目录机器学习的相关算法了解和总结1、机器学习的一般步骤2、相关算法3、决策树4、支持向量机SVM5、神经网络6、随机森林算法机器学习的相关算法了解和总结1、机器学习的一般步骤训练集训练->提取特征向量->结合一... 查看详情
机器学习十大算法
...有错误,还请指出。后续会继续补充实例及代码实现。3.机器学习算法概述3.1朴素贝叶斯分类器算法手动分类网页,文档,电子邮件或任何其他冗长的文本注释将是困难且实际上不可能的。这是朴素贝叶斯分类器机器学习算法来... 查看详情
机器学习十大算法
...代码实现。 根据最近的一项研究,在未来10年,机器学习算法将取代全球25%的工作机会。随着大数据的快速增长和编程工具(如Python和R-m 查看详情
机器学习十大算法
一、记录机器学习中的基本算法学习参考资源1、EM算法原理:http://blog.csdn.net/sajiahan/article/details/53106642 查看详情
轻松看懂机器学习十大常用算法
轻松看懂机器学习十大常用算法 通过本篇文章可以对ML的常用算法有个常识性的认识,没有代码,没有复杂的理论推导,就是图解一下,知道这些算法是什么,它们是怎么应用的,例子主要是分类问题。每个算法都看了好几... 查看详情
算法模型轻松看懂机器学习十大常用算法
【算法模型】轻松看懂机器学习十大常用算法 通过本篇文章大家可以对ML的常用算法形成常识性的认识。没有代码,没有复杂的理论推导,仅是图解,介绍这些算法是什么以及如何应用(例子主要是分类问题)... 查看详情
机器学习图解十大经典机器学习算法
【机器学习】图解十大经典机器学习算法 决策树(DecisionTree)根据一些feature(特征)进行分类,每个节点提一个问题,通过判断,将数据分为两类,再继续提问。这些问题是根据已有数据学习出... 查看详情
轻松看懂机器学习十大常用算法
通过本篇文章可以对ML的常用算法有个常识性的认识,没有代码,没有复杂的理论推导,就是图解一下,知道这些算法是什么,它们是怎么应用的,例子主要是分类问题。每个算法都看了好几个视频,挑出讲的最清晰明了有趣的... 查看详情
机器学习算法(代码片段)
机器学习常用算法一、线性回归1.基本概念2.代码实现二、逻辑回归1.基本概念Sigmoid预测函数2.代码实现三决策树1.基本概念2.代码实现四支持向量机(SVM)1.基本概念2.代码实现五全连接神经网络DNN1.基本概念全连接神经网... 查看详情
机器学习十大算法
...法则可以根据你以前买过的书来推荐书籍。所以如果你想了解更多有关机器学习的内容,那么你该如何入门?对于我来说,我的入门课程是我在哥本哈根出国留学时参加的人工智能课。当时我的讲师是丹麦技术大学... 查看详情
轻松看懂机器学习十大常用算法(machinelearningtop10commonlyusedalgorithms)
原文出处: 不会停的蜗牛 通过本篇文章可以对ML的常用算法有个常识性的认识,没有代码,没有复杂的理论推导,就是图解一下,知道这些算法是什么,它们是怎么应用的,例子主要是分类问题。每个算法都看... 查看详情
机器学习---基础----图解十大经典机器学习算法入门
转自:https://blog.csdn.net/jrunw/article/details/79205322弱人工智能近几年取得了重大突破,悄然间,已经成为每个人生活中必不可少的一部分。以我们的智能手机为例,看看到底温藏着多少人工智能的神奇魔术。下图是一部典型的智能... 查看详情
开始学习机器学习时你必须要了解的模型有哪些?机器学习系列之决策树进阶篇(代码片段)
前言在上一篇文章中我们已经详细介绍了决策树模型,并且提到了ID3算法及其局限性,那么在本篇文章中,我们将会介绍基于ID3算法进行改良的C4.5算法以及决策树拟合度的优化问题。目录前言1C4.5算法1.1修改局部最优... 查看详情
机器学习十大算法之knn(k最近邻,k-nearestneighbor)算法
机器学习十大算法之KNN算法前段时间一直在搞tkinter,机器学习荒废了一阵子。如今想重新写一个,发现遇到不少问题,不过最终还是解决了。希望与大家共同进步。闲话少说,进入正题。KNN算法也称最近邻居算法,是一种分类算... 查看详情
机器学习九大算法---回归(代码片段)
...性分析,画不同变量之间的散点图,进行相关性检验等,了解数据的大致情况,以及得知重点关注那几个变 查看详情
书签机器学习相关
上手机器学习,从搞懂这十大经典算法开始集成学习方法图解十大经典机器学习算法入门 查看详情
机器学习k-近邻算法(代码片段)
...题说明K-近邻算法的优缺点应用KNeighborsClassifier实现分类了解 查看详情