第8章-线性判别分析--机器学习与应用第二版

合集下载

SPSS统计分析 第八章 聚类分析与判别分析

SPSS统计分析 第八章 聚类分析与判别分析

聚类分析小结

聚类分析是研究“物以类聚”的一种数理统计方法。它把一些个 体或研究对象分成若干个未知母体,事先并不知道它们可以分为 几类及哪些个体是属于同一类。 聚类的原则是样品间距离最小,指标(变量)间相似性最大。 样品聚类的基本思想是:把每个样品当作一类,几个样品就有几 类;逐次并类(先定义类间距离),并类时总是把距离最近的两 类合为一类,再计算新类与合并类的距离,等等。这样每次减少 一类,直至所有样品都合成一类为止。
变量聚类实例

有10个测验项目,分别用变量x1~x10表示,50 名学生参加测试。
数据编号data14-03。


要求:对十个变量进行变量聚类;计算并打印 各变量间的相关矩阵,用相关测度各变量间的 距离。打印出聚为两类的结果即各变量属于两 类中的哪一类;打印出聚类全过程的冰柱图, 以便对于变量分类进行进一步的探讨。

聚类法的选择:定义、计算两项间距离和相似 性的方法,系统默认值:组间平均连接法。
测度方法的选择:对距离和相似性的测度方法 又有多种,例如是用欧氏距离还是用欧氏距离 的平方测度其相近程度,还是用相关系数测度 其相似性?这一点体现在测度方法(Measure)的 选择上。如果对测度方法不熟悉,可以采用系 统默认的测度方法:欧氏距离平方。
CLUSTER过程可以很快将观测量分到各 类中去。其特点是处理速度快,占用内存 少。适用于大样本的聚类分析。

可以完全使用系统默认值进行聚类
2、分层聚类(Hierarchical Cluster)
分层聚类的概念与聚类分析过程

分层聚类反映事物的特点的变量很多,往 往根据所研究的问题选择部分变量对事物 的某一方面进行分析。 聚类的方法有多种,除了前面介绍的快速 聚类法外,最常用的是分层聚类法。根据 聚类过程不同又分为凝聚法和分解法。

模式识别第二版答案完整版

模式识别第二版答案完整版
模式识别第二版习题解答目录线性判别函数10非线性判别函数16近邻法16经验风险最小化和有序风险最小化方法18特征的选取和提取18基于kl展开式的特征提取2010非监督学习方法2221如果只知道各类的先验概率最小错误率贝叶斯决策规则应如何表示
模式识别(第二版)习题解答
目录
1 绪论
2
2 贝叶斯决策理论
2
j=1,...,c
类条件概率相联系的形式,即 如果 p(x|wi)P (wi) = max p(x|wj)P (wj),则x ∈ wi。
j=1,...,c
• 2.6 对两类问题,证明最小风险贝叶斯决策规则可表示为,若
p(x|w1) > (λ12 − λ22)P (w2) , p(x|w2) (λ21 − λ11)P (w1)
max P (wj|x),则x ∈ wj∗。另外一种形式为j∗ = max p(x|wj)P (wj),则x ∈ wj∗。
j=1,...,c
j=1,...,c
考虑两类问题的分类决策面为:P (w1|x) = P (w2|x),与p(x|w1)P (w1) = p(x|w2)P (w2)
是相同的。
• 2.9 写出两类和多类情况下最小风险贝叶斯决策判别函数和决策面方程。
λ11P (w1|x) + λ12P (w2|x) < λ21P (w1|x) + λ22P (w2|x) (λ21 − λ11)P (w1|x) > (λ12 − λ22)P (w2|x)
(λ21 − λ11)P (w1)p(x|w1) > (λ12 − λ22)P (w2)p(x|w2) p(x|w1) > (λ12 − λ22)P (w2) p(x|w2) (λ21 − λ11)P (w1)

linear discriminate analysis

linear discriminate analysis

linear discriminate analysis【实用版】目录1.线性判别分析的定义和基本概念2.线性判别分析的应用场景和问题解决能力3.线性判别分析的具体方法和步骤4.线性判别分析的优缺点和局限性5.线性判别分析的实际应用案例正文线性判别分析(Linear Discriminant Analysis,简称 LDA)是一种常用的监督学习方法,主要用于解决分类问题。

它是一种线性分类方法,通过找到一个最佳的线性分类器,将数据分为不同的类别。

LDA 基于数据分布的假设,即不同类别的数据具有不同的分布,通过最大化类内差异和最小化类间差异来实现分类。

LDA 的应用场景非常广泛,可以用于文本分类、图像分类、生物信息学、社会科学等领域。

在这些领域中,LDA 能够有效地解决分类问题,提高分类准确率。

例如,在文本分类中,LDA 可以通过分析词汇分布,将文本分为不同的主题或类别。

线性判别分析的具体方法和步骤如下:1.收集数据并计算数据矩阵。

2.计算数据矩阵的协方差矩阵和矩阵的特征值和特征向量。

3.根据特征值和特征向量构建线性分类器。

4.使用分类器对数据进行分类。

尽管 LDA 在分类问题上表现良好,但它也存在一些优缺点和局限性。

首先,LDA 要求数据矩阵的列向量是线性无关的,这可能会限制其在某些数据集上的表现。

其次,LDA 对数据中的噪声非常敏感,噪声的存在可能会对分类结果产生不良影响。

此外,LDA 是一种基于线性分类的方法,对于非线性分类问题可能无法有效解决。

尽管如此,LDA 在实际应用中仍然具有很高的价值。

例如,在文本分类中,LDA 可以有效地识别不同主题的文本,并为用户提供个性化的推荐。

在生物信息学中,LDA 可以用于基因表达数据的分类,以识别不同类型的细胞或疾病。

在社会科学中,LDA 可以用于对调查数据进行分类,以便更好地理解受访者的需求和偏好。

总之,线性判别分析是一种强大的分类方法,可以应用于各种领域。

线性判别分析(LinearDiscriminantAnalysis,LDA)

线性判别分析(LinearDiscriminantAnalysis,LDA)

线性判别分析(LinearDiscriminantAnalysis,LDA)⼀、LDA的基本思想线性判别式分析(Linear Discriminant Analysis, LDA),也叫做Fisher线性判别(Fisher Linear Discriminant ,FLD),是模式识别的经典算法,它是在1996年由Belhumeur引⼊模式识别和⼈⼯智能领域的。

线性鉴别分析的基本思想是将⾼维的模式样本投影到最佳鉴别⽮量空间,以达到抽取分类信息和压缩特征空间维数的效果,投影后保证模式样本在新的⼦空间有最⼤的类间距离和最⼩的类内距离,即模式在该空间中有最佳的可分离性。

如下图所⽰,根据肤⾊和⿐⼦⾼低将⼈分为⽩⼈和⿊⼈,样本中⽩⼈的⿐⼦⾼低和⽪肤颜⾊主要集中A组区域,⿊⼈的⿐⼦⾼低和⽪肤颜⾊主要集中在B组区域,很显然A组合B组在空间上明显分离的,将A组和B组上的点都投影到直线L上,分别落在直线L的不同区域,这样就线性的将⿊⼈和⽩⼈分开了。

⼀旦有未知样本需要区分,只需将⽪肤颜⾊和⿐⼦⾼低代⼊直线L的⽅程,即可判断出未知样本的所属的分类。

因此,LDA的关键步骤是选择合适的投影⽅向,即建⽴合适的线性判别函数(⾮线性不是本⽂的重点)。

⼆、LDA的计算过程1、代数表⽰的计算过程设已知两个总体A和B,在A、B两总体分别提出m个特征,然后从A、B两总体中分别抽取出、个样本,得到A、B两总体的样本数据如下:和假设存在这样的线性函数(投影平⾯),可以将A、B两类样本投影到该平⾯上,使得A、B两样本在该直线上的投影满⾜以下两点:(1)两类样本的中⼼距离最远;(2)同⼀样本内的所有投影距离最近。

我们将该线性函数表达如下:将A总体的第个样本点投影到平⾯上得到投影点,即A总体的样本在平⾯投影的重⼼为其中同理可以得到B在平⾯上的投影点以及B总体样本在平⾯投影的重⼼为其中按照Fisher的思想,不同总体A、B的投影点应尽量分开,⽤数学表达式表⽰为,⽽同⼀总体的投影点的距离应尽可能的⼩,⽤数学表达式表⽰为,,合并得到求从⽽使得得到最⼤值,分别对进⾏求导即可,详细步骤不表。

判别分析公式Fisher线性判别二次判别

判别分析公式Fisher线性判别二次判别

判别分析公式Fisher线性判别二次判别判别分析是一种常用的数据分析方法,用于根据已知的类别信息,将样本数据划分到不同的类别中。

Fisher线性判别和二次判别是两种常见的判别分析方法,在实际应用中具有广泛的应用价值。

一、Fisher线性判别Fisher线性判别是一种基于线性变换的判别分析方法,该方法通过寻找一个合适的投影方向,将样本数据投影到一条直线上,在保持类别间离散度最大和类别内离散度最小的原则下实现判别。

其判别函数的计算公式如下:Fisher(x) = W^T * x其中,Fisher(x)表示Fisher判别函数,W表示投影方向的权重向量,x表示样本数据。

具体来说,Fisher线性判别的步骤如下:1. 计算类别内离散度矩阵Sw和类别间离散度矩阵Sb;2. 计算Fisher准则函数J(W),即J(W) = W^T * Sb * W / (W^T * Sw * W);3. 求解Fisher准则函数的最大值对应的投影方向W;4. 将样本数据投影到求得的最优投影方向上。

二、二次判别二次判别是基于高斯分布的判别分析方法,将样本数据当作高斯分布的观测值,通过估计每个类别的均值向量和协方差矩阵,计算样本数据属于每个类别的概率,并根据概率大小进行判别。

二次判别的判别函数的计算公式如下:Quadratic(x) = log(P(Ck)) - 0.5 * (x - μk)^T * Σk^-1 * (x - μk)其中,Quadratic(x)表示二次判别函数,P(Ck)表示类别Ck的先验概率,x表示样本数据,μk表示类别Ck的均值向量,Σk表示类别Ck的协方差矩阵。

具体来说,二次判别的步骤如下:1. 估计每个类别的均值向量μk和协方差矩阵Σk;2. 计算每个类别的先验概率P(Ck);3. 计算判别函数Quadratic(x);4. 将样本数据划分到概率最大的类别中。

判别分析公式Fisher线性判别和二次判别是常见的判别分析方法,它们通过对样本数据的投影或概率计算,实现对样本数据的判别。

《机器学习》(周志华)西瓜书读书笔记(完结)

《机器学习》(周志华)西瓜书读书笔记(完结)

《机器学习》(周志华)西⽠书读书笔记(完结)⼤部分基础概念知识已经在这篇博客中罗列,因此本⽂仅对感觉重要或不曾了解的知识点做摘记第1章绪论对于⼀个学习算法a,若它在某问题上⽐学习算法b好,则必然存在另⼀些问题,在那⾥b⽐a好.即"没有免费的午餐"定理(No FreeLunch Theorem,NFL).因此要谈论算法的相对优劣,必须要针对具体的学习问题第2章模型评估与选择m次n折交叉验证实际上进⾏了m*n次训练和测试可以⽤F1度量的⼀般形式Fβ来表达对查准率/查全率的偏好:偏差度量了学习算法的期望预测与真实结果的偏离程度,即学习算法本⾝的拟合能⼒,⽅差度量了同样⼤⼩的训练集的变动所导致的学习性能的变化,即数据扰动造成的影响.噪声表达了当前任务上任何学习算法所能达到的期望泛化误差的下界,即学习问题本⾝的难度.第3章线性模型线性判别分析(LDA)是⼀种经典的监督线性降维⽅法:设法将训练样例投影到⼀条直线上,使同类样例的投影点尽可能接近,异类样例的投影点尽可能远离.对新样本分类时根据投影点的位置来确定类别.多分类学习的分类器⼀般有以下三种策略:1. ⼀对⼀(OvO),N个类别产⽣N * (N - 1) / 2种分类器2. ⼀对多(OvR或称OvA),N个类别产⽣N - 1种分类器3. 多对多(MvM),如纠错输出码技术解决类别不平衡问题的三种⽅法:1. 过采样法,增加正例使正负例数⽬接近,如SMOTE:思想是合成新的少数类样本,合成的策略是对每个少数类样本a,从它的最近邻中随机选⼀个样本b,然后在a、b之间的连线上随机选⼀点作为新合成的少数类样本.2. ⽋采样法,减少负例使正负例数⽬接近,如EasyEnsemble:每次从⼤多数类中抽取和少数类数⽬差不多的重新组合,总共构成n个新的训练集,基于每个训练集训练出⼀个AdaBoost分类器(带阈值),最后结合之前训练分类器结果加权求和减去阈值确定最终分类类别.3. 再缩放法第4章决策树ID3决策树选择信息增益最⼤的属性来划分:1. 信息熵:2. 信息增益:C4.5决策树选择增益率⼤的属性来划分,因为信息增益准则对可取值数⽬较多的属性有所偏好.但增益率会偏好于可取值数⽬较少的属性,因此C4.5算法先找出信息增益⾼于平均⽔平的属性,再从中选择增益率最⾼的.另外,C4.5决策树采⽤⼆分法对连续值进⾏处理,使⽤时将划分阈值t作为参数,选择使信息增益最⼤的t划分属性.采⽤样本权值对缺失值进⾏处理,含有缺失值的样本同时划⼊所有结点中,但相应调整权重.1. 增益率:2. a的固有值:CART决策树则选择基尼指数最⼩的属性来划分,基尼系数反映了从数据集中随机抽取的两个样本类别不⼀致的概率,注意CART是⼆叉树,其余两种都为多叉树.1. 基尼值衡量的纯度:2. 基尼指数:剪枝是决策树对付过拟合的主要⼿段,分为预剪枝和后剪枝.1. 预剪枝对每个结点在划分前先进⾏估计,若该结点的划分不能带来决策树泛化性能提升,则停⽌划分.预剪枝基于"贪⼼"本质,所以有⽋拟合的风险.2. 后剪枝是先⽣成⼀棵完整的决策树,然后⾃底向上对⾮叶结点考察,若该结点替换为叶结点能带来决策树泛化性能提升,则将⼦树替换为叶结点.缺点是时间开销⼤.决策树所形成的分类边界是轴平⾏的,多变量决策树(斜决策树)的每⼀个⾮叶结点都是⼀个线性分类器,因此可以产⽣斜的划分边界.第5章神经⽹络误差逆传播算法(BP算法)是迄今为⽌最成功的神经⽹络学习算法.关键点在于通过计算误差不断逆向调整隐层神经元的连接权和阈值.标准BP算法每次仅针对⼀个训练样例更新,累积BP算法则根据训练集上的累积误差更新.缓解BP神经⽹络过拟合有两种常见策略:1. 早停:若训练集误差降低但验证集误差升⾼则停⽌训练.2. 正则化:在误差⽬标函数中增加⼀个描述⽹络复杂度的部分(较⼩的连接权和阈值将使神经⽹络较为平滑).跳出局部最⼩,寻找全局最⼩的常⽤⽅法:1. 以多组不同参数初始化多个神经⽹络,选择最接近全局最⼩的2. 模拟退⽕3. 随机梯度下降典型的深度学习模型就是很深层的神经⽹络.但是多隐层神经⽹络难以直接⽤经典算法进⾏训练,因为误差在多隐层内逆传播时往往会发散.⽆监督逐层训练(如深层信念⽹络,DBN)和权共享(如卷积神经⽹络,CNN)是常⽤的节省训练开销的策略.第6章⽀持向量机⽀持向量机中的原始样本空间不⼀定存在符合条件的超平⾯,但是如果原始空间是有限维,则总存在⼀个⾼维特征空间使样本线性可分.核函数就是⽤来简化计算⾼维特征空间中的内积的⼀种⽅法.核函数选择是⽀持向量机的最⼤变数.常⽤的核函数有线性核,多项式核,⾼斯核(RBF核),拉普拉斯核,Sigmoid核.对⽂本数据常⽤线性核,情况不明时可先尝试⾼斯核.软间隔是缓解⽀持向量机过拟合的主要⼿段,软间隔允许某些样本不满⾜约束.⽀持向量回归可以容忍预测输出f(x)和真实输出y之间存在ε的偏差,仅当偏差绝对值⼤于ε时才计算损失.⽀持向量机中许多规划问题都使⽤拉格朗⽇对偶算法求解,原因在于改变了算法复杂度.原问题的算法复杂度与样本维度有关,对偶问题的样本复杂度与样本数量有关.如果使⽤了升维的⽅法,则此时样本维度会远⼤于样本数量,在对偶问题下求解会更好.第7章贝叶斯分类基于贝叶斯公式来估计后验概率的困难在于类条件概率是所有属性上的联合概率,难以从有限的训练样本直接估计⽽得.因此朴素贝叶斯分类器采⽤了"属性条件独⽴性假设"来避开这个障碍.朴素贝叶斯分类器中为了避免其他属性携带的信息被训练集中未出现的属性值"抹去",在估计概率值时通常要进⾏"平滑",常⽤拉普拉斯修正.属性条件独⽴性假设在现实中往往很难成⽴,于是半朴素贝叶斯分类器采⽤"独依赖估计(ODE)",即假设每个属性在类别之外最多仅依赖于⼀个其他属性.在此基础上有SPODE,TAN,AODE等算法.贝叶斯⽹⼜称信念⽹,借助有向⽆环图来刻画属性之间的依赖关系,并⽤条件概率表来描述属性的联合概率分布.半朴素贝叶斯分类器是贝叶斯⽹的⼀种特例.EM(Expectation-Maximization)算法是常⽤的估计参数隐变量的⽅法.基本思想是:若参数θ已知,则可根据训练数据推断出最优隐变量Z的值(E);若Z的值已知,则可⽅便地对参数θ做极⼤似然估计(M).第8章集成学习集成学习先产⽣⼀组个体学习器,再⽤某种策略将它们结合起来.如果集成中只包含同种类型的个体学习器则叫同质集成,其中的个体学习器称为基学习器,相应的学习算法称为基学习算法.如果包含不同类型的个体学习器则叫异质集成,其中的学习器常称为组件学习器.要获得好的集成,个体学习器应"好⽽不同".即要有⼀定的准确性,并且要有多样性.⽬前的集成学习⽅法⼤致分为两⼤类:1. 序列化⽅法:个体学习器间存在强依赖关系,必须串⾏⽣成.2. 并⾏化⽅法:个体学习器间不存在强依赖关系,可同时⽣成.Boosting先从初始训练集训练出⼀个基学习器,再根据基学习器的表现对训练样本分布进⾏调整,使做错的训练样本在后续受到更多关注(给予更⼤的权重或重采样).然后基于调整后的样本分布来训练下⼀个基学习器;直到基学习器的数⽬达到指定值T之后,将这T个基学习器加权结合.Boosting主要关注降低偏差,因此能基于泛化性能相当弱的学习器构建出很强的集成.代表算法有AdaBoost.Bagging是并⾏式集成学习⽅法最著名的代表.它基于⾃助采样法,采样出T个含m个训练样本的采样集,基于每个采样集训练出⼀个基学习器,再将这些基学习器进⾏简单结合.在对预测输出进⾏结合时,常对分类任务使⽤投票法,对回归任务使⽤平均法.Bagging主要关注降低⽅差,因此在不剪枝决策树,神经⽹络等易受样本扰动的学习器上效⽤更明显.代表算法有随机森林.随机森林在以决策树为基学习器构建Bagging的基础上,进⼀步引⼊了随机属性选择.即先从属性集合(假定有d个属性)中随机选择⼀个包含k个属性的⼦集,再从这个⼦集中选择⼀个最优属性进⾏划分.当k=d时,基决策树与传统决策树相同.当k=1时,则随机选择⼀个属性⽤于划分.⼀般推荐k=log2d.学习器结合可能会从三个⽅⾯带来好处:1. 统计:可能有多个假设在训练集上达到同等性能,单学习器可能因误选⽽导致泛化性能不佳,结合多个学习器会减⼩这⼀风险.2. 计算:通过多次运⾏之后进⾏结合,降低陷⼊糟糕局部极⼩点的风险.3. 表⽰:结合多个学习器,相应的假设空间有所扩⼤,有可能学得更好的近似.结合策略:1. 平均法:对数值型输出,最常见的策略是平均法.⼀般⽽⾔,在个体学习器性能相差较⼤时使⽤加权平均法,性能相近时使⽤简单平均法.权重⼀般也是从训练数据中学习⽽得.2. 投票法:对分类任务来说,最常见的策略是投票法.⼜可细分为绝对多数投票法,相对多数投票法,加权投票法.绝对多数投票法允许"拒绝预测",若必须提供预测结果则退化为相对多数投票法.若基学习器的类型不同,则类概率值不能直接⽐较,需要将类概率输出转化为类标记输出后再投票.3. 学习法:当训练数据很多时,⼀种更强⼤的策略是通过另⼀个学习器来结合.Stacking是学习法的典型代表.我们把个体学习器称为初级学习器,⽤于结合的学习器称为次级学习器或元学习器.Stacking⽤初级学习器的输出作为样例输⼊特征,⽤初始样本的标记作为样例标记,然后⽤这个新数据集来训练次级学习器.⼀般⽤初级学习器的输出类概率作为次级学习器的输⼊属性,⽤多响应线性回归(Multi-response Linear Regression,MLR)作为次级学习算法效果较好.多样性增强常⽤的⽅法有:数据样本扰动,输⼊属性扰动,输出表⽰扰动,算法参数扰动.第9章聚类聚类既能作为⼀个找寻数据内在分布结构的单独过程,也可以作为其他学习任务的前驱过程.我们希望"物以类聚",也就是聚类结果的"簇内相似度"⾼且"簇间相似度"低.聚类性能度量⼤致有两类.⼀类是将聚类结果与参考模型进⾏⽐较,称为外部指标,常⽤的有JC,FMI,RI;另⼀类是直接考察聚类结果,称为内部指标,常⽤的有DBI,DI.有序属性距离计算最常⽤的是闵可夫斯基距离,当p=2时即欧⽒距离,当p=1时即曼哈顿距离.对⽆序属性可采⽤VDM(Value Difference Metric),将闵可夫斯基距离和VDM结合即可处理混合属性,当不同属性的重要性不同时可使⽤加权距离.我们基于某种形式的距离来定义相似度度量,但是⽤于相似度度量的距离未必⼀定要满⾜距离度量的基本性质,尤其是直递性.在现实任务中有必要通过距离度量学习来基于数据样本确定合适的距离计算式.原型聚类假设聚类结构能通过⼀组原型刻画.通常算法先对原型进⾏初始化,然后对原型进⾏迭代更新求解.常⽤的原型聚类算法有k均值算法,学习向量量化,⾼斯混合聚类.密度聚类假设聚类结构能通过样本分布的紧密程度确定.通常从样本密度的⾓度来考察样本之间的可连接性,并基于可连接样本不断扩展聚类簇.常⽤算法有DBSCAN层次聚类试图在不同层次对数据集进⾏划分,从⽽形成树形的聚类结构.代表算法有AGNES.第10章降维与度量学习懒惰学习在训练阶段只把样本保存起来,训练时间开销为零,待收到测试样本后再进⾏处理,如k近邻学习(kNN).急切学习则在训练阶段就对样本进⾏学习处理.若任意测试样本x附近任意⼩的δ距离范围内总能找到⼀个训练样本,即训练样本的采样密度⾜够⼤,或称为密采样,则最近邻分类器(1NN)的泛化错误率不超过贝叶斯最优分类器的错误率的两倍.在⾼维情形下出现的数据样本稀疏,距离计算困难等问题称为"维数灾难".处理⾼维数据的两⼤主流技术是降维和特征选择.降维亦称维数约简,即通过某种数学变换将原始⾼维属性空间转变为⼀个低维⼦空间.能进⾏降维的原因是与学习任务密切相关的或许仅仅是数据样本的某个低维分布,⽽不是原始⾼维空间的样本点.多维缩放是⼀种经典的降维⽅法.它使原始空间中样本之间的距离在低维空间中得以保持.主成分分析(PCA)是最常⽤的⼀种降维⽅法.如果要⽤⼀个超平⾯对所有样本进⾏恰当的表达,这个超平⾯应该具有最近重构性和最⼤可分性两种性质.基于这两种性质可以得到主成分分析的等价推导.PCA可以使样本的采样密度增⼤,同时在⼀定程度上起到去噪的效果.线性降维⽅法有可能丢失低维结构,因此要引⼊⾮线性降维.⼀种常⽤⽅法是基于核技巧对线性降维⽅法进⾏核化.如核主成分分析(KPCA).流形学习(manifold learning)是⼀类借鉴了拓扑流形概念的降维⽅法.流形在局部具有欧⽒空间性质.将低维流形嵌⼊到⾼维空间中,可以容易地在局部建⽴降维映射关系,再设法将局部映射关系推⼴到全局.常⽤的流形学习⽅法有等度量映射和局部线性嵌⼊等.对⾼维数据进⾏降维的主要⽬的是找到⼀个合适的低维空间.事实上,每个空间对应了在样本属性上定义的⼀个距离度量,度量学习直接尝试学习出⼀个合适的距离度量.常⽤⽅法有近邻成分分析(NCA).第11章特征选择与稀疏学习对当前学习任务有⽤的属性称为相关特征,没什么⽤的属性称为⽆关特征.从给定特征集合中选择出相关特征⼦集的过程称为特征选择.特征选择是⼀个重要的数据预处理过程.冗余特征是指包含的信息可以从其他特征中推演出来的特征.冗余特征在很多时候不起作⽤,但若某个冗余特征恰好对应了完成学习任务所需的中间概念,则该冗余特征反⽽是有益的.⼦集搜索:可以采⽤逐渐增加相关特征的前向搜索,每次在候选⼦集中加⼊⼀个特征,选取最优候选⼦集.也可以采⽤每次去掉⼀个⽆关特征的后向搜索.这些策略是贪⼼的,但是避免了穷举搜索产⽣的计算问题.⼦集评价:特征⼦集A确定了对数据集D的⼀个划分,样本标记信息Y对应着对D的真实划分,通过估算这两个划分的差异就能对A进⾏评价.可采⽤信息熵等⽅法.过滤式选择先对数据集进⾏特征选择,然后再训练学习器,特征选择过程与后续学习器⽆关.Relief(Relevant Features)是⼀种著名的过滤式选择⽅法.该⽅法设计了⼀个相关统计量来度量特征的重要性.包裹式选择直接把最终将要使⽤的学习器的性能作为特征⼦集的评价标准.因此产⽣的最终学习器的性能较好,但训练时的计算开销也更⼤.LVW(Las Vegas Wrapper)是⼀个典型的包裹式特征选择⽅法,它在拉斯维加斯⽅法框架下使⽤随机策略来进⾏⼦集搜索,并以最终分类器的误差为特征⼦集评价准则.嵌⼊式选择是将特征选择过程与学习器训练过程融为⼀体,两者在同⼀个优化过程中完成.例如正则化.L1正则化(Lasso)是指权值向量w中各个元素的绝对值之和.L1正则化趋向选择少量的特征,使其他特征尽可能为0,可以产⽣稀疏权值矩阵,即产⽣⼀个稀疏模型,可以⽤于特征选择.L1正则化是L0正则化的最优凸近似.L2正则化(Ridge)是指权值向量w中各个元素的平⽅和然后再求平⽅根.L2正则化趋向选择更多的特征,让这些特征尽可能接近0,可以防⽌模型过拟合(L1也可以).字典学习也叫稀疏编码,指的是为普通稠密表达的样本找到合适的字典,将样本转化为合适的稀疏表达形式,从⽽使学习任务得以简化,模型复杂度得以降低的过程.压缩感知关注的是利⽤信号本⾝的稀疏性,从部分观测样本中恢复原信号.分为感知测量和重构恢复两个阶段,其中重构恢复⽐较重要.可利⽤矩阵补全等⽅法来解决推荐系统之类的协同过滤(collaborative filtering)任务.由于第⼀次阅读,12章开始的内容仅作概念性了解.第12章计算学习理论计算学习理论研究的是关于通过计算来进⾏学习的理论,⽬的是分析学习任务的困难本质,为学习算法提供理论保证,并提供分析结果指导算法设计.计算学习理论中最基本的是概率近似正确(Probably Approximately Correct,PCA)学习理论.由此可以得到PAC辨识,PAC可学习,PAC学习算法,样本复杂度等概念.有限假设空间的可分情形都是PAC可学习的.对于不可分情形,可以得到不可知PAC可学习的概念,即在假设空间的所有假设中找到最好的⼀个.对⼆分类问题来说,假设空间中的假设对数据集中⽰例赋予标记的每种可能结果称为对数据集的⼀种对分.若假设空间能实现数据集上的所有对分,则称数据集能被假设空间打散.假设空间的VC维是能被假设空间打散的最⼤数据集的⼤⼩.算法的稳定性考察的是算法在输⼊发⽣变化时,输出是否会随之发⽣较⼤的变化.第13章半监督学习主动学习是指先⽤有标记样本训练⼀个模型,通过引⼊额外的专家知识,将部分未标记样本转变为有标记样本,每次都挑出对改善模型性能帮助⼤的样本,从⽽构建出⽐较强的模型.未标记样本虽未直接包含标记信息,但若它们与有标记样本是从同样的数据源独⽴同分布采样⽽来,则它们所包含的关于数据分布的信息对建模⼤有裨益.要利⽤未标记样本,需要有⼀些基本假设,如聚类假设,流形假设.半监督学习可进⼀步划分为纯半监督学习和直推学习.前者假定训练数据中的未标记样本并⾮待预测的数据,⽽后者则假定学习过程中所考虑的未标记样本恰是待预测数据.⽣成式⽅法是直接基于⽣成式模型的⽅法.此类⽅法假设所有数据都是由同⼀个潜在的模型⽣成的.这个假设使得我们能通过潜在模型的参数将未标记数据与学习⽬标联系起来.半监督⽀持向量机(S3VM)是⽀持向量机在半监督学习上的推⼴.S3VM试图找到能将两类有标记样本分开,且穿过数据低密度区域的划分超平⾯.除此之外,还有图半监督学习,基于分歧的⽅法(如协同训练),半监督聚类等学习⽅法.第14章概率图模型机器学习最重要的任务,是根据⼀些已观察到的证据来对感兴趣的未知变量进⾏估计和推测.⽣成式模型考虑联合分布P(Y,R,O),判别式模型考虑条件分布P(Y,R|O).概率图模型是⼀类⽤图来表达变量相关关系的概率模型.若变量间存在显式的因果关系,常使⽤贝叶斯⽹.若变量间存在相关性但难以获取显式的因果关系,常使⽤马尔可夫⽹.隐马尔可夫模型(Hidden Markov Model,HMM)是结构最简单的动态贝叶斯⽹.主要⽤于时序数据建模,在语⾳识别,⾃然语⾔处理等领域有⼴泛应⽤.隐马尔可夫模型中有状态变量(隐变量)和观测变量两组变量.马尔可夫链:系统下⼀时刻的状态仅有当前状态决定,不依赖于以往的任何状态.马尔可夫随机场(Markov Random Field,MRF)是典型的马尔可夫⽹.每⼀个结点表⽰⼀个或⼀组变量,结点之间的边表⽰两个变量之间的依赖关系.条件随机场是判别式模型,可看作给定观测值的马尔可夫随机场.概率图模型的推断⽅法⼤致分为两类.第⼀类是精确推断,代表性⽅法有变量消去和信念传播.第⼆类是近似推断,可⼤致分为采样(如MCMC采样)和使⽤确定性近似完成近似推断(如变分推断).第15章规则学习规则学习是指从训练数据中学习出⼀组能⽤于对未见⽰例进⾏判别的规则.规则学习具有较好的可解释性,能使⽤户直观地对判别过程有所了解.规则学习的⽬标是产⽣⼀个能覆盖尽可能多的样例的规则集,最直接的做法是序贯覆盖,即逐条归纳:每学到⼀条规则,就将该规则覆盖的训练样例去除.常采⽤⾃顶向下的⽣成-测试法.规则学习缓解过拟合的常见做法是剪枝,例如CN2,REP,IREP等算法.著名的规则学习算法RIPPER就是将剪枝与后处理优化相结合.命题规则难以处理对象之间的关系,因此要⽤⼀阶逻辑表⽰,并且要使⽤⼀阶规则学习.它能更容易地引⼊领域知识.著名算法有FOIL(First-Order Inductive Learner)等.第16章强化学习强化学习的⽬的是要找到能使长期累积奖赏最⼤化的策略.在某种意义上可看作具有"延迟标记信息"的监督学习问题.每个动作的奖赏值往往来⾃于⼀个概率分布,因此强化学习会⾯临"探索-利⽤窘境",因此要在探索和利⽤中达成较好的折中.ε-贪⼼法在每次尝试时以ε的概率进⾏探索,以均匀概率随机选取⼀个动作.以1-ε的概率进⾏利⽤,选择当前平均奖赏最⾼的动作.Softmax算法则以较⾼的概率选取平均奖赏较⾼的动作.强化学习任务对应的马尔可夫决策过程四元组已知的情形称为模型已知.在已知模型的环境中学习称为"有模型学习".反之称为"免模型学习".从⼈类专家的决策过程范例中学习的过程称为模仿学习.。

判别分析方法及其应用效果评估

判别分析方法及其应用效果评估

判别分析方法及其应用效果评估判别分析方法是一种常用的统计分析方法,用于确定分类系统中哪些变量最能有效地区分不同的组别。

它基于一组预测变量(或称为自变量)的输入值,以及一组已知类别(或称为因变量)的输出值,通过构建分类模型来判断新样本属于哪个组别。

本文将介绍判别分析方法的基本原理、常见的判别分析方法及其应用效果评估。

## 一、判别分析方法的基本原理判别分析方法基于贝叶斯决策理论,旨在通过最小化错判率来实现最优分类。

假设有K个已知的类别,以及p个预测变量。

判别分析方法假设预测变量满足多元正态分布,并利用已知类别的样本数据估计每个类别的均值向量和协方差矩阵。

根据这些参数,可以建立判别函数来判断新样本的分类。

判别函数的形式根据具体的判别分析方法而定。

常见的判别分析方法有线性判别分析(LDA)、二次判别分析(QDA)和最近邻判别分析(KNN)等。

这些方法使用不同的数学模型和算法来构建判别函数,具有不同的优势和适用范围。

## 二、常见的判别分析方法及其特点### 1. 线性判别分析(LDA)线性判别分析是一种最常用的判别分析方法。

它假设各类别的协方差矩阵相等,即样本来自同一多元正态分布。

LDA通过计算类别间散布矩阵和类别内散布矩阵的比值来确定最优的判别函数。

LDA的优点是计算简单、效果稳定,并且不受样本数量和维度的限制。

然而,它对样本的分布假设要求较高,如果样本不满足多元正态分布,LDA可能会出现较大偏差。

### 2. 二次判别分析(QDA)二次判别分析是一种放宽了协方差矩阵相等假设的判别分析方法。

QDA假设每个类别的协方差矩阵各不相同,通过计算类别间散布矩阵和类别内散布矩阵的比值来确定最优的判别函数。

相比于LDA,QDA更加灵活,可以适应更加复杂的数据分布。

然而,由于需要估计更多的参数,QDA的计算复杂度较高,并且对样本数量和维度的要求较高。

### 3. 最近邻判别分析(KNN)最近邻判别分析是一种基于样本距离的判别分析方法。

线性判别分析(Linear Discriminant Analysis)

线性判别分析(Linear Discriminant Analysis)

1. 问题之前我们讨论的PCA、ICA也好,对样本数据来言,可以是没有类别标签y的。

回想我们做回归时,如果特征太多,那么会产生不相关特征引入、过度拟合等问题。

我们可以使用PCA 来降维,但PCA没有将类别标签考虑进去,属于无监督的。

比如回到上次提出的文档中含有“learn”和“study”的问题,使用PCA后,也许可以将这两个特征合并为一个,降了维度。

但假设我们的类别标签y是判断这篇文章的topic是不是有关学习方面的。

那么这两个特征对y几乎没什么影响,完全可以去除。

再举一个例子,假设我们对一张100*100像素的图片做人脸识别,每个像素是一个特征,那么会有10000个特征,而对应的类别标签y仅仅是0/1值,1代表是人脸。

这么多特征不仅训练复杂,而且不必要特征对结果会带来不可预知的影响,但我们想得到降维后的一些最佳特征(与y关系最密切的),怎么办呢?2. 线性判别分析(二类情况)回顾我们之前的logistic回归方法,给定m个n维特征的训练样例(i从1到m),每个对应一个类标签。

我们就是要学习出参数,使得(g 是sigmoid函数)。

现在只考虑二值分类情况,也就是y=1或者y=0。

为了方便表示,我们先换符号重新定义问题,给定特征为d维的N个样例,,其中有个样例属于类别,另外个样例属于类别。

现在我们觉得原始特征数太多,想将d维特征降到只有一维,而又要保证类别能够“清晰”地反映在低维数据上,也就是这一维就能决定每个样例的类别。

我们将这个最佳的向量称为w(d维),那么样例x(d维)到w上的投影可以用下式来计算这里得到的y值不是0/1值,而是x投影到直线上的点到原点的距离。

当x是二维的,我们就是要找一条直线(方向为w)来做投影,然后寻找最能使样本点分离的直线。

如下图:从直观上来看,右图比较好,可以很好地将不同类别的样本点分离。

接下来我们从定量的角度来找到这个最佳的w。

首先我们寻找每类样例的均值(中心点),这里i只有两个由于x到w投影后的样本点均值为由此可知,投影后的的均值也就是样本中心点的投影。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第8章线性判别分析主成分分析的目标是向量在低维空间中的投影能很好的近似代替原始向量,但这种投影对分类不一定合适。

由于是无监督的学习,没有利用样本标签信息,不同类型样本的特征向量在这个空间中的投影可能很相近。

本章要介绍的线性判别分析也是一种子空间投影技术,但是它的目的是用来做分类,让投影后的向量对于分类任务有很好的区分度。

8.1用投影进行分类线性判别分析(Linear discriminant analysis,简称LDA)[1][2]的基本思想是通过线性投影来最小化同类样本间的差异,最大化不同类样本间的差异。

具体做法是寻找一个向低维空间的投影矩阵W,样本的特征向量x经过投影之后得到新向量:y Wx=同一类样本投影后的结果向量差异尽可能小,不同类的样本差异尽可能大。

直观来看,就是经过这个投影之后同一类的样本尽量聚集在一起,不同类的样本尽可能离得远。

下图8.1是这种投影的示意图:图8.1最佳投影方向上图中特征向量是二维的,我们向一维空间即直线投影,投影后这些点位于直线上。

在上图中有两类样本,通过向右上方的直线投影,两类样本被有效的分开了。

绿色的样本投影之后位于直线的下半部分,红色的样本投影之后位于直线的上半部分。

由于是向一维空间投影,这相当于用一个向量w和特征向量x做内积,得到一个标量:Ty=w x8.2寻找投影矩阵8.2.1一维的情况问题的关键是如何找到最佳投影矩阵。

下面先考虑最简单的情况,把向量映射到一维空间。

假设有n 个样本,它们的特征向量为i x ,属于两个不同的类。

属于类1C 的样本集为1D ,有1n 个样本;属于类2C 的样本集为2D ,有2n 个样本。

有一个向量w ,所有向量对该向量做投影可以得到一个标量:T y =w x投影运算产生了n 个标量,分属于与1C 和2C 相对应的两个集合1Y 和2Y 。

我们希望投影后两个类内部的各个样本差异最小化,类之间的差异最大化。

类间差异可以用投影之后两类样本均值的差来衡量。

投影之前每类样本的均值为:x 1m i i D i n ∈=∑x投影后的均值为: TT x 1m i i i D i n ∈==∑w x w m 它等价于样本均值在w 上的投影。

投影后两类样本均值差的绝对值为:()T 1212-=-m m w m m 类内的差异大小可以用方差来衡量。

定义类别i C 的类内散布为:()22i i i y Y s y m∈=-∑ 这是一个标量,和方差相差一个倍数,衡量了某一类的所有样本与该类中心的距离。

()()22121/n s s + 是全体样本的方差,2212s s + 称为总类内散布。

我们要寻找的最佳投影需要使下面的目标函数最大化:() ()2122212mm w L s s -=+ 即让类间的均值差最大化(分子),类内的差异最小化(分母)。

为了把这个目标函数写成w 的函数,定义类内散布矩阵为:()()Tx S x m x m i i i i D ∈=--∑总类内散布矩阵为:12S S S W =+这样有:()()()22T T x TT x T w x w m w x m x m w w S wi i i i D i i D i s∈∈=-=--=∑∑ 因此各类的散布之和可以写成:22T 12w S wW s s += 各类样本的均值之差可以写成:()()()()()22T T T 12121212m m w m m w m m m m w -=-=--如果定义:()()T1212S m m m m B =--则可以写成: ()2T 12m m w S wB -=S B 称为总类间散布矩阵,S W 称为总类内散布矩阵。

要优化的目标函数为:()T T w S w w w S wB W L =这个最优化问题的解不唯一,可以证明,如果w *是最优解,将它乘上一个非零系数k 之后,w k *还是最优解。

因此可以加上一个约束条件消掉冗余,同时简化问题:T w S w 1W =这样上面的最优化问题转化为带等式约束的极大值问题:T T max w S ww S w 1B W =下面用拉格朗日乘数法求解。

构造拉格朗日乘子函数:()()T T ,w S w w S w 1B W L λλ=+-w 对w 求梯度并令梯度为0,可以得到:S w S w 0B W λ+=即:S w S wB W λ=如果S W 可逆,上式两边左乘1S W -后可以得到:1S S w wW B λ-=即λ是矩阵1S S W B -的特征值,w 为对应的特征向量。

假设λ和w 是上面广义特征值问题的解,代入目标函数可以得到()T T T T W B W W λλ==w S w w S w w S w w S w 这里的目标是要让该比值最大化,因此最大的特征值λ及其对应的特征向量是最优解。

上面的做法只将样本向量投影到一维空间,并没有说明在这个空间中怎么分类。

如果我们得到了投影后的值,一个方案是比较它离所有类的均值的距离,取最小的那个作为分类的结果: T arg min w x mi i -这类似于kNN 算法,不同的是计算待分类样本和各类训练样本均值向量的距离。

另外,也可以用其他分类器完成分类。

8.2.2推广到高维接下来将上面的方法推广到多个类、向高维空间投影的情况。

对于c 类分类问题,我们需要把特征向量投影到1c -维的空间中。

类内散布矩阵定义为:1S S c W i i ==∑它仍然是每个类的类内散布矩阵之和,单个类的类内散布矩阵和之前的定义相同:()()Tx S x m x m i i i i D ∈=--∑其中m i 为每个类的均值向量。

定义总体均值向量为:1111m x m n c i i i i i n n n ====∑∑定义总体散布矩阵为:()()T1S x m x m n T i i i ==--∑则有:()()()()()()()()T 1x T T 1x 1x T 1S x m m m x m m m x m x m m m m m S m m m m ii ic T i i i i i D c c i i i i i D i D cW i i i i n =∈=∈=∈==-+--+-=--+--=+--∑∑∑∑∑∑∑我们把上式右边的第二项定义为类间散布矩阵,总散布矩阵是类内散布矩阵和类间散布矩阵之和:()()T1S m m m m S S S c B i i i i T W Bn ==--=+∑相应的从d 维空间向1c -维空间投影变为矩阵和向量的乘积:T y W x=其中W 是()1d c ⨯-的矩阵。

可以证明,最后的目标为求解下面的最优化问题:()()T T tr max tr B W W W S WW S W 其中tr 为矩阵的迹。

同样的这个问题存在冗余,加上约束条件消掉冗余,等价于优化下面的问题()T T max tr B W =W W S W W S W I通过构造拉格朗日函数可以证明使该目标函数最大的W 的列w 必须满足:S w S wB W λ=最优解还是矩阵1S S W B -的特征值和特征向量。

实现时的关键步骤是计算矩阵S B ,S W 以及矩阵乘法1S S W B -,对矩阵1S S W B -进行特征值分解。

矩阵1S S W B -可能有d 个特征值和特征向量,我们要将向量投影到1c -维,为此挑选出最大的1c -个特征值以及它们对应的特征向量,组成矩阵W 。

虽然最后都归结为求解矩阵的特征值问题,主成分分析和线性判别分析有本质的不同。

前者是无监督的机器学习方法;而后者要计算类内和类间散度矩阵,使用了样本标签值,是有监督的机器学习方法。

二者优化的目标也不同,前者是最小化重构误差,而后者是最大化类间差异同时最小化类内差异。

从变换函数可以看出,线性判别分析也是一种判别模型。

计算投影矩阵的处理流程为:1.计算各个类的均值向量与总均值向量。

2.计算类间散布矩阵S B ,类内散布矩阵S W 。

3.计算矩阵乘法1S S W B -。

4.对1S S W B -进行特征值分解,得到特征值和特征向量。

5.对特征值从大到小排序,截取部分特征值和特征向量构成投影矩阵。

得到投影矩阵W 之后,投影和重构算法与主成分分析相同,已经在第7.1.3和7.1.4节介绍。

8.3实验程序下面通过实验程序介绍线性判别分析的使用。

程序基于sklearn,使用iris数据集。

这里将3类样本从4维空间投影到二维空间,根据样本类别显示成不同的颜色,方法与主成分分析相同。

程序源代码如下import matplotlib.pyplot as pltfrom sklearn import datasetsfrom sklearn.discriminant_analysis import LinearDiscriminantAnalysisimport matplotlib%matplotlib inline#载入iris数据集iris=datasets.load_iris()#特征向量为4维的X=iris.data#标签值用于将样本显示成不同的颜色y=iris.targettarget_names=iris.target_names#创建LDA降维模型,并计算投影矩阵,对X执行降维操作,得到降维后的结果X_r lda=LinearDiscriminantAnalysis(n_components=2)X_r=lda.fit(X,y).transform(X)colors=['navy','turquoise','darkorange']plt.figure()#显示降维后的样本for color,i,target_name in zip(colors,[0,1,2],target_names):plt.scatter(X_r[y==i,0],X_r[y==i,1],alpha=.8,color=color,label=target_name)plt.legend(loc='best',shadow=False,scatterpoints=1)plt.title('LDA of IRIS dataset')plt.show()程序运行结果如下图8.2所示。

图8.2LDA的对iris数据集的投影结果8.4应用线性判别分析被应用于模式识别中的各类问题,包括图像分类,人脸识别以及其他数据的分析。

下面我们介绍在人脸识别中的应用。

子空间方法是人脸识别研究早期非常重要的一类方法,它将人脸图像作为一个向量投影到低维的子空间中然后进行分类。

使用主成分分析的特征脸(Eigenfaces)和使用线性判别分析的Fisherfaces是这类方法的典型代表[3-5]。

相关文档
最新文档