点击“开发者技术前线”,选择“星标????”
在看|星标|留言, 真爱
来源 | medium 出品 | AI科技大本营
AI系统的开发必须有计算机代码,而计算机程序的开发有不同类型的编程语言可以选择。本文分析哪些编程语言最适合你的人工智能或机器学习用例开发。
文中给出了一个想要在人工智能行业成功所需的5种编程语言的简单列表。针对给定的人工智能或机器学习项目,每种语言都有相应的优势和缺点,所以在选择开发语言前要考虑最终的目标。
这5个最适合人工智能行业的编程语言是:Python;R;Java;Scala;Rust。
Python
Python是人工智能行业最主流的编程语言,因为python具有易于学习的语法、大量的库和框架、对众多AI算法的动态适用性、而且相对容易编写。
Python支持面向功能、面向对象和面向过程的开发方式。此外,大量开放社区还在帮助python语言处在计算机科学行业的前沿。
与其他编程语言相比,python的缺点包括是运行速度慢、面向移动设备的编码功能较差、不利于处理内存密集型任务。
R
R是另一个机器学习编程语言。R语言最常用于数据分析、大数据建模和数据可视化。R语言包含多个包设置和大量的材料,使得其非常适合处理数据为中心的任务。
R语言的缺点包括大量使用内存、缺乏基本安全功能(无法嵌入web应用中)、和基于古老的S编程语言。
Java
Java是一种面向对象的编程语言,优势包括可以与搜索算法(搜索算法是能够有效支持大规模项目的简化框架)很好地结合、易于调试代码等。此外,Java也有完善的社区支持和大量的开源库。
与其他语言相比,Java的缺点包括性能不佳;由于运行在Java虚拟机之上,因此内存使用效率低下。以上两个缺点会导致硬件成本增加。
Scala
Scala是一个可扩展的编程语言,可以处理大量大数据。Scala支持支持面向对象和函数式编程的风格。由于其简洁的代码风格,Scala比其他语言更具可读性和易于编写。
Scala语言的速度和性能使得其非常适合机器学习和AI模型,并具有相对无差错的编码,在必要时容于进行调试。
Scala的不足包括所有面向对象和函数式编程的缺点。因为该语言融合了多种编程风格,因此使得理解类型信息更加困难。此外,切换回面向对象样式的选项也可能被视为弊端,因为在编写代码时不会在功能上进行思考。
Rust
Rust是系统级的编程语言。创建该语言的目的是编写“安全”代码,也就是说对象是由程序本身管理的。这样程序员就无需进行指针计算或独立管理内存。使用的内存较少一般会使代码更简洁,因此可能更易于编程。
比其他语言相比,Rust语言的缺点包括编译器更慢、没有垃圾回收机制、开发速度慢(与python对比)。Python 和 Go 都很火,要怎么选?
一本名为Foundations of Machine Learning(《机器学习基础》)的课在Reddit上讨论火热,这部教材足够扎实、内容足够基础,学机器学习理论,熟读这本书就足够了。
这本书是由纽约大学计算机科学教授Mehryar Mohri、Afshin Rostamizadeh和Ameet Talwalkar共同编写的,2012年曾经出版了第一版,这一版在此前基础上进行了内容的完善。
全书是对机器学习的一般性知识介绍,也是不少大学的研究生教材,侧重于算法的分析和理论。书中的内容基本上涵盖了机器学习当前阶段的热门基础概念,同时还附上了算法论证所需的理论基础和工具。
原价30多美元的书,当前免费开放。
教材官网:cs.nyu.edu/~mohri/mlboo
二、主要内容
下面是主要目录
C学习框架
Rademacher复杂性和VC维(Vapnic-Chervonenkis Dimension)
模型选择
支持向量机
核理论
Boosting家族
在线学习
多级分类
排序
回归
最大熵模型
条件最大熵模型
算法稳定
降维
学习自动机和语言
强化学习
资源获取
附上云盘下载链接,长按扫码关注:Python高校,后台回复机器学习基础(建议复制)即可获得百度网盘地址。
(公众号有大量Python,和AI相关资源,欢迎关注!)
END
后台回复“电子书” “资料” 领取一份干货,数百技术电子书等你
开发者技术前线 ,汇集技术前线快讯和关注行业趋势,大厂干货,是开发者经历和成长的优秀指南。
历史推荐
阿里巴巴重磅开源MNNKit:基于MNN的移动端深度学习SDK,支持安卓和iOS
点个在看吧