《机器学习》第一次作业——第一至三章学习记录和心得
第一章:模式识别基本概念
1.1什么是模式识别
- 模式识别:根据已有知识的表达,针对待识别模式,判别决策其所属的类型或者预测其对应的回归值。其本质上是一种推理过程。
- 根据任务,模式识别可划分为“分类”和“回归”两种形式。
- 分类(Classification): 输出量是离散的类别表达,即输出待识别模式所属的类别
- 回归(Regression): 输出量是连续的信号表达(回归值)
1.2模式识别数学表达
- 模式识别的数学解释:模式识别可以看做一种函数映射f(x),将待识别模式x从输入空间映射到输出空间。函数f(x)是关于已有知识的表达。
- 函数f(x)的形式: 可解析表达的、难以解析表达的。
- 函数f(x)的输出: 确定值、概率值。
- 模型:关与已有知识的一种表达方式,即函数f(x)。由回归器和特征提取所组成。
- 判别器:二类分类、多类分类。
- 特征:可以用于区分不同类别模式的、可测量的量。
- 特征的特性:辨别能力(提升识别性能),鲁棒性(针对不同的观测条件,仍能够有效表达类别之间的差异性)。
1.3特征向量的相关性
-
特征向量点积:每个特征向量代表一个模式,故度量特征向量之间相关性是识别模式之间是否相似的基础。
x * y = ||x|| * ||y|| * cosθ
cosθ=(x * y)/(||x|| * ||y||)
-
投影:向量x分解到向量y方向上的程度,能分解的越多则越相似。(详见《线性代数》)
-
欧式距离:表征两个向量之间的相似程度(综合考虑方向和模长)。
- d(x,y) = (x - y ) * (x - y)
1.4机器学习基本概念
-
获得模型:使用机器学习——>训练样本
-
学习模型的参数(θ)和结构(函数f的形式)
-
线性结构(y = wTx + xo);非线性模型
-
样本量vs模型参数量:训练样本格式为N,模型参数个数为M
①N = M:参数有唯一解
②N >> M:没有准确的解 添加一个标准(目标函数) L(θ|{xi})
③N << M:无数个解/无解 加入体现对于数解的约束条件,从中选出最优解
-
监督式学习:训练样本及其输出真值都给定情况下的机器学习算法。
-
无监督式学习:只给定训练样本、 没有给输出真值情况下的机器学习算法。(聚类、图像分割)
-
强化学习:机器自行探索决策、真值滞后反馈的过程。
1.5模型的泛化能力
- 训练集:模型训练所用的样本数据。集合中的每个样本称作训练样本。
- 测试集:测试模型性能所用的样本数据。集合中的每个样本称作测试样本。
- 训练误差:模型在训练集上的误差。
- 测试误差:模型在测试集上的误差。它反映了模型的泛化能力,也称作泛化误差。
- 泛化能力:训练得到的模型不仅要对训练样本具有决策能力,也要对新的(训练过程中未看见)的模式具有决策能力。
- 泛化能力低的表现:过拟合(模型训练阶段表现很好,测试阶段表现很差,模型过于拟合训练数据)
- 提高泛化能力:不要过度训练,选择复杂度适合的模型,在目标函数中加入正则项。
下图为多项式拟合&超参数
- 提高泛化能力:不要过度训练,选择复杂度适合的模型,在目标函数中加入正则项。
- 模型选择与正则化
其中w为正则系数
1.6评估方法和性能指标
- 评估方法:
①随机划分:随机划分训练集和测试集,取量化指标平均值/方差/最大值等作为最终性能量化评估结果
②k-折交叉:将数据集分割成K个子集,从中选取单个子集作为测试集,其余作为训练集,重复k次,k次评估值取平均作为最终量化评估结果
③留一验证:每次取数据集中一个为测试集,每次样本测一次,取所有评估值的平均作为最终结果
- 性能指标度量:
-
准确度(Accuracy):(TP + TN)/(TP + TN + FP + FN)
-
精度(Precision):TP/(TP + FP)
-
召回率(Recall):TP /(TP + FN)
F-Score:如下图
-
混淆矩阵:矩阵的列代表预测值,行代表真值。对角线元素的值越大,表示模型性能越好。
-
PR曲线:横轴召回率,纵轴精度。PR曲线越往右上凸,说明模型的性能越好。
-
ROC曲线:横轴FPR=FP/(FP+TN),纵轴TPR即recall
-
AUC:AUC = 1:是完美分类器,
0.5 < AUC < 1:优于随机猜测。这个模型妥善设定阈值的话,能有预测价值。
AUC = 0.5:跟随机猜测一样,模型没有预测价值。
AUC < 0.5:比随机猜测还差。
-
第二章:基于距离的分类器
2.1MED分类器
- 距离分类:计算测试样本和类的距离,其中用z代表C(z取均值)
- 最邻近:选取与测试样本陆离最近的一个训练样本。但是对类表达误差较大,对噪声和异常样本比较敏感。
- MED分类器的决策边界:在高维空间中是一个超平面,是垂直平分两个原型的线。
2.2特征白化
-
目的:将原始特征映射到一个新的特征空间,使得在新空间中特征的协方差矩阵为单位矩阵,从而去除特征变化的不同及特征之间的相关性。
y=Wx
-
将特征转换分为两步:解耦(去除特征之间的相关性),白化(对特征进行尺度变换),使每维特征的方差相等。
令W = W2W1
①去除特征之间的相关性——解耦:通过W1实现协方差矩阵对角化
②对特征进行尺度变换——白化:通过W2对上一步变化后的特征再进行尺度变换,实现所有特征具有相同方差。
③转换矩阵W1的特性:转换前后欧氏距离保持一致,W1只起到旋转的作用
④W转换后的欧氏距离——马氏距离
2.3MICD分类器
- 马氏距离度量,类的原型为均值
- 马氏距离属性
Σ=I:等于欧式距离,其等距图为一个球面
Σ为对角矩阵:等距图为一个超椭圆面
Σ为任意值:等距图是一个有方向的超椭圆面 - MICD分类器的缺陷是会选择方差较大的类。
第三章:贝叶斯决策与学习
3.1贝叶斯决策与MAP分类器
- 概率的观点
随机性:每个样本是一次随机采样,样本个体具有随机性。
概率:通常用来表达事物处于每种取值状态的可能性。 - 后验概率:用于分类决策
p(𝐶𝑖|𝒙)该条件概率也称作后验概率(posterior probability) ,表达给定模式𝒙属于类𝐶𝑖可能性 。 - 贝叶斯规则
- MAP(最大后验概率)分类器
给定所有测试样本, MAP分类器选择后验概率最大的类,等于最小化平均概率误差,即最小化决策误差。
3.2高斯观测概率
-
单维高斯分布
如果观测似然概率为一维高斯分布,其分布函数为:(其中𝜇𝑘, 𝜎𝑘分别代表类𝑘的均值和标准差,𝐾表示类别个数。)
为了得到决策边界,设置判别公式两边相等
当σi = σj = σ时,决策边界是线性的,且只有一条
当𝜎𝑖 ≠ 𝜎𝑗时,决策边界有两条(即非线性边界):
-
高斯观测概率:决策边界
在方差相同的情况下, MAP决策边界偏向先验可能性较小的类,即分类器决策偏向先验概率高的类。 -
观测概率:高维高斯分布
假设观测概率是多维高斯分布,概率密度函数为:
带入MAP分类器,两边都取对数,得到判别函数:
3.3决策风险与贝叶斯分类器
- 损失的概念:在推理/测试阶段,分类器并不知道其输出的决策是否正确。我们需要定义一个惩罚量,用来表征当前决策动作相对于其他候选类别的风险程度,即损失(loss)。
假设分类器把测试样本𝒙决策为𝐶𝑖类,这个决策动作记作𝛼𝑖。
假设该测试样本𝒙 的真值是属于𝐶𝑗类,决策动作𝛼𝑖对应的损失可以表达为:𝜆(𝛼𝑖|𝐶𝑗),简写为𝜆𝑖𝑗。 - 决策风险的评估
决策风险R(αi|x) = Σλij*P(Cj|x) - 贝叶斯分类器
在MAP分类器基础上,加入决策风险因素,得到贝叶斯分类器:给定一个测试样本𝒙,贝叶斯分类器选择决策风险最小的类。
- 贝叶斯损失决策
给定单个测试样本,贝叶斯决策损失就是决策风险𝑅(𝛼𝑖|𝒙)。
给定所有测试样本(N为样本个数),贝叶斯决策的期望损失:所有样本的决策损失之和。 - 朴素贝叶斯分类器:假设特征之间是相互独立的
3.4最大似然估计
-
监督式学习方法:
①参数化方法:给定概率分布的解析表达,学习这些解析表达函数中的参数。 该类方法也称为参数估计。
②概率密度函数形式未知,基于概率密度估计技术,估计非参数化的概率密度表达。 -
参数估计方法常用最大似然估计和贝叶斯估计
最大似然估计:待学习的概率密度函数记作𝑝(𝒙|𝜃), 𝜃是待学习的参数。给定的𝑁 个训练样本都是从𝑝(𝒙|𝜃)采样得到的、且都符合iid条件。
因此,学习参数 𝜃 的目标函数可以设计为:使得该似然函数最大。
-
先验概率估计:先验概率的最大似然估计就是该类训练样本出现的频率。
-
高斯分布:如果观测似然概率服从高斯分布,待学习的参数包含该高斯分布的均值𝝁和协方差𝚺。
给定𝐶𝑖 类的𝑁𝑖 个训练样本 𝒙1, … , 𝒙𝑁𝒊 ,观测似然概率的似然函数为:
高斯分布均值的最大似然估计等于样本的均值。
高斯分布协方差的最大似然估计等于所有训练模式的协方差。
3.5最大似然估计偏差
- 无偏估计:如果一个参数的估计量的数学期望是该参数的真值,则该估计量称作无偏估计。无偏估计意味着只要训练样本个数足够多,该估计值就是参数的真实值。
均值的最大似然估计是无偏估计。
协方差的最大似然估计不是有偏估计。 - 最大似然估计:
3.6/7贝叶斯估计
-
贝叶斯估计的概念:给定参数𝜃分布的先验概率以及训练样本,估计参数θ分布的后验概率。
给定单个𝐶𝑖类的训练样本集合𝐷𝑖, 针对𝜃应用贝叶斯理论,得到其后验概率:
-
参数(高斯均值)后验概率
根据𝜃的先验概率和基于训练样本的观测似然, 计算后验概率
-
参数后验概率:分析
-
观测似然概率的估计:
3.8KNN
- 对于任意一个模式𝒙 ,其落入区域𝑅的概率𝑃可以表达为:
如果区域𝑅足够小, 𝑃是𝑝(𝒙)的平滑版本,可以用来估计𝑝(𝒙)。
k个样本落在区域R,当N足够大时,k的分布非常尖锐且集中在均值附近
E[p(k)] = uk = NP
故当N非常大时,可以得到P的近似估计 P=k/N
重新找回𝑃的定义,并假设在极小的区域𝑅内概率密度𝑝(𝒙)相同。给定区域𝑅的体积记作𝑉。可以得到𝑝(𝒙)的近似估计:
- KNN估计优缺点:
优点:可以自适应的确定𝒙相关的区域𝑅的范围。
缺点:KNN概率密度估计不是连续函数;不是真正的概率密度表达,概率密度函数积分是 ∞ 而不是1。
- knn存在的问题:
- 在推理测试阶段,仍然需要存储所有训练样本,因为针对任意一个模式x,需要以其为中心,在训练样本中寻找k个相邻点来估计该模式的概率。
- 易受噪声影响。
- 优点
- 不需要存储训练数据
- 减小了噪声污染
- 核密度估计
- 常用核函数:高斯分布、均匀分布、三角分布
- 优点:
- 使用所有训练样本,而不是基于第k个近邻点来估计概率密度,从而克服KNN估计存在的噪声影响。
- 如果核函数是连续,则估计的概率密度函数也是连续的。