Python的优势有很对,使用它对你来说也有着各种好处,但不可否认的是,确实存在诸如MATLAB和Mathematica这样的高级程序语言。它们对机器学习的支持也不错,MATLAB甚至还自带许多机器学习的应用。但是作为一个问心无愧的程序员,我们还是需要提倡支持正版,而MATLAB的正版软件需要花费数千美元。与之相对,由于Python是开源项目,几乎所有必要的组件都是完全免费的。

之前也提到过Python的速度问题,但是更快更底层的语言,比如C和C++,若使用它们来学习机器学习,会不可避免地引发这么一个问题:即使是实现一个非常简单的功能,也需要进行大量的编写和调试的过程;在这期间,程序员很有可能忘掉学习机器学习的初衷而迷失在代码的海洋中。笔者曾经尝试过将Python上的神经网络框架移植到C++上,这之间的折腾至今难忘。

此外,笔者认为、使用Python来学习机器学习是和“不要过早优化”这句编程界的金句有着异曲同工之妙的。Python(几乎)唯一的缺陷—速度,在初期进行快速检验算法、思想正误及开发工作时,其实基本上不是重要问题。其中的道理是显而易见的:如果解决问题的思想存在问题,那么即使拼命去提高程序的运行效率,也只能使问题越来越大而已。这种时候,先使用Python进行快速实现,有必要时再用底层代码重写核心代码,从各方面来说都是一个更好的选择。

关于Anaconda

Python的强大有相当大一部分体现在它那浩如烟海的第三方库。在使用Python实现一个复杂功能时,如果没有特殊的需求,我们通常会先搜索Google有没有现成的第三方库,然后会搜索是否有相关联的第三方库,最后才会考虑自己重头实现。

第三方库是如此之多,从中挑选出心仪而合适的并非易事。幸运的是,就连这一点也有第三方软件进行了支持,那就是在Python科学计算领域非常出名的Anaconda。这是一个完全免费的软件,经常会进行各种更新;最重要的是,它把几乎所有常用且优异的科学计算库都集成在了一起。换句话说,只要你安装了Anaconda,就意味着拥有了一个完善精致的机器学习环境,基本上无须自己把要用到的库一个一个通过命令行来安装。我们可以使用Python和学习机器结合来更加有效的学习。让工作更加完善。

 

 



相关文章