前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >统计学习方法 十到十六章笔记

统计学习方法 十到十六章笔记

作者头像
Sarlren
发布于 2023-03-16 12:08:25
发布于 2023-03-16 12:08:25
1.1K0
举报
文章被收录于专栏:Sarlren的笔记Sarlren的笔记

第十章 隐马尔可夫模型

10.1 隐马尔可夫模型的定义

隐马尔可夫模型包含观测,状态和相应的转移,具体的记号不在给出。只给出其性质:其中i是状态而o是观测:

HMM可以用来标注,这个时候状态就是标记。标注问题是给定观测的序列,预测对应的标记序列。 HMM的一个比较易懂的例题在P195。 HMM的具体问题在下面三个章节分别讲述。

10.2 概率计算算法

这里解决的问题是,给定模型和观测序列,计算在这个模型下观测序列出现的概率。 暴力的话,方法如下: a是状态转移概率,是初始状态的概率,b是给定的状态下得到相应观测的概率。

但是这里有很多这样的状态,随着时间T跳转,计算量是的,因为每次求和是的,然后给定时间,每一个时刻可以选择个状态里面的一个。 这个时间复杂度太高了,想办法改进,使用前向-后向算法。

前向算法中,定义前向概率: 注意,这里的前向概率都是已经看到了、给出来的,而不是排列的那种t!种可能性然后都算一次的东西。以及,这里就单纯是,在已经观测得的内容里,t时刻的状态是第i个状态这个意思。 因此有了前向算法:

(2)式琢磨一下,也可以很容易推出来。(3)式想到的意义,也就是对已经观测到的O,最后一个状态是什么都有可能,所以从1到N累加。时间复杂度为,因为每个给定的时间t的某个节点都会看前面N个节点,当前层又有N个节点,一共T层。 前向算法的例子在课本P200。

后向算法中和前向算法相反,定义后向概率: 就是在t时刻的第i个状态,会让它后面发生这样的观测的概率。

有了前向概率和后向概率,可以得到一些公式:

  • 给定模型和观测,求某时刻状态的概率:公式见课本P202,这种东西不好推导。
  • 给定模型和观测,求某时刻状态和下一个时刻的状态分别为给定的, 的概率。
  • 在给定观测下状态出现的期望值、由状态转移的期望值和由状态i转移到j的期望值

10.3 学习算法

上面一节是给定了参数,跑预测用的。我们可能更希望有方法估计参数。 可以直接用极大似然估计,但是这样的估计需要大量标注,下面介绍无监督学习的算法,称为Baum-Welch算法。 课本这里一笔带过了,推导估计也不是很简单的事情,这里就贴个结论吧。

10.4 预测算法

预测算法中,有两个算法可以估计中间某个状态的概率。 在近似算法中,

这个公式来自10.2节里面的P202公式。但是里面的状态序列未必会全部发生。

维特比算法是一种dp的思路,

这里的是当前从0看到t时刻的观测下(t-1和从前的时刻也是已知的)t时刻有最大概率的状态,而记录了从哪里跳到这个在看的i节点。换句话说,负责找到最大的概率,而负责找到这个概率对应的位置。注意,这里差一个。 例子见课本P210。

第十一章 条件随机场

11.1 概率无向图模型

概率无向图模型也叫马尔可夫随机场。 这一节都是一些定义的内容,知道就可以了。

  • 成对马尔可夫性:在无向图中两个不相邻的节点u,v,别的节点是O,对应的随机变量表示为Y,满足:
  • 局部马尔可夫性:给定任一节点v,W是一个和v相连的节点,O是除v和W外的节点,满足:,看起来好像是,给定一个节点的时候,他的相邻节点和另外的节点独立;以及在时,满足
  • 全局马尔可夫性:取节点集合A,B,C,其中C把A,B分开,也就是不连通,满足

这三个性质等价。 对于联合分布,如果满足三个之中的一个,就是概率无向图模型。 对于概率无向图模型,可以进行因子分解,也就是团。团就是离散数学里面的,里面各个节点两两连接。当无向图里面的团C不能再加入G的其他节点使之变大,那么这个团C称为最大团。 有了最大团,联合概率分布可以写成所有最大团的乘积,也就是,其中Z是归一化因子,即,让这个式子变成一个概率分布。这里的叫做势函数,通常定义为。

11.2 CRF的定义与形式

一般的CRF,满足,是和v相连的节点w。 定义里面不要求X和Y有相同结构,不过一般都使用相同结构的X和Y。 在课本中,使用线性链CRF,也就是只有相邻的和是相连的。公式上,也就是:,而且在两侧只考虑单边,图:

线性链CRF的参数化形式如下:

课本的例子在P220。 线性链CRF可以用简化形式或者矩阵形式表示。 CRF中,表示在观测序列x下,标记序列为y的条件概率。 这里写出矩阵形式的公式,简化形式看课本吧。 ,其中的规范化因子所有矩阵乘积的元素。 矩阵形式下的例子在课本P224,较易看懂。

11.3 CRF的概率计算问题

这里解决的是给定CRF,输入序列x和输出序列y,计算各个位置的条件概率和期望。可以使用前向-后向算法。 前向向量:初始化: 递推: 也有后向概率:初始化: 递推: 同样的,这里的概率公式和期望值都可以算出来,在课本P225。这里不再给出。

11.4 CRF的学习算法

这个东西我不想看。

11.5 CRF的预测算法

使用的是维特比算法。

例子在P234。 这里的特征函数就是t和算一次加权,s和算一次加权,具体的特征函数式子在上面。这里的start只是一个记号,并不需要管是什么。也就是,这个维特比算法是在让i增加的过程中跑出最后的结果。

第十四章 聚类方法

14.1 聚类的基本概念

聚类的核心是相似度。就像第三章里面说的,可以使用闵可夫斯基距离,找到合适的p值就可以。不过还有另外的一些指标:

  • 马哈拉诺比斯距离:给定样本集合X=[xij]m×nxixjdij=((xixj)TS1(xixj))12xi=(x1i,x2i,,xmi)T。当S是单位矩阵时,也就是各个分量相互独立且各个分量的方差=1的时候,马氏距离就是欧氏距离。
  • 相关系数:rij=mk=1(xki¯xi)(xkj¯xj)(k=1m(xki¯xi)2k=1m(xkj¯xj)2)12,其中bar是把特征取平均。这里r越大越相似。
  • 夹角余弦。也就是向量之间的cos角,公式懒得写了。

聚类有硬聚类和软聚类之分,其中硬聚类就是每个样本只能有一个类,软聚类反之。课本只介绍了硬聚类。 对所有点,其中的一个子集G,如果任意两个样本和都有成立,T是给定的正数,那么G就是一个类或者簇。 对于类(一堆样本)这个尺度,还有一些别的性质:

  • 类的均值,或者叫类的中心:¯xG=1nGi=1nGxi
  • 类的直径:
  • 类的样本散布矩阵:
  • 类的样本协方差矩阵:,m是样本维数

然后对于类之间,还有另外的一些定义(比较好理解):

14.2 层次聚类

也就是对某一个层次聚类,然后合并或者继续分裂。 聚合聚类算法:

这里的距离矩阵D是一个对称矩阵,而且对角线上元素为0。 这个过程完全就是遍历贪心,课本例子很直观。

14.3 k-means聚类

这里的聚类事实上是一种划分,即不重不漏的分类。可以用一个函数来建模这个关系,即。i是样本index,l是类别index。 k-means方法使用的损失函数是各个类到类中心的l2距离之和。算法为:

课本的例子很容易理解。

k-means的特点:

  • 基于划分;
  • 实现指定类别数;
  • 使用欧氏距离表示样本之间的距离,使用样本均值表示类别;
  • 算法是迭代的,是一种启发式方法,不保证是全局最优;
  • 聚类结果和初始选择是相关的,不同的初始选择可以得到不同的聚类结果;
  • 这个k值一般需要搜索,满足这样的关系:

第十五章 奇异值分解

终于到了这个耳熟能详但是又不会用的东西了。

15.1 SVD的定义与性质

对实矩阵的SVD,就是对一个矩阵进行因子分解,其中A的形状是(m, n):,V是n阶正交矩阵,是降序排列的非负的对角线元素组成的(m, n)形状的矩形对角矩阵,这里的各个矩阵满足如下性质:

这里的称为矩阵A的奇异值,U的列向量叫左奇异向量,V的列向量叫右奇异向量。而且SVD不要求A是方阵。注意这里的并不一定要填满p这么多个对角元素,后面几个元素是0也可以的。

不过一般常用的是紧奇异值分解和截断奇异值分解,其中紧奇异值分解和原来的SVD(又称完全奇异值分解)等价,而截断SVD比原始矩阵低秩。SVD的提出就是为了对矩阵进行压缩,其中截断SVD就是有损压缩。

紧奇异值分解的矩阵可以比完全SVD更小,紧的SVD的矩阵大小是和待分解矩阵的秩相关的。对于矩阵A,,那么有,其中的形状是(m, r),的形状是(n, r),是r阶方阵,其中是完全SVD的前r列的列向量组成的,同理,是前r个元素组成的对角阵。其中。

截断奇异值分解和紧奇异值分解类似,不过会让,其中。这里的k也是取定的,的取法也是类似的。

SVD的几何解释也是有意义的。对于一个给定的矩阵A,形状是(m, n),可以考虑变换,这里是一个到的空间映射,这一个映射可以分解成三个步骤,对应SVD的三个矩阵:一个坐标系的旋转或反射变换、一个坐标轴的缩放变换和另一个坐标系的旋转或反射变换。 在SVD中,U和V都是正交矩阵,那么V的列向量构成了空间里的一组正交基,U同理。所以这里都表示旋转或反射变换。对于,是一组非负实数,表示各个轴上的缩放变换。 SVD的几何解释可以对标准正交基进行变换看效果,课本的例子比较直观。 而且SVD直觉上,感觉像对A做行变换之后得到的奇异值对角阵,因为这两个东西秩相等。

SVD还有一些相关的性质:

  • 和的SVD也是存在的,而且和A的SVD结果相关,具体不在这里给出。
  • 对于,右乘得到,考察矩阵的第j列,就有:,那么类似地取个转置,就有和。
  • SVD中的是唯一的,而U和V不唯一,也就是给定一个A,那么对应的唯一。
  • A和的秩相等,也和的正奇异值个数相等(包括重复的奇异值)。
  • 课本这里还有一个很长的性质,不知道能干嘛。

15.2 SVD的计算

SVD的求法看起来比较机械化。步骤为:

  1. 求的特征值和特征向量。也就是,求解,把里面的特征值从大到小排列。然后把代入得到特征向量。
  2. 把特征向量单位化之后横向拼起来,得到正交矩阵V:
  3. 构造全0矩阵,形状为(m, n),对角元素填入,得到
  4. U分成两部分,对于前r个特征值,有,然后对于后面的m-r个特征值,求出的零空间(Null)的一组标准正交基(其中,也就是,要求的零空间标准正交基,解出来之后单位化即可)。把两个得到的这一堆列向量都横向拼起来就是U。

课本有一个SVD的计算,把那个掌握了之后应该就会计算SVD了。不过这里的SVD计算是理论上的,工程上的计算并不是这样算的。课本没给出来。

15.3 SVD与矩阵近似

矩阵的F范数就是各个位置平方,然后全局求和后取开方。这里有一个引理,对于A和他的各个奇异值,有: 课本这里给出了两个相关的定理,证明了在把秩压缩之后存在F范数意义下的最有近似矩阵,证明较长。

对于SVD,把写到列向量里面,也就是,然后把按行向量写成 那么就有,如果A的秩=n,那么这个式子也可以表示为,通过控制n值来降秩,达到近似效果,课本有例题。

第十六章 PCA

16.1 总体PCA

数据的变量(特征)之间存在相关性会带来难度,PCA用了少数不相关的变量来代替这些变量。PCA先把数据在原来的各个轴上规范化处理,然后对原来的坐标轴做旋转变换,其中第一坐标轴是方差最大的方向,其余坐标轴方差逐渐变小(当然也是找最大,不过和前面的方向相比更小)。

PCA的定义:对于m维的随机变量,均值向量,协方差矩阵,这里的方差。考虑一个对x的线性变换,即:。如果这个线性变换满足一定的要求,就是PCA。这些要求是:

  • 是单位向量,也就是满足。
  • 和不相关,也就是。
  • 是x的所有线性变换中方差最大的。是与不相关的x的所有线性变换中方差最大的,以此类推。

课本这里给出了一个定理和一种求PCA的方法,对于协方差矩阵,拿到它的特征值,对应的单位特征向量是,那么x的第k主成分就是, 这个第k主成分的方差是,也就是协方差矩阵的第k个特征值。

根据这个定理,有一个推论可以判断一个和x同维(当然也可以不同维,同维的时候叫总体主成分)的随机变量是不是x的主成分,也就是从1到m分别是第一主成分到第m主成分:

  1. ,A是一个正交矩阵。
  2. y的协方差矩阵是一个对角矩阵,且对角上的元素单调不增。易知,这里的对角上的元素就是协方差矩阵的特征值。

对总体主成分y,有一些性质:

  • y的协方差矩阵是对角矩阵。
  • y的方差之和=x的方差之和,即,其中这里的就是协方差矩阵的特征值。
  • 第k个主成分和变量(x的第i维)的相关系数称为因子负荷量,即

那么怎么定主成分个数k?课本给出了两个定理,不管了。直接看到指标,方差贡献率定义为,也就是第k个成分和其他方差之和的比;k个主成分的累计方差贡献率定义为,累计方差贡献率反映了主成分保留信息的比例,但不能反映对某个原有的维度保留信息的比例,这个时候定义一个专门第k个主成分对原有变量的贡献率,即。一般可以考虑累计方差贡献率达到一定程度的前k个主成分,比如70%。

一般PCA还会在用之前对各个维度做归一化,然后总体主成分的性质就会更好一点,变成:(懒得打了)

16.2 样本PCA

前面说的总体PCA是对所有样本的,一般来说没有这么大量的数据,就做n次独立观测得到样本Undefined control sequence \bm。样本主成分的定义类似,不再给出。

PCA有两种方法,传统方法使用相关矩阵的特征值分解算法,现在常用数据矩阵的奇异值分解算法。

在传统方法中,步骤为:

  1. 各个维度内归一化;
  2. 计算样本相关矩阵:R=[rij]m×m=1n1XXT, where rij=1n1nl=1xilxlj
  3. 求出R的k个特征值和对应的特征向量。即,求解,得到的各个解按大到小排列,求方差贡献率达到要求对应的k值,对应的特征向量就是,这是个列向量。
  4. 求出k个样本的主成分,也就是对应的线性变换,这里并没有代入具体观测到的样本
  5. 计算k个主成分和原变量的相关系数,以及k个主成分对原变量的贡献率
  6. 把规范化的样本代入,即对第j个样本(样本是列向量)的第i个主成分是,这里是个数,因为是列向量。

课本的例题把这个过程走了一遍。

数据矩阵的奇异值分解算法中,

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-02-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
PCA、SVD深入浅出与python代码
我个人的理解:PCA本质上就是寻找数据的主成分。我们可以简单的打个比方,假设有一组高维数据。他的主成分方向就是用一个线性回归拟合这些高维数据的方向。用最小二乘的逻辑拟合的。其他的主成分都是与最大主成分正交的。
机器学习炼丹术
2023/03/16
1.1K0
PCA、SVD深入浅出与python代码
机器学习算法之PCA算法
在机器学习中降维是我们经常需要用到的算法,在降维的众多方法中PCA无疑是最经典的机器学习算法之一,最近准备撸一个人脸识别算法,也会频繁用到PCA,本文就带着大家一起来学习PCA算法。
BBuf
2019/12/04
1.2K0
机器学习算法之PCA算法
机器学习中7种常用的线性降维技术总结
Principal Component Analysis (PCA) 是一种常用的降维技术,用于将高维数据集转换为低维表示,同时保留数据集的主要特征。PCA 的目标是通过找到数据中最大方差的方向(主成分),将数据投影到这些方向上,从而实现降维。
deephub
2024/02/21
8280
机器学习中7种常用的线性降维技术总结
「Workshop」第十七期 奇异值分解
奇异值分解(Singular Value Decomposition,以下简称SVD)是在机器学习领域广泛应用的算法,它不光可以用于降维算法中的特征分解,还可以用于推荐系统,以及自然语言处理等领域。是很多机器学习算法的基石。奇异值分解是一个有着很明显的物理意义的一种方法,它可以将一个比较复杂的矩阵用更小更简单的几个子矩阵的相乘来表示,这些小矩阵描述的是矩阵的重要的特性。
王诗翔呀
2020/09/17
1.1K0
「Workshop」第十七期 奇异值分解
主成分分析(Principal Component Analysis,PCA)
)个主成分(线性无关变量)来代替m个原有变量(线性相关变量),使问题得以简化,并能保留原有变量的大部分信息(原有变量的方差)。
Michael阿明
2020/07/13
9160
主成分分析(Principal Component Analysis,PCA)
原创 | 一文读懂主成分分析
文:王佳鑫审校:陈之炎 本文约6000字,建议阅读10+分钟本文带你了解PCA的基本数学原理及工作原理。 概述 主成分分析PCA(Principal Component Analysis)是一种常用的数据分析方法。PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的降维。 本文用直观和易懂的方式叙述PCA的基本数学原理,不会引入严格的数学推导。希望读者在看完这篇文章后能更好地明白PCA的工作原理。 一、降维概述 1.1 数组和序列(Series)的维度
数据派THU
2022/09/01
9710
原创 |  一文读懂主成分分析
【机器学习-无监督学习】降维与主成分分析
  在上一篇文章聚类中,我们介绍了无监督学习的重要问题之一:聚类问题,并主要讲解了k均值算法。结尾处我们提到,在解决复杂聚类问题时,第一步通常不会直接使用k均值算法,而是会先用其他手段提取数据的有用特征。对于高维复杂数据来说,其不同维度代表的特征可能存在关联,还有可能存在无意义的噪声干扰。因此,无论后续任务是有监督学习还是无监督学习,我们都希望能先从中提取出具有代表性、能最大限度保留数据本身信息的几个特征,从而降低数据维度,简化之后的分析和计算。这一过程通常称为数据降维(dimensionality reduction),同样是无监督学习中的重要问题。本文就来介绍数据降维中最经典的算法——主成分分析(principal component analysis,PCA)。
Francek Chen
2025/01/22
1400
【机器学习-无监督学习】降维与主成分分析
PCA详解
对于数组和Series而言,维度就是shape返回的数值shape中 返回了几个数字,就是几维。
皮大大
2021/03/02
1.6K0
【数学基础】特征值,特征向量与SVD奇异值分解
本文是深度学习笔记系列文章,本次文章将介绍线性代数里比较重要的概念:特征值,特征向量以及SVD奇异值分解。
zenRRan
2020/02/18
1.9K0
pca
混乱的数据中通常包含三种成分:噪音、旋转和冗余。在区分噪音的时候,可以使用信噪比或者方差来衡量,方差大的是主要信号或者主要分量;方差较小的则认为是噪音或者次要分量;对于旋转,则对基向量进行旋转,使得信噪比或者方差较大的基向量就是主元方向;在判断各个观测变量之间是否冗余时,可以借助协方差矩阵来进行衡量和判断。
pydata
2018/08/02
8300
pca
奇异值分解(SVD)原理与在降维中的应用
地址:https://www.cnblogs.com/pinard/p/6251584.html
机器学习算法工程师
2018/07/26
2.1K0
奇异值分解(SVD)原理与在降维中的应用
三个主要降维技术对比介绍:PCA, LCA,SVD
随着数据集的规模和复杂性的增长,特征或维度的数量往往变得难以处理,导致计算需求增加,潜在的过拟合和模型可解释性降低。降维技术提供了一种补救方法,它捕获数据中的基本信息,同时丢弃冗余或信息较少的特征。这个过程不仅简化了计算任务,还有助于可视化数据趋势,减轻维度诅咒的风险,并提高机器学习模型的泛化性能。降维在各个领域都有应用,从图像和语音处理到金融和生物信息学,在这些领域,从大量数据集中提取有意义的模式对于做出明智的决策和建立有效的预测模型至关重要。
deephub
2023/10/09
1.3K0
三个主要降维技术对比介绍:PCA, LCA,SVD
【算法】SVD算法
小编邀请您,先思考: 1 如何对矩阵做SVD? 2 SVD算法与PCA算法有什么关联? 3 SVD算法有什么应用? 4 SVD算法如何优化? 前言 奇异值分解(Singular Value Decomposition,简称SVD)是在机器学习领域广泛应用的算法,它不光可以用于降维算法中的特征分解,还可以用于推荐系统,以及自然语言处理等领域,是很多机器学习算法的基石。本文就对SVD的原理做一个总结,并讨论在在PCA降维算法中是如何运用运用SVD的。 特征值与特征向量 首先回顾下特征值和特征向量的定义如下: A
陆勤_数据人网
2018/03/27
1.6K0
【算法】SVD算法
机器学习笔记-coursera
\(A\)是矩阵 \(x_i\) 是单位特征向量 \(\lambda_i\)是特征值 \(\Lambda\) 是矩阵特征值
列夫托尔斯昊
2020/08/25
8820
机器学习笔记-coursera
矩阵分解: SVD-PCA
矩阵分解(Decomposition Factorization)是将矩阵拆解为若干个矩阵的相乘的过程。在数值分析中,常常被用来实现一些矩阵运算的快速算法,在机器学习领域有非常重要的作用。有的推荐系统采用SVD算法来实现整套系统中的矩阵分解过程。
用户3578099
2023/09/21
4200
主成分分析
PCA算法提供了一种压缩数据的方式。我们也可以将PCA视为学习数据表示的无监督学习算法。这种表示基于上述简单表示的两个标准。PCA学习一种比原始输入维数更低的表示。它也学会了一种元素之间彼此没有线性相关的表示。这是学习表示中元素统计独立标准的第一步。要实现完全独立性,表示学习算法也必须去掉变量间的非线性关系。
狼啸风云
2019/09/18
9680
主成分分析
奇异值分解(SVD)原理
的图片,如果以像素值作为特征,那么每张图片的特征维度是10000。当进行PCA降维时,难点在于我们构造协方差矩阵时,维度达到
Coggle数据科学
2019/09/12
2.1K0
奇异值分解(SVD)原理
机器学习:无监督学习
Tips:如果出现某个聚类中心没有分配到点的情况,一般是直接将这个中心去掉,如果规定必须要刚好
Here_SDUT
2022/09/19
6810
机器学习:无监督学习
机器学习数学基础:从奇异值分解 SVD 看 PCA 的主成分
今天我们来看一个在数据分析和机器学习领域中常用的降维方法,即主成分分析(PCA)。它是探索性数据分析(EDA)和机器学习算法对数据的基本处理方法。
统计学家
2020/12/08
6340
机器学习数学基础:从奇异值分解 SVD 看 PCA 的主成分
图解机器学习 | 降维算法详解
教程地址:http://www.showmeai.tech/tutorials/34
ShowMeAI
2022/03/11
1.2K0
图解机器学习 | 降维算法详解
相关推荐
PCA、SVD深入浅出与python代码
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文