资源记录
- 前言 | 数据科学中的 R 语言 📘 - 四川师范大学研究生公选课《数据科学中的R语言》的课程内容,其中也会涉及简单的数据科学原理。
- KeepNotes blog 📝 - 一些R语言和统计问题拾贝。
- 统计之都 📊 - 中文统计学论坛,会定期发表文章,介绍最新的R包,统计学模型和访谈。
- CS自学指南 💻 - 计算机科学自学指南,其中包括了一个计算机专业学生的知识体系。
- WRITE-BUG数字空间 - 新一代一站式团队协作知识库 🚀 - Writebug有很多高质量的,类似于微信公众号的文章。
- Bioinformatics Tutorial - Bioinformatics Tutorial 🧬 - 一个以应用为导向的生物信息学学习站。
- Life·Intelligence - 博客园 🌱 - 博主主要关注生物科学、单细胞测序的知识。
- 【布客】AI Learning 🤖 - AI学习的一站式,偏应用。
- 单细胞测序教程资源聚合 | 一个夏天的年少 🌟 - 单细胞测序教程资源整合。
此外,多去关注Github上有趣的教程和项目。
书本推荐:
- 《高等数学》(同济);《线性代数》(上交);《概率论和数理统计》(浙大);
- 《生物统计学基础》(_Fundamentals of Biostatistics_;Bernard Rosner);《流行病学》(人民卫生出版社);
- 《鸢尾花书:从加减乘除到机器学习》(Visualize-ML);
- 《R语言编程—基于tidyverse》;
- 《遗传学基础》(William S.Klug / Michael R.Cummings / Charlotte A.Spencer / Michael A.Palladino)。
一些牢骚
大一,医用物理学的最后一章——混沌理论,采用数学的方法建模复杂动力学系统的运行规律,并提出了一点轻微的初值改变就可以让整个系统天翻地覆,即著名的蝴蝶定律。
当然,这并不意味着倘若那只蝴蝶扇动翅膀,就必然会引起飓风;但若我们逮到所有的蝴蝶,那么飓风可以预测。这强烈提示人们一种认知观点,复杂的现象背后可以拆解为简单的论断;基于底层法则,自然界得以混沌。
生命是自然界最复杂的现象,就在您读这句话的一刹那,组成我们身体的亿万细胞正发生着无法计数的生命事件,伴随着无法计数的化学物质数量和性质的变化。医学发展的某些部分,尤其是中医学,习惯用系统论的思维去认识生命活动,化繁为简,这方便了知识的理解,也让机械零碎的医学知识得到整合,但其似乎无法回答最根本的问题——生命究竟是什么?
还原论把知识构建在底层逻辑上,如薛定谔尝试用基本的物理学去解释生命发生。但还原论有时会陷入机械唯物论的窠臼。
人类的智慧在于突破概念,不必困惑在还原论和系统论的是非之中。认识世界的方向一定是刨根问底,寻根思因的;在其中,系统论帮助我们更进一步了解可能的逻辑……但这是符合人类思维的逻辑,人类是否能认知最后的核心还不得而知。
对于生命而言,其现象本身是基于自然界的物理规律。故探根问底,也会在我们能理解的知识结构内。
如何寻找生命科学的原子命题?我想,就不能完全依靠传统生命科学逐个知识的积累,而应该充分利用生物数据去解析其背后的模式。
感谢大一时的计算机课,感谢大一时候用免疫学逻辑启蒙我的刘文涛教授,给我打开一扇理解世界的门。
看似的有序中,人们会发现无序。而我们的梦想就是,发现无序背后更深刻的有序,那么我们就有可能进一步探索用现有范式所不能描述、解释或预测的现象。
学习体会
陷于晋升、升学的要求,互联网上主要是快餐式的学习,一些便捷的工具也层出不穷。
基于应用的学习并不困难,许多优秀的公众号和博客,以及Github上有丰富的资源。但是大家未必有这个意识,从而形成所谓壁垒,构建了虚伪的不可替代性,而实际上人人都应该能获取这样的知识。
但,如果有兴趣,我们可以尝试啃一啃硬骨头,理解其基本原理,掌握基本的思维方法,从中认识到人类思维探索的规律。
我的学习路径,是从应用式的学习开始:
(1)统计学理论(掌握统计学的基本思维模式,所以了解知识的来历很重要):生物统计学基础(Fundamentals of Biostatistics;Bernard Rosner);
(2)流行病学理论(掌握流行病学的基本思想,我觉得流行病学最核心观点是比较,而由于主要研究样本,所以如何妥善解决样本相关问题占据了流行病学中大部分内容(可以概括为代表性和可比性)。重点是要能够设计合理的研究框架):流行病学(人民卫生出版社;沈洪兵);
(3)公众号(主要的反而不是里面的代码,而是推送的文章,文章里面会采用各种统计模型;善于用微信搜索东西,但是……看多了也会信息爆炸):生信技能树(转录组学);灵活胖子的科研进步之路(临床统计等);
(4)编程:Python;R语言(mlr3包弥补了R语言机器学习较弱的历史):推荐《R语言编程—基于tidyverse》;张敬信;C++(Python和R处理矩阵读写非常耗时间,C++可以有效解决这一问题);Linux(linux学习后,对于计算机会用得更加得心应手,习惯用命令行解决问题后效率会大大提高):系统架构的原理,基本命令的掌握。
(5)其他人的文章;
(6)基础数学(和几个高中同学一直保持联系,感受到数学系的同学的确是有一种独特的思维特性去思考问题的,而且我这个时候也遇上了数学基础不够深入理解原理的瓶颈):《数学分析》(主要是基本的微积分,多元函数看一部分;用《高等数学》(同济)或者《数学分析》(复旦)都可以);《线性代数》(对于处理生物数据非常重要!但医学生往往不深入学习这个。理解线性代数的基本思想,推荐上海交通大学的《线性代数》);《概率论和数理统计》(生物统计学那本书里面只会关注基本的统计检验,对于不同的统计学学派,原理不会过多介绍。但概率论和数理统计中大量的数学推导就要求有数学分析的基础)。
其他:
对于基础数学部分,推荐《鸢尾花书:从加减乘除到机器学习》。这套书在Github有开源版本,里面丰富的可视化对于理解线性代数相关知识非常直观。
机器学习部分推荐从《统计学习方法》入门,先修分析学、线性代数和概率论。周志华的《机器学习》实际上数学理论比《统计学习方法》低一点,能够构建对机器学习是什么的认知。
上述理论部分所蕴含的思维方法对于认识世界是一种角度,同时上述的技术部分也的确在方便我们生活,发散我们思维,所以感觉是充实的。
期间,可能需要对遗传学、尤其是基因组学数据有深入了解。可以去啃一下国外的《遗传学基础》(可以当作工具书)。
有时候会有点间断,这个时候会想起已故南大计算机教授徐家福教授八十多岁跨界学习量子力学的实例,共勉~