机器学习:Chapter1~3

2019-03-06  本文已影响0人  vickeex

Chapter 1: 绪论

术语

  • learning
* supervised learning, 监督学习: 训练数据具有标记信息
    * classification, 分类: 预测的是离散值
    * regressiong, 回归: 预测的是连续值
* unsupervised learning, 无监督学习: 训练数据不拥有标记信息
    * clustering, 聚类: 将训练集中的样本分为若干类(cluster)

假设空间

归纳偏好


Chapter 2: 模型评估与选择

经验误差与过拟合

  • Q: 如何进行模型选择(model selection)

评估方法

模型选择的理想解决方案: 对候选模型的泛化误差进行评估, 选择泛化误差最小的模型. 但泛化误差无法直接获得, 使用训练误差又会得到过于"乐观"的结果.
故使用测试集(testing sest)来测试学习器对新样本的判别能力, 以测试机上的测试误差(testing error)作为泛化误差的近似.
要求: 测试集应该尽可能与训练集互斥.

  • Q: 包含m个样例的数据集 D={(x1,y1), (x2,y2), ..., (xm,ym)}, 如何对D进行适当处理以从中产出训练集S和测试集T

留出法(hold-out)

直接将数据集D划分为两个互斥的集合, 分别作为训练集S和测试集T.即 D=S∪T, S∩T=∅.
note:

  1. 训练/测试集的划分应尽可能保持数据分布的一致性(如: 类别比例, 等), 避免引入额外的偏差.
  2. S与D的容量影响所得模型的性能: S太大->模型更接近于D训练出的模型, 结果不够稳定准确; S太小->降低了评估结果的保真性(fidelity). 一般将大约2/3~4/5的样本用于训练, 剩余样本用于测试.

单次使用留出法得到的结果不够稳定可靠, 一般采用若干次随机划分, 重复进行实验评估后取平均值作为留出法的评估结果.


交叉验证法(cross validation)

将数据集D划分为k个大小相似的互斥子集, 即: D=D1∪D2∪...∪Dk , Di∪Dj=∅(i≠j).每个子集Di都尽可能保持数据分布的一致性(即从D中分层采样得到). 每次用k-1个子集的并集作为训练集, 余下的子集作为测试集. 如此获得k组训练/测试集, 进行k次训练和测试, 最终返回这k次测试结果的均值. 此方法亦称为"k折交叉验证"(k-fold cross validation), k常取10、5、20等.


自助法(bootstrapping)

自助采样: 给定包含m个样本的数据集D, 每次随机从D中挑选一个样本并将其拷贝放入D', 该样本放回D中; 重复此过程m次, 得到包含m个样本的数据集D'.
样本在m次采样中始终不被采到的概率为 lim (1-1/m)m -> 1/e ≈ 0.368
D中约有36.8%的样本未出现在D‘中, 故将D/D'用作测试集. 这样的测试结果亦称为"包外估计"(out-of-bag estimate).

自助法适用于数据集较小、难以有效划分训练/测试集时. 且能产生多个不同的训练集, 有利于集成学习. 但自助法产生的数据集该变量初始数据集的分布, 引入了估计偏差, 故不如前两种方法常用.


调参(parameter tuning)与最终模型

很多参数在实数范围内取值, 通常通过对每个参数选定一个范围和变化步长, 来减少调参工作量.
在模型选择完成后(学习算法和参数配置已确定), 应用数据集D重新训练模型以作为最终提交给用户的模型.
validation set, 验证集: 模型评估与选择中用于评估测试的数据集.


性能度量(performance measure)

性能度量: 衡量模型泛化能力的评价标准. 如何评估: 把学习器预测结果与真实标记进行比较.
mean squared error, 均方误差: 回归任务中的常用性能度量, 表示为: 1/m· ∑(f(xi)-yi)2;
对于概率密度函数p(·), 均方误差: ∫(f(x)-y)2p(x)dx


错误率与精度

错误率与精度是分类任务中常用的性能度量. (见前文)

  • 公式略

查准率(precision)、查全率(recall)与F1

查准率 P=TP/(TP+FP); 查全率 R=TP/(TP+FN)
两者是矛盾的度量.

真相/预测结果 正例 反例
正例 TP(真正例, true positive) FN(假反例, false negative)
反例 FP(假正例, false positive) FN(真反例, true negative)

P-R图: 以查准率为纵轴、查全率为横轴作图, 得到P-R图.

  • Q: 如何根据P-R曲线比较学习器的性能?

break-even point, 平衡点(BEP): 查准率=查全率时的取值, 查找平衡点以进行性能比较. 此度量过于简单, 不适用于用户对查准率和查全率有所偏好的情况.
F1度量: 一般形式为Fβ ,
F_β =\frac{(1+β^2)×P×R}{(β^2×P)+R}
其中β度量了查全率/查准率的相对重要性: β=1时, 标准的F1; β>1时, 查全率有更大影响; β<1时, 查准率有更大影响.

多个二分类混淆矩阵: 多次训练/测试, 每次得到一个混淆矩阵, 在这多个矩阵上综合考察"查准/查全"->


ROC与AUC

根据任务需求采用不同的截断点(测试样本产生一个实数值), 截断点前一部分判作正例, 后一部分作为反例.
receiver operating characteristic, 受试者工作特征曲线(ROC): 以FPR为横轴、TPR为纵轴作图.

area under R0C curve, ROC曲线下的面积(AUC): 用于比较两个学习器的性能. AUC=1-lrank (lrank 为排序损失)


代价敏感错误率与代价曲线

unequal cost, 非均等代价: 不同类型错误所造成的损失不同.
代价矩阵(cost matrix): costij表示将第i类样本预测为第j类样本的代价.
根据代价矩阵计算的代价敏感(error-sensitive)错误率, 以二分类的代价敏感错误率举例:
E(f;D;cost) = \frac{1}{m}(\sum_{x_i∈D^+}Ⅱ(f(x_i)≠y_i)×cost_{01}+ \sum_{x_i∈D^+}Ⅱ(f(x_i)≠y_i)×cost_{10})

cost curve, 代价曲线: 以正例概率代价为横轴、归一化代价为纵轴作图所得曲线. 由曲线可计算学习器在固定条件下的期望总体代价.
正例概率代价: P(+)cost = \frac{p×cost_{01}}{p×cost_{01}+(1-p)×cost_{10}}
归一化代价: cost_{norm} = \frac{FNR×p×cost_{01}+FPR×(1-P)×cost_{10}}{p×cost_{01}+(1-p)×cost_{10}}


比较检验(理解不到, 暂放)


偏差与方差

偏差-方差分解: 解释学习算法泛化性能的重要工具


Chapter 3: 线性模型

线性模型基本形式: f(x)= wTx+b

线性回归(linear regression)

离散属性:

least square method, 最小二乘法: 基于均方误差最小化来进行模型求解.
multivariate linear regression, 多元线性回归: 需要对向量矩阵进行转化. (可能有过个节)
log-linear regression, 对数线性回归: ln y= wTx+b, 求取输入空间到输出空间的非线性函数映射.
考虑单调可微函数g(·), 广义线性模型: y= g-1(wTx+b), 其中g(·)称为联系函数(link function).


对数几率回归(logistic regression)

针对分类学习, 通过找一个单调可微函数将分类的真实标记y与线性回归模型的预测值联系起来.
unit-step function, 单位越阶函数: 不连续.
logistic function, 对数几率函数: y = 1/(1+e-z) = 1/(1+e-wTx+b), 称为对数几率回归模型.
通过极大似然法(maximum likelihood method)估计此模型的w和b, 求得最优解可用梯度下降法、牛顿法等.


线性判别分析(linear discriminant analysis)

亦称Fisher判别分析, LDA思想: 给定训练样例集, 设法将样例投影到一条直线上, 使得同类样例的投影点尽可能接近、异类样例的投影点尽可能远离; 在对新样例进行分类时, 将其投影到同样的这条直线上, 再根据投影点的位置来确定新样本的类别.

  • 使同类样例的投影点尽可能接近, 通过计算使同类样例投影点的协方差尽可能小;
    而异类样例的投影点应尽可能远离, 使其类中心之间的距离尽可能大.

多分类学习

基本思路为"拆解法", 利用二分类学习器: 先对问题进行拆分, 为拆出的每个二分类任务训练一个分类器; 在测试时, 对这些分类器的预测结果进行集成以获得最终的多分类结果.
经典拆分策略:


类别不平衡(class-imbalance)问题

指分类任务中不同类别的训练样例数目差别很大的情况.
假设"训练集是真是样本总体的无偏采样", 通过"再缩放(rescaling)"对预测值进行调整. y'/(1-y') = y/(1-y) * m-/m+ <式3.1>
该假设一般不成立, 三种策略:

上一篇下一篇

猜你喜欢

热点阅读