机器学习的道、法、术、势、器
“道、法、术、器”出于老子的《道德经》,后人又加了一个“势”,并且也有了不同的排列。很多人习惯用“道、法、术、势、器”的顺序,原因很简单:道以明向、法以立本、术以立策、势以立人、器以成事。所谓道不易,法简易,术变易。
下面我们就从道、法、术、势、器这五个层面上看看究竟什么是机器学习。
1、道以明向
道,是放在最上层的东西,是战略思想,是指引,是客观存在的东西。说白了就是不管你愿意不愿意、知道不知道,它就在那里。虽然人们对客观现象的认识不断加强,但背后的本质从来不曾改变,这就是所谓的真理吧。所谓以不变应万变,就是这个道理。
“道”解决的是什么是正确的事,“法、术、势、器”解决的是如何将事情做正确。很多时候,判断什么是正确的事最为困难。
举个例子,机器学习工程师可以分成三个档次:
初级:熟悉常用的机器学习模型和算法,针对不同的数据会选择对应模型,并进行比较,即操作型;
中级:会改造已有的模型,甚至设计新的模型,并对新的模型进行最优化,即优化型;
高级:给出一个实际问题,可以恰当的从数学角度定义这个问题,正确的给出量化的目标函数,即目标型。
其中,目标型是最高境界,是从“道”的层面确定正确的事情。有了问题模型和目标函数,其他一切都是时间和成本的问题。大多数情况下,大家面对机器学习的问题,一般都是一通乱试,也不知道目标函数是什么,完全是没有目的Ad Hoc方式,很难有好的结果。
对于机器学习来说,里面的道包含如下几个方面:
正确的认识机器学习的定义;
正确的认识机器学习的范围;
正确的认识机器学习的发展历史与启示;
(1)定义
机器学习这个词是让人疑惑的,首先它是英文名称Machine Learning的直译,在计算界Machine一般指计算机。这个名字使用了拟人的手法,说明了这门技术是让机器“学习”的技术。但是计算机是死的,怎么可能像人类一样“学习”呢?
传统上如果我们想让计算机工作,我们给它一串指令,然后它遵照这个指令一步步执行下去。有因有果,非常明确。但这样的方式在机器学习中行不通。机器学习根本不接受你输入的指令,相反,它接受你输入的数据!也就是说,机器学习是一种让计算机利用数据而不是指令来进行各种工作的方法。这听起来非常不可思议,但结果上却是非常可行的。“统计”思想将在你学习“机器学习”相关理念时无时无刻不伴随,相关而不是因果的概念将是支撑机器学习能够工作的核心概念。你会颠覆对你以前所有程序中建立的因果无处不在的根本理念。
从广义上来说,机器学习是一种能够赋予机器学习的能力以此让它完成直接编程无法完成的功能的方法。但从实践的意义上来说,机器学习是一种通过利用数据,训练出模型,然后使用模型预测的一种方法。
(2)范围
有了定义,再来看看机器学习的范围。
实际上,机器学习跟模式识别,统计学习,数据挖掘,计算机视觉,语音识别,自然语言处理等领域有着很深的联系。
从范围上来说,机器学习跟模式识别,统计学习,数据挖掘是类似的,同时,机器学习与其他领域的处理技术的结合,形成了计算机视觉、语音识别、自然语言处理等交叉学科。因此,一般说数据挖掘时,可以等同于说机器学习。同时,我们平常所说的机器学习应用,应该是通用的,不仅仅局限在结构化数据,还有图像,音频等应用。
(3)历史
回顾机器学习发展历史的动机主要是为了警示我们注意那些本质不能做的事情,以避免重复历史上已经发生过的错误。另外,提示我们关注那些前人研究中的某些动机,在当时,它们可能受到技术条件的限制而不可行,但是,在当前技术条件下,可能获得新生。
实际上,图灵在1950年关于图灵测试的文章中,就已经提到了机器学习的可能性。20世纪50年代,已经开始有机器学习相关的研究工作,主要集中在基于神经网络的连接主义学习方面。
在20世纪70年代,多种学习技术得到了初步发展,例如以决策理论为基础的统计学习技术和强化学习技术等。20多年后红极一时的统计学习理论的一些重要结果也是在这个时期取得的。在这一时期,基于逻辑或图结构表示的符号学习技术也开始出现。20世纪80年代是机器学习成为一个独立的学科领域并开始快速发展、各种机器学习技术百花齐放的时期。
20世纪90年代中期,统计学习粉墨登场并迅速独占鳌头。其实早在20世纪60~70年代就已经有统计学习方面的研究工作,统计学习理论在那个时期也已经打下了基础,例如,早在1963年就提出了“支持向量”的概念,并随后在1968年提出了VC维,在1974年提出了结构风险最小化原则等。但直到90年代中期,统计学习才开始成为机器学习的主流技术。在支持向量机被普遍接受后,支持向量机中用到的核(Kernel)技巧几乎被人们用到了机器学习的每一个角落,“核方法”也逐渐成为机器学习的一种基本技巧。
现在,计算机界戏称机器学习为“全能学科”,它无所不在。除了有其自身的学科体系外,机器学习还有两个重要的辐射功能。一是为应用学科提供解决问题的方法与途径。对于一个应用学科来说,机器学习的目的就是把一些难懂的数学翻译成让工程师能够写出程序的伪代码。二是为一些传统学科,比如统计、理论计算机科学、运筹优化等找到新的研究问题。因此,大多数世界著名大学的计算机学科把机器学习或人工智能列为核心方向,扩大机器学习领域的教师规模,而且至少要保持两三个机器学习研究方向具有一流竞争力。
(4)启示
机器学习的发展历程告诉我们:发展一个学科需要一个务实的态度。时髦的概念和名字无疑对学科的普及有一定的推动作用,但学科的根本还是所研究的问题、方法、技术和支撑的基础等,以及为社会产生的价值。
“机器学习”是个很酷的名字,简单地按照字面理解,它的目的是让机器能像人一样具有学习能力。但在其十年的黄金发展期,机器学习界并没有过多地炒作“智能”或者“认知”,而是关注于引入统计学等来建立学科的理论基础,面向数据分析与处理,以无监督学习和有监督学习为两大主要的研究问题,提出和开发了一系列模型、方法和计算算法等,切实地解决了工业界所面临的一些实际问题。近几年,因为大数据的驱动和计算能力的极大提升,一批面向机器学习的底层架构先后被开发出来。神经网络其实在20世纪80年代末或90年代初就被广泛研究,但后来沉寂了。近几年,基于深度学习的神经网络强势崛起,给工业界带来了深刻的变革和机遇。深度学习的成功不是源自脑科学或认知科学的进展,而是因为大数据的驱动和计算能力的极大提升。
2、法以立本
法是实现道的最根本的战略、方法、指导方针、思路。具体来说就是规则、流程、步骤,是将“道”从理论层面落实到实践层面的关键。
机器学习的流程与步骤可以归纳如下:
首先,我们需要在计算机中存储历史的数据;
接着,我们将这些数据通过机器学习算法进行处理,这个过程在机器学习中叫做“训练”,处理的结果可以被我们用来对新的数据进行预测,这个结果一般称之为“模型”;
最后,对新的数据进行预测。
“训练”与“预测”是机器学习的两个部分,“模型”则是过程的中间输出结果,“训练”产生“模型”,“模型”指导“预测”。
让我们把机器学习的过程与人类对历史经验归纳的过程做个比对。
人类在成长、生活过程中积累了很多的历史与经验。人类定期地对这些经验进行“归纳”,获得了生活的“规律”。当人类遇到未知的问题或者需要对未来进行“推测”的时候,人类使用这些“规律”,对未知问题与未来进行“推测”,从而指导自己的生活和工作。
机器学习中的“训练”与“预测”过程可以对应到人类的“归纳”和“推测”过程。通过这样的对应,我们可以发现,机器学习的思想并不复杂,仅仅是对人类在生活中学习成长的一个模拟。由于机器学习不是基于编程形成的结果,因此它的处理过程不是因果的逻辑,而是通过归纳思想得出的相关性结论。
这也可以联想到人类为什么要学习历史,历史实际上是人类过往经验的总结。有句话说得很好,“历史往往不一样,但历史总是惊人的相似”。通过学习历史,我们从历史中归纳出人生与国家的规律,从而指导我们的下一步工作,这是具有莫大价值的。当代一些人忽视了历史的本来价值,而是把其作为一种宣扬功绩的手段,这其实是对历史真实价值的一种误用。
在大数据时代,机器学习领域还有一个热点是把系统与算法结合,设计大规模分布式的机器学习算法与系统,使得机器学习算法可以在多处理器和多机器的集群环境下作业,处理更大量级的数据。毫无疑问, AlphaGo是近年来机器学习、系统和高效搜索算法结合成功的典范,谷歌AlphaGo成功给机器学习的“法”带来了新的启示:
正确的选题。谷歌选择了可以量化、规则明确的计算机围棋领域,其主要负责人David Silver 和Aja Huang的博士论文均是计算机围棋,有着超过10年的经验。
恰当的方法与时机。在计算机性能大幅度提升的大背景下,谷歌通过训练大规模深度学习网络,结合高效的传统蒙特卡洛搜索树,成功地控制了围棋的复杂度。
精密的工程实现。在数十名谷歌工程师的努力下,AlphaGo有了单机和分布式2个版本,针对时间限制,设计了快速落子和仔细斟酌的策略,对时间采取毫秒级别的估计。这些工程上的细节,无疑是决定成败的关键之一。
谷歌AlphaGo的成功,告诉我们结合机器学习与传统符号搜索方法可以解决人工智能里相对复杂的推理问题,把机器学习与高效的搜索方法的结合开辟了机器学习的新“法”。
3、术以立策
术是方式与技巧,是策略,是具体的方法。机器学习的术就是我们目前讲的最多的内容。
总的来说,按照训练的数据有无标签,可以将机器学习算法分为监督学习算法和无监督学习算法,同时还有一类推荐算法较为特殊,既不属于监督学习,也不属于非监督学习,是单独的一类。
特殊算法:推荐算法
下面简单看看这些方法的内涵思想。
(1)回归算法
在大部分机器学习课程中,回归算法都是介绍的第一个算法。原因有两个:回归算法比较简单,介绍它可以让人平滑地从统计学迁移到机器学习中;回归算法是后面若干强大算法的基石,如果不理解回归算法,无法学习那些强大的算法。回归算法有两个重要的子类:即线性回归和逻辑回归。
线性回归就是我们前面说过的房价求解问题。如何拟合出一条直线最佳匹配我所有的数据?一般使用“最小二乘法”来求解。“最小二乘法”的思想是这样的,假设我们拟合出的直线代表数据的真实值,而观测到的数据代表拥有误差的值。为了尽可能减小误差的影响,需要求解一条直线使所有误差的平方和最小。最小二乘法将最优问题转化为求函数极值问题。函数极值在数学上我们一般会采用求导数为0的方法。但这种做法并不适合计算机,可能求解不出来,也可能计算量太大。
而逻辑回归是一种与线性回归非常类似的算法,但是,从本质上讲,线型回归处理的问题类型与逻辑回归不一致。线性回归处理的是数值问题,也就是最后预测出的结果是数字,例如房价。而逻辑回归属于分类算法,也就是说,逻辑回归预测结果是离散的分类,例如判断这封邮件是否是垃圾邮件,以及用户是否会点击此广告等等。
逻辑回归算法划出的分类线基本都是线性的,这意味着当两类之间的界线不是线性时,逻辑回归的表达能力就不足。下面的两个算法是机器学习界最强大且重要的算法,都可以拟合出非线性的分类线。
(2)神经网络
神经网络(也称之为人工神经网络,ANN)算法是80年代机器学习界非常流行的算法,不过在90年代中途衰落。现在,携着“深度学习”之势,神经网络重装归来,重新成为最强大的机器学习算法之一。
神经网络的诞生起源于对大脑工作机理的研究。早期生物界学者们使用神经网络来模拟大脑。机器学习的学者们使用神经网络进行机器学习的实验,发现在视觉与语音的识别上效果都相当好。在BP算法(加速神经网络训练过程的数值算法)诞生以后,神经网络的发展进入了一个热潮。BP算法的发明人之一是机器学习大牛Geoffrey Hinton。神经网络的学习机理具体说来就是分解与整合。
支持向量机算法是诞生于统计学习界,同时在机器学习界大放光彩的经典算法。支持向量机算法从某种意义上来说是逻辑回归算法的强化:通过给予逻辑回归算法更严格的优化条件,支持向量机算法可以获得比逻辑回归更好的分类界线。但是如果没有某类函数技术,则支持向量机算法最多算是一种更好的线性分类技术。
但是,通过跟高斯“核”的结合,支持向量机可以表达出非常复杂的分类界线,从而达成很好的的分类效果。“核”事实上就是一种特殊的函数,最典型的特征就是可以将低维的空间映射到高维的空间。
支持向量机是一种数学成分很浓的机器学习算法(相对的,神经网络则有生物科学成分)。在算法的核心步骤中,有一步证明,即将数据从低维映射到高维不会带来最后计算复杂性的提升。于是,通过支持向量机算法,既可以保持计算效率,又可以获得非常好的分类效果。因此支持向量机在90年代后期一直占据着机器学习中最核心的地位,基本取代了神经网络算法。直到现在神经网络借着深度学习重新兴起,两者之间才又发生了微妙的平衡转变。
(4)聚类算法
前面的算法中的一个显著特征就是训练数据中包含了标签,训练出的模型可以对其他未知数据预测标签。在下面的算法中,训练数据都是不含标签的,而算法的目的则是通过训练,推测出这些数据的标签。这类算法有一个统称,即无监督算法。无监督算法中最典型的代表就是聚类算法。
让我们还是拿一个二维的数据来说,某一个数据包含两个特征。我希望通过聚类算法,给他们中不同的种类打上标签,我该怎么做呢?简单来说,聚类算法就是计算种群中的距离,根据距离的远近将数据划分为多个族群。聚类算法中最典型的代表就是K-Means算法。
(5)降维算法
降维算法也是一种无监督学习算法,其主要特征是将数据从高维降低到低维层次。在这里,维度其实表示的是数据的特征量的大小,例如,房价包含房子的长、宽、面积与房间数量四个特征,也就是维度为4维的数据。可以看出来,长与宽事实上与面积表示的信息重叠了,例如面积= 长× 宽。通过降维算法我们就可以去除冗余信息,将特征减少为面积与房间数量两个特征,即从4维的数据压缩到2维。于是我们将数据从高维降低到低维,不仅利于表示,同时在计算上也能带来加速。
刚才说的降维过程中减少的维度属于肉眼可视的层次,同时压缩也不会带来信息的损失(因为信息冗余了)。如果肉眼不可视,或者没有冗余的特征,降维算法也能工作,不过这样会带来一些信息的损失。但是,降维算法可以从数学上证明,从高维压缩到的低维中最大程度地保留了数据的信息。因此,使用降维算法仍然有很多的好处。
降维算法的主要作用是压缩数据与提升机器学习其他算法的效率。通过降维算法,可以将具有几千个特征的数据压缩至若干个特征。另外,降维算法的另一个好处是数据的可视化,例如将5维的数据压缩至2维,然后可以用二维平面来可视。降维算法的主要代表是PCA算法(主成分分析算法)。
(6)推荐算法
推荐算法是目前业界非常火的一种算法,在电商界,如亚马逊,天猫,京东等得到了广泛的运用。推荐算法的主要特征就是可以自动向用户推荐他们最感兴趣的东西,从而增加购买率,提升效益。推荐算法有两个主要的类别:
一类是基于物品内容的推荐,是将与用户购买的内容近似的物品推荐给用户,这样的前提是每个物品都得有若干个标签,因此才可以找出与用户购买物品类似的物品,这样推荐的好处是关联程度较大,但是由于每个物品都需要贴标签,因此工作量较大。
另一类是基于用户相似度的推荐,则是将与目标用户兴趣相同的其他用户购买的东西推荐给目标用户,例如小A历史上买了物品B和C,经过算法分析,发现另一个与小A近似的用户小D购买了物品E,于是将物品E推荐给小A。
两类推荐都有各自的优缺点,在一般的电商应用中,一般是两类混合使用。推荐算法中最有名的算法就是协同过滤算法。
(7)其他
除了以上算法之外,机器学习界还有其他的如高斯判别,朴素贝叶斯,决策树等等算法。但是上面列的六个算法是使用最多,影响最广,种类最全的典型。机器学习界的一个特色就是算法众多,发展百花齐放。
4、势以立人
势是气场,是权威,是当下所处的时间和空间位置的运动方向,是“道、法、术”得以施行的保障,可以理解为一种执行力。老子在《道德经》中没有提到这个概念,可能他老人家没有预测到当今社会的风云变幻。老子的思想强调顺势、无为,是朴素的辨证法,但在如今的大环境中,强调的思想是“逆天”,没有机会就创造机会,因为我们要永远站在变革的最前沿,所以“势”就变得很重要,它可以让事情变得主动,成为前进的动力。
人工智能是机器学习的父类。深度学习则是机器学习的子类。如果把三者的关系用图来表明的话,则是下图:
毫无疑问,人工智能是人类所能想象的科技界最突破性的发明了,某种意义上来说,人工智能就像游戏最终幻想的名字一样,是人类对于科技界的最终梦想。从50年代提出人工智能的理念以后,科技界,产业界不断在探索,研究。这段时间各种小说、电影都在以各种方式展现对于人工智能的想象。人类可以发明类似于人类的机器,这是多么伟大的一种理念!但事实上,自从50年代以后,人工智能的发展就磕磕碰碰,未有见到足够震撼的科学技术的进步。
总结起来,人工智能的发展经历了如下若干阶段,从早期的逻辑推理,到中期的专家系统,这些科研进步确实使我们离机器的智能有点接近了,但还有一大段距离。直到机器学习诞生以后,人工智能界感觉终于找对了方向。基于机器学习的图像识别和语音识别在某些垂直领域达到了跟人相媲美的程度。机器学习使人类第一次如此接近人工智能的梦想。
事实上,如果我们把人工智能相关的技术以及其他业界的技术做一个类比,就可以发现机器学习在人工智能中的重要地位不是没有理由的。
而另一方面,机器学习近年来发展产生了一个新的方向,即“深度学习”。虽然深度学习这四字听起来颇为高大上,但其理念却非常简单,就是传统的神经网络发展到了多隐藏层的情况。
自从90年代以后,神经网络已经消寂了一段时间。但是BP算法的发明人Geoffrey Hinton一直没有放弃对神经网络的研究。由于神经网络在隐藏层扩大到两个以上,其训练速度就会非常慢,因此实用性一直低于支持向量机。2006年,Geoffrey Hinton在科学杂志《Science》上发表了一篇文章,论证了两个观点:
多隐层的神经网络具有优异的特征学习能力,学习得到的特征对数据有更本质的刻画,从而有利于可视化或分类;
深度神经网络在训练上的难度,可以通过“逐层初始化”来有效克服。
通过这样的发现,不仅解决了神经网络在计算上的难度,同时也说明了深层神经网络在学习上的优异性。从此,神经网络重新成为了机器学习界中的主流强大学习技术。同时,具有多个隐藏层的神经网络被称为深度神经网络,基于深度神经网络的学习研究称之为深度学习。
由于深度学习的重要性质,在各方面都取得极大的关注,按照时间轴排序,有以下四个标志性事件值得一说:
2012年6月,《纽约时报》披露了Google Brain项目,这个项目是由Andrew Ng和Map-Reduce发明人Jeff Dean共同主导,用16000个CPU Core的并行计算平台训练一种称为“深层神经网络”的机器学习模型,在语音识别和图像识别等领域获得了巨大的成功。Andrew Ng就是文章开始所介绍的机器学习的大牛。
2012年11月,微软在中国天津的一次活动上公开演示了一个全自动的同声传译系统,讲演者用英文演讲,后台的计算机一气呵成自动完成语音识别、英中机器翻译,以及中文语音合成,效果非常流畅,其中支撑的关键技术是深度学习;
2013年1月,在百度的年会上,创始人兼CEO李彦宏高调宣布要成立百度研究院,其中第一个重点方向就是深度学习,并为此而成立深度学习研究院(IDL)。
2013年4月,《麻省理工学院技术评论》杂志将深度学习列为2013年十大突破性技术(Breakthrough Technology)之首。
深度学习属于机器学习的子类。基于深度学习的发展极大的促进了机器学习的地位提高,更进一步地,推动了业界对机器学习父类人工智能梦想的再次重视。
5、器以成事
器是让工作变得简单的工具。工具的作用是提高效率,把复杂问题简单化。就像工业时代的各种机器,极大的提高了人们的生产效率。今天,随着人工智能的炙手可热,机器学习本身就已经被作为一个大杀器而获得了普遍的认识。
为什么要使用工具?因为机器学习工具使得应用机器学习更快,更简单,更有趣。
更快:好工具可以自动化应用机器学习过程中的每一步。这意味着,从提出创意到得到结果的时间大大缩短。如果你从头开始自己实现每一个功能,这花的时间要比选择现有工具要长的多。
更简单:你可以花时间来选择合适的工具,而不是研究、实现技术来完成任务。如果你自己实现,你必须对每一个过程都十分精通。这需要研究,资深经验来理解技术,以及高水平的工程技能来确保有效执行。
有趣:对于初学者得到良好结果的门槛低。你可以花费额外的时间来得到更好的结果,或者进行更多的项目实践。如果不使用这些工具,你将会花费大部分时间来构建你自己的工具,而没将时间集中在获取结果上。
机器学习工具有许多。谷歌搜索到的结果就足以让你头晕目眩了。
一种有用的机器学习工具分类方式是将它们分成平台和库。平台为你运行一个项目所需的全部功能,而库只为你完成一个项目提供部分功能。这么区分并不完美,因为有些机器学习平台同时也是库,有些库也提供了图形化用户界面。然而,这提供了很好的比较方式,从特定目的工具中区分具体使用情形。
(1)机器学习平台
机器学习平台提供了从头到尾完成一个机器学习项目的功能。也就是,数据分析,数据准备,建模和算法评估及选择。机器学习平台的特征有:
它们提供了机器学习项目中每一个过程所需要的功能。
界面可以是图形化的,也可以是命令行,平台将所有的或部分界面结合起来。
它们提供功能的松耦合,你可以在特定项目中将各个部件结合起来。
它们是为通用目的用途和探索而量身定制的,而不是为了速度,可扩展性和准确性。
以下是一些机器学习平台:
WEKA Machine Learning Workbench。
R Platform。
Python SciPy的子集(比如 Pandas和 scikit-learn)。
(2)机器学习库
机器学习库提供了完成一个机器学习项目部分模块的功能。比如,一个库可能提供了一系列建模算法。机器学习库的特征有:
它们为一个机器学习项目中一个或多个步骤提供了特定的功能。
它们的接口通常是需要编程的应用程序编程接口。
它们为特定用例,问题类型或环境量身定制。
以下是一些机器学习库:
Python中的 scikit-learn。
Java中的 JSAT。
.Net中的 Accord Framework。
另一种区分机器学习工具的方式是根据它们提供的界面。
(3)图形化用户界面
机器学习工具提供了图形用户界面,包括窗口,得分,点击,专注于可视化。图形化用户界面的好处有:
允许掌握较少技术的用户完成机器学习工作。
专注于处理过程,以及如何最大限度地利用机器学习技术。
用户可以使用界面进行结构化处理。
更注重于信息的图形化展示,比如可视化。
以下是一些有图形化界面的机器学习工具:
KNIME
RapidMiner
Orange
(4)命令行界面
机器学习工具提供了命令行界面,包括命令行程序,命令行参数,注重于输入和输出。命令行用户界面的好处有:
允许不是程序员的技术用户完成机器学习项目。
提供了许多专门的程序或机器学习项目特定子任务的编程模型。
根据需要的输入和将会得到的输出分解机器学习任务。
通过记录或脚本命令和命令行参数来促进有复验性的结果。
以下是一些提供命令行界面的机器学习工具:
Waffles
WEKA Machine Learning Workbench
(5)应用程序编程接口
机器学习工具提供了应用程序编程接口,可以让你自由决定在你的程序中使用什么元素以及如何使用。应用程序编程接口的好处有:
你可以将机器学习算法合并到自己的软件项目当中。
你可以创建自己的机器学习工具。
你可以在机器学习项目中灵活使用自己的处理流程和自动操作。
你可以将自己的方法与库提供的方法以及扩展提供的方法结合。
以下是一些带有应用程序编程接口的机器学习工具:
面向Python的 Pylearn 2
面向Java的Deeplearning4j
面向C的 LIBSVM
比较机器学习工具最后一个方法是这个工具是本地工具还是远程工具。本地工具是你下载并安装的,在本地使用,而远程工具运行在第三方服务器上。
(6)本地工具
本地工具是下载、安装并运行在本地环境的。包括如下特点:
专为内存中数据和算法设计。
由运行配置和参数控制。
集成到你自己的系统,以满足你的需求。
以下是一些本地工具:
面向C++的 ShogunLibrary
面向Go的 GoLearn
(7)远程工具
远程工具托管在服务器上,并且可以从本地环境调用。这些工具通常被称为将机器学习作为服务(MLaaS)。其特点包括:
专为运行更大规模数据设计。
在多系统,多核心和共享内存上运行。
为适应大规模系统,所以服务提供的算法更少。
更简单的接口,在运行配置和算法参数上提供较少的控制。
通过远程过程调用集成到你本地环境中。
以下是一些远程工具:
Google Prediction API
AWS Machine Learning
Microsoft Azure Machine Learning
当然,实际上还有很多很多非常著名以及不那么著名的例子,学无止境了。
6、总结
机器学习是目前业界最为火热的一项技术,从网上的每一次淘宝的购买东西,到自动驾驶汽车技术,以及网络攻击抵御系统等等,都有机器学习的因子在内,同时机器学习也是最有可能使人类完成AI dream的一项技术,各种人工智能目前的应用,从聊天机器人,到计算机视觉技术的进步,都有机器学习努力的成分。在大数据和数据科学这个大背景下,大家最好都应该了解一些机器学习的相关知识与概念,因为这可以帮你更好的理解为你带来莫大便利技术的背后原理,以及让你更好的理解当代科技的进程。
数据分析咨询请扫描二维码
数据分析需要学习的内容非常广泛,涵盖了从理论知识到实际技能的多个方面。以下是数据分析所需学习的主要内容: 数学和统计学 ...
2024-11-24数据分析师需要具备一系列多方面的技能和能力,以应对复杂的数据分析任务和业务需求。以下是数据分析师所需的主要能力: 统计 ...
2024-11-24数据分析师需要学习的课程内容非常广泛,涵盖了从基础理论到实际应用的多个方面。以下是根据我搜索到的资料整理出的数据分析师需 ...
2024-11-24《Python数据分析极简入门》 第2节 6 Pandas合并连接 在pandas中,有多种方法可以合并和拼接数据。常见的方法包括append()、conc ...
2024-11-24《Python数据分析极简入门》 第2节 5 Pandas数学计算 importpandasaspdd=np.array([[81,&n ...
2024-11-23数据分析涉及多个方面的学习,包括理论知识和实践技能。以下是数据分析需要学习的主要方面: 基础知识: 数据分析的基本概念 ...
2024-11-22数据分析适合在多个单位工作,包括但不限于以下领域: 金融行业:金融行业对数据分析人才的需求非常大,数据分析师可以从事经 ...
2024-11-22数据分析是一种涉及从大量数据中提取有用信息和洞察力的过程。其工作内容主要包括以下几个方面: 数据收集与整理:数据分析师 ...
2024-11-22数据分析师需要掌握多种技能,以确保能够有效地处理和分析数据,并为业务决策提供支持。以下是数据分析师需要掌握的主要技能: ...
2024-11-22数据开发和数据分析是两个密切相关但又有所区别的领域。以下是它们的主要区别: 定义和目标: 数据开发:数据开发涉及数据的 ...
2024-11-22数据架构师是负责设计和管理企业数据架构的关键角色,其职责涵盖了多个方面,包括数据治理、数据模型设计、数据仓库构建、数据安 ...
2024-11-22数据分析师需要具备一系列技能,以确保能够有效地处理、分析和解释数据,从而支持决策制定。以下是数据分析师所需的关键技能: ...
2024-11-22数据分析师需要具备一系列技能,以确保能够有效地处理、分析和解释数据,从而支持决策制定。以下是数据分析师所需的关键技能: ...
2024-11-22数据分析师需要具备一系列的技能和能力,以确保能够有效地处理、分析和解释数据,从而支持业务决策。以下是数据分析师所需的主要 ...
2024-11-22需求持续增长 - 未来数据分析师需求将持续上升,企业对数据驱动决策的依赖加深。 - 预测到2025年,中国将需要高达220万的数据人 ...
2024-11-22《Python数据分析极简入门》 第2节 4 Pandas条件查询 在pandas中,可以使用条件筛选来选择满足特定条件的数据 importpanda ...
2024-11-22数据分析师的工作内容涉及多个方面,主要包括数据的收集、整理、分析和可视化,以支持商业决策和问题解决。以下是数据分析师的一 ...
2024-11-21数据分析师必须掌握的技能可以从多个方面进行归纳和总结。以下是数据分析师需要具备的主要技能: 统计学基础:数据分析师需要 ...
2024-11-21数据分析入门的难易程度因人而异,总体来看,入门并不算特别困难,但需要一定的学习和实践积累。 入门难度:数据分析入门相对 ...
2024-11-21数据分析是一项通过收集、整理和解释数据来发现有用信息的过程,它在现代社会中具有广泛的应用和重要性。数据分析能够帮助人们更 ...
2024-11-21