本文先为初学者介绍了必知的十大机器学习(ML)算法,并且我们通过一些图解和实例生动地解释这些基本机器学习的概念。我们希望本文能为理解机器学习(ML)基本算法提供简单易读的入门概念。

本文先为初学者介绍了必知的十大机器学习(ML)算法,并且咱们经过一些图解和实例生动地解说这些根本机器学习的概念。咱们期望本文能为了解机器学习(ML)根本算法供给简略易读的入门概念。

机器学习 从概念到事例:初学者须知的十大机器学习算法  算法 非监督学习 第1张

一、机器学习模型

在《哈佛商业谈论》宣布「数据科学家是 21 世纪最性感的工作」之后,机器学习的研讨广受重视。所以,关于初入机器学习范畴的学习者,咱们放出来一篇颇受欢迎的博文——《初学者必知的十大机器学习算法》,虽然这只是针对初学者的。

机器学习算法便是在没有人类干涉的情况下,从数据中学习,并在经历中改善的一种办法,学习使命或许包括学习从输入映射到输出的函数,学习无标签数据的隐含结构;或许是「依据实例的学习」,经过与存储在回忆中的练习数据做比较,给一个新实例生成一个类别标签。依据实例的学习(instance-based learning)不会从详细实例中生成笼统成果。

二、机器学习算法的类型

有三类机器学习算法:

1. 监督学习

能够这样来描绘监督学习:运用有标签的练习数据去学习从输入变量(X)到输出变量(Y)的映射函数。

  1. Y=f(X)

它分为两种类型:

  • 分类:经过一个给定的输入猜测一个输出,管中窥豹的输出变量以类别的办法展现。例如男女性别、疾病和健康。
  • 回归:也是经过一个给定的输入猜测一个输出,管中窥豹的输出变量以实数的办法展现。例如猜测降雨量、人的身高级实数值。

本文介绍的前 5 个算法就归于监督学习:线性回归、Logistic 回归、CART、朴素贝叶斯和 KNN。

集成学习也是一种监督学习办法。它意味着结合多种不同的弱学习模型来猜测一个新样本。本文介绍的第 9、10 两种算法--随机森林 Bagging 和 AdaBoost 广大算法便是集成学习技能。

2. 非监督学习

非监督学习问提只是处理输入变量(X),但不会处理对应的输出(也便是说,没有标签)。它运用无标签的练习数据建模数据的潜在结构。

非监督学习能够分为3种类型:

  • 相关:便是去发觉在同一个数据调会集不同条目一起发生的概率。广泛地用于商场篮子剖析。例如:假如一位顾客买了面包,那么他有 80% 的或许性购买鸡蛋。
  • 聚类:把愈加类似的方针归为一类,而不是其他类别方针。
  • 降维:望文生义,降维便是削减数据集变量,一起要确保重要信息不丢掉。降维能够经过运用特征提取和特征挑选办法来完结。特征挑选办法会挑选原始变量的一个子集。特征提取完结了从高维空间到低维空间的数据改换。例如,主成分剖析(PCA)便是一个特征提取办法。

本文介绍的算法 6-8 都对错监督学习的比如:包括 Apriori 算法、K-均值聚类、主成分剖析(PCA)。

3. 强化学习

强化学习是这样一种学习办法,它答应智能体经过学习最大化奖赏的行为,并依据当时状况决议下一步要采纳的最佳举动。

强化学习一般经过试错学习到最佳举动。强化学习应用于机器人,机器人在碰到妨碍物质之后会收到消沉反应,它经过这些消沉反应来学会防止磕碰;也用在视频游戏中,经过试错发现能够极大增加玩家报答的一系列动作。智能体能够运用这些报答来了解游戏中的最佳状况,并挑选下一步的举动。

三、监督学习

1. 线性回归

在机器学习中,咱们用输入变量 x 来决议输出变量 y。输入变量和输出变量之间存在一个联系。机器学习的方针便是去定量地描绘这种联系。

从概念到事例:初学者须知的十大机器学习算法  机器学习 算法 非监督学习 第2张

图 1:以一条直线的办法展现出来的线性回归:y = ax +b

在线性回归中,输入变量 x 和输出变量 y 的联系能够用一个方程的办法表达出来:y=ax+b。所以,线性回归的方针便是寻觅参数 a 和 b 的值。管中窥豹,a 是直线的斜率,b 是直线的截距。

图 1 将一个数据会集的 x 和 y 用图画表明出来了。如图所示,管中窥豹的方针便是去寻觅一条离大多数点最近的一条直线。这便是去减小一个数据点的 y 值和直线之间的间隔。

2. Logistic 回归

线性回归猜测是接连值(如厘米级的降雨量),logistic 回归猜测是运用了一种改换函数之后得到的离散值(如一位学生是否经过了考试)。

Logistic 回归最适合于二元分类问题(在一个数据会集,y=0 或许 1,1 代表默许类。例如:在猜测某个拜见是否会发生的时分,发生便是 1。在猜测某个人是否患病时,患病便是 1)。这个算法是拿它所运用的改换函数命名的,这个函数称为 logistics 函数(logistics function,h(x)= 1/ (1 + e^x)),它的图画是一个 S 形曲线。

在 logistic 回归中,输出是默许类别的概率(不像线性回归相同,输出是直接生成的)。因为是概率,所以输出的值域是 [0,1]。输出值 y 是经过输入值 x 的对数改换 h(x)= 1/ (1 + e^ -x) 得到的。然后运用一个阈值强制地让输出成果变成一个二元分类问题。

从概念到事例:初学者须知的十大机器学习算法  机器学习 算法 非监督学习 第3张

图 2:确认一个肿瘤是恶性的仍是良性的回归。假如概率 h(x)>0.5,则是恶性的

在图 2 中,为了判别一个肿瘤是不是恶性,默许变量被设置为 y=1(肿瘤是恶性的);变量 x 或许是对一个肿瘤的检测成果,例如肿瘤的尺度。如图中所示,logistics 函数将变量 x 的值改换到了 0 到 1 之间。假如概率超过了 0.5(图中的水平线为界),肿瘤就被归类为恶性。

logistic 回归的方程 P(x) = e ^ (b0 +b1*x) / (1 + e^(b0 + b1*x))能够被转换为对数办法: ln(p(x) / 1-p(x)) = b0 + b1*x。

logistic 回归的方针便是运用练习数据来寻觅参数 b0 和 b1 的值,最小化猜测成果和实践值的差错。这些参数的评价运用的是最大似然估量的办法。

3. 分类和回归树

分类和回归树(CART)是决议计划树的一种弥补。

非终端节点(non-terminal node)包括根节点 (root node) 和中心节点 (internal node)。每一个非终端节点代表一个独自的输入变量 x 和这个变量的分支节点;叶节点代表的是输出变量 y。这个模型依照以下的规矩来作出猜测:

从概念到事例:初学者须知的十大机器学习算法  机器学习 算法 非监督学习 第4张

图 3:决议计划树的一些部分

4. 朴素贝叶斯法

在给定一个早已发生的拜见的概率时,咱们用贝叶斯定理去核算某个拜见将会发生的概率。在给定一些变量的值时,咱们也用贝叶斯定理去核算某个成果的概率,也便是说,依据咱们的先验常识(d)去核算某个假定(h)为真的概率。核算办法如下:

  1. P(h|d)=(P(d|h)*P(h))/P(d)

其间,

  • P(h|d) = 后验概率。便是假定 h 为真概率,给定的数据相当于先验常识 d。其间 P(h|d)= P(d1| h)* P(d2| h)*....*P(dn| h)* P(d)。
  • P(d|h) = 似然度。假定 h 正确时,数据 d 的概率。
  • P(h) = 类先验概率。假定 h 正确的额概率。(无关数据)
  • P(d) = 猜测器先验概率。数据的概率(无关假定)

这个算法被称为「朴素」的原因是:它假定避实就虚的变量是彼此独立的,这也是实际国际中做出的一个朴素的假定。

从概念到事例:初学者须知的十大机器学习算法  机器学习 算法 非监督学习 第5张

图 4:运用朴素贝叶斯法来猜测变量「气候」改变状况

以图 4 为例,假如气候=晴天,那么输出是什么呢?

在给定变量气候=晴地利,为了判别成果是或许否,就要核算 P(yes|sunny) 和 P(no|sunny),然后挑选概率较大的成果。

核算进程如下:

  1. ->P(yes|sunny)=(P(sunny|yes)*P(yes))/P(sunny)
  2. =(3/9*9/14)/(5/14)
  3. =0.60
  4. ->P(no|sunny)=(P(sunny|no)*P(no))/P(sunny)
  5. =(2/5*5/14)/(5/14)
  6. =0.40

所以,气候=晴地利,成果为是。

5. KNN

KNN 运用了整个数据集作为练习集,而不是将它分为练习集和测验集。

当给定的一个数据实例时,KNN 算法会在整个数据会集寻觅 k 个与其新样本间隔最近的,或许 k 个与新样本最类似的,然后,关于回归问题,输出成果的平均值,或许关于分类问题,输出频率最高的类。k 的值是用户自界说的。

样本之间的类似性是用欧氏间隔或许汉明(Hamming)间隔来核算的。

四、非监督学习算法

6. Apriori 算法

Apriori 算法被用来在买卖数据库中进行发掘频频的子集,然后生成相关规矩。常用于商场篮子剖析,剖析数据库中最常一起呈现的买卖。一般,假如一个顾客购买了产品 X 之后又购买了产品 Y,那么这个相关规矩就能够写为:X -> Y。

例如:假如一位顾客购买了牛奶和甜糖,那他很有或许还会购买咖啡粉。这个能够写成这样的相关规矩: {牛奶,甜糖} -> 咖啡粉。相关规矩是穿插了支撑度(support)和置信度(confidence)的阈值之后发生的。

从概念到事例:初学者须知的十大机器学习算法  机器学习 算法 非监督学习 第6张

图 5: 相关规矩 X→Y 支撑度、置信度和广大度的公式表明。

支撑度的程度协助修改在频频的项目会集用来作为候选项目集的数量。这种支撑度的衡量是由 Apriori 准则来辅导的。Apriori 准则阐明:假如一个项目集是频频的,那么它的避实就虚子集都是频频的。

7. K-均值聚类算法

K-均值是一个对类似的数据进行聚类的迭代算法。它核算出 k 个聚类的中心点,并给某个类的聚类分配一个与其间心点间隔最近的数据点。

从概念到事例:初学者须知的十大机器学习算法  机器学习 算法 非监督学习 第7张

图 6:K-均值算法的进程

进程 1:K-均值初始化

  • 挑选一个 k 值。管中窥豹咱们令 k=3。
  • 将数据点随机地分配给三个聚类。
  • 核算出每个聚类的中心点。图中的赤色、蓝色和绿色的星别离代表三个聚类的中心点。

进程 2:将每一个观测值与一个聚类相关起来

  • 将每一个数据点从头分配给离它最近的一个聚类中心点。如图所示,上边的五个数据点被分配给了蓝星代表的聚类。依照相同的进程将数据点分配给赤色和绿色星代表的聚类中心点。

进程 3:从头核算中心点

  • 核算新聚类的中心点。如图所示,旧中心点是灰色的,新中心点是赤色、蓝色和绿色的。

进程 4:迭代,然后在数据点所属的聚类不变的时分退出整个进程

  • 重复进程 2-3,直至每一个聚类中的点不会被从头分配到另一个聚类中。假如在两个接连的进程中不再发生改变,那么就退出 K-均值算法。

8. 主成分剖析(PCA)

主成分剖析(PCA)经过削减变量的数目来使数据变得愈加易于探究和可视化。这经过将数据中具有最大方差的数据抽取到一个被称为「主成分」的新坐标系中。每一个成分都是原始变量的一个新的线性组合,且是两两计算独立的。计算独立意味着这些成分的相联系数是 0。

榜首主成分捕获的是数据中最大方差的数据。第二主成分捕获的是剩余的数据中方差最大可是与榜首主成分彼此独立的数据。类似地,后续的主成分(例如 PC3、PC4)都是剩余的数据中方差最大的可是与之前的主成分坚持独立的数据。

从概念到事例:初学者须知的十大机器学习算法  机器学习 算法 非监督学习 第8张

图 7:运用主成分剖析办法(PCA),三种初始变量(基因)被降为两种新变量

五、集成学习技能

集成意味着经过投票或许取平均值的办法,将多个学习器(分类器)结合起来以改善成果。在分类的时分进行投票,在回归的时分求平均值。中心思维便是集成多个学习器以使功能优于单个学习器。有三种集成学习的办法:装袋(Bagging)、广大(Boosting)和堆叠(Stacking)。本文不触及堆叠。

9. 随机森林 Bagging

随机森林(多个学习器)是在装袋决议计划树(单个学习器)上做的改善。

Bagging:Bagging 的榜首步便是在运用 Bootstrap 采样办法得到的数据库中创立多个模型,每个生成的练习集都是原始数据集的子集。每个练习集都有相同的巨细,可是有些样本重复呈现了很屡次,有些样本一次未呈现。然后,整个原始数据集被用为测验集。那么,假如原始数据集的巨细为 N,则每个生成的练习集的巨细也是 N,仅有(没有重复)样本的巨细大约是 2*N/3;测验集的巨细也是 N。

Bagging 的第二步便是运用同一个算法在不同的数据集上生成多个模型。然后,咱们讨论一下随机森林。在决议计划树中,每个节点都在最好的、能够最小化差错的最佳特征上进行分支,而随机森林与之不同,咱们挑选随机分支的特征来构建最佳的分支。进行随机处理的原因在于:即使运用了 Bagging,当决议计划树挑选最佳特征来分支的时分,它们终究会有类似的模型和相相关的猜测成果。可是用随机子集上的特征进行分支意味着子树做的猜测是没有多少相关性的。

10. AdaBoost 广大算法

a)Bagging 是并行集成,因为每个模型都是独立树立的。可是,广大是一个次序性集成,每个模型都要纠正前面模型的过错分类。

b)Bagging 首要触及到「简略投票」,每个分类器都投票得到一个终究成果,这个分类成果是由并行模型中的大多数模型做出的;广大则运用「权重投票」。每个分类器都会投票得到一个由大多数模型做出的成果—可是树立这些次序性模型的时分,给之前误分类样本的模型赋予了较大的权重。

Adaboost 指的是适应性广大。

从概念到事例:初学者须知的十大机器学习算法  机器学习 算法 非监督学习 第9张

图 9:一个决议计划树的 Adaboost

在图 9 中,进程 1、2、3 指的是被称为决议计划桩(decision stump)的弱学习器(是一个仅依托一个输入作出决议计划的 1 级决议计划树;是一种根节点直接连接到叶节点的决议计划树)。结构决议计划树的进程会一向继续,直到用户界说了一个弱学习器的数目,或许练习的时分再也没有任何广大的时分。进程 4 结合了之前模型中的 3 个决议计划桩(所以在这个决议计划树中就有 3 种分支规矩)。

进程 1:开端用 1 个决议计划桩来依据 1 个输入变量做决议计划

  • 数据点的巨细阐明咱们应用了等权重来将它们分为圆形或许三角形。决议计划桩在图的上半部分用一条水平线来对这些点进行分类。咱们能够看到,有两个圆被误分为三角形。所以,咱们会赋予这两个圆更大的权重,然后运用另一个决议计划桩(decision stump)。

进程 2:转向下一个决议计划桩,对另一个输入变量进行决议计划

  • 咱们能够看到,之前的进程中误分类的两个圆要比其他数据点大。现在,第二个决议计划桩要测验正确地猜测这两个圆。
  • 赋予更大权重的成果便是,这两个圆被左面的竖线正确地分类了。可是这又导致了对上面 3 个小圆的误分类。因而,咱们要在另一个决议计划桩对这三个圆赋予更大的权重。

进程 3:练习另一个决议计划桩对下一个输入变量进行决议计划。

  • 上一步误分类的 3 个圆要比其他的数据点大。现在,在右边生成了一条竖线,对三角形和圆进行分类。

进程 4:结合决议计划桩

  • 咱们结合了之前 3 步的决议计划桩,然后发现一个杂乱的规矩将数据点正确地分类了,功能要优于任何一个弱学习器。

六、结语

回忆一下,本文首要学到的内容:

  • 5 种监督学习技能:线性回归、Logistic 回归、CART(分类和决议计划树)、朴素贝叶斯法和 KNN。
  • 3 种非监督学习技能:Apriori 算法、K-均值聚类、主成分剖析(PCA)。
  • 两种集成学习办法:Bagging 随机森林、AdaBoost 广大。

综上所述,机器学习的根本属功能够总结为以下:

  • 机器学习是(运用样本获取近似函数的)计算学的一个分支。咱们有一个的确存在的理论函数或散布用以生成数据,但咱们现在不知道它是什么。咱们能够对这个函数进行抽样,这些样本选自咱们的练习集。
  • 以图片描绘使命为例:函数:f⋆(图片)→图片描绘,样本:data∈(image,description)。留意:因为一个物体有许多有用的描绘,所以描绘是文本空间中的一个散布:图片描绘〜文本。
  • 机器的方针是找到模型:有满足的表现力来迫临真实的函数,找到一个高效的算法,它运用练习数据找到函数最优解。并且此最优解有必要对不知道输入有杰出的泛化才能。
转载请说明出处
知优网 » 从概念到事例:初学者须知的十大机器学习算法

发表评论

您需要后才能发表评论