一、绪论
1.机器定义
- 利用经验改善系统自身的性能
- 随着该领域的发展,目前主要研究智能数据分析的理论和方法,并已成为只能数据分析技术的源泉之一
2.机器学习举例
2.1 医学文件筛选
2.2 画作鉴别
3.典型的机器学习过程
- 结果记为“标签”“label”
4.机器学习理论
最重要的理论模型:
指希望得出的结果与真实值之差小于等于ɛ的概率大于等于1-δ
5.基本术语
- 数据集;训练;测试
- 示例(instance):描述一组输入
- 样例(example):描述一组或多组训练结果,包括输入和输出
- 属性(attribute)/特征(feature);属性值
- 属性空间/样本空间/输入控件:把每一个属性想象成空间中的轴,此时任何一组数据在属性空间中都是一个点,也叫特征向量
- 特征空间(feature vector)
- 标记空间/输出空间
- 模型其实是找到的潜在的规律,从而形成一种假设(hypothesis),而真正的结果是真相(ground-truth)
- 分类:离散的输出;回归:连续的输出
- 二分类;多分类
- 正类;反类
- 监督学习:预测和回归;无监督学习:离散类别聚类、密度估计
- 未见样本(unseen instance):未来的新数据
- 未知“分布”:所有样本满足的未知的分布规律
- 独立同分布:每个样本都是独立的,满足同分布的
- 泛化(generalization):学到的模型处理新数据的能力
6.归纳偏好
- 机器学习算法在学习过程中对某种类型假设的偏好,任何一个有效的机器学习算法必有其偏好
- 奥卡姆剃刀原则:当多种理论都可以解释同种实验现象,选择最简单的理论(若非必要,勿增实体)。但是最简单的算法一般很难选出!
7.NFL定理(No Free Lunch)
- NFL定理的重要前提:所有“问题”出现的机会相同、或所有问题同等重要
二、模型评估与选择
1.泛化能力
2.过拟合和欠拟合
- 泛化误差:在“未来”样本上的误差
- 经验误差:在训练集上的误差,亦称“训练误差”。经验误差过小会导致过拟合
3.三大问题
- 评估方法:如何获得测试结果?
- 性能度量:如何评估性能优劣?
- 比较检验:如何判断实质差别?
4.评估方法
- 测试集应该训练集“互斥”
- 获得“测试集”的常用方法:留出法(hold-out)、交叉验证法(cross validation)、自助法(bootstrap)
4.1 留出法
- 要保持数据分布一致性(例如分层采样)
- 要多次重复划分(例如100次随机划分)
- 测试集不能太大也不能太小:测试集太大逼近正确结果的能力越差,太小测试出的结果越不准
- 当最后得出模型后,需要把训练集和测试集所有数据一起进行训练模型再提交给用户
- 问题:数据集中可能有数据永远不会出现在测试集
4.2 k-折交叉验证
- 问题:数据集的划分也可能扰动测试结果,所以再进行10次不同的划分,总共下来进行10×10=100次测试
- 若k=m,则得到“留一法”,但最终测试会有偏差,模型精度是0
4.3 自助法
- 基于“自主采样”/“有放回采样”/“可重复采样”
- 最后用未出现的样本进行测试
- 问题:改变了训练数据的分布,如果数据量不够或数据分布不重要时,自助法是很好的模型
5.调参与验证集
- 算法的参数“一般由人工设定,称为”超参数“
- 模型的参数:一般由学习确定
- 调参过程相似:先产生若干模型,然后基于某种评估方法进行选择
- 调参调的好不好往往对最终性能有关键影响
- 验证集是在训练集中留出调参数的部分,算法参数确定之后要用”训练集+验证集“重新训练最终模型
6.性能度量
- 性能度量是衡量模型泛化能力的评价标准,反映了任务需求,使用不同的性能度量往往会导致不同的评判标准
- 什么样的模型是”好“的,不仅取决于算法和数据,还取决于任务需求
7.比较检验
- 测试性能不等于泛化性能
- 测试性能随着测试机的变化而变化
- 很多机器学习算法本身有一定的随机性
- 统计假设检验为学习其性能比较提供了重要依据
三、线性模型
1.线性回归
- 是监督机器学习下的一种算法,回归问题主要关注的是因变量和一个或多个数值型的自变量之间的关系
- 离散属性的处理:若有”序“则连续化,没有则转化为k维向量
2.最小二乘法求解
3.多元线性回归(多变量线性回归)
若不满秩,此时要求助于归纳偏好或引入正则化
4.广义线性模型
对于样例(x,y),y∈R,希望线性模型的预测值逼近真是标记,则得到线性回归模型。如果令预测值逼近y的衍生物
联系函数是将线性模型的结果同最终需要的结果联系起来
5.对率回归
- 是分类学习算法
6.线性判别分析(LDA Linear Discriminant Analysis)
- 线性模型做“回归”:广义线性模型通过“联系函数”,例如对率回归
将样例投影到一条直线(低维空间),因此也被视为一种“监督降维”技术
- 协方差刻画每两两变量之间的相关系数,所有相关系数拼起来形成矩阵
- w^Tμ0是中心点的投影
- 类内散度矩阵:只考虑同类内部的分散程度
- LDA的目标:最大化广义瑞丽商
- LDA的多类推广
7.多分类学习
- 如果预测结果持平,模型会提供置信度
- 一般来说,训练开销与样本数量关系很大
- 预测性能取决于具体数据分布,多数情况下两者差不多
8.类别不平衡
- 指分类任务中不同类别的训练样例数目差别很大的情况
常见类别不平衡学习方法:
- 过采样:增加一些正例/反例,使得两者数目接近,再进行学习
- 欠采样:去除一些正例/反例,使得正反例数目接近再进行学习
- 阈值移动:直接基于原始训练集进行学习,但在用训练好的分类器进行预测时,将新几率嵌入到决策过程
- 但是过采样不能简单地对初始样例进行重复采样,否则会带来严重的过拟合。SMOTE算法通过对训练集中的正例进行插值来产生额外的正例,即对训练集中的样本进行些许的变化
- 欠采样不能随便丢弃样例,有可能会丢失重要样例。EasyEnsemble算法利用集成学习机制,将反例划分为若干个集合供不同学习器使用,这样对每个学习起来看都进行了欠采样,但在全局来看不会丢失重要信息