机器学习笔记-1
机器学习 笔记-1
定义
一个计算机程序能够从经验E中学习(学习任务是T,学习的表现用P衡量),这个程序在任务T与表现衡量P下,可以通过经验E得到改进。
一致性假设 划分 泛化能力
机器学习的分类
监督学习
无监督学习
强化学习
数据集
- 训练集(training set):用来训练模型算法,通过设置分类器参数,训练分类模型。
- 验证集(validation set):训练集训练出的多个模型对验证集数据进行预测,并记录模型准确 率。选出效果最佳的模型所对应的参数,即用来调整模型参数。
- 测试集(test set):用来测试模型的性能和分类能力。
当模型无需人为设定超参数,所有参数都通过学习得到,则不需要验证集。
分类
监督学习
supervised learning
有导师学习:分类与回归
从给定的训练数据集中学习出一个函数(模型参数),当输入新数据时,可以根据这个函数预测结果。
- 分类(classification):输出时离散型变量,是一种定性输出。(如预测明天天气晴、阴、雨)
- 回归(regression):输出是连续型变量,是一种定量输出。(如预测明天是多少度)
无监督学习
unsupervised learning
无导师学习:聚类和维度约简
输入数据没有标签,样本数据类别未知,需要根据样本间的相似性对样本进行划分使类内差距最小化,类间差距最大化。
- 基于概率密度函数估计的直接方法。
- 基于样本间相似性度量的聚类方法。
强化学习
reinforcement learning
再励学习、评价学习或增强学习
用于描述和解决智能体(agent)在与环境交互过程中通过学习策略以达成回报最大或实现特定目标的问题。
不同于监督学习和无监督学习,强化学习不需要预先给定数据,而是接收环境对动作的奖励(反馈)获得学习信息并更新模型参数。
误差
误差(error)指的是模型输出与真值(labels)的偏离程度,通常定义一个损失函数(loss functionn)来衡量误差的大小。
- 在训练集上的产生误差称为经验误差(empirical error)或者训练误差。
- 经验误差的大小反映了模型在训练数据上拟合效果的好坏。
- 模型在未知样本上的误差称为泛化误差(generalization error),通常将测试误差作为泛化误差的近似值。
- 泛化误差用于衡量训练好的模型对未知数据的预测能力。
过拟合与欠拟合
过拟合(overfitting)
模型在训练样本中表现得过于优越,导致在验证数据集以及测试数据集中表现不佳。
欠拟合(under-fitting)
指模型在训练和预测时表现得都不好。
评估方法
留出法(hold-out)
交叉验证法(cross validation)
自助法(bootstrap)
留出法
- 已有的数据集分为两个互斥的部分
- 保证数据分布一致
- 测试集比例一般保持在1/3~1/5
交叉验证法
- 将数据集(m个样本)分为互斥的k份(数据分布一致)
- 分别以其中的一份作为验证集,做出k个模型
- 将它们的误差做平均
- 当k=m时,称为留一法
自助法
数据集D中包含m个数据,对D进行m次有放回采样,得到训练集D’,未出现在D’中的数据作为测试集。
样本不出现在D’中的概率为: $$ p=\left(1-\dfrac{1}{m}\right)^m\quad\xrightarrow{\text{对m求极限}}\quad\lim_{n\to\infty}\left(1-\dfrac{1}{m}\right)^m\to \dfrac{1}{e}\approx0.368 $$
- 适用于小数据集
- 不会减小数据集规模
- 改变了数据分布,易引起估计偏差
机器学习的性能度量
分类问题
混淆矩阵
confusion matrix
误差矩阵
功能:主要用于比较分类结果和实例的真实信息
如:二分类
- 准确率(accuracy):正确预测的正反例数 / 总数
$$ \mathrm{Accuracy=\dfrac{TP+TN}{TP+TN+FN+FP}} $$
- 精确率(precision):正确预测的正例数 / 预测正例总数
$$ \mathrm{Precision=\dfrac{TP}{TP+FP}} $$
- 召回率(recall):正确预测的正例数 / 实际正例总数
$$ \mathrm{Recall=\dfrac{TP}{TP+FN}} $$
F-score
precision和recall的调和值
$$ \mathrm{F-score=(1+\beta^2)\dfrac{Precision\times Recall}{\beta^2\times Precision+Recall}} $$
$\beta=1$时,$\mathrm{F1-score}$ $\mathrm{或F1-Measure}$,精确率和召回率权重相等
$\beta<1$时,精确率更重要
$\beta>1$时,召回率更重要
ROC曲线
receive operating characteristic curve
- 真正率(TPR):预测为正的正样本数 / 正样本实际数 $\quad\mathrm{TPR=TP/(TP+FN)}$
- 假正率(FPR):预测为正的负样本数 / 负样本实际数 $\quad\mathrm{FRP=TP/(FP+TN)}$
ROC曲线以TPR为纵坐标,以FPR为横坐标。
AUC
area under curver
ROC的积分
二分类时AUC=0.5即随机猜测
PR曲线
precision recall curver
以precision为纵坐标,以TPR(recall)为横坐标
- 在同一测试集中,上面的曲线要比下面的曲线好
- 光滑曲线比不光滑曲线好
回归问题
误差
平均绝对误差(mean absolute error, MAE):L1范数损失(L1-norm loss) $$ \mathrm{MAE}(y,\hat{y})=\dfrac{1}{n_{samples}}\displaystyle\sum_{i=1}^{n_{samples}}\vert y_i-\hat{y}_i\vert $$
平均平方误差(mean squared error, MSE):L2范数损失(L2-norm loss) $$ \mathrm{MSE}(y,\hat{y})=\dfrac{1}{n_{samples}}\displaystyle\sum_{i=1}^{n_{samples}}(y_i-\hat{y}_i)^2 $$
均方根误差(RMSE): $$ \mathrm{RMSE}=\sqrt{\dfrac{1}{n_{samples}}\displaystyle\sum_{i=1}^{n_{samples}}(y_i-\hat{y}_i)^2} $$
解释变异
explained variation
给定数据中的变异能被数学模型所解释的部分,通常用方差来量化变异。 $$ \mathrm{explainedvariance}(y,\hat{y})=1-\dfrac{Var(y-\hat{y})}{Var,y} $$
决定系数
coefficient of determination
回归关系已经解释的y值变异 在其总变异中所占的比率 $$ R^2(y,\hat{y})=1-\dfrac{\sum_{i=1}^{n_{samples}}(y_i-\hat{y}_i)^2}{\sum_{i=1}^{n_{samples}}(y_i-\bar{y}_i)^2} $$ 其中$\bar{y}=\dfrac{1}{n_{samples}}\displaystyle\sum_{n=1}^{n_{samples}}y_i$
聚类问题
兰德指数
rand index
给定实际类别信息C,假设K是聚类结果,a表示C与K都是同类别的元素对数,b表示C与K中都是不同类别的元素对数 $$ \mathrm{RI}=\dfrac{a+b}{C_{2}^{n_{samples}}}\qquad\qquad\text{RI取值范围为[0, 1]} $$
调整兰德指数
adjust rand index
$$ \mathrm{ARI=\dfrac{RI-E(RI)}{\max{(RI)}-E(RI)}}\qquad\qquad\text{ARI的取值范围为[-1, 1]} $$
互信息
mutual information, MI
用来衡量两个数据分布的吻合程度
假设U和V是对N个样本标签的分布情况 $$ \mathrm{MI}(U,V)=\displaystyle\sum_{i=1}^{\vert U\vert}\sum_{j=1}^{\vert V\vert}P(i,j)\log\left(\dfrac{P(i,j)}{P(i)P(j)}\right) $$
标准化的互信息
normalized mutual information , NMI
$$ \mathrm{NMI}(U,V)=\dfrac{\mathrm{MI}(U,V)}{\sqrt{H(U)H(V)}} $$
调整互信息
adjust mutual information , AMI
$$ \mathrm{AMI}=\dfrac{\mathrm{MI}-E[\mathrm{MI}]}{\max{(H(U),H(V))-E[\mathrm{MI}]}} $$
轮廓系数
silhouette coefficient
对于单个样本,设$a$是与它同类别中其他样本的平均距离,$b$是与它距离最近的不同类别中样本的平均距离 $$ S=\dfrac{b-a}{\max(a,b)}\qquad\qquad\qquad\text{范围为[-1, 1]} $$ 适用于实际类别信息未知的情况