http://www.tensorflownews.com。他们:磐创AI。
在机器自学的世界中,有一类被称作“无完全免费早餐”的不等式。 它以图说明没有何种演算法能够轻松地解决每一难题,特别是对于监督管理自学难题。比如,数学模型不会总是比计算机程序要好,与此相反。常常是有很多因素在起作用(如:统计数据集的大小、结构),共同决定了最终的结果。因此,他们应该特别针对具体的难题试著很多相同的演算法,并挑选出一部分统计数据做为“试验集”来评估结果操控性,最终选择操控性最好的演算法。当然,他们挑选出的演算法要要适合他们的难题,这也是完成机器自学任务的终极目标。
然而,他们透过有监督管理机器自学进行可视化要严格遵守两个基本的原则:透过找出输入表达式X到输入表达式Y的态射亲密关系:Y = f(X),最终自学得到两个最终目标表达式f。这样就能特别针对捷伊输入统计数据X透过最终目标表达式f预估出捷伊输入表达式Y。在机器自学中,这称作预估可视化或预估分析。
一、线性重回(Linear Regression)
线性重回可能是语言学和机器自学中最著名且最更易理解的演算法之一。线性重回是指在输入表达式(x)和输入表达式(y)之间找出一类最差的插值亲密关系,常常这种亲密关系是透过搜寻被称作常数(B)的输入表达式的某一权重股来描述的。比如:y = B0 + B1 * x。即:他们将在取值输入x的情况下预估y,因此线性重回自学演算法的最终目标是找出常数B0和B1的值。他们能采用相同的方式从统计数据中自学线性重回数学模型,比如最轻二加法和势能下降法。
线性重回早已存在了200多年,因此早已被广泛研究。采用该方式时,我的一些经验是删掉十分相近的表达式,并尽量消除统计数据中的噪音。总之,线性重回是一类加速而简单的演算法,十分适合大家做为进阶的第一类演算法来试著。
二、方式论重回(Logistic Regression)
方式论重回是机器自学从语言学领域先进经验过来的另一类方法。它是二进行分类难题的必选方式(两个类值的难题),也是自学相互依赖进行分类难题并加速碰面最有效的方式。方式论重回就像线性重回那样,最终目标是找出每一输入表达式相关联的相关常数。与线性重回相同的是,它采用了一类称作“方式论函数”的非线性表达式来切换输入的预估。
方式论表达式看上去像两个大S,并能将任何值切换为0到1的范围。这两点十分的重要,因为他们能将方式论表达式的输入控制到0和1来预估两个类值。此外,同线性重回那样,他们能透过删掉与输入表达式毫无关系的特性以及彼此之间十分相近的特性,来使数学模型的效果更好。
三、线性判别分析(Linear Discriminant Analysis)
方式论重回是一类仅限于两进行分类难题的进行分类演算法。但如果他们有两个以上的类别,那么线性判别分析演算法是必选的线性进行分类演算法。LDA的表示是十分直接的:它由每一类计算的统计数据所统计的特性组成。此外对于单个输入表达式,它包括:每一类别的平均值以及所有类别计算的方差。
LDA是通过计算每一类的判别值并对具有最大值的类进行的预估。该技术的前提是假设统计数据具有高斯分布,因此他们需要事先从统计数据中删掉异常值。LDA也是进行分类预估可视化难题的一类简单而强大的演算法。
四、计算机程序数学模型(Classification and Regression Trees)
计算机程序是机器自学中预估可视化一类重要的演算法。如下图所示,计算机程序数学模型的表示是二叉树,和演算法和统计数据结构中的二叉树那样,每一节点表示两个输入表达式(x)和该表达式上的两个分割点(假设表达式是数字)。
树的叶节点包含用于进行预估的输入表达式(y)。预估过程是透过遍历树的分裂直到到达叶节点并输入该叶节点处的类值。计算机程序学数学模型的优势在于自学以及预估的速度都十分快。因此树数学模型适用于各种各样的难题,不需要对统计数据进行任何特殊的处理。
五、朴素贝叶斯( Naive Bayes)
Naive Bayes是一类简单但十分强大的预估可视化演算法。该数学模型由两种类型的概率组成,能直接根据他们的训练统计数据进行计算:(1)每一类的概率;(2)每一类取值每一x值的条件概率。一旦计算出来,概率数学模型可利用贝叶斯不等式对新统计数据进行预估。当他们的统计数据是实数时,通常会采用高斯分布,这样就能轻松估计这些概率了。
朴素贝叶斯之所以被称作“naive”,是因为它假设每一输入表达式是独立的。现实这是两个强有力的假设,对于实际统计数据是不成立的,但该技术对于大范围的复杂难题是十分有效。
六、K近邻演算法(K-Nearest Neighbors)
KNN演算法十分的简单、有效。KNN的数学模型表示是整个训练统计数据集。KNN演算法的原理是透过搜索整个训练欧谢勒县寻找K个最相近的实例,并总结这K个实例的输入表达式,进而对捷伊统计数据点进行预估。对于重回难题,可能是平均输入表达式;对于进行分类难题,可能是常见的类值。
KNN的诀窍在于如何确定统计数据实例之间的相近性。如果他们的特性都具有相同的比例,则最简单的方式是采用欧几里德距离,他们能根据每个输入表达式之间的差异直接计算该数字。
此外,KNN可能需要大量的内存或空间来存储所有统计数据,但只有在需要预估时才会执行计算的操作。所以,他们还能随着时间的推移更新和调整训练实例,以保持预估效果更加准确。
七、自学矢量量化(Learning Vector Quantization)
K近邻的缺点是他们需要等候整个训练统计数据集。而自学矢量量化演算法(简称LVQ)是一类数学模型演算法,允许他们选择要挂起的训练实例数量,并能准确地自学到这些实例。如果他们的统计数据集能采用KNN的方式训练出良好的结果,那么就能试著采用LVQ演算法来减少存储整个训练统计数据集的内存需求。
LVQ的表示是码本(权值)向量的集合。这些码本在开始时随机选择的,因此适合于在自学演算法的多次迭代中最差地总结训练统计数据集。在自学之后,可他们以采用码本向量来进行与KNN类似的预估。透过计算每一码本矢量和新统计数据实例之间的距离来找出最相近的邻居(即最差匹配码本矢量)。然后,将最差匹配单元的类值或重回值(实值)做为预估返回。如果将统计数据重新缩放至相同范围(比如0到1之间),就能获得最好的结果。
八、支持向量机(Support Vector Machines)
支持向量机可能是目前最流行的机器自学演算法之一。SVM演算法的核心是选择两个最差的超平面将输入表达式空间中的点按照它们的类(0或1)分开。所谓的“超平面”其实就是两个分割输入表达式空间的线,在二维空间中,我们能将其可视化为一条直线,因此假设他们所有的输入点都能被这条直线完全分开。
此外,超平面和最近统计数据点之间的距离称作边距。能分离两个类的最差或最优超平面是具有最大边距的行。这些点与定义超平面和进行分类器的构造是有关,这些点称作支持向量。它们能支持或定义超平面。
最终,SVM可能是最强大的进行分类器之一,值得他们采用统计数据集试著采用。
九、随机森林(Bagging and Random Forest)
随机森林是最流行和最强大的机器自学演算法之一。它是一类被称作“bagging”的集成机器自学演算法。Bagging是一类强大的统计方式,常用于估计从统计数据样本的数量。如:他们取大量的统计数据样本后计算平均值,然后再对所有平均值进行平均,以便更好地估计真实的平均值。
在bagging中,要对他们的训练统计数据进行多次采样,然后为每一统计数据样本构可视化型。当需要对新统计数据进行预估时,每一数学模型都进行预估,并对预估进行平均,以更好地估计真实输入值。
随机森林是对这种方式的一类调整,透过创建计算机程序,使得不是选择最差分裂点,而是透过引入随机性来进行次优分割。因此,为每一统计数据样本构建的数学模型与它们原本是相同的,这样结合它们的预估能更好地估计真实的输入结果。
十、Boosting and Adaboost
Boosting是一类集成方式,试图从多个弱进行分类器中创建强进行分类器。这一过程是透过从训练统计数据种构可视化型,然后创建第二个数学模型来完成的,该数学模型试图纠正来自第两个数学模型的错误。以此类推,添加数学模型直到能轻松预估训练集或是添加最大数量的数学模型。
Adaboost是第两个真正成功实现Boosting的演算法,是理解boosting方式的最差起点。现在很多boosting方式都是建立在Adaboost演算法之上,效果最好的当数是gradient boosting。
此外,Adaboost通常会和短计算机程序一起采用。在创建第一棵树之后,采用树在每一训练实例上的性序列中的下一棵树所执行的自学。构建完所有树之后,将对新统计数据进行预估,并根据训练统计数据的准确性对每棵树的操控性进行加权。
【总结】本篇文章特别针对需要进阶机器自学的玩家,为大家准备了十大最常用的机器自学演算法,希望大家喜欢。
http://www.tensorflownews.com。他们:磐创AI。










