0

У меня есть свободное время, и я ищу, чтобы изучить язык программирования или два, которые я могу использовать для вычислительного моделирования (я в когнитивной науке & психологии). Я не уверен, что в конечном итоге я буду заниматься нервными сетями, машинным обучением, искусственным интеллектом или чем-то совсем другим, поэтому я просто ищу хорошую, широкую базу для начала, как подталкивание в правильном направлении. Все, что я знаю, немного C, поэтому у меня есть способы пойти.Какие программы следует изучать, чтобы иметь возможность делать компьютерное моделирование?

Не могли бы вы порекомендовать любые языки программирования, которые обычно используются в лабораториях, выполняющих вычислительную работу? Я надеюсь, что через пару лет я буду учиться в аспирантуре.

Мне также нужно подобрать немного больше математики, как дифференциальные уравнения и базовую линейную алгебру. Вы полагаете, что мне нужно что-нибудь еще?

Большое спасибо.

+0

Не могли бы вы уточнить, какие проблемы вы намереваетесь решить? –

ответ

1
  • FORTRAN по-прежнему очень распространен в научных приложениях.
  • LISP является очень хорошим выбором (особенно для AI)
  • этих дней Python становится очень модным в академических кругах.

tl; dr: Learn Lisp. Вы не пожалеете об этом.

+2

+1 - Python *** абсолютно подходит для указанного приложения и также очень легко учится. – aviraldg

+0

@DrJokepu: Спасибо за советы. Моя единственная забота заключается в том, что изучение Common Lisp может быть пустой тратой, поскольку я слышал, что это больше не используется. Я хочу выучить язык, который я бы тоже использовал в лаборатории. @aviraldg: Да, теперь сильно наклонился к Python. Спасибо! – Ter

0

Ну, вы можете попробовать использовать Google, чтобы получить снимок. «нейронная сеть python» получает 29 хитов. «нейронная сеть C++» получает 94 000 обращений. «neural network lisp» получает четыре хита (!). Очевидно, что это не является реальным решением проблемы, но может дать некоторые подсказки относительно того, какой язык следует использовать.

+0

Что это значит? Много ничего. Просто означает, что * большинство людей используют C++ для реализации NN, но это не значит, что это проще всего использовать для указанной цели ... Основная цель OPs - симуляция, а не эффективный код. Но я согласен. LISP очень неуместен для этого. – aviraldg

+0

Я согласен с тобой, он не несет большого веса. Но это один из способов замалчивания информации в отсутствие твердых фактов. – 2009-10-18 13:56:56

0

Я работал (до недавнего времени), точно в вашей области, исследования по познавательной науке. Вот мои предложения, в порядке важности:

  1. Matlab - В дополнении к тому, твердый языком для реализации нейросетевых моделей и аналогичный, хороший кусок лабораторных экспериментов, реализованный с использованием системы Psychtoolbox, пакет Matlab первоначально предназначенный для психофизических исследований, но также применимый для таких вещей, как наблюдение за глазами, fMRI и простые поведенческие исследования. Это также отличный выбор для таких функций, как оптимизация функций и подгонка модели. Если вы закончите делать ИИ, Matlab - довольно распространенный выбор.
  2. R - Это новичка up-and-comer (с растущим присутствием здесь на SO!). Это ваш лучший выбор для языка программирования с библиотеками для обработки и анализа данных, статистики и графического отображения. Он лучше поддерживает современную статистику (модели смешанных эффектов, байесовские подходы), чем пакеты с коммерческой статистикой. С другой стороны, это функциональный язык, разработанный и написанный статистиками, и его может быть довольно сложно изучить.
  3. Python - У Python также есть значительное сообщество научных и числовых пользователей, а также некоторые хорошие библиотеки. Но я знаю только нескольких исследователей в области когнитивной науки, которые используют его, поэтому вам будет немного одиноко. Это гораздо более чистый язык для изучения, чем R, хотя он так же хорош, как и при манипулировании данными и более простой статистике. Я подозреваю, что это более распространено в ИИ.
  4. Java - Если вы в конечном итоге работаете в ИИ или создаете более масштабные модели (используемые многими исследователями) для когнитивной науки, вы, вероятно, будете строить вещи с помощью графических интерфейсов, а Java - это стандарт для этого.

И несколько языков, которые вы могли бы узнать, но, возможно, можете избежать, если хотите.

  1. Perl - Perl - отличный язык для строповки данных. Он страдает от того же «слишком много способов делать что-то» как R, и не имеет большой поддержки для анализа статистических данных. С другой стороны, если у вас есть гигантский набор файлов данных, созданных вашей системой eyetracking, и вам нужно преобразовать их в формат, который может использовать SPSS, Perl - хороший выбор, если вы не знаете R.
  2. Visual Basic - очень распространенная система для построения психологических экспериментов - это E-Prime, которая является перетаскиванием на Visual Basic для приложений. Простые вещи, которые вы можете делать без программирования, но сложный материал требует работы, возможно, самого дерзкого языка программирования, когда-либо получающего широкое распространение.
  3. C++ - Если вы закончите выполнение дорожки AI, вы обязательно закончите изучение C++. В противном случае это не стоит проблем.
+0

Отлично подходит для встречи с другим человеком! На данный момент я сосредоточусь на MATLAB и Python (PsychToolbox и PsychoPy выглядят как отличные заменители SuperLab Pro). Я определенно намерен забрать R позже. Большое спасибо! – Ter

Смежные вопросы