我应该学习哪些程序才能进行计算建模?

时间:2009-10-18 13:30:15

标签: programming-languages artificial-intelligence machine-learning neural-network

我有一些空闲时间,我正在寻找一种或两种可用于计算建模的编程语言(我在认知科学与心理学方面)。我不确定我是否最终会进行神经网络,机器学习,人工智能或者完全不同的事情,所以我只是想寻找一个好的,广泛的基础,就像在正确的方向上轻推一样。我所知道的只是一点C,所以我有办法去。

您能推荐一些在实验室中常用的编程语言吗?我希望在几年内使用我在研究生培训中学到的东西。

我还需要学习一些数学,如微分方程和基本线性代数。你觉得我还需要别的吗?

非常感谢。

3 个答案:

答案 0 :(得分:1)

  • FORTRAN 在科学应用中仍然很常见。
  • LISP 是一个非常好的选择(特别是对于AI)
  • 如今, Python 在学术界变得非常流行。

tl;博士:学习Lisp。你不会后悔的。

答案 1 :(得分:0)

好吧,您可以尝试使用Google来拍照。 “神经网络python”获得29次点击。 “神经网络c ++”获得94,000次点击。 “神经网络lisp”获得四次点击(!)。显然,这不是问题的真正解决方案,但它可能会提供一些关于应该使用何种语言的提示。

答案 2 :(得分:0)

我的工作(直到最近),正是在你的领域,认知科学研究。以下是我的建议,按重要性排序:

  1. Matlab - 除了作为实现神经网络模型和类似模型的可靠语言外,还使用Psychtoolbox系统实现了大量的实验室实验,这是一个最初为心理物理学研究而设计的Matlab软件包,但也可用于眼球跟踪,功能磁共振成像和简单的行为研究。它也是功能优化和模型拟合等产品的绝佳选择。如果你最终做AI,那么Matlab是一个相当普遍的选择。
  2. R - 这是新人的后起之秀(在SO上越来越多的存在!)。对于具有用于数据操作和分析,统计和图形的库的编程语言而言,这是您最好的选择。与商业统计软件包相比,它更好地支持现代统计(混合效应模型,贝叶斯方法)。另一方面,它是由统计学家设计和编写的功能语言,而且学习起来相当困难。
  3. Python - Python还拥有一个由科学和数字用户组成的重要社区,以及一些优秀的图书馆。但我知道认知科学中只有少数研究人员会使用它,所以你会在一段时间内感到孤独。然而,它比R更容易学习,并且在数据处理和简单统计方面与R一样好。我怀疑它在AI中更常见。
  4. Java - 如果您最终在AI中工作,或者构建大规模模型(由许多研究人员使用)用于认知科学,那么您可能正在使用GUI构建东西,Java就是这样的标准。
  5. 您可能会学习一些语言,但如果您愿意,可以避免使用。

    1. Perl - Perl是一种用于投放数据的优秀语言。它与R一样遭遇“太多的做事方式”问题,并且对统计数据分析没有太多支持。另一方面,如果您有一个由您的眼球跟踪系统生成的大量数据文件,并且您需要将它们转换为SPSS可以使用的格式,那么如果您不了解R,Perl是一个不错的选择。
    2. Visual Basic - 构建心理实验的一个非常常见的系统是E-Prime,它是Visual Basic for Applications的拖放式叠加。你可以做的简单的事情,没有编程,但复杂的东西需要工作可能是最疯狂的编程语言,以获得广泛的使用。
    3. C ++ - 如果你最终做了AI跟踪,你肯定最终会学习C ++。否则,这不值得麻烦。