01 基础术语
监督学习和无监督学习
特点 | 算法 | |
---|---|---|
监督学习 | 从有标签的训练数据中学习模型,利用模型预测新数据的标签 训练阶段标签已知,预测阶段标签未知 | 回归(标签为连续值):线性回归、逻辑回归 分类(标签为离散值):决策树,KNN,朴素贝叶斯 |
无监督学习 | 从无标签的训练数据中学习模型,揭示数据的内在性质和规律 训练和预测阶段标签均未知 | 聚类:K-means,PCA |
强化学习 | 用于描述和解决智能体(agent)在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题 |
归纳偏好
学习过程当中对某种类型假设的偏好
具体的现实问题中,学习算法本身所做的假设是否成立,也即算法的归纳偏好是否与问题本身匹配,大多数时候直接决定了算法能否取得好的性能。
奥卡姆剃刀:选择最简单的那一个
没有免费的午餐:一个算法在一个模型上好,必然在某写问题上不如其他
02线性回归
线性回归:
回归问题:研究输入变量和输出变量之间的关系。
回归模型:表示从输入变量到输出变量之间的映射函数
线性回归:通过属性的线性组合来进行预测的线性模型。
f(x)=w1x1+w2 x2+⋯+wd xd+b
目标:最小化预测值和真实值之间的误差
均方误差(MSE)最小化
损失函数:度量单样本预测的错误程度,损失函数值越小,模型就越好。
代价函数:度量全部样本集的平均误差。
目标函数:代价函数和正则化函数,最终要优化的函数。
最小二乘法(见下)
梯度下降法
沿梯度反方向更新参数不断逼近极小值(梯度是一个向量,表示某一函数在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着梯度方向变化最快,变化率最大。)
梯度下降的三种形式
- 批量梯度下降:梯度下降的每一步中,都用到了所有的训练样本。
- 随机梯度下降:梯度下降的每一步中,用一个训练样本。
- 小批量梯度下降:梯度下降的每一步中,用到了一定批量的训练样本。
最小二乘法和梯度下降的比较
数据标准化
为什么要归一化、标准化
提升模型精度,加速模型收敛
最大最小归一化
数据归一化的目的是使得各特征对目标变量的影响一致,会将特征数据进行伸缩变化。
Z-Score标准化
数据标准化为了不同特征之间具备可比性,当数据特征取值范围或单位差异较大时,最好是做一下标准化处理。
需要归一、标准化 | KNN、K-means聚类、感知机和SVM |
---|---|
不需要 | 决策树、随机森林 |
03模型评估与选择
泛化误差:在‘未来“样本山的误差
经验误差:在训练集上的误差,也是“训练误差”
过拟合与欠拟合(考点)
评估方法
留出法
K-折交叉验证(考点)
与留出法类似,将数据集D划分为k个子集同样存在多种划分方式,为了减小因样本划分不同而引入的差别,k折交叉验证通常随机使用不同的划分重复p次,最终的评估结果是这p次k折交叉验证结果的均值,例如常见的“10次10折交叉验证”。
假设数据集D包含m个样本,若令k=m,则得到留一法:
- 不受随机样本划分方式的影响
- 结果往往比较准确
- 当数据集比较大时,计算开销难以忍受
调参
性能度量
均方误差(回归任务)
混淆矩阵(分类任务)(考点)
查准率(Precision):查找结果当中,正确结果的占比
查全率(Recall):查找出的正确结果,占所有正确结果的占比
举个栗子:
当中:P=3/3+2=3/5 R=3/3+1=3/4
P-R曲线
F1度量
代价错误敏感率
现实任务中不同类型的错误所造成的后果很可能不同,为了权衡不同类型错误所造成的不同损失,可为错误赋予“非均等代价”。
以二分类为例,可根据领域知识设定“代价矩阵”,如〖cost〗ij表示将第i类样本预测为第j类样本的代价。损失程度越大,〖cost〗01与〖cost〗10值的差别越大
比较检验(待补充)
04对数几率回归
分类问题
是监督学习最主要的类型,输入变量可以离散,可以连续。
有多分类和二分类
对数几率回归(见下)
05决策树
基本知识
- 从训练数据中学习得出一个树状结构的模型
- 决策树属于判别模型,监督学习
- 决策树是一种树状结构,通过做出一系列决策来对数据进行划分
- 从根结点开始,测试待分类项对应的特征属性,按照其值选择输出分支,直到叶子结点,将叶子结点存放的类别作为决策结果。
停止条件:
- 当前结点包含的样本全部属于同一类别
- 当前属性集为空,或所有样本在所有属性上取值相同
- 当前结点包含的样本集合为空
在(2)种情况下,把当前的结点标记为叶结点,类别设置为该点所含样本最多的类别
在(3)下把当前的结点标记为叶结点,类别设置为其父结点所含样本最多的类别
决策树的三种基本类型
算法 | 支持模型 | 树结构 | 划分选择 | 连续值处理 | 缺失值处理 | 剪枝 | 特征属性多次使用 |
---|---|---|---|---|---|---|---|
ID3 | 分类 | 多叉树 | 信息增益 | 不支持 | 不支持 | 不支持 | 不支持 |
C4.5 | 分类 | 多叉树 | 信息增益率 | 支持 | 支持 | 支持 | 不支持 |
CART | 分类 回归 | 二叉树 | 基尼指数 均方差 | 支持 | 支持 | 支持 | 支持 |
划分选择
决策树学习的关键在于如何选择最优划分属性。一般而言,随着划分过程不断进行,我们希望决策树的分支结点所包含的样本尽可能属于同一类别,即结点的“纯度”(purity)越来越高
研究表明:划分选择的各种准则虽然对决策树的尺寸有较大影响,但对泛化性能的影响有限
1 信息增益
信息熵是度量样本集合纯度最常用的一种指标
例子:
存在问题
信息增益对可取值数目较多的属性有所偏好
2 增益率
启发式处理:
3 基尼指数(理解就好,计算应该不会考察)
剪枝处理
剪枝方法和程度对决策树泛化性能的影响更为显著
为什么剪枝
- “剪枝”是决策树学习算法对付“过拟合”的主要手段
- 可通过“剪枝”来一定程度避免因决策分支过多,以致于把训练集自身的一些特点当做所有数据都具有的一般性质而导致的过拟合
剪枝的基本策略
- 预剪枝:提前终止某些分支的生长
- 后剪枝:生成一棵完全树,再“回头”剪枝
判断决策树泛化性能是否提升的方法
- 留出法:预留一部分数据用作“验证集”以进行性能评估
预剪枝
tips:验证集精度的计算:(验证集当中被预测正确的个数/验证集总个数)*100%
优缺点:
优点
- 降低过拟合风险
- 显著减少训练时间和测试时间开销
缺点
- 欠拟合风险:有些分支的当前划分虽然不能提升泛化性能,但在其基础上进行的后续划分却有可能导致性能显著提高。预剪枝基于“贪心”本质禁止这些分支展开,带来了欠拟合风险
后剪枝
先从训练集生成一棵完整的决策树,然后自底向上地对非叶结点进行考察,若将该结点对应的子树替换为叶结点能带来决策树泛化性能提升(看验证集精度是否提升)则将该子树替换为叶结点。
优缺点
优点
- 后剪枝比预剪枝保留了更多的分支,欠拟合风险小,泛化性能往往优于预剪枝决策树
缺点
- 训练时间开销大:后剪枝过程是在生成完全决策树之后进行的,需要自底向上对所有非叶结点逐一考察
缺失值处理
Q1:如何在属性缺失的情况下进行划分属性选择?
以属性“色泽”为例,该属性上无缺失值的样例子集D’ 包含14 个样例
首先计算D’的信息熵为:
接着:
计算在D’上的信息增益:
计算在D上的信息增益
Q2:给定划分属性,若样本在该属性上的值缺失,如何对样本进行划分?
在属性“纹理”上出现缺失值,样本8和10同时进入3个分支,调整8和10在3分分支权值分别为7/15(7是分支当中不缺失值得数量),5/15,3/15
06支持向量机(SVM)
间隔与支持向量
线性模型:在样本空间中寻找一个超平面, 将不同类别的样本分开.
-Q:将训练样本分开的超平面可能有很多, 哪一个好呢?
-A:应选择”正中间”, 容忍性好, 鲁棒性高, 泛化能力最强.
要找到具有最大间隔得划分超平面
也可写为
对偶问题
拉格朗日乘子法
第一步:引入拉格朗日乘子 ,到上式的每一个约束条件得到拉格朗日函数
第二步:令 对 和 的偏导为零可得
回代得到对偶问题
解除a之后求出w和b即可得到最终模型:
支持向量机解的稀疏性: 训练完成后, 大部分的训练样本都不需保留, 最终模型仅与支持向量有关.
核函数
-Q:若不存在一个能正确划分两类样本的超平面, 怎么办?
-A:将样本从原始空间映射到一个更高维的特征空间, 使得样本在这个特征空间内线性可分.
核函数的作用就是解决计算被映射到更高维度之后的内积计算问题
常用核函数:
软间隔与正则化
-Q:现实中, 很难确定合适的核函数使得训练样本在特征空间中线性可分; 同时一个线性可分的结果也很难断定是否是有过拟合造成的.
-A:引入”软间隔”的概念, 允许支持向量机在一些样本上不满足约束.
07贝叶斯分类
08神经网络bp
推导题(1*10)
最小二乘法
一元线性回归:
对数几率回归(重点)
对数几率回归的求解