R 语言必备基础知识

写着写着 R 与统计基础莫名其妙地又写开 R 基础了,一起写吧。

R 编程基础

算数运算

常用的+ - * \ ^ 可以直接在 console 中计算

计算函数

常用的log2(x) log10(x) exp(x) sin(x) tan(x) abs(x) sqrt(x) 也可以直接计算

变量赋值

a <- 3;a <- "b"赋值符号是<-, 使用 ls() 可以显示当前已经创建的对象

给初学者的 R 语言介绍

几点说明:

  1. 文档由 R Markdown[^1] 写成。

  2. 下文是我暂时能想到的一些内容,水平有限,供大家了解,大牛小神都可以出门右拐不用看哈。

  3. 写作初衷:目前在水中科院上海分院这边生物统计学助教,本文及后续一段时间里的 R 相关内容主要是为了供这门课的同学参考,同时也是自我总结的过程。


数据科学重要性

摩尔定律 [^2] 告诉我们计算机的计算能力每两年就会翻一倍,这使得数以百万计的计算机生成了大规模数据集。

海量的数据如何处理成了各行各业都需要面对和解决的问题;如何从海量信息中提取有效信息并总结出一般性的规律也值得我们去思考。

数据驱动下产生的这门学科,被我们称为数据科学(Data science),其中涉及到数据的收集、处理、分析和呈现四大方面。

2012 年,哈佛商业评论将 Data Scientist 定义为 21 世纪最性感的职业 ^3

『终极算法』摘抄笔记-贝叶斯学派

贝叶斯定理

对于贝叶斯学派来说,学习“仅仅是”贝叶斯定理的另外一个运用,将所有模型当作假设,将数据作为论据:随着你看到的数据越来越多,有些模型会变得越来越有可能性,而有些则相反,直到理想的模型渐渐突出,成为最终的胜者。

假设你半夜在一个陌生的星球上醒来。虽然你能看到的只是繁星闪烁的天空,你有理由相信太阳会在某个时间点升起,因为多数星球会自传并绕着自己的太阳转。所以你估计相应的概率应该会大于 1/2(比如说 2/3)。我们将其称为太阳会升起来的“先验概率”,因为这发生在看到任何证据之前。“先验概率”的基础并不是数过去这个星球上太阳升起的次数,因为过去你没有看到;它反映的是对于将要发生的事情,你优先相信的东西,这建立在你掌握的宇宙常识之上。但现在星星开始渐渐暗淡,所以你对于太阳会升起的信心越来越强,这建立于你在地球上生存的经历之上。你的这种信心源自“后验概率”,因为这个概率是在看到一些证据后得出的。天空开始渐渐变亮,后验概率又变得更大了

『终极算法』摘抄笔记-联结学派

赫布律

“当 A 细胞的轴突和 B 细胞足够近,并且重复或不断地对其放电时,A、B 中的一个细胞或者两个细胞都会经历生长过程或者代谢改变,这样 A 细胞(作为对 B 细胞放电的细胞之一)的效率就会得到提高。” 1949 年《行为的组织》

这段话经常被转述成“一起放电的神经元也会被串连在一起”。

赫布理论解释了神经元如何组成联接,从而形成记忆印痕(英语:engram(neuropsychology))。赫布理论阐明了细胞集群(Cell Assemblies)的形态和功能:“两个神经元或者神经元系统,如果总是同时兴奋,就会形成一种‘组合’,其中一个神经元的兴奋会促进另一个的兴奋。如果一个神经元持续激活另一个神经元,前者的轴突将会生长出突触小体(如果已有,则会继续长大)和后者的胞体相连接。”

高尔顿·威拉德·奥尔波特根据自联想 (auto-association) 的思路,进一步提出了关于细胞集群的作用,以及它们在形成记忆痕迹中的角色:

如果系统的输入会导致同样的模式重复出现,那么组成这个模式的元素之间的相互关联性将会大大增强。这意味着,其中任何一个元素都会倾向于触发同组的其他元素,同时(以减少权重的方式)抑制组外其他不相关元素。另一个角度来看,这个模式作为一个整体实现了“自联想”。我们可以把一个学习了(自联想)的模式称为记忆痕迹。

通常认为,从整体的角度来看,赫布学习是神经网络形成记忆痕迹的首要基础。

『终极算法』摘抄笔记-贝叶斯学派

贝叶斯定理

对于贝叶斯学派来说,学习“仅仅是”贝叶斯定理的另外一个运用,将所有模型当作假设,将数据作为论据:随着你看到的数据越来越多,有些模型会变得越来越有可能性,而有些则相反,直到理想的模型渐渐突出,成为最终的胜者。

假设你半夜在一个陌生的星球上醒来。虽然你能看到的只是繁星闪烁的天空,你有理由相信太阳会在某个时间点升起,因为多数星球会自传并绕着自己的太阳转。所以你估计相应的概率应该会大于 1/2(比如说 2/3)。我们将其称为太阳会升起来的“先验概率”,因为这发生在看到任何证据之前。“先验概率”的基础并不是数过去这个星球上太阳升起的次数,因为过去你没有看到;它反映的是对于将要发生的事情,你优先相信的东西,这建立在你掌握的宇宙常识之上。但现在星星开始渐渐暗淡,所以你对于太阳会升起的信心越来越强,这建立于你在地球上生存的经历之上。你的这种信心源自“后验概率”,因为这个概率是在看到一些证据后得出的。天空开始渐渐变亮,后验概率又变得更大了

『终极算法』摘抄笔记-符号学派

理性主义和经验主义

理性主义者认为,感官会欺骗人,而逻辑推理是通往知识的唯一可靠的道路。经验主义者认为所有推理都是不可靠的,知识必须来源于观察及实验。理性主义者喜欢在迈出第一步前,就提前规划好一切。经验主义者喜欢尝试新事物,然后看看结果会怎样。

柏拉图是早期的理性主义者,而亚里士多德是早期的经验主义者。关于这个问题的辩论,真正开始于启蒙运动时期,每方有三位伟大的思想家:笛卡儿、斯宾诺莎、莱布尼茨是理性主义的代表,洛克、贝克莱、休谟则是经验主义的代表。

『终极算法』摘抄笔记-五大算法概述

符号学派

所有的信息都可以简化为操作符号,就像数学家那样,为了解方程,会用其他表达式来代替本来的表达式。符号学者明白你不能从零开始学习:除了数据,你还需要一些原始的知识。他们已经弄明白如何把先前存在的知识并入学习中,如何结合动态的知识来解决新问题。他们的主算法是逆向演绎,逆向演绎致力于弄明白为了使演绎进展顺利哪些知识被省略了,然后弄明白是什么让主算法变得越来越综合。

连结学派

学习就是大脑所做的事情,因此我们要做的就是对大脑进行逆向演绎。大脑通过调整神经元之间连接的强度来进行学习,关键问题是找到哪些连接导致了误差,以及如何纠正这些误差。联结学派的主算法是反向传播学习算法,该算法将系统的输出与想要的结果相比较,然后连续一层一层地改变神经元之间的连接,目的是为了使输出的东西接近想要的东西。

『终极算法』摘抄笔记-算法和机器学习概述

什么是算法

算法就是一系列指令,告诉计算机该做什么。计算机是由几十亿个微小开关(称为晶体管)组成的,而算法能在一秒内打开并关闭这些开关几十亿次。

最简单的算法是触动开关。一个晶体管的状态就是一个比特信息:如果开关打开,信息就是 1;如果开关关闭,信息就是 0。

第二简单的算法是:把两个比特结合起来。克劳德·香农以“信息论之父”而为人所知,他第一个意识到晶体管的活动就是在运算,因为晶体管开了又关,是对其他晶体管的回应。

如果 A 晶体管只有在 B 和 C 晶体管都打开时才打开,那么这时它就是在做小型的逻辑运算。如果 A 晶体管在 B 和 C 晶体管其中一个打开时才打开,就是另外一种小型逻辑运算。如果 A 晶体管在 B 晶体管任何关闭的时候打开,或者反过来,这又是第三种运算。所有算法,无论多复杂,都能分解为这三种逻辑运算:且,或,非。

『终极算法』摘抄笔记-是否存在终极算法

同样的算法做不同的事情

朴素贝叶斯算法是一个可以用短方程来表达的学习算法。只要提供患者病历的数据库,包括病人症状、检查结果,或者他们是否有什么特殊情况,朴素贝叶斯算法就可在一秒之内做出诊断,而且往往比那些花几年在医学院学习的医生还要强。该算法还可应用于学习垃圾邮件过滤器,乍一看这和医疗诊断毫无关系。

最近邻算法的用途十分广泛,从笔迹识别到控制机器人手,以及推荐你可能喜欢的书籍或者电影。

决策树学习算法也同样擅长决定你的信用卡申请是否应被通过、寻找 DNA 中的绞接点,以及下棋时指导下一步该怎么走。

在机器学习领域,如果提供适当的数据来让机器学习,那么相同的算法既可以处理信用卡申请,也可以下棋。实际上大量的机器学习应用仅仅由几个算法来负责。

窥概率

概率论代表一种看待世界的方式,关注的焦点是可能性。对随机事件发生的可能性进行规范的数学描述是概率论的公理化过程。概率的公理化结构体现出的是对概率本质的认识。

贝叶斯定理

从科学研究的方法论来看,贝叶斯定理提供了一种全新的逻辑。它根据观测结果寻找合理的假设,或者说根据观测数据寻找最佳的理论解释,其关注的焦点在于后验概率
在贝叶斯学派眼中,概率描述的是随机事件的可信程度。如果手机里的天气预报应用给出明天下雨的概率是 85%,这就不能从频率的角度来解释,而是意味着明天下雨这个事件的可信度是 85%。

频率学派认为假设是客观存在且不会改变的,即存在固定的先验分布,只是作为观察者的我们无从知晓。因而在计算具体事件的概率时,要先确定概率分布的类型和参数,以此为基础进行概率推演。

相比之下,贝叶斯学派则认为固定的先验分布是不存在的,参数本身也是随机数。换言之,假设本身取决于观察结果,是不确定并且可以修正的。数据的作用就是对假设做出不断的修正,使观察者对概率的主观认识更加接近客观实际。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×