重学机器学习,巩固基础数学推导知识。
原笔记用Typora完成,这里主要学习一些基本概念和一些概念的数学表达,方面在后面推导中快速建立体系。
机器学习,致力于研究如何通过计算的手段, 利用经验来改善系统自身的性能.
在计算机系统中,“经验”通常以“数据”形式存在。
因此, 机器学习所研究的主要内容, 是关于在计算机上从数据中产生 “模 型” (model) 的算法, 即 “学习算法”(learning algorithm).
有了学习算法, 我 们把经验数据提供给它, 它就能基于这些数据产生模型;
在面对新的情况时(例 如看到一个没剖开的西瓜), 模型会给我们提供相应的判断(例如好瓜).
如果说 计算机科学是研究关于 “算法”的学问, 那么类似的, 可以说机器学习是研究 关于“学习算法”的学问.
数据集(data set)
样本(sample)& 示例(instance):构成样本
特征(feature) & 属性(attribute)
属性值(attribute value)
样本空间(sample space) & 属性空间 & 输入空间:属性张成的空间
把"色泽" “根蒂” "敲声"作为三个坐标轴,它们张成 一个用于描述西瓜的三维空间,每个西瓜都可在这个空间中找到自己的坐标位置。由于空间中的每个点对应一个坐标向量,因此我们也把个一个示例称为一个 “特征向量” (feature vector). (通常是高维的)
一般的向量表示:
学习(learning) & 训练(training):从数据中学习到模型
训练数据 和 数据样本 和 数据集
假设(hypothesis):模型对应于数据的某种潜在的规律(其实是一种分布)
真相(ground-truth):规律本身
学习器:就是模型,算法在给定数据和参数空间上的实例化
标记(label):好瓜 & 坏瓜
实例(example):拥有了标记信息的示例(sample)
**标记空间 & 输出空间:**所有标记的集合 Y \mathcal{Y} Y
预测任务类型:
学习任务分类:是否拥有标记信息
泛化能力(generalization):适应新样本的能力
机器学习中的一个基本假设:通常假设样本空间中全体样本服从一个未知“分布” (distribution) D \mathcal{D} D, 我们获得的每个样本都是独立地从这个分布上采样获得的, 即 “独立同分布” (independent and identically distributed, 简称 i . i . d . ) i . i . d .) i.i.d.). 一般而訁, 训练样本越多, 我们得到的关于 D \mathcal{D} D 的信息。
错误率(error rate): m m m 个样本中有 a a a 个样本分类错误, 则错误率 E = a / m ; E=a / m ; E=a/m;
精度(accuracy):精度 = 1 - 错误率
误差(error):模型的实际预测和样本的真实输出之间的差异。
过拟合 (overfitting):当学习器把训练样本学得" 太好 "的时候,就会把训练样本自身的一些特点当作所有潜在样本都会具有的一般性质,这样就会导致泛化性能下降。
相对应于 欠拟合(underfitting)
过拟合:模型学习能力过于强大,把训练样本的“不一般”特性也学会了。
欠拟合:模型学习能力底下。
一个包含 m m m 个样例的数据集 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , … , ( x m , y m ) } D=\left\{\left(\boldsymbol{x}_{1}, y_{1}\right),\left(\boldsymbol{x}_{2}, y_{2}\right), \ldots,\right.\left.\left(\boldsymbol{x}_{m}, y_{m}\right)\right\} D={(x1,y1),(x2,y2),…,(xm,ym)}, 既要训练, 又要测试, 怎样才能做到呢?
答案是: 通过对 D D D 进行适当 的处理, 从中产生出训练集 S S S 和测试集 T T T.
(备注:1.数据集或benchmark data 分割好了,实际中未分割要考虑该问题。 2.深度学习中因为数据量巨大,有时并不需要这些方法,只需做简单split(即留出)。)
分层采样(stratified sampling):保留类别比例的采样,基本都采用该思路。
留出法:最常见的将数据进行split切分,8:1:1 等。
交叉验证(k-fold cross validation):数据集划分为 k k k 个, k − 1 k-1 k−1为训练集合— 1 1 1份为测试集合。多次试验取平均。
自助法(bootstrapping):主要基于自助采样法(bootstrap sampling),以采样得到的 D ′ D^{\prime} D′为训练集, D \ D ′ D \backslash D^{\prime} D\D′ 用作测试集。
模型参数和调参(parameter setting)是不同的,调参通常是指学习算法的参数。
性能度量(performance measure):除了上述的实验估计方法,还需要有衡量模型的 评价标准
在预测任务中, 给定样例集 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , … , ( x m , y m ) } D=\left\{\left(\boldsymbol{x}_{1}, y_{1}\right),\left(\boldsymbol{x}_{2}, y_{2}\right), \ldots,\left(\boldsymbol{x}_{m}, y_{m}\right)\right\} D={(x1,y1),(x2,y2),…,(xm,ym)}, 其中 y i y_{i} yi是示例 x i \boldsymbol{x}_{i} xi 的真实标记. 要评估学习器 f f f 的性能, 就要把学习器预测结果 f ( x ) f(\boldsymbol{x}) f(x)与真实标记 y y y 进行比较.
回归任务最常用的性能度量是:
E ( f ; D ) = 1 m ∑ i = 1 m ( f ( x i ) − y i ) 2 E(f ; D)=\frac{1}{m} \sum_{i=1}^{m}\left(f\left(\boldsymbol{x}_{i}\right)-y_{i}\right)^{2} E(f;D)=m1i=1∑m(f(xi)−yi)2
E ( f ; D ) = ∫ x ∼ D ( f ( x ) − y ) 2 p ( x ) d x E(f ; \mathcal{D})=\int_{\boldsymbol{x} \sim \mathcal{D}}(f(\boldsymbol{x})-y)^{2} p(\boldsymbol{x}) \mathrm{d} \boldsymbol{x} E(f;D)=∫x∼D(f(x)−y)2p(x)dx
在预测任务中, 给定样例集 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , … , ( x m , y m ) } D=\left\{\left(\boldsymbol{x}_{1}, y_{1}\right),\left(\boldsymbol{x}_{2}, y_{2}\right), \ldots,\left(\boldsymbol{x}_{m}, y_{m}\right)\right\} D={(x1,y1),(x2,y2),…,(xm,ym)}, 其中 y i y_{i} yi是示例 x i \boldsymbol{x}_{i} xi 的真实标记. 要评估学习器 f f f 的性能, 就要把学习器预测结果 f ( x ) f(\boldsymbol{x}) f(x)与真实标记 y y y 进行比较。
样例集 D D D :
E ( f ; D ) = 1 m ∑ i = 1 m I ( f ( x i ) ≠ y i ) E(f ; D)=\frac{1}{m} \sum_{i=1}^{m} \mathbb{I}\left(f\left(\boldsymbol{x}_{i}\right) \neq y_{i}\right) E(f;D)=m1i=1∑mI(f(xi)=yi)
acc ( f ; D ) = 1 m ∑ i = 1 m I ( f ( x i ) = y i ) = 1 − E ( f ; D ) . \begin{aligned} \operatorname{acc}(f ; D) &=\frac{1}{m} \sum_{i=1}^{m} \mathbb{I}\left(f\left(\boldsymbol{x}_{i}\right)=y_{i}\right) \\ &=1-E(f ; D) . \end{aligned} acc(f;D)=m1i=1∑mI(f(xi)=yi)=1−E(f;D).
一般形式:
E ( f ; D ) = ∫ x ∼ D I ( f ( x ) ≠ y ) p ( x ) d x E(f ; \mathcal{D})=\int_{\boldsymbol{x} \sim \mathcal{D}} \mathbb{I}(f(\boldsymbol{x}) \neq y) p(\boldsymbol{x}) \mathrm{d} \boldsymbol{x} E(f;D)=∫x∼DI(f(x)=y)p(x)dx
acc ( f ; D ) = ∫ x ∼ D I ( f ( x ) = y ) p ( x ) d x = 1 − E ( f ; D ) \begin{aligned} \operatorname{acc}(f ; \mathcal{D}) &=\int_{\boldsymbol{x} \sim \mathcal{D}} \mathbb{I}(f(\boldsymbol{x})=y) p(\boldsymbol{x}) \mathrm{d} \boldsymbol{x} \\ &=1-E(f ; \mathcal{D}) \end{aligned} acc(f;D)=∫x∼DI(f(x)=y)p(x)dx=1−E(f;D)
错误率和精度虽常用,但并不能满足所有任务需求。
以二分类为例,其核心为混淆矩阵(confusion matrix)
TP+FP+TN+FN=样例总数
真实情况 | 预测结果 | |
---|---|---|
正例 | 反例 | |
正例 | TP | FN |
反例 | FP | TN |
查准率 P P P 与查全率 R R R 分别定义为
P = T P T P + F P , R = T P T P + F N \begin{gathered} P=\frac{T P}{T P+F P}, \\ R=\frac{T P}{T P+F N} \end{gathered} P=TP+FPTP,R=TP+FNTP
P 和 R 是一对矛盾的变量
例:好瓜尽可能被选出来,多选点(查全率);好瓜的比例高,少选点。(查准率)
根据学习器的预测结果对样例进行排序,排在前面 的是学习器认为"最可能 "是正例的样本。排在最后的则是学习器认为"最 不可能"是正例的样本。按此顺序逐个把样本作为正例进行预测(其实,就是对逐个样本作为阈值划分点的方法)
F 1 F 1 F1 是基于查准率与查 全率的调和平均(harmonic mean)定义的:
1 F 1 = 1 2 ⋅ ( 1 P + 1 R ) \frac{1}{F 1}=\frac{1}{2} \cdot\left(\frac{1}{P}+\frac{1}{R}\right) F11=21⋅(P1+R1)
F β F_{\beta} Fβ 则是加权调和平均:( β \beta β衡量了PR的相对重要性)
1 F β = 1 1 + β 2 ⋅ ( 1 P + β 2 R ) \frac{1}{F_{\beta}}=\frac{1}{1+\beta^{2}} \cdot\left(\frac{1}{P}+\frac{\beta^{2}}{R}\right) Fβ1=1+β21⋅(P1+Rβ2)
F 1 : F 1: F1:
F 1 = 2 × P × R P + R = 2 × T P 样例总数 + T P − T N . F 1=\frac{2 \times P \times R}{P+R}=\frac{2 \times T P}{\text { 样例总数 }+T P-T N} . F1=P+R2×P×R= 样例总数 +TP−TN2×TP.