Python是学习(和实现)机器学习技术最好的语言之一,其原因主要有以下几点:
- 语言简单:如今,Python成为新手程序员首选语言的主要原因是它拥有简单的语法和庞大的社区。
- 功能强大:语法简单并不意味着它功能薄弱。Python同样也是数据科学家和Web程序员最受欢迎的语言之一。Python社区所创建的库可以让你做任何你想做的事,包括机器学习。
- 丰富的ML库:目前有大量面向Python的机器学习库。你可以根据你的使用情况、技术和需求从数百个库中选择最合适的一个。
上面最后一点可以说是最重要的。驱动机器学习的算法相当复杂,包括了很多的数学知识,所以自己动手去实现它们(并保证其正常运行)将会是一件很困难的任务。幸运地是,有很多聪明的、有奉献精神的人为我们做了这个困难的工作,因此我们只需要专注于手边的应用程序即可。
(1)Tensorflow
Tensorflow是高级神经网络库,可以帮助你设计你的网络架构,避免出现低水平的细节错误。重点是允许你将计算表示成数据流图,它更适合于解决复杂问题。
此库主要使用C++编写,包括Python绑定,所以你不必担心其性能问题。它的一个特点是灵活的体系结构,允许你使用相同的API将其部署到一个或多个CPU或GPU的台式机、服务器或者移动设备。有此功能的库并不多,如果要说有,Tensorflow就是其一。
它是为谷歌大脑项目开发的,目前已被数百名工程师使用。
- 擅长:神经网络
- 网址:http://tensorflow.org/
- Github: https://github.com/tensorflow/tensorflow
(2)scikit-learn
scikit-learn绝对是其中一个,如果不是最流行的,那么也算得上是所有语言中流行的机器学习库之一。它拥有大量的数据挖掘和数据分析功能,使其成为研究人员和开发者的首选库。
其内置了流行的NumPy、SciPy,matplotlib库。
- 擅长:非常多
- 网址:http://scikit-learn.org/
- Github: http://github.com/scikit-learn/scikit-learn
(3)Caffe
Caffe是面向视觉应用领域的机器学习库。你可能会用它来创建深度神经网络,识别图像中的实体,甚至可以识别一个视觉样式。
Caffe提供GPU训练的无缝集成,当你训练图像时极力推荐使用此库。
- 擅长:神经网络/视觉深度学习
- 网址:http://caffe.berkeleyvision.org/
- Github:https://github.com/BVLC/caffe