博舍

人工智能在教育中的应用,主要包含哪几个方面 人工智能哪里学的好一点呢

人工智能在教育中的应用,主要包含哪几个方面

国务院印发的《新一代人工智能发展规划》明确指出,人工智能成为国际竞争的新焦点,应逐步开展全民智能教育项目,在中小学阶段设置人工智能相关课程、逐步推广编程教育、建设人工智能学科,培养复合型人才,形成我国人工智能人才高地。此次规划出台,将会加快编程培训进入中小学课堂的实施进度,对于人工智能在教育中如何应用,主要包括以下几点:

师资分配

利用人工智能可以实现师资资源重新分配。传统教育模式中,存在严重的师资力量分配不均匀的问题,也导致了教育的不均衡、不平等。

当投入了人工智能教育以后,各地的教师可以将自己的资源制成课件,无论在世界哪一个地方,孩子们享受到的教育资源都是相同的。人工智能让各地师资力量取长补短。

交流平台

人工智能以及区块链技术还可以为教育工作者搭建共建平台。在人工智能教育领域中,喵爪组建开放式共建平台,供技术创新者和教育创新者共同合作,开发基于项目制学习和人工智能创新教育的学习内容。这样的内容可以在喵爪星球虚拟学习空间里,通过其注册的喵爪账号在喵爪平台上参与学习,这有利于社群里的人互相学习共同促进。而且,区块链技术也可以保证学生隐私以及学生数据的真实性。

资源迅速更新

人工智能将促进教育资源的迅速更新,更加轻便。传统教育大部分是依赖于纸质书籍的,而纸质书籍有几个重大的缺点:不易更新、非常沉重、保存困难。一旦更新,原有的书籍便相当于作废等。

如果改用人工智能教育方式,更新只需要一瞬间,服务器上传后,用户只要联网更新数据就可以获取最新版本。学生也不必再背着沉重的书包,甚至在未来可能会由机器人代替学生背负学习资料。这种轻便及时的教育方式比传统教育少了许多麻烦。

负担优化

传统教育是制式的,教师对学生能力的训练大多数只能通过作业,而且家长盲目地给孩子报各种补习班,造成孩子时间的浪费,同时也破坏了孩子的学习兴趣,造成了巨大的影响。

人工智能模式的教育中,智能教育模式会对孩子掌握的知识进行一个评测。对于孩子已经掌握的知识,除了一段时间以后的温习以外,将减少其在学习过程中的出现率,保证孩子的休息娱乐时间,减少死读书现象的发生,确保孩子是真正掌握了知识,而非死记硬背。

个性化学习

人工智能可以为每位学生提供个人专属的学习计划。喵爪教育将利用人工智能技术,根据需求为每一位在喵爪星球上注册的用户提供个人专属的学习计划。由人工智能定制的学习计划与传统教育制式学习有着本质的区别,人工智能个人专属学习计划可以更有效地开发孩子的潜力,因为每个孩子都有自己所擅长的和不擅长的。

制式教育只会强硬地让孩子学所有东西,而人工智能教育则是针对孩子的优点,进行深入开发,把孩子的潜力开发出来,让孩子的潜质不会被白白浪费。

喵爪教育已经和汉森机器人公司达成合作意向,利用人工智能技术创新教育,共同开发使用“爱因斯坦”机器人。这款机器人不仅可以编程,还可以与Scratch编程教育相结合,用于项目制学习(PBL)、人工智能认知学习。

众所周知,如果人类在学习的过程中能够拥有更多的身体感官交流,那么学习的效果将会得到大大的提高。“爱因斯坦”机器人首先就具备机器人与人之间的视听交流。在此之后,如果用户用手指触摸iPad来与机器人进行互动交流,那么它将打开人类大脑的更多区域的互动,而这也可以使人类的大脑更加快速地接收这些知识并且接受这种学习方式。用户可以通过云端下载更多的智能应用程序来与“爱因斯坦”机器人进行更多的互动。

“爱因斯坦”机器人背后所隐藏的道理就是寓教于乐,将娱乐和教育有机地结合起来。这也是“爱因斯坦”机器人诞生的初衷。

人工智能、大数据、云计算和物联网的未来发展值得重视,均为前沿产业,多智时代专注于人工智能和大数据的入门和科谱,在此为你推荐几篇优质好文:1.人工智能时代,AI人才都有哪些特征?http://www.duozhishidai.com/article-1792-1.html2.大数据携手人工智能,高校人才培养面临新挑战http://www.duozhishidai.com/article-7555-1.html3.人工智能,机器学习和深度学习之间,主要有什么差异http://www.duozhishidai.com/article-15858-1.html4.大数据人工智能领域,如何从菜鸟晋级为大神http://www.duozhishidai.com/article-1427-1.html

多智时代-人工智能和大数据学习入门网站|人工智能、大数据、物联网、云计算的学习交流网站

人工智能学习笔记:基本遗传算法及其改进算法

文章目录1引言2基本思想及发展历史3基本遗传算法详细步骤3.1编码3.2初始群体设定3.3设计适应度函数3.4遗传操作3.4.1选择3.4.2交叉3.4.3变异4基本遗传算法总结5遗传算法改进5.1双倍体遗传算法5.2双种群遗传算法5.3自适应遗传算法6参考文献1引言

  本次学习报告主要介绍基本遗传算法的详细过程以及三种遗传算法的改进算法,旨在回顾和整理这一学期习得的部分知识。在撰写报告的过程中,会在其中增加一些个人的思考,这些思考主要基于过去所学的知识,目的在于寻找知识与知识之间的联系。由于本人能力所限,如有不当之处,恳请读者指正并提出宝贵的意见。

2基本思想及发展历史

  遗传算法来源于达尔文进化论和群体遗传学,由美国的Holland教授于1975年首先提出。遗传算法既是经典的启发式算法,同时也是非确定性的拟自然算法,它为复杂系统的优化提供了一种新思路,对于诸多NP-Hard问题,遗传算法都有不错的表现。简而言之,我发现,遗传算法参考了生物遗传过程,并用于解决最优化的问题。实际上,这里的“生物遗传”就是高中生物所学的基因学问题。有趣的是,我们目前学到的某些算法均参考了生物学的相关知识,比如西瓜书第五章所介绍的BP神经网络。在链式法则和参数寻优过程中,连接权重w和阈值θ的计算对应正是我们高中所学的神经元部分知识,这可能也体现了跨学科思维。

图1神经元结构

  又比如我在看过赵军团队的《知识图谱》后,利用放缩的思想,发现整个知识图谱的构建过程,可能类似于学生做英语阅读理解的思维过程。在此举一个可能不太恰当的例子,我在阅读之前需要找定位词(命名实体识别),并且尽可能找到关键词之间的关系(关系抽取),之后在回到原文中找到相关段落句子,并根据一些表达情感的定语做适当的推理得到答案(知识推理),以此类推,当做完整篇文章之后,我也对这片文章的脉络有了一个初步的认知,并在脑中建立起对应的框架。

图2知识图谱生命周期

  说回遗传算法,它主要借用生物进化中“适者生存”的规律。在遗传算法中,染色体对应的是数据或数组,通常是由一维的串结构数据来表示的。遗传算法处理的是染色体,或者称为基因型个体。一定数量的个体组成了群体。群体中个体的数量称为种群的大小,也叫种群的规模。各个个体对环境的适应程度叫适应度。适应度大的个体被选择进行遗传操作产生新个体,体现了生物遗传中适者生存的原理。选择两个染色体进行交叉产生一组新的染色体的过程,类似生物遗传中的婚配。编码的某一个分量发生变化的过程,类似于生物遗传中的变异。  遗传算法包含两个数据转换操作,一个是从表现型到基因型的转换,将搜索空间中的参数或解转换成遗传空间中的染色体或个体,这个过程称为编码。另一个是从基因型到表现型的转换,即将个体转换成搜索空间中的参数,这个过程称为解码。图3是总结的遗传算法模拟生物遗传过程的相关环节。

图3模拟生物进程总结

  表1是整理的遗传算法发展历史。

表1遗传算法发展历史时间人名研究成果1965年Holland首次提出人工遗传操作的重要性1967年Bagley提出选择、交叉和变异操作;引入适应度定标概念;首次提出遗传算法自我调整概念,即引入交叉和变异的概率1971年Hollstien第一个把遗传算法用于函数优化1975年Holland系统阐述遗传算法基本理论和方法,并提出模式理论3基本遗传算法详细步骤

  图4是总结的一次迭代的遗传算法流程,接下来将围绕该图进行算法步骤阐述。

图4基本遗传算法流程总结3.1编码

  由于遗传算法不能直接处理问题空间的参数,因此,必须通过编码将要求解的问题表示成遗传空间的染色体或个体。该部分操作类似于自然语言处理中,词表示成词向量,这样我们就可以在特征空间中处理自然语言。对一个具体的应用问题如何编码是应用遗传算法的首要问题,也是遗传算法应用的难点。实际上,还不存在一种通用的编码方法,特殊的问题往往采用特殊的方法。图5是常见的编码方法的总结。

图5编码方法总结

  其中,位串编码是将问题空间的参数编码为一维排列的染色体的方法,称为一维染色体编码方法。一维染色体编码中最常用的符号集是二值符号集{0,1},即采用二进制编码。实际上,整理之后发现,其余的方法都是在解决二进制编码的不足之处。  比如,二进制编码的缺点有二:一是相邻整数的二进制编码可能具有较大的Hamming距离(例如,15和16的二进制表示为01111和10000,因此算法从15改进到16必须改变所有的位),这种缺陷造成了Hamming悬崖,降低了遗传算子的搜索效率;二是在求解高维优化问题时,二进制编码将非常长,从而使得算法的搜索效率很低。  针对缺点一,可以采用Gray编码,也就是说将二进制编码通过一次异或变换进行转换,这样会克服二进制编码的Hamming悬崖。针对缺点二,可以采用实数编码,即用若干实数表示一个个体,然后在实数空间上进行遗传操作。

3.2初始群体设定

  由于遗传算法是对群体进行操作的,所以,必须为遗传操作准备一个由若干初始解组成的初始群体。群体设定主要包括两个方面:初始种群的产生和种群规模的确定。

图6群体设定步骤总结

  初始种群的个体是随机产生的,但最好采用如下策略设定:一是根据问题固有知识,设法把我最优解所占空间在整个空间中的分布范围,然后,在此分布范围内设定初始群体;二是先随机产生一定数目的个体,然后从中挑选最好的个体(类似于种子实体)加入到初始群体中,这种过程不断迭代,直到初始群体中个体数目达到了预先确定的规模。针对于策略二这种反复迭代的描述,我认为类似于Bootstrapping策略。  种群规模影响遗传优化的结果和效率。当种群规模太小时,遗传算法的优化性能一般不会太好,容易陷入局部最优解。实际上,在学习完整个算法后,我发现针对于算法优化的一个关键环节就是在于如何“跳出”局部最优,进而“逼近”全局最优。这就让我联想到BP神经网络关于参数寻优部分的三种“跳出”策略,也可以说是启发式搜索策略。图7是总结的“跳出”策略。

图7“跳出”策略

  而种群规模太大也会带来弊端:一是群体越大,其适应度评估次数增加,所以计算量也增加,从而影响算法效率;二是群体中个体生存下来的概率大多采用和适应度成比例的方法,当群体中个体非常多时,少量适应度很高的个体会被选择而生存下来,但大多数个体却被淘汰,这会影响配对库的形成,从而影响交叉操作。

3.3设计适应度函数

  遗传算法遵循自然界优胜劣汰的原则,在进化搜索中基本不用外部信息,而是用适应度值表示个体的优劣,作为遗传操作的依据。适应度函数是用来区分群体中的个体好坏的标准,是算法演化过程的驱动力,是进行自然选择的唯一依据。

图8适应度函数设计方法

  一般而言,适应度函数是由目标函数变换得到的。最直观的方法就是将待求解优化问题的目标函数作为适应度函数。  在遗传算法中,将所有妨碍适应度值高的个体产生,从而影响遗传算法正常工作的问题统称为欺骗问题。比如,如果群体中出现超级个体,即该个体的适应值大大超过群体的平均适应值,则按照适应值比例进行选择时,该个体很快就会在群体中占有绝对的比例,从而导致算法较早地收敛到一个局部最优点,这一现象称为过早收敛。这就是一种欺骗问题。  对适应度函数值域的某种映射变换称为适应度函数的尺度变换(定标)。尺度变换分为线性变换和非线性变换,这里重点介绍线性变换。  设原适应度函数为f,定标后的适应度函数为f’,则线性变换可采用下式表示为

f‘=af+bf^`=af+bf‘=af+b

  系数a和b可以有多种途径设定,但要满足两个条件:

①变换后的适应度的平均值要等于原适应度平均值,以保证适应度为平均值的个体在下一代的期望复制数为1;②变换后适应度函数的最大值要等于原适应度函数平均值的指定倍数(相当于最小公倍数),以控制适应度最大的个体在下一代中的复制数。

favg=afavg+bCmultfavg=afmax+bf_{avg}=af_{avg}+b\C_{mult}f_{avg}=af_{max}+bfavg​=afavg​+bCmult​favg​=afmax​+b

  根据上述条件得出的推导公式,通过简单的联立方程组求解即可得出线性变换的系数a和b。  线性变换法变换了适应度之间的差距,保持了种群的多样性。如果种群里某些个体适应度远远低于平均值时,甚至出现负数,为满足最小适应度非负的条件,可以满足进行如下变换:

favg=afavg+b0=afmin+bf_{avg}=af_{avg}+b\0=af_{min}+bfavg​=afavg​+b0=afmin​+b

  这是我根据书上结果反推得出的推导公式。通过简单的计算即可得出适应值非负条件下的系数a和b。与基础条件不同之处在于将可能为负值的变换后的适应度置为0.

3.4遗传操作3.4.1选择

  选择操作也称为复制操作是从当前群体中按照一定概率选出优良的个体,使他们有机会作为父代繁殖下一代子孙。判断个体优良与否的准则是各个个体的适应度值。  在遗传算法中,哪个个体被选择进行交叉是按照概率进行的。适应度大的个体被选择的概率大,但不是说一定能够被选上。同样,适应度小的个体被选择的概率小,但也可能被选上。这体现了遗传算法的随机性的特点。  适应度比例方法非常容易理解,就是按个体适应度在整个种群总适应度的所占比例分配概率。而排序方法根据适应度大小顺序对群体中个体进行排序,然后把事先设计好的概率按排序分配给个体,作为各自的选择概率。选择概率仅仅取决于个体在种群中的序位,而不是实际的适应度值。

图9选择流程及方法总结表2选择个体方法总结选择个体方法概述轮盘赌选择先按个体的选择概率产生一个轮盘,轮盘每个区的角度与个体的选择概率成比例,然后产生一个随机数,它落入转盘的哪个区域就选择相应的个体交叉锦标赛选择从群体中随机选择k个个体,将其中适应度最高的个体保存到下一代。这一过程反复执行,直到保存到下一代的个体数达到预先设定的数量为止最佳个体保存方法把群体中适应度最高的一个或者多个个体不进行交叉而直接复制到下一代中,保证遗传算法终止时候得到的最后结果一定是历代出现过的最高适应度的个体3.4.2交叉

  当两个生物体配对或者复制时,它们的染色体相互混合,产生一个由双方基因组成的全新的染色体组。这一过程称为重组或者交叉。这里的交叉操作就是高中生物中的AB和Ab进行交配产生新的基因型的过程。

图10交叉算子总结

  简单描述部分匹配交叉PMX。先依据均匀随机分布产生两个交叉点,定义两点之间的区域为一匹配区域,并使用位置交换操作交换两个父串的匹配区域。现在举例说明:

A=984|567|132B=871|239|546

  首先交换A和B的两个匹配区域,得到

A=984|239|132B=871|567|546

  显然,根据出现的重复任务,这就是非法调度。解决方法是将匹配区域外出现的重复任务,按照匹配区域内的位置映射关系进行交换,进而使排列成为可行调度。进一步解释,根据匹配区域的位置位置映射关系,即“2-5、3-6、9-7”,先对A中出现的重复任务“2、3”和“9”进行替换(不存在顺序关系,“3,2”也是重复的),即替换成“5,6,7”,然后将替换掉的字符“2,3,9”补到对应的B中所出现空缺的位置。最后结果即为

A=784|239|165B=891|567|243

  实验表明交叉概率通常取值为0.7左右是理想的。每次从群体中选择两个染色体,同时生成0和1之间的一个随机数,然后根据这个随机数确定这两个染色体是否需要交叉。如果随机数低于交叉概率,就进行交叉。

3.4.3变异

  对于变异操作,可以理解为高中生物中的加一段染色体或者替换染色体中的某一基因段等操作。在遗传算法中,变异是将个体编码的一些位进行随机变化。变异算子的基本内容是对群体中的个体串的某些基因座上的基因值作变动。变异操作是按位进行的,即把某一位的内容进行变异。变异概率是在一个染色体中按位进行变化的概率。主要的变异方法如图11所示。

图11变异算子总结

  在遗传算法中,变异属于辅助性的搜索操作(在做高中生物时,变异也属于题目需要特别提示的内容,并非必须)。变异概率一般不能大,以防止群体中重要的、单一的基因可能被丢失。实际上,变异概率太大将使得遗传算法趋于纯粹的随机搜索。

4基本遗传算法总结

  图12为基本遗传算法的流程图。遗传算法是一个利用随机技术来指导对一个编码的参数空间进行高效率搜索的方法,而不是无方向的随机搜索。许多传统搜索方法都是单解搜索方法,遗传算法采用群体搜索策略,即采用同时处理群体中多个个体的方法,同时对搜索空间中的多个解进行评估,从而使遗传算法具有较好的全局搜索性能,减少了陷于局部优解的风险,但不能保证每次都得到全局最优解。显而易见,遗传算法本身十分易于并行化。  在基本遗传算法中,基本上不用搜索空间的知识或其他辅助信息,而仅仅用适应度函数值来评估个体,并在此基础上进行遗传操作,使种群中个体之间进行信息交换。特别是遗传算法的适应度函数不仅不受连续可微的约束,而且其定义域也可以任意设定。对适应度函数的唯一要求就是能够算出可以比较的正值。

图12基本遗传算法流程图5遗传算法改进

  接下来的遗传算法改进,实际上就是针对与图12的基本遗传算法流程进行改进。下面将简述三种改进算法在哪一环节进行了改进。

5.1双倍体遗传算法

  上文阐述的基本遗传算法属于单倍体遗传,每个基因型由一条染色体(也就是基因型AB,分别只有一个等位基因A和B)。显然,大多数动物和高级植物都采用双倍体遗传(也就是AaBb),即每个基因型由一对染色体决定。这势必会出现显隐性遗传问题。  那具体在图12的哪一部分作出调整呢?须知双倍体遗传算法采用显性遗传,并且提供了一种记忆以前有用的基因块功能。  进一步而言,在选择操作中,按照显性染色体的选择概率将个体复制到下一代群体中;同时,在交叉操作中,两个体的显性染色体和隐形染色体分别进行交叉操作;在变异操作中,显性染色体按照正常的变异概率执行操作,隐形染色体按照较大的概率进行操作。  与基本遗传算法的一个显著区别在于,执行完上述操作后,会再增加一个显隐性重排操作,因为每一轮迭代之后,并不能确定显性和隐性的在下一轮划分,有了显隐性重排操作,增加了算法的随机性,也提高了隐性染色体里优良基因的存活概率。具体来说,个体中适应度较大的染色体设定为下一轮的显性染色体,适应度较小的染色体设定为下一轮的隐性染色体。

5.2双种群遗传算法

  双种群遗传算法意在突破平衡态——长时间进化后某些特征处于相对优势的状态,实际上,这再次体现出算法在接近全力“逼近”全局最优,是一个具有优秀扩展性的启发式搜索算法。  对比图12,主要区别在于双种群同时进行图中操作,但在执行完上述操作后,增加一步杂交操作,即交换种群之间优秀个体所携带的遗传信息,以打破种群内的平衡态以达到更高的平衡态,有利于算法跳出局部最优。  杂交算子,具体来说,设种群A和种群B,当两种群均完成了选择、交叉和变异操作后,产生一个随机数num,随机选择A中num个个体与A中最优个体,随机选择B中num个个体与B中最优个体,交换两者,打破平衡态。“产生随机数num”又一次体现了算法的随机性。

5.3自适应遗传算法

  自适应遗传算法的改进关键点在于交叉概率和变异概率,使两概率能随适应度变化自动改变。这样即可保证算法可以跳出局部最优情况,也可以利于优良个体的生存。所以,自适应遗传算法在保持群体多样性的同时,保证遗传算法的收敛性。  对比图12,区别在于交叉算子中,要使用自适应公式计算交叉概率,然后产生随机数,如果小于计算后的概率,那么交叉该对染色体对;同理,在变异算子中,也使用自适应公式计算变异概率,并产生随机数,若小于计算后的概率,那么变异该染色体。

6参考文献王万良.人工智能导论(第4版)[M]:高等教育出版社,2017.

开发人工智能使用哪种编程语言好

最适合人工智能开发的5种编程语言,你知道几种?

01、Python

第一名毫无疑问是Python。尽管Python有些特性令人不爽(whitespace、Python2.x和Python3.x之间的巨大差异、五种不同的包机制都在不同程度上有缺陷)但如果你正在从事AI工作,你几乎肯定会在某些时候用到Python。

Python中可用库的数量是其他语言所无法企及的。NumPy已经变得如此普遍,以至于几乎成为了张量运算的标准API,Pandas将R的强大而灵活的数据帧带入Python。对于自然语言处理(NLP),您可以使用久负盛名的NLTK和快如闪电的SpaCy。对于机器学习,有经过实战检验的Scikit-learn。当谈到深度学习时,当前所有的库(TensorFlow,PyTorch,Chainer,ApacheMXNet,Theano等)都是在Python上首先实现的项目。

(在LiveEdu上,一位德国的AI开发者教大家如何使用Python开发两个简单的机器学习模型)

Python是人工智能研究的前沿语言,这是拥有最多机器学习和深度学习框架的语言,也是AI研究者几乎都掌握的语言。由于这些原因,Python仍然是人工智能编程语言之王,您没法绕过它。

02、JAVA和相关语言

JVM系列语言(Java,Scala,Kotlin,Clojure等)也是AI应用开发的绝佳选择。无论是自然语言处理(CoreNLP)、张量运算(ND4J)还是完整的GPU加速深度学习堆栈(DL4J),您都可以使用大量的库来管理流水线的各个部分。另外,您还可以轻松访问ApacheSpark和ApacheHadoop等大数据平台。

Java是大多数企业的通用语言,在Java8和Java9中提供了新的语言结构,这使得编写Java代码的体验不再像我们过去所记得的那样糟糕。使用Java编写人工智能应用可能会让人觉得无聊,但它确实能完成工作,并且您可以使用所有现成的Java基础架构来开发、部署和监视。

03、C/C++

在开发AI应用时,C/C++不太可能成为您的首选,但如果您在嵌入式环境中工作,并且无法承受Java虚拟机或Python解释器的开销,那么C/C++就是最好的解决方案。当你需要榨干系统的每一滴性能时,你就得面对可怕的指针世界。

幸运的是,现代C/C++写起来体验还不错(实话实说!)。您可以从下列方法中选择一个最适合的:您可以一头扎进堆栈底部,使用CUDA等库来编写自己的代码,这些代码将直接在GPU上运行;您也可以使用TensorFlow或Caffe以访问灵活的高级API。后者还允许您导入数据科学家用Python写的模型,然后以C/C++级别的速度在生产环境中运行它们。

在未来一年中,请密切留意Rust在AI领域的一些动作。结合C/C++级别的速度与类型和数据安全性,Rust是实现产品级性能却不会造成安全问题的最佳选择。并且它现在已经可以与TensorFlow绑定了。

04、Java

Java?我没听错吧?其实,谷歌最近发布了TensorFlow.js,这是一个WebGL加速库,允许您在Web浏览器中训练和运行机器学习模型。它还包括KerasAPI以及加载和使用在常规TensorFlow中训练过的模型的功能。这可能会吸引大量的JS开发者涌入AI领域。

虽然Java目前能够访问的机器学习库与其他语言相比有所局限,但在不久的将来,开发者在网页中添加神经网络就和添加React组件或CSS属性一样简单。这听上去既强大又恐怖。

TensorFlow.js仍处于早期阶段。目前它可在浏览器中运行,但不适用于Node.js。它还没有实现完整的TensorFlowAPI。不过,我预计到2018年底,这两个问题都将基本得到解决,并且Java将在不久之后大举进军AI界。

05、R语言

R在这份榜单中排名最末,并且看上去将会越来越没落。

R是数据科学家喜欢的语言。但是,其他程序员在第一次接触R时会感到有些困惑,因为它采用了以数据帧为中心的方法。如果您有一组专门的R开发者,那么将R与TensorFlow、Keras或H2O搭配使用,进行研究、原型设计和实验是有意义的。但基于性能和操作方面的考虑,我不愿意推荐将R用于生产。

虽然您可以写出能在生产服务器上部署的高性能R代码,但将这种用R语言编写的原型重新编码为Java或Python肯定会更容易。

人工智能,火的不能再火的词了,想要驾驭他还需要不断的磨练,语言是与人工智能对话的基本条件,以上的五种语言你掌握了几种呢?不想成为未来世界的文盲就快些行动起来吧!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

上一篇

下一篇