dataquest上的一篇文章:Math in Data Science 列举了在数据科学中一些需要掌握的常用基本数学模型。
朴素贝叶斯、线性回归、Logistic回归、神经网络、K均值聚类、决策树
- 1 Naïve Bayes’ Classifiers 朴素贝叶斯分类器
- 2 Linear Regression 线性回归
- 3 Logistic Regression 逻辑回归
- 4 Neural Networks 神经网络
- 5 K-Means Clustering K均值聚类
- 6 Decision Tree 决策树
1 Naïve Bayes’ Classifiers 朴素贝叶斯分类器
定义:朴素贝叶斯分类器是一系列基于同一个原则的算法,即某一特定特征值独立于任何其它特征值。朴素贝叶斯让我们可以根据我们所知道的相关事件的条件预测事件发生的概率。该名称源于贝叶斯定理,数学公式如下:
其中有事件 A和事件 B,且$P(B)$不等于 0。拆解为三部分:
- $p(A\mid B) $ 是一个条件概率,即事件B发生的条件下事件A发生的概率。
- $p(B\mid A) $也是一个条件概率,即事件A发生的条件下事件B发生的概率。
- $p(A)$和$p(B)$ 是事件A和事件B分别发生的概率,其中两者相互独立。
所需数学知识:如果你想了解朴素贝叶斯分类器算法的基本原理以及贝叶斯定理的所有用法,一门概率论课程就足够了。
2 Linear Regression 线性回归
定义:线性回归是最基本的回归类型。它帮助我们理解两个连续变量间的关系。简单的线性回归就是获取一组数据点并绘制可用于预测未来的趋势线。线性回归是参数化机器学习的一个例子。在参数化机器学习中,训练过程使机器学习算法变成一个数学函数,能拟合在训练集中发现的模式。然后可以使用该数学函数来预测未来的结果。在机器学习中,数学函数被称为模型。在线性回归的情况下,模型可以表示为:
其中 $a_1$, $a_2$, …,$a_n$ 表示数据集的特定参数值,$x_1$, $x_2$, …, $x_n$ 表示我们选择在最终的模型中使用的特征列,$y$表示目标列。线性回归的目标是找到能描述特征列和目标列之间关系的最佳参数值。换句话说,就是找到最能最佳拟合数据的直线,以便根据线的趋势来预测未来结果。
为了找到线性回归模型的最佳参数,我们要最小化模型的残差平方和。残差通常也被称为误差,用来描述预测值和真实值之间的差异。残差平方和的公式可以表示为:
其中$\hat{y}$是目标列的预测值,$y$是真实值。
所需数学知识:如果你只想简单了解一下线性回归,学习一门基础统计学的课程就可以了。如果你想对概念有深入的理解,你可能就需要知道如何推导出残差平方和的公式,这在大多数高级统计学课程中都有介绍。
3 Logistic Regression 逻辑回归
定义:Logistic 回归重点关注在因变量取二值(即只有两个值,0 和 1 表示输出结果)的情况下估算发生事件的概率。与线性回归一样,Logistic 回归是参数化机器学习的一个例子。因此,这些机器学习算法的训练结果是得到一个能够最好地近似训练集中模式的数学函数。区别在于,线性回归模型输出的是实数,而 Logistic 回归模型输出的是概率值。
正如线性回归算法产生线性函数模型一样,Logistic 回归算法生成 Logistic 函数模型。它也被称作 Sigmoid 函数(S型函数),会将所有输入值映射为 0 和 1 之间的概率结果。Sigmoid 函数可以表示如下:
那么为什么 Sigmoid 函数总是返回 0 到 1 之间的值呢?请记住,代数中任意数的负数次方等于这个数正数次方的倒数。
所需数学知识:我们在这里已经讨论过指数和概率,你需要对代数和概率有充分的理解,以便理解 Logistic 算法的工作原理。如果你想深入了解概念,我建议你学习概率论以及离散数学或实数分析。
4 Neural Networks 神经网络
定义 :神经网络是一种机器学习模型,它受到人类大脑神经元结构的松散启发。这些模型是通过使用一系列被称为神经元的激活单元来预测一些结果而建立的。神经元接收一些输入,应用一个转换函数,然后返回一个输出。

当我们观察任何类型的神经网络时,我们会注意到到处都是线,把每个圆连接到另一个圆。在数学中,这就是所谓的图,一种由节点(用圆圈表示)组成的数据结构,节点之间由边(用直线表示)连接。记住,我们这里所指的图形与线性模型或其他方程的图形不同。如果你熟悉旅行推销员问题(Travelling salesman problem)你可能熟悉图的概念。
神经网络的核心是一个系统,接受一些数据,执行一些线性代数,然后输出一些答案。
线性代数是理解神经网络背后发生的事情的关键。
线性代数是关于线性方程的数学分支(例如:$y=mx+b$),通过矩阵和向量空间来表示线性方程。因为线性代数关注的是通过矩阵来表示线性方程,所以矩阵是基本的概念,你需要知道它才能开始理解神经网络的核心部分。矩阵是由数字、符号或表达式组成的按行或列排列的矩形数组。矩阵的描述方式如下:行与列。例如:
这被称为$3×3$矩阵,因为它有3行3列。
通过处理神经网络,每个特征都表示为输入神经元。要素列的每个数值都乘以表示输出神经元的权重向量。在数学上,该过程是这样写的:
其中$X$是$m × n$矩阵,其中$m$是输入神经元的数量,$n$是下一层中神经元的数量。权重向量表示为$a$,而$a^T$是$a$的转置,偏差单位表示为$b$。
偏差单位是通过向左或向右移动sigmoid函数来影响神经网络输出的单位,以便对某些数据集进行更好的预测。转置是一个线性代数术语,它的意思是行成为列,列成为行。我们需要进行a的转置,因为当矩阵相乘时,第一个矩阵的列数必须等于第二个矩阵中的行数。例如,如果我们有一个$3×3$矩阵和一个$1×3$的权重向量,我们就不能完全相乘,因为三不等于一。但是,如果我们采用$1×3$向量的转置,得到一个$3 ×1$的向量,我们可以成功将矩阵与向量相乘。
在所有的特征列和权重相乘之后,将调用一个激活函数来确定神经元是否被激活。激活函数主要有三种类型:RELU函数、sigmoid函数和双曲正切函数。我们已经熟悉了sigmoid函数。
RELU函数是一个简洁的函数,它接受一个输入x,如果它大于0,则输出相同的数字;如果输入小于0,它等于0。双曲正切函数本质上与sigmoid函数相同,只是它取-1和1之间的任何值。

所需数学知识:我们已经讨论了相当多的概念!如果你想对这里的数学有一个基本的了解,离散数学课程和线性代数课程是很好的起点。为了加深对概念的理解,我推荐图论、矩阵理论、多元微积分、实数分析等课程。
5 K-Means Clustering K均值聚类
定义:K Means 聚类算法是一种无监督机器学习,用于对无标签数据(即没有定义的类别或分组)进行归类。该算法的工作原理是发掘出数据中的聚类簇,其中聚类簇的数量由 k 表示。然后进行迭代,根据特征将每个数据点分配给 k 个簇中的一个。K 均值聚类依赖贯穿于整个算法中的距离概念将数据点“分配”到不同的簇中。距离的概念是指两个给定项之间的空间大小。在数学中,描述集合中任意两个元素之间距离的函数称为距离函数或度量。其中有两种常用类型:欧氏距离和曼哈顿距离。欧氏距离的标准定义如下:
其中$(x_1,y_1)$ 和 $(x_2,y_2)$ 是笛卡尔平面上的坐标点。虽然欧氏距离应用面很广,但在某些情况下也不起作用。假设你在一个大城市散步;如果有一个巨大的建筑阻挡你的路线,这时你说:”我与目的地相距 6.5 个单位”是没有意义的。为了解决这个问题,我们可以使用曼哈顿距离。曼哈顿距离公式如下:
其中$(x_1,y_1)$ 和 $(x_2,y_2)$ 是笛卡尔平面上的坐标点。
所需数学知识:实际上你只需要知道加减法,并理解代数的基础知识,就可以掌握距离公式。但是为了深入了解每种度量所包含的基本几何类型,我建议学习一下包含欧氏几何和非欧氏几何的几何学。为了深入理解度量和度量空间的含义,我会阅读数学分析并选修实数分析的课程。
6 Decision Tree 决策树
定义:决策树是类似流程图的树结构,它使用分支方法来说明决策的每个可能结果。树中的每个节点代表对特定变量的测试,每个分支都是该测试的结果。决策树依赖于信息论的理论来确定它们是如何构建的。在信息论中,人们对某个事件的了解越多,他们能从中获取的新信息就越少。信息论的关键指标之一被称为熵。熵是对给定变量的不确定性量进行量化的度量。熵可以被表示为:
在上式中,$P(x_i) $是随机事件 $x_i$ 发生的概率。对数的底数 b 可以是任何大于 0 的实数;通常底数的值为 2、$e(2.71)$和 10。像”S”的花式符号$\sum$是求和符号,即可以连续地将求和符号之外的函数相加,相加的次数取决于求和的下限和上限。在计算熵之后,我们可以通过利用信息增益开始构造决策树,从而判断哪种分裂方法能最大程度地减少熵。信息增益的公式如下:
信息增益可以衡量信息量,即获得多少”比特“信息。在决策树的情况下,我们可以计算数据集中每列的信息增益,以便找到哪列将为我们提供最大的信息增益,然后在该列上进行分裂。
所需数学知识:想初步理解决策树只需基本的代数和概率知识。如果你想要对概率和对数进行深入的概念性理解,我推荐你学习概率论和代数课程。
课程连接:
