数据分析模型 第十章

本文详细介绍了非监督学习的基本概念,包括聚类(如K均值聚类)和混合模型(如高斯混合模型),以及如何处理缺失数据的矩阵填充方法。通过实例解释了K均值聚类的工作原理和混合模型在处理混合变量数据中的应用。此外,还探讨了矩阵填充在处理缺失值和推荐系统中的作用。
摘要由CSDN通过智能技术生成


在第九章,小弟分享了常见的可监督学习的机器学习模型,在第十章,小弟将分享一些非监督学习的机器学习模型。

一. 非监督学习(Unsupervised learning)

假如我们有这么一把数据,即如下:
Y = ( y 1 y 2 . . . y n ) = ( y ( 1 , 1 ) , y ( 1 , 2 ) , . . . , y ( 1 , q ) y ( 2 , 1 ) , y ( 2 , 2 ) , . . . , y ( 2 , q ) . . . y ( n , 1 ) , y ( n , 2 ) , . . . , y ( n , q ) ) Y=\begin{pmatrix} y_1\\ y_2 \\ ...\\ y_n\\ \end{pmatrix}=\begin{pmatrix} y_{(1,1)},y_{(1,2)},...,y_{(1,q)}\\ y_{(2,1)},y_{(2,2)},...,y_{(2,q)} \\ ...\\ y_{(n,1)},y_{(n,2)},...,y_{(n,q)}\\ \end{pmatrix} Y=y1y2...yn=y(1,1),y(1,2),...,y(1,q)y(2,1),y(2,2),...,y(2,q)...y(n,1),y(n,2),...,y(n,q)
我们有n个个体,即n行,有q个变量,但是不像监督学习,我们是没有目标变量的,也就是没有我们想预测的变量。那么我们需要研究这把数据的结构,这就是非监督学习。
非监督学习可以用在:
1.分类,区分个体,例如动物的种类
2.填充丢失的数据,例如有些个体的数据在传输过程中因为噪音而丢失或者被改变。
3.图片处理,例如压缩,图像识别,移除噪音

现在我们来看看非监督学习和监督学习的区别

监督学习:
有目标变量即 Y Y Y,和变量 X 1 , X 2 , . . . , X p X_1,X_2,...,X_p X1,X2,...,Xp
对于监督学习,在概率的角度上来看,它其实是条件分布:
P ( Y ∣ X 1 , X 2 , . . , X p ) P(Y|X_1,X_2,..,X_p) P(YX1,X2,..,Xp)
在模型的角度上看,它其实是在寻找 Y Y Y X 1 , X 2 , . . . , X p X_1,X_2,...,X_p X1,X2,...,Xp的关系。

非监督学习:
仅仅有变量 X 1 , X 2 , . . . , X p X_1,X_2,...,X_p X1,X2,...,Xp
对于监督学习,在概率的角度上来看,它其实是联合分布:
P ( X 1 , X 2 , . . . , X p ) P(X_1,X_2,...,X_p) P(X1,X2,...,Xp)
在模型的角度上来看,它其实在寻找变量 X 1 , X 2 , . . . , X p X_1,X_2,...,X_p X1,X2,...,Xp的内在关系。

现在开始介绍我们的第一个非监督模型,簇也叫聚类

二. 簇/聚类(Clustering)

假如我们有一大把数据(即总体),现在告诉我们这个总体可以被分为K个子部分,我们的目标就是找出这个K具体值,以及用模型找到这K个子部分。在过去,这种应用叫做内在分类(intrinsic classification),说白了就是发现数据的内在结构从而进行标签分类。

K均值聚类
举个例子:
假如我们有K个点,这K个点其实是均值,也其实是图形的心即形心。那么我们就有了K类,即:
M = ( μ 1 μ 2 . . . μ K ) = ( μ ( 1 , 1 ) , . . . , μ ( 1 , q ) . . . μ ( K , 1 ) . . . , μ ( K , q ) ) M=\begin{pmatrix} \mu_1\\ \mu_2 \\ ...\\ \mu_K\\ \end{pmatrix}=\begin{pmatrix} \mu_{(1,1)},...,\mu_{(1,q)}\\ ...\\ \mu_{(K,1)}...,\mu_{(K,q)}\\ \end{pmatrix} M=μ1μ2...μK=μ(1,1),...,μ(1,q)...μ(K,1)...,μ(K,q)
假如我们有这么一张散地图,即如下:
在这里插入图片描述
通过我们的观察也知道K均值聚类的K=2,两个形心 μ 1 , μ 2 \mu_1,\mu_2 μ1,μ2,即下图:
在这里插入图片描述
图中的蓝色×号和红色×号即为我们的2个形心,即 μ 1 , μ 2 \mu_1,\mu_2 μ1,μ2,我们便将数据分为了两类。

K均值聚类的逻辑:
第一步:通过观察数据,我们通过我们的第六感来估摸着给个K值,即多少个形心。

第二步:随便给我们的形心 μ 1 , μ 2 , . . . , μ K \mu_1,\mu_2,...,\mu_K μ1,μ2,...,μK赋值。

第三步:分别计算数据(全部数据)和形心距离,即利用两点间距离公式(欧几里得距离):
d k ( i ) = ( ∑ j = 1 q ( y i , j − μ k , j ) ) 1 2 , k ∈ K d_k(i)=(\sum_{j=1}^{q}(y_{i,j}-\mu_{k,j}))^{\frac{1}{2}},k∈K dk(i)=(j=1q(yi,jμk,j))21,kK

第四步:将最靠近该对应形心的数据摘出来,再利用该摘出来的数据重新估计对应的形心的值,返回第三步,当循环多次第三步,第四步后,估计形心的值比较稳定时,到第五步。

第五步:看看是否我们的K值,即多少个分类能够诠释数据内部结构,再进行K=K+1或者K=K-1去掉其中一个形心 μ k \mu_k μk,返回至第三步。

当然了这个逻辑有两个问题:
1.容易局部最小值
2.初始的形心值很容易造成我们最终结果的不同,也就是对于初始形心值较敏感。

如果我们定义了K=3,3个形心,我们初始这三个形心的具体值,即如下图的三个×号。
在这里插入图片描述
经过第三步和第四步反复的收敛,这三个形心的值会逐渐稳定,便会得到下图:
在这里插入图片描述
如果我们初始的形心值不好的话,经过第三步和第四步反复的收敛,会得到下图:
在这里插入图片描述
对于聚类,我们也有很多的测量相似度的办法,不仅仅光有欧几里得距离,还有权重欧几里得距离,曼哈顿距离,汉明距离(纯二进制数据,被用在信息传输和计算机网络安全方面),等等。

对于聚类,还有一些潜在问题, 如何适当的选取K值,即适当的类/形心很难处理混合的变量数据。另一个问题则是一个变量具有连续和离散两种不同的类型的数据。

对于处理混合的变量数据,混合模型是个不错的选择。

三.混合模型(Mixture Modelling)

混合模型顾名思义,是一种可以诠释混合概率分布的模型,即如下:
p ( y i , j ) = ∑ k = 1 K α k p ( y i , j ∣ θ k , j ) p(y_{i,j})=\sum_{k=1}^{K}\alpha_kp(y_{i,j}|\theta_{k,j}) p(yi,j)=k=1Kαkp(yi,jθk,j)
上述公式中:
K意味着类的数量。
α = ( α 1 , α 2 , . . . , α k ) \alpha=(\alpha_1,\alpha_2,...,\alpha_k) α=(α1,α2,...,αk)是权重(其实是先验概率)
θ k , j \theta_{k,j} θk,j是分布的参数,即第k类里关于变量j的分布参数
很抽象是么,我们来举个例子,一元高斯(正态分布)混合模型
在这里插入图片描述
上图是K=2,两类,即两个正态分布组成的。结合我们上面的聚类,我们可以把数据分为两类,一类属于 N ( μ = 4.3 , σ 2 = 0.4 ∗ 0.4 ) N(\mu=4.3,\sigma^2=0.4*0.4) N(μ=4.3,σ2=0.40.4),一类属于 N ( μ = 6.2 , σ 2 = 0.5 ∗ 0.5 ) N(\mu=6.2,\sigma^2=0.5*0.5) N(μ=6.2,σ2=0.50.5).

假如我们有一个数据点,那么如何测量这个数据点和第k类相似呢?我们会利用这个公式:
p k ( y i ) = Π k = 1 q p ( y i , j ∣ θ k , j ) p_k(y_i)=\Pi_{k=1}^{q}p(y_{i,j}|\theta_{k,j}) pk(yi)=Πk=1qp(yi,jθk,j)

对于正态分布模型,它就是欧几里得距离。

对于非正态分布模型(例如伯努利,泊松),它通常是欧几里得变化而来的,在高等数据分析里它其实和库尔贝科差异(Kullback-Leibler divergence)是有关系的。

那么我们如何计算这个数据点属于某个类的概率呢?这里我们将用到贝叶斯理论,小弟稍微介绍两个知识点。

先验概率:说白了就是,没看数据之前你觉的这个数据点属于某个类概率的概率是多少,有的同学说,那我们咋知道,没关系,我们可以用 α \alpha α分布或者 β \beta β或者 γ \gamma γ分布作为我们的第6感,用这样的分布来估计下它产生的概率。有些同学会觉得很离谱,但这个知识点说来话长了,初学者可以先用这个说方法理解下。

后验概率:看完数据后你觉得这个数据点属于某个类的概率是多少

那么这个数据点属于第k类的概率为,即计算后验概率:
γ i , k = α k p k ( y i ) ∑ l = 1 K α l p l ( y i ) \gamma_{i,k}=\frac{\alpha_kp_k(y_i)}{\sum_{l=1}^{K}\alpha_lp_l(y_i)} γi,k=l=1Kαlpl(yi)αkpk(yi)
α k \alpha_k αk是先验概率,第6感觉得该数据点属于k类的概率。
p k ( y i ) p_k(y_i) pk(yi)意思是将 y i y_i yi带入k类那个分布上去,即该数据点在这个k类下的概率,即我们讲到的相似度

大家肯定迷迷糊糊的,小弟当初学习这个知识的时候也很不明白,这不是我们的错,是因为教科书排版的问题,贝叶斯统计属于高等数据分析的内容,小弟是根据上学的教课书为基础来和大家分享的。

小弟在此举个高斯混合模型的例子,供大家理解:
一元高斯混合模型
一元高斯混合模型就是由K个一元高斯分布组成的即K类,它属于聚类算法。假设我们的数据只有一个变量即1列,n排,即n个个体,那么一元混合概率分布模型公式可写成:
p ( y ) = ∑ k = 1 K p ( k ) p ( y ∣ θ k ) = ∑ k = 1 K π k N ( y ∣ μ k , ∑ k ) p(y)=\sum_{k=1}^{K}p(k)p(y|\theta_k)=\sum_{k=1}^{K}\pi_kN(y|\mu_k,\sum_k) p(y)=k=1Kp(k)p(yθk)=k=1KπkN(yμk,k)
那么怎么生成数据?我们可以看到每个类都有自己的概率即前面的系数 π k \pi_k πk,那么我们选中了其中的一个类,在这个类里取点就行了,按照这个类的高斯分布取点。

假设我们的数据服从高斯分布(正态分布) p ( y ) p(y) p(y),那么我们要估计这里面的参数 π k , μ k , ∑ k \pi_k,\mu_k,\sum_k πk,μk,k,对没错利用似然方程 Π i = 1 n p ( y i ) \Pi_{i=1}^{n}p(y_i) Πi=1np(yi),还是那句话为了计算方便,并且因为很小的数字连乘造成计算机浮点数下溢出,采用log似然,即 ∑ i = 1 N l o g p ( y i ) = ∑ i = 1 N l o g ( ∑ k = 1 K π k N ( y i ∣ μ k , ∑ k ) ) \sum_{i=1}^{N}logp(y_i)=\sum_{i=1}^{N}log(\sum_{k=1}^{K}\pi_kN(y_i|\mu_k,\sum_k)) i=1Nlogp(yi)=i=1Nlog(k=1KπkN(yiμk,k)),之后利用求偏导计算估计出参数。

计算 y i y_i yi由第k类产生的概率:
γ i , k = π k N ( y i ∣ μ k , ∑ k ) ∑ l = 1 K π l N ( y i ∣ μ j , ∑ j ) \gamma_{i,k}=\frac{\pi_kN(y_i|\mu_k,\sum_k)}{\sum_{l=1}^{K}\pi_lN(y_i|\mu_j,\sum_j)} γi,k=l=1KπlN(yiμj,j)πkN(yiμk,k)

多元高斯/正态分布(Multivariate Normal Distribution)
多元高斯分布其实在混合模型里是极其重要的,为了理解多元高斯混合模型模型,我们这里讲解下多元高斯分布。

假设有n个变量, Y = ( Y 1 , Y 2 , . . . , Y n ) Y=(Y_1,Y_2,...,Yn) Y=(Y1,Y2,...,Yn),互相独立,且服从高斯分布,那么各个维度的均值 μ = ( μ 1 , μ 2 , . . . . , μ n ) \mu=(\mu_1,\mu_2,....,\mu_n) μ=(μ1,μ2,....,μn),方差 σ 2 = ( σ 1 2 , σ 2 2 , . . . , σ n 2 ) \sigma^2=(\sigma^2_1,\sigma^2_2,...,\sigma^2_n) σ2=(σ12,σ22,...,σn2)

那么,如果一个变量服从一个高斯分布,它有它的产生概率,那么多个变量服从不同的高斯分布,那么它们产生的概率自然是乘在一起,即联合概率:
p ( Y 1 , Y 2 , . . , Y n ) = 1 ( 2 π ) n Π i = 1 n σ i e − ( ∑ i = 1 n ( Y i − μ i ) 2 2 ( σ i ) 2 ) p(Y_1,Y_2,..,Y_n)=\frac{1}{(\sqrt{2\pi})^n\Pi_{i=1}^n\sigma_i}e^{-(\sum_{i=1}^{n}\frac{(Y_i-\mu_i)^2}{2(\sigma_{i})^2})} p(Y1,Y2,..,Yn)=(2π )nΠi=1nσi1e(i=1n2(σi)2(Yiμi)2)
这公式看的头大,我们令:
z 2 = ( ∑ i = 1 n ( Y i − μ i ) 2 ( σ i ) 2 ) z^2=(\sum_{i=1}^{n}\frac{(Y_i-\mu_i)^2}{(\sigma_{i})^2}) z2=(i=1n(σi)2(Yiμi)2)
σ z = Π i = 1 n σ i \sigma_z=\Pi_{i=1}^n\sigma_i σz=Πi=1nσi
那么得:
1 ( 2 π ) n σ z e − z 2 2 \frac{1}{(\sqrt{2\pi})^n\sigma_z}e^{-\frac{z^2}{2}} (2π )nσz1e2z2

这就是多元高斯分布,是不是看的根一元高斯分布很像,但多元高斯分布是3D图像,有着极强的几何思想,我们要利用矩阵形式再转换下。
z 2 = z T z = [ Y 1 − μ 1 , Y 2 − μ 2 , . . . . , Y n − μ n ] [ 1 σ 1 2 , 0 , ⋯   , 0 0 , 1 σ 2 2 ⋯   , 0 . . . . . . . 0 , 0 , ⋯   , 1 σ n 2 ] [ Y 1 − μ 1 , Y 2 − μ 2 , . . . . , Y n − μ n ] T z^2=z^Tz=[Y_1-\mu_1,Y_2-\mu_2,.... ,Y_n-\mu_n]\begin{bmatrix} \frac{1}{\sigma^2_1} ,0, \cdots,0 \\ 0,\frac{1}{\sigma^2_2}\cdots ,0\\ ....... \\ 0,0,\cdots,\frac{1}{\sigma^2_n}\\ \end{bmatrix}[Y_1-\mu_1,Y_2-\mu_2,.... ,Y_n-\mu_n]^T z2=zTz=[Y1μ1,Y2μ2....,Ynμn]σ121,0,,00,σ221,0.......0,0,,σn21[Y1μ1,Y2μ2....,Ynμn]T

令:
∑ = [ σ 1 2 , 0 , ⋯   , 0 0 , σ 2 2 ⋯   , 0 . . . . . . . 0 , 0 , ⋯   , σ n 2 ] \sum=\begin{bmatrix} {\sigma^2_1} ,0, \cdots,0 \\ 0,{\sigma^2_2}\cdots ,0\\ ....... \\ 0,0,\cdots,{\sigma^2_n}\\ \end{bmatrix} =σ12,0,,00,σ22,0.......0,0,,σn2
这个是变量的协方差矩阵,即在i行j列意味着 Y i Y_i Yi Y j Y_j Yj的协方差即 ∑ i , j = c o v ( Y i , Y j ) \sum_{i,j}=cov(Y_i,Y_j) i,j=cov(Yi,Yj),因为变量间独立所有除了对角线,其余均为0. 在对角线上变量自己的协方差就是方差。

那么, ∑ \sum 的逆矩阵为:
( ∑ ) − 1 = [ 1 σ 1 2 , 0 , ⋯   , 0 0 , 1 σ 2 2 ⋯   , 0 . . . . . . . 0 , 0 , ⋯   , 1 σ n 2 ] (\sum)^{-1}=\begin{bmatrix} \frac{1}{\sigma^2_1} ,0, \cdots,0 \\ 0,\frac{1}{\sigma^2_2}\cdots ,0\\ ....... \\ 0,0,\cdots,\frac{1}{\sigma^2_n}\\ \end{bmatrix} ()1=σ121,0,,00,σ221,0.......0,0,,σn21

因为对角矩阵的行列式为对角元素的乘积,那么:
σ z = ∣ ( ∑ ) − 1 ∣ 1 2 = Π i = 1 n σ i \sigma_z=|(\sum)^{-1}|^\frac{1}{2}=\Pi_{i=1}^n\sigma_i σz=()121=Πi=1nσi

那么我们最终的多元高斯分布公式为:
( 1 2 π ) n 2 ∣ ( ∑ ) − 1 ∣ e − 1 2 ( Y − μ ) T ( ∑ ) − 1 ( Y − μ ) (\frac{1}{2\pi})^\frac{n}{2}\sqrt{|(\sum)^{-1}|} e^{-\frac{1}{2}(Y-\mu)^T(\sum)^{-1}(Y-\mu)} (2π1)2n()1 e21(Yμ)T()1(Yμ)

我们可以看到,从一维增加到n维,每次增加一维,高度(概率)缩减 2 π \sqrt{2\pi} 2π 倍。从高斯分布转换为标准高斯/正态分布高度(概率)压缩 ∣ ∑ ∣ 1 2 |\sum|^{\frac{1}{2}} 21倍。

二元高斯分布图,因为有两个变量,所以为3D图像:
在这里插入图片描述
现在我们从顶部往下看这张图:
μ = ( 0 , 0 ) , ∑ = ( 1 , 0 0 , 1 ) \mu=(0,0),\sum=\begin{pmatrix} 1,0\\ 0,1\\ \end{pmatrix} μ=(0,0),=(1,00,1)

在这里插入图片描述
但很多时候,在现实中变量和变量之间是有关系的,即如下图:
μ = ( 2 , 0 ) , ∑ = ( 1 , − 0.9 − 0.9 , 1 ) \mu=(2,0),\sum=\begin{pmatrix} 1,-0.9\\ -0.9,1\\ \end{pmatrix} μ=(2,0),=(1,0.90.9,1)
在这里插入图片描述
但是,我们之前讨论的多元正态分布均是变量之间独立,即协方差除了对角线其余均为0.那么我们需要改变坐标系,使变化后的变量之间成互相独立,这样我们才能套用我们的多元正态分布公式,得到概率。这个过程叫做去相关性,也叫归化。
在这里插入图片描述
以上图红线所示,作为新的坐标系。
假设原坐标系上任意一点为 ( y 1 , y 2 ) (y_1,y_2) (y1,y2)
新的坐标系上任意一点为 ( y 1 ′ , y 2 ′ ) (y_1',y_2') (y1,y2)
那么,它们俩之间的关系为:
Y ′ = U T Y = [ x 1 ′ x 2 ′ ] = [ u x 1 0 , u x 2 0 u x 1 1 , u x 2 1 ] T [ x 1 x 2 ] Y'=U^TY=\begin{bmatrix} x'_1\\ x'_2\\ \end{bmatrix}=\begin{bmatrix} u^0_{x1},u^0_{x2}\\ u^1_{x1},u^1_{x2}\\ \end{bmatrix}^T\begin{bmatrix} x_1\\ x_2\\ \end{bmatrix} Y=UTY=[x1x2]=[ux10,ux20ux11,ux21]T[x1x2]
这里的 U U U即为映射矩阵, U U U的列空间即为新的坐标向量。
那么在这个新的坐标下, μ ′ = ( μ 1 ′ , μ 2 ′ ) \mu'=(\mu'_1,\mu'_2) μ=(μ1,μ2)是很好算的: μ ′ = E [ U T Y ] = U T E [ Y ] = U T μ \mu'=E[U^TY]=U^TE[Y]=U^T\mu μ=E[UTY]=UTE[Y]=UTμ

难点在于如何算 Y ′ Y' Y协方差即 ∑ \sum ,这样我们才能带入我们的多元高斯模型。

计算映射后的协方差:
σ y ′ = E [ ( Y ′ − μ ′ ) ( Y ′ − μ ′ ) T ] = E [ ( Y ′ − μ ′ ) ( Y ′ T − μ ′ T ) ] = E [ U T Y Y T U − E [ U T Y ] Y T U − U T Y E [ U T Y ] T + E [ U T Y ] E [ U T Y ] T ] = U T E [ Y Y T − E ( Y ) Y T − Y E [ Y ] T + E [ Y ] E [ Y ] T ] U = U T σ y U \sigma_{y'}=E[(Y'-\mu')(Y'-\mu')^T]=E[(Y'-\mu')(Y'^T-\mu'^T)]=E[U^TYY^TU-E[U^TY]Y^TU-U^TYE[U^TY]^T+E[U^TY]E[U^TY]^T]=U^TE[YY^T-E(Y)Y^T-YE[Y]^T+E[Y]E[Y]^T]U=U^T\sigma_y U σy=E[(Yμ)(Yμ)T]=E[(Yμ)(YTμT)]=E[UTYYTUE[UTY]YTUUTYE[UTY]T+E[UTY]E[UTY]T]=UTE[YYTE(Y)YTYE[Y]T+E[Y]E[Y]T]U=UTσyU

所以:
( ∑ ) y ′ = U T ( ∑ ) y U (\sum)_{y'}=U^T(\sum)_yU ()y=UT()yU
我们可以看出 ( ∑ ) y ′ (\sum)_{y'} ()y ( ∑ ) y (\sum)_y ()y为相似矩阵,所以,相似矩阵行列式相等,即:
∣ ( ∑ ) y ′ ∣ = ∣ ( ∑ ) y ∣ |(\sum)_{y'}|=|(\sum)_y| ()y=()y

另外:
( ∑ ) y ′ − 1 = ( U T ( ∑ ) y U ) − 1 = ( U − 1 ( ∑ ) y U ) − 1 = U − 1 ( ∑ ) y − 1 U = U T ( ∑ ) y − 1 U (\sum)^{-1}_{y'}=(U^T(\sum)_yU)^{-1}=(U^{-1}(\sum)_yU)^{-1}=U^{-1}(\sum)^{-1}_yU=U^T(\sum)^{-1}_yU ()y1=(UT()yU)1=(U1()yU)1=U1()y1U=UT()y1U

那么到目前为止,我们有了 ( ∑ ) y ′ − 1 (\sum)^{-1}_{y'} ()y1, ∣ ( ∑ ) y ′ ∣ |(\sum)_{y'}| ()y, μ ′ \mu' μ, ( ∑ ) y ′ (\sum)_{y'} ()y,带入到多元正态分布里去即可,得到概率。

多元高斯混合模型(Multivariate Normal Mixture Model)
到目前为止,关于混合模型我们仅仅涉及到了一元高斯混合模型,其实在现实中,多元高斯混合模型是最常见的(其实还有多元泊松混合模型等等,但都大同小异,因为中心极限定律,最终还是多元正态/高斯混合模型)。一元高斯混合模型,其实是一元高斯分布的混合,即为平面2D图像,这时我们仅仅有一个变量(一元)。当我们有很多变量(多元),都服从不同的分布,在每一个变量(一元)中又是由几个不同的一元高斯分布混合而成的,这就是多元高斯混合模型。举个例子,假如我们有两个变量,每个变量服从一元高斯混合分布,那么我们最终的图像是一个3D图像,如下图(二元高斯混合模型):
在这里插入图片描述
上图中,宽和长这两个轴是我们的两个变量,高这个轴是概率,这个概率即为联合概率.

估计混合模型

1.估计参数
当我们有个混合模型,我们需要估计它的参数:
− ∑ i = 1 n γ i , k ∑ j = 1 q l o g p ( y i , j ∣ θ k , j ) -\sum_{i=1}^{n}\gamma_{i,k}\sum_{j=1}^{q}logp(y_{i,j}|\theta_{k,j}) i=1nγi,kj=1qlogp(yi,jθk,j)
即负log似然,求偏导,估计参数。

我们需要用到期望最大化逻辑(Expectation-maximisation. EM),也叫做EM逻辑:
第一步: 估计出 θ k , j \theta_{k,j} θk,j,利用上述负log似然公式
第二步:重新计算 γ i , k \gamma_{i,k} γi,k,利用第一步估计的参数
第三步:如果估计不稳定,则返回第一步

2.寻找K类
找到K类其实比较困难,很容易陷入局部最小值。

迭代(找到K值根据最小拟合度方程例如似然){
-移除较少数据的类
-尝试区分所有类
-尝试结合某一对的类
-随机分配数据给我们的类,重新估计}

大家也可以看到,上述利用迭代方法找K值,其实很蠢。更高深的估计混合模型的方法有很多,例如 利用信息准则估计模型的复杂度即多少类,还有一种很热门的方法叫做最小消息长度(minimum message length)来估计混合模型,小弟在此也很自豪的推荐曾经在我们学校C.S.Wallace教授写的关于最小消息长度的论文方法,谷歌查询minimum message length by C.S.Wallace。利用了信息理论的相关知识。寻找K值其实是个世纪难点,大家感兴趣的话可以在读博士期间与导师研究这个问题,小弟也愿意向各位学习如何避免局部最小值找到K值。

四. 矩阵填充(Matrix Completion)

假如我们有一把数据 Y Y Y,列为变量,行为个体.当然了,这把数据可以看成一个矩阵。但有些数据丢失了,并且无法测量和找回。这个时候我们会用到矩阵填充的方法,估计出这些丢失的数据。

在矩阵填充里有个前提,即个体是独立,但变量之间是有关系的。利用变量之间的关系,从而估计出丢失的数据。

这里有两个关于矩阵填充的应用:

1.缺失值处理(imputation)
这个应用是处理有关矩阵特征对于监督学习的问题。大部分监督学习是无法处理丢失数据的。虚拟估算虚拟值可以填充整个矩阵,从而供我们使用。

2.推荐系统(recommender systems)
举个例子,假如系统记录了你浏览物品的次数,例如在某宝上,浏览了100次电脑商品,10次图书商品,?次衣服商品。推荐系统将估计出你浏览了多少次衣服的相关商品。

单变量的缺失值处理方法:
这个方法很快,很简单,忽视其他变量的关系,单单关注于一个变量里的丢失数据。利用比较稳定的统计方法来估计这个丢失值,例如均值,中间值。

多元正态分布处理缺失值:
这个方法注意了变量与变量之间的关系,结合两两变量间的相关系数,估计缺失值。当然也可以利用我们上述的多元高斯混合模型来估计缺失值,即利用聚类的方法。

K近邻逻辑处理缺失值:
举个很简单的例子:

ABC
242
415
4?4

根据第三行的个体当中的A变量=4和C变量=4对比其他个体当中的A变量和C变量的值。我们发现,第二行的个体中A变量=4,C变量=5与第三行A变量=4和C变量=4的相似度很大,那么我们估计第三行个体中的B应为1

五. 结语

有公式推导错误的或理论有谬误的,请大家指出,我好及时更正,感谢。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值