在这首诗中我将如是说五类的机器自学演算法,特别针对大覆盖范围的统计数据自然科学难题,坚信你都能满心自信心去化解。
协同译者
书名:3 Machine Learning Algorithms You Need to Know
镜像:https://dzone.com/articles/3-machine-learning-algorithms-you-need-to-know
译者者:Tocy, 广汽玖哥, 居维叶
假定有许多统计数据有关的难题亟须你化解。在此之后你听闻过机器自学演算法能协助化解那些难题,只好你想趁此机会试著几番,却碍于在此应用领域没任何人实战经验或科学知识。
你已经开始Google许多名词,如“机器自学数学模型”和“机器自学认识论”,但一两年后,你发觉全然沉沦在了相同演算法间,只好你预备舍弃。
好友,请延续下去!
幸运地的是,在这首诗中我将如是说五类的机器自学演算法,特别针对大覆盖范围的统计数据自然科学难题,坚信你都能满心自信心去化解。
在接下去的该文中,他们将探讨计算机程序、控制点演算法和重回,表示它间的差别,并找寻怎样为你的事例优先选择合适的数学模型。
有监督管理的自学 vs. 无监督管理的自学
理解机器自学的基础,就是要学会对有监督的自学和无监督管理的自学进行分类,因为机器自学中的任何人一个难题,都属于这两大类的范畴。
在有监督管理自学的情况下,他们有一个统计数据集,它将作为输入提供给许多演算法。但前提是,他们已经晓得正确输出的格式应该是什么样子(假定输入和输出间存在许多关系)。
他们随后将看到的重回和分类难题都属于这个类别。
另一方面,在他们不晓得输出应该是什么样子的情况下,就应该使用无监督管理自学。事实上,他们需要从输入变量的影响未知的统计数据中推导出正确的结构。控制点难题是这个类别的主要代表。
为了使上面的分类更清晰,我会列举许多实际的难题,并试着对它进行相应的分类。
示例一
假定你在经营一家房地产公司。考虑到新房子的特性,你要根据你以前记录的其他房屋的销售量来预测它的售价是多少。你输入的统计数据集包括多个房子的特性,比如卫生间的数量和大小等,而你想预测的变量(通常称为“目标变量”)就是价格。预测房屋的售价是一个有监督管理自学难题,更确切地说,是回归难题。
示例二
假定一个医学实验的目的是预测一个人是否会因为许多体质测量和遗传导致近视程度加深。在此种情况下,输入的统计数据集是这个人的体质特征,而目标变量有两种:
1 表示可能加深近视,而 0 表示不太可能。预测一个人是否会加深近视也是一个有监督管理自学难题,更确切地说,是分类难题。
示例一
假定你的公司拥有很多客户。根据他们最近与贵公司的互动情况、他们近期购买的产品以及他们的人口统计统计数据,你想要形成相似顾客的群体,以便以相同的方式应对他们 – 例如向他们中的许多人提供独家折扣券。在此种情况下,你将使用上述提及的特征作为演算法的输入,而演算法将决定应该形成的组的数量或类别。
这显然是一个无监督管理自学的例子,因为他们没任何人关于输出会怎样的线索,全然不晓得结果会怎样。
接下去,我将如是说许多更具体的演算法……
重回
首先,重回不是一个单一的监督管理自学技术,而是一个很多技术所属的完整类别。
重回的主要思想是给定许多输入变量,他们要预测目标值。在重回的情况下,目标变量是连续的 – 这意味着它能在指定的覆盖范围内取任何人值。另一方面,输入变量能是离散的也能是连续的。
在重回技术中,最流行的是线性重回和逻辑重回。让他们仔细研究一下。
线性重回
在线性重回中,他们试著在输入变量和目标变量间构建一段关系,并将此种关系用条直线表示,他们通常将其称为重回线。
例如,假定他们有两个输入变量 X1 和 X2,还有一个目标变量 Y,它的关系能用数学公式表示如下:
Y = a * X1 + b*X2 +c
假定 X1 和 X2 的值已知,他们需要将 a,b 和 c 进行调整,从而使 Y 能尽可能的接近真实值。
举个例子!
假定他们拥有著名的 Iris 统计数据集,它提供了许多方法,能通过花朵的花萼大小以及花瓣大小判断花朵的类别,如:Setosa,Versicolor 和 Virginica。
使用 R 软件,假定花瓣的宽度和长度已给定,他们将实施线性重回来预测萼片的长度。
SepalLength = a * PetalWidth + b* PetalLength +c
相应的代码如下所示:
线性回归的结果显示在下列图表中,其中黑点表示初始统计数据点,蓝线表示拟合重回直线,由此得出估算值:a= -0.31955,b = 0.54178 和 c = 4.19058,这个结果可能最接近实际值,即花萼的真实长度。
接下去,只要将花瓣长度和花瓣宽度的值应用到定义的线性关系中,就能对花萼长度进行预测了。
逻辑重回
主要思想与线性重回全然相同。相同点是逻辑重回的重回线不再是直的。
他们要建立的数学关系是以下形式的:
Y=g(a*X1+b*X2)
g() 是一个对数函数。
根据该逻辑函数的性质,Y 是连续的,覆盖范围是 [0,1],能被解释为一个事件发生的概率。
再举个例子!
这一次他们研究 mtcars 统计数据集,包含 1973-1974 年间 32 种汽车制造的汽车设计、十个性能指标以及油耗。
使用 R,他们将在测量 V/S 和每英里油耗的基础上预测汽车的变速器是自动(AM = 0)还是手动(AM = 1)的概率。
am = g(a * mpg + b* vs +c):
如下图所示,其中黑点代表统计数据集的初始点,蓝线代表闭合的对数重回线。估计 a = 0.5359,b = -2.7957,c = – 9.9183
他们能观察到,和线性重回一样,对数重回的输出值重回线也在区间 [0,1] 内。
对于任何人新汽车的测量 V/S 和每英里油耗,他们能预测这辆汽车将使用自动变速器。这是不是准确得吓人?
计算机程序
计算机程序是他们要研究的第二种机器自学演算法。它被分成重回树和分类树,因此能用于监督管理式自学难题。
无可否认,计算机程序是最直观的演算法之一,因为它模仿人们在多数情况下的决策方式。他们基本上做的是在每种情况下绘制所有可能路径的“地图”,并给出相应的结果。
图形表示有助于更好地理解他们正在探讨的内容。
基于像上面这样的树,该演算法能根据相应标准中的值来决定在每个步骤要采用的路径。演算法所优先选择的划分标准以及每个级别的相应阈值的策略,取决于候选变量对于目标变量的信息量多少,以及哪个设置能最小化所产生的预测误差。
再举一个例子!
这次测验的统计数据集是 readingSkills。它包含学生的考试信息及考试分数。
他们将基于多重指标把学生分为两类,说母语者(nativeSpeaker = 1)或外国人(nativeSpeaker= 0),他们的考试分数、鞋码以及年龄都在指标覆盖范围内。
对于 R 中的实现,他们首先要安装 party 包:
他们能看到,它使用的第一个分类标准是分数,因为它对于目标变量的预测非常重要,鞋码则不在考虑的覆盖范围内,因为它没提供任何人与语言有关的有用的信息。
现在,如果他们多了一群新生,并且晓得他们的年龄和考试分数,他们就能预测他们是不是说母语的人。
控制点演算法
到目前为止,他们都在探讨有监督管理自学的有关难题。现在,他们要继续研究控制点演算法,它是无监督管理自学方法的子集。
因此,只做了一点改动……
说到控制点,如果他们有许多初始统计数据需要支配,他们会想建立一个组,这样一来,其中许多组的统计数据点就是相同的,并且能与其他组的统计数据点区分开来。
他们将要自学的演算法叫做 K-均值控制点(K-Means Clustering),也能叫 K-Means 控制点,其中 k 表示产生的控制点的数量,这是最流行的控制点演算法之一。
还记得他们前面用到的 Iris 统计数据集吗?这里他们将再次用到。
为了更好地研究,他们使用花瓣测量方法绘制出统计数据集的所有统计数据点,如图所示:
仅仅基于花瓣的度量值,他们使用 3-均值控制点将统计数据点聚集成三组。
那么3-均值,或更普遍来说,k-控制点演算法是怎样工作的呢?整个过程能概括为几个简单的步骤:
初始化步骤:例如 K = 3 簇,这个演算法为每个控制点中心随机优先选择三个统计数据点。
群集分配步骤:该演算法通过其余的统计数据点,并将其中的每一个分配给最近的群集。
重心移动步骤:在集群分配后,每个簇的质心移动到属于组的所有点的平均值。
步骤 2 和 3 重复多次,直到没对集群分配作出更改为止。用 R 实现 k-控制点演算法很简单,能用下面的代码完成:
从结果中,他们能看到,该演算法将统计数据分成三个组,由三种相同的颜色表示。他们也能观察到这三个组是根据花瓣的大小分的。更具体地说,红点代表小花瓣的花,绿点代表大花瓣的花,蓝点代表中等大小的花瓣的花。
在这一点上需要注意的是,在任何人控制点中,对分组的解释都需要在应用领域中的许多专业科学知识。在上一个例子中,如果你不是一个植物学家,你可能不会晓得,k-均值做的是用花瓣大小给花分组,与 Setosa、 Versicolo r和 Virginica 的区别无关!
因此,如果他们再次绘制统计数据,这一次由它的物种着色,他们将看到集群中的相似性。
总结
他们从一已经开始就走了很长的路。他们已经谈到重回(线性和逻辑)、计算机程序,以及最后的 K-均值控制点。他们还在R中为其中的每一个方法建立了许多简单而强大的实现。
那么,每种演算法的优势是什么呢? 在处理现实生活中的难题时你该优先选择哪一个呢?
首先,这里所提出的方法都是在实际操作中被验证为行之有效的演算法 – 它在世界各地的产品系统中被广泛使用,所以根据任务情况选用,能发挥十分强大的作用。
其次,为了回答上述难题,你要明确你所说的优势究竟意味着什么,因为每个方法的相对优势在相同情况下的呈现相同,比如可解释性、鲁棒性、计算时间等等。
在目前只考虑方法的适当性和预测性能情况下,对每种方法的优缺点进行简简单的总结:
现在,他们终于有信心将那些科学知识落实到许多现实难题中了!
粉
丝
福
利
11 月 10 日之前,只要在【你谈见解我送书:《Kotlin 程序开发入门精要》技术书籍大放送】文末留言你在试读书籍第一章后的见解,就有机会获得文中提及技术书籍一本!快来留言吧,说不定中奖的就是你哦!!
推荐阅读微服务下的网关与容错
消息中间件 kafka+zookeeper 集群部署、测试与应用(1)
