신경 과학 연구에 있어서 가장 필요한 컴퓨터 과학 기술은 무엇이 있나요?
2014년 3월 25일의 신경과학 관련 영어 블로그 What computer science skills are most valuable in neuroscience research?를 한국인 플레이어 @djajsl1234님이 번역하였습니다.
신경 과학 연구에 있어서 가장 필요한 컴퓨터 과학 기술에는 무엇이 있을까요?
신경과학자 Paul King이 Quora에서 답해주었습니다.
Here are a few that would make a good beginning: 시작하기에 좋은 몇가지를 소개합니다.
- 베이지언의 통계학과 베이지언의 신뢰 네트워크 (Bayesian statistics and Bayesian Belief Networks)
- 강화 학습 (Reinforcement Learning)
- 복소구배법과 같은 드문 부호화 (Sparse coding)
- 주 성분 분석(Principle Component Analysis, PCA)과 독립 성분 기법 (Independent Component Analysis, ICA)
- EM (Expectation Maximization) 알고리즘
- 뉴럴 네트워크 (Neural networks); 역전파 학습
- 통합-발화 뉴런 모델 (Integrate-and-Fire neuron model); 이온 채널 모델링 (Ion channel modeling)
- 콘벌루션 (Convolution, 2차원 이미지와 1차원 음파 ); 푸리에 변환 (Fourier Transform)
- 홉필드 네트워크 (Hopfield Networks), 볼츠만 기계 (Boltzmann Machines)
신경 과학에 있어서 가장 많이 쓰이는 컴퓨터 과학 기술은 매우 큰 규모의 통계적 데이터의 분석(Large-scale statistical data analysis)입니다.
전형적인 전기 물리학적 생물학 실험은 수 메가바이트(MB)에서 수 테라바이트(TB)의 전극 데이터를 잡아낼 것 입니다. 또한 EEG와 fMRI 연구는 수 백만에서 수 억만의 데이터 포인트를 잡아냅니다. 이 데이터는 “신호를 찾기 위해서” 철저한 큰 규모의 데이터 분석 알고리즘에서 작동 되어야 합니다.
MATLAB과 파이썬 (Python)은 위 알고리즘을 만들 때 가장 일반적으로 사용되는 프로그래밍 언어입니다. 이용 가능한 많은 오픈소스 라이브러리가 있습니다. 이러한 라이브러리를 사용하는 것은 통계적 메소드와 선형 대수학에 대해 많은 노력과 경험이 요구됩니다. 통계적 기계 학습을 아는 것 또한 좋습니다. 그렇기 때문에 수학과 알고리즘은 거의 동일합니다.
만약 당신이 데이터 분석에 손을 대어 보고 싶거나 테크닉을 독학 해 보고 싶다면, Cold Springs Harbor Labs 데이터 공유 웹 사이트에서 실제 신경 과학 데이터 세트를 다운로드 받을 수 있습니다. 이 웹 사이트는 신경 과학 데이터 세트를 포함하고 있습니다. 또한 과제를 하는 학생들에게도 매우 유용한 사이트입니다.
신경 과학에 있어서 프로그래밍 기술에 관한 좋은 책은 ‘MATLAB for Neuroscientists’ 가 있습니다.
(@djajsl1234님, 감사합니다!)