技术博客


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 搜索

机器学习15-2--几种算法的对比总结(FA、PCA、混合高斯算法、k-means)

发表于 2014-06-13 | 分类于 机器学习 | | 阅读次数:
字数统计: 193 | 阅读时长 ≈ 1

#机器学习15-2--几种算法的对比总结(FA、PCA、混合高斯算法、k-means)

  • FA:无监督学习,z连续,服从高斯分布,作为隐含变量;运用EM方法,通过最大化似然函数,对进行参数估计。主要目的:降维。
  • PCA:通过变换矩阵进行降维。
  • 混合高斯模型:无监督学习,z离散,服从多项式分布,作为隐含变量;运用EM方法,通过最大化似然函数,对进行参数估计。主要目的:对每个样本进行标签z的分配。
  • k-means:无监督学习,通过最小化,使每一类的点到其质心的间隔最小。主要目的:对每个样本进行标签z的分配。

机器学习15-1--SVD

发表于 2014-06-13 | 分类于 机器学习 | | 阅读次数:
字数统计: 137 | 阅读时长 ≈ 1

#机器学习15-1--SVD 本章在《机器学习实战》的14章有具体的应用——推荐系统。 通过svd,可以将矩阵A进行降维处理。如下图: 1. 调用函数直接计算三个参数。 2. 选取合适的k值。 示意图: > 那么,我们的k值是如何获得呢?我们的做法是计算能量信息,保存90%以上的能量即可。能量的计算:所有奇异值求平方和,累加到90%未止。 注:老师上课的推导过程:

机器学习14--PCA主成分分析

发表于 2014-06-13 | 分类于 机器学习 | | 阅读次数:
字数统计: 826 | 阅读时长 ≈ 2

#机器学习14--PCA主成分分析 ##概述 - 高斯分布的样本 - 原始变量的线性组合表示新的综合变量,即主成分 - 解决特征过多,样本过少的问题 - 两个特征强相关的问题,或者两个特征有一个多余 - 滤除噪声 - 与《模型选择和规则化》对比 > 《模型选择和规则化》要剔除的特征主要是和类标签无关的特征。比如“学生的名字”就和他的“成绩”无关,使用的是互信息的方法。 而这里的特征很多是和类标签有关的,但里面存在噪声或者冗余。在这种情况下,需要一种特征降维的方法来减少特征数,减少噪音和冗余,减少过度拟合的可能性。 - PCA的思想是将n维特征映射到k维上(k<n),这k维是全新的正交特征。这k维特征称为主元,是重新构造出来的k维特征,而不是简单地从n维特征中去除其余n‐k维特征。

PCA过程

  1. 数据预处理:减去均值,再归一化(除以标准差)。 >
  2. 求特征协方差矩阵,如果数据是3维,那么协方差矩阵是
  3. 求协方差的特征值和特征向量
  4. 将特征值按照从大到小的顺序排序,选择其中最大的k个,然后将其对应的k个特征向量分别作为列向量组成特征向量矩阵。 > 这里,用简单的方式理解一下为什么选取前k个:在矩阵特征值与特征向量中,越大的特征值对应的特征向量,对被变换矩阵影响越大。
  5. 将样本点投影到选取的特征向量上。假设样例数为m,特征数为n,减去均值后的样本矩阵为\(DataAdjust(m*n)\),协方差矩阵是 \(n*n\),选取的k个特征向量组成的矩阵为\(EigenVectors(n*k)\)。那么投影后的数据FinalData为

PCA 理论基础

为什么协方差矩阵的特征向量就是k维理想特征,有三个理论:分别是最大方差理论、最小错误理论和坐标轴相关度理论。详见课件。 ### 最大方差理论 简单理解一下第一种方法: 在信号处理中认为信号具有较大的方差,噪声有较小的方差,信噪比就是信号与噪声的方差比,越大越好。如前面的图,样本在横轴上的投影方差较大,在纵轴上的投影方差较小,那么认为纵轴上的投影是由噪声引起的。 因此我们认为,最好的k维特征是将n维样本点转换为k维后,每一维上的样本方差都很大。 1. 方差: 2. 求解最值问题: 3. 最终解: > λ就是Σ的特征值,u是特征向量。最佳的投影直线是特征值λ最大时对应的特征向量,其次是λ第二大对应的特征向量,依次类推。 其中的第j 维就是 上的投影。 通过选取最大的k个u,使得方差较小的特征(如噪声)被丢弃。

机器学习13--EM算法--应用到三个模型: 1,2,3因子分析模型

发表于 2014-06-13 | 分类于 机器学习 | | 阅读次数:
字数统计: 660 | 阅读时长 ≈ 2

#机器学习13--EM算法--应用到三个模型: 1,2,3因子分析模型 使用场所: > - 标签z是连续的 - 样本个数大于特征数 - 高维-->低维 - 潜在的假想变量和随机影响变量的线性组合表示原始变量

##边缘和条件概率分布 后面的推导用到了边缘和条件分布: 1. 已知 2. 边缘分布 3. 条件概率分布

###因子分析模型 z被称为因子。我们要做的就是从高维随机连续变量x,变换到低维随机连续变量z。 1. 首先,我们如下假设: > eg:从1维到2维: 1维: 2维 2. 我们令: 3. 下面经过推导,求得的具体值: 4. 因此,我们得到x的边缘分布: 5. 从而我们对样本 进行最大似然估计: > 但是,当似然函数最大时,我们得不到解析解(比如,一元二次方程的通解形式)。根据之前对参数估计的理解,在有隐含变量 z 时,我们可以考虑使用 EM 来进行估计。

###因子分析的EM估计 ####总体步骤: > 注:这里的要改写为积分符号\(\int_{z^{(i)}}^{}\)。因为,z是连续随机变量。

####详细步骤 E步 1. 根据前面的结论有: 2. 根据多元高斯公式得:

M步 3. 我们目标是最大化: 4. 通过参数估计,我们最终可以得到: 然后将Φ上的对角线上元素抽取出来放到对应的Ψ中,就得到了Ψ。

###因子分析总结 1. 根据上面的 EM 的过程,要对样本 X 进行因子分析,只需知道要分解的因子数(z 的维度)即可。通过 EM,我们能够得到转换矩阵Λ和误差协方差Ψ。 2. 因子分析(factor analysis)是一种数据简化的技术。原始的变量是可观测的显在变量,而假想变量是不可观测的潜在变量,称为因子。 3. 因子分析与回归分析不同,因子分析中的因子是一个比较抽象的概念,而回归因子有非常明确的实际意义 4. 主成分分析分析与因子分析也有不同,主成分分析仅仅是变量变换,而因子分析需要构造因子模型。 > 主成分分析:原始变量的线性组合表示新的综合变量,即主成分; 因子分析:潜在的假想变量和随机影响变量的线性组合表示原始变量。

机器学习12-2--EM算法--应用到三个模型: 高斯混合模型 ,混合朴素贝叶斯模型,因子分析模型(下一部分)

发表于 2014-06-09 | 分类于 机器学习 | | 阅读次数:
字数统计: 1.8k | 阅读时长 ≈ 6

#机器学习12-2--EM算法--应用到三个模型: 高斯混合模型 ,混合朴素贝叶斯模型,因子分析模型(下一部分)

  • 判别模型求的是条件概率p(y|x)。常见的判别模型有线性回归、对数回归、线性判别分析、支持向量机、boosting、条件随机场、神经网络等。
  • 生成模型求的是联合概率p(x,y),即 = p(x|y) ∗ p(y) 。常见的生成模型有隐马尔科夫模型、朴素贝叶斯模型、高斯混合模型、LDA、Restricted Boltzmann Machine等。

所以这里说的高斯混合模型,混合朴素贝叶斯模型都是求p(x,y)联合概率的。(下面推导会见原因) > 总结:凡是生成模型,目的都是求出联合概率表达式,然后对联合概率表达式里的各个参数再进行估计,求出其表达式。

下面的EM算法,GMM等三个模型都是做这同一件事:设法求出联合概率,然后对出现的参数进行估计。 ## EM算法 ### Jensen不等式 Jensen不等式表述如下: 如果 f 是凸函数,X 是随机变量,那么 > - 凸函数: - 如果 f 是严格凸函数,那 当且仅当。即:也就是说 X 是常量(后面会用到这个结论)。𞀊- Jensen 不等式应用于凹函数时,不等号方向反向,也就是。后面的log函数就是凹函数。

回顾:函数的期望的求取

EM算法推导步骤

  • EM算法的作用:进行参数估计。
  • 应用:(因为是无监督,所以一般应用在聚类上,也用在HMM参数估计上)所以凡是有EM算法的,一定是无监督学习.因为EM是对参数聚集
  • 我们的目的:找到每个样例隐含的类别 z,能使得 p(x,z)最大。(即 如果将样本x(i)看作观察值,隐含类别z看作是隐藏变量, 则x可能是类别z, 那么聚类问题也就是参数估计问题) > p(x,z)最大似然估计是: 所以可见用EM算法的模型(高斯混合模型,朴素贝叶斯模型)都是求p(x,y)联合概率,为生成模型。
  • 对上面公式,直接求θ一般比较困难,因为有隐藏变量z存在,但是一般确定了z后,求解就容易了。
  1. p(x,z)最大似然估计是:
  2. EM是一种解决存在隐含变量优化问题的有效方法。既然不能直接最大化ℓ(θ),我们可建立ℓ的下界(E步),再优化下界(M步),见下图第三步,取的就是下界 > 其中, 如果 z 是连续性的,那么 是概率密度函数,需要将求和符号换做积分符号(因子分析模型是如此),即:
  3. 对Q(z)进行推导: > - > - z只受参数θ影响:

一般的EM算法步骤

> - 注:在m步中,最终是对参数θ进行估计,而这一步具体到高斯混合模型,则θ有三个参数:\(\mu,\phi, \sigma\) 代替,即高斯混合模型要推导三个参数,下面会讲。 - 最终,我们得到的是每个样例属于哪个类(k个类),以及参数θ(k组)。

至此,这就是EM算法所有推导,EM算法推导也只能推导这些步,具体再将这些公式推导下去,就要结合模型了。

EM算法的另外一种解释——坐标上升算法

如果我们定义 从前面的推导中我们知道ℓ(θ) ≥ J(Q, θ),EM 可以看作是 J 的坐标上升法,E 步固定θ,优化Q;M 步固定Q优化θ。

EM算法的图形解释

> 其中,红色线表示每一步的J(Q, θ)。E步:确定红线部分。M步:确定当前红线部分J(Q, θ)的极值点。最终得到局部最优解。

##混合高斯模型 将EM算法融到高斯混合模型,将上面EM算法的E步、M步的公式再具体推导下去。 混合高斯模型定义:对于每个样例\(x^{(i)}\) ,我们先从k个类别中按多项式分布抽取一个\(z^{(i)}\)(隐含随机变量) ,然后根据所对应的 k 个多值高斯分布中的一个,生成样例\(x^{(i)}\),整个过程称作混合高斯模型。

条件和符号说明

  • 训练样本:
  • \(x^{(i)}\) :满足多值高斯分布,即: 。由此可以得到联合分布:。
  • 隐含类别:有 k 个值{1,…,k} 可以选取。

混合高斯模型步骤

E步 1、由EM公式得 M步 2、我们需要在固定 后最大化最大似然估计,求解 >

3、 求解三个参数 > 1. 2. 在∅和μ确定后,分子上面的一串都是常数了,实际上需要优化的公式是: 显然这是一个,有约束条件的规划问题。我们采用前面的拉格朗日方法: 3. Σ的推导也类似,不过稍微复杂一些,毕竟是矩阵。

4、混合高斯模型与前面的高斯判别模型的对比 - 最大似然估计就近似于高斯判别分析模型 - GDA 中类别 y 是伯努利分布,而这里的 z是多项式分布 - 这里的每个样例都有不同的协方差矩阵,而 GDA 中认为只有一个。 5、总结: 最终,我们得到隐含类别的具体值。还有,参数∅μΣ。

##混合朴素贝叶斯模型 混合高斯的例子:文本聚类: 要对一系列的文本聚类成若干主题。(用svm写文本分类是最好的)news.google.com就是文本聚类一个应用。垃圾邮件过滤(不知道那一封是垃圾邮件)。 ###模型描述 给定m个样本的训练集合是 , 每个文本\(x^{(i)}\)属于\((0,1)^n\)。即每个文本是n维 0或1的向量。 故= { wordj 是否出现在文本i 里} 我们要对\(z^{i}\)(值是0或1) 进行建模,\(z^{i}\)是隐含随机变量,这里取两个值:2个聚类。所以对混合贝叶斯模型,假设\(z^{i}\)服从参数∅有伯努利分布。 ### 步骤 1、同高斯混合模型,混合贝叶斯模型的联合概率是: 2、由贝叶斯公式可知: 3、E步: > 注:这里三个参数phi,mu,sigma,改成,,与\(∅_{j|z}\)

4、M步: 得到: > 这里Wi表示文本来自于类1,分子Σ表示:类1且包含词j的文档个数,分布表示类1的文档总数。所以全式表示:类1包含词j的比率。 EM算法不能做出绝对的假设0或者1,所以只能用Wi表示,最终Wi的值会靠近0或1,在数值上与0或1无分别。

>  全式表示:类0包含词j的比率

5、迭代上面12步骤,收敛,得到参数估计。然后,带回联合概率,将联合概率排序,由联合概率最高值 ,可得知哪个文本是输入哪个类了。

1…5678
DanielJyc

DanielJyc

数据驱动 Java 大数据 算法

40 日志
5 分类
28 标签
RSS
Links
  • Danieljyc blog
© 2014 — 2019 DanielJyc | Site words total count: 53k
由 Hexo 强力驱动
|
主题 — NexT.Muse v5.1.4
京ICP备 - 19007489号