无监督学习的简单统一

一、聚类与EM算法    

1、以聚类为例讲清楚EM

首先将EM算法应用于概率模型。
EM算法是概率模型中寻找参数最大似然估计或者最大后验估计的算法,其中概率模型依赖于无法观测的隐性变量
-- 假设聚类模型的输出y=f(θ,z,x)
   -- θ是模型参数,决定x的分布
   -- x是输入数据,是可观察变量
   -- z是隐含变量,即是类簇中心

那E步就是计算隐变量的期望:
-- 假设一个初始的模型参数θ0,代入模型中,表示出初始的z
   -- 通俗一点说就是假设出θ然后估计出初始的类簇中心
   -- 比如聚类的逻辑就是开始假设k个聚类中心,计算每个点离这k个聚类中心的距离,把每个点归类到最近的k个聚类中心,然后更新之前k个中心的位置

M步就是通过不断迭代更新、让隐变量期望最大化:
-- 根据估计出来的z,代入模型中,通过最大化对数似然估计函数,得到θ1

J次迭代
-- 迭代的终止条件就是看θ有没有收敛,也即是θj 和θj+1有没有变化
        
公式角度理解EM


            
二、高斯混合模型    

1、高斯混合模型的假设    

-- 高斯混合模型假设每个簇的数据都是符合高斯分布(又叫正态分布)的
-- 当前数据呈现的分布就是各个簇的高斯分布叠加在一起的结果。


2、高斯混合模型的核心思想    

高斯混合模型的核心思想是,假设数据可以看作从多个高斯分布中生成出来的

-- 在该假设下,每个单独的分模型都是标准高斯模型,其均值μi和方差Σi是待估计的参数
-- 此外,每个分模型都还有一个参数πi,可以理解为权重或生成数据的概率


3、高斯混合模型的数据生成过程通俗解释

可以这样理解数据的生成过程,假设一个 最简单的情况,即只有两个一维标准高斯分布的分模型N(0,1)和N(5,1),其权重分 别为0.7和0.3
-- 在生成第一个数据点时,先按照权重的比例,随机选择一个分布
   -- 比如选择第一个高斯分布,接着从N(0,1)中生成一个点,如−0.5,便是第一个数据点
-- 在生成第二个数据点时,随机选择到第二个高斯分布N(5,1),生成了第二个点4.7
-- 如此循环执行,便生成出了所有的数据点。

4、高斯混合模型求解方法


直接通过最大似然估计来求解三个参数会出现的问题
-- K不是参数,K类似于K均值聚类中的K,表示类别数
-- 此问题中直接使用最大似然估计,得到的是一个复杂的非凸函数,目标函数是和的对数,难以展开和对其求偏导

-- 可以用上一节已经介绍过的EM算法框架来求解该优化问题
   -- EM算法是在最大化目标函数时,先固定一个变量使整体函数变为凸优化函数(即是先随机初始化输入变量,然后求得隐变量期望,然后再不断迭代是隐变量期望最大化),求导得到最值
   -- 然后利用最优参数更新被固定的变量,进入下一个循环。

5、通俗解释高斯算法的聚类原理

也即是求出K个高斯模型,这一组高斯模型能将样本划为K类后,每个高斯模型都能很好的解释每一簇的样本分布规律

6、从原理上解释高斯算法的聚类原理

我们并不知道最佳的K个高斯分布的各自3个参数,也不知道每个数据点究竟是哪个高斯分布生成的。所以每次循环时,先固定当前的高斯分布不变,获得每个数据点由各个高斯分布生成的概率然后固定该生成概率不变,根据数据点和生成概率,获得一个组更佳的高斯分布。循环往复,直到参数不再变化,或者变化非常小时,便得到了比较合理的一组高斯分布。     


7、高斯混合模型相比K均值算法的相同点和优点

1)、相同点:
-- 都是可用于聚类的算法;
-- 都需要指定K值
-- 都是使用EM算法来求解;
-- 都往往只能收敛于局部最优

2)、优点:
-- 可以给出一个样本属于某类的概率是多少
-- 不仅仅可以用于聚类,还可以用于概率密度的估计
-- 并且可以用于生成新的样本点。    

三、自组织映射神经网络    

自组织映射神经网络,也即是SOM(Self-organizing feature Map),是一类无监督学习模型,一般的用法是将高维的input数据在低维的空间进行表示,因此SOM天然是一种降维方法。
    -- 降维的方式是,以获胜神经元为中心设定一个邻域半径R,该半径圈定的范围称为优胜邻域。在SOM网学习算法中,优胜邻域内的所有神经元均按其离开获胜神经元的距离远近不同程度地调整权值。 优胜邻域开始定得很大,但其大小随着训练次数的增加不断收缩,最终收缩到半径为零(即是降维)。    

除了降维,SOM还可以用于数据可视化,以及聚类等应用中。

1、SOM本质上只有两层,即输入层和输出层(竞争层)

在输出层中,同层的神经网络之间建立侧向连接,并可以通过权值的学习形成特定的模式。如一维线阵,二维平面和三维栅格阵等。具体节点排列为哪种模式,还需要根据之际需要去判断,比如,对于旅行路径类的问题,二维平面比较直观;对于一般的分类问题,一个输出节点即能代表一个模式类,用一维线阵就比较好。

2、竞争学习的步骤为:

(1)向量归一化 
(2)寻找获胜神经元 
(3)网络输出与权值调整 

步骤(3)完成后回到步骤1继续训练,直到学习率衰减到0,学习率处于(0,1],一般随着学习的进展而减小,即调整的程度越来越小,神经元(权重)趋于聚类中心。


3、如何寻找获胜神经元    

对于输入的向量,将其与竞争层(输出层)中的神经元对应的权重向量进行相似性比较,最相似的就是获胜神经元

-- 即是比较输入向量和每个输出神经元的相似性,最相似的就是获胜神经元

-- 其实相似程度这不就是损失函数嘛!!!


4、权重初始化

一般有以下两种方法:

1)、一种简单易行的方法是从训练集中随机抽取m个输入样本作为初始权值
    -- 因为训练集已经归一化了

2)、另一种可行的办法是先计算出全体样本的中心向量,在该中心向量基础上迭加小随机数作为权向量初始值,也可将权向量的初始位置确定在样本群中(找离中心近的点)。

5、权值调整域(优胜领域)    

SOM网的获胜神经元对其邻近神经元的影响是由近及远,由兴奋逐渐转变为抑制,因此其学习算法中不仅获胜神经元本身要调整权向量,它周围的神经元在其影响下也要程度不同地调整权向量。

这种调整可用三种函数表示:    
1)、墨西哥草帽函数:获胜节点有最大的权值调整量,临近的节点有稍小的调整量,离获胜节点距离越大,权值调整量越小,直到某一距离0d时,权值调整量为零;当距离再远一些时,权值调整量稍负,更远又回到零。如(b)所示
2)、大礼帽函数:它是墨西哥草帽函数的一种简化,如(c)所示。
3)、厨师帽函数:它是大礼帽函数的一种简化,如(d)所示。    


6、SOM Kohonen算法    

基本思想是获胜神经元对其邻近神经元的影响是由近及远,对附近神经元产生兴奋影响逐渐变为抑制。在SOM中,不仅获胜神经元要训练调整权值,它周围的神经元也要不同程度调整权向量。常见的调整方式见上图。


7、优胜领域设计原则    

使领域不断缩小,这样输出平面上相邻神经元对应的权向量之间既有区别又有相当的相似性,从而保证当获胜节点对某一类模式产生最大响应时,其领域节点也能产生较大响应。领域的形状可以是正方形、六边形或者菱形。优势领域的大小用领域的半径表示,r(t)r(t)的设计目前没有一般化的数学方法,通常凭借经验来选择。下面是两种典型形式 :


8、学习率的设计

学习率会影响收敛速度,可以定义一个动态的学习函数,随着迭代次数的增加而收敛。 
Learn_rate(i)=maxLrate-((i+1.0)*(maxLrate-minLrate))/MaxIteration 
-- 其中,maxLrate为最大学习率,minLrate为最小学习率,MaxIteration为最大迭代次数,i为当前迭代次数。
                

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值