【无监督学习】积累与发现

K-Means

Canopy Clustering
Canopy算法聚类
算法杂货铺——k均值聚类(K-means)
基本Kmeans算法介绍及其实现(距离的度量)
K-median和K-mediod提了一下

K-median求的中心是每个维度的中位数,因此对异常点会更加鲁棒;K-mediod的中心必须是样本之中的点,感觉这个要求很鸡肋,可能说用来找某一个类的代表性样本比较有用。

K-means与K-means++

DBSCAN

聚类方法:DBSCAN算法研究(1)–DBSCAN原理、流程、参数设置、优缺点以及算法
DBSCAN密度聚类算法

优缺点很好

TSNE

TSNE——目前最好的降维方法
t-SNE算法

LOF

异常点/离群点检测算法——LOF

为什么要从lrd再计算一个LOF呢,因为要比较某一个点的lrd和其K邻域内的点的lrd,举个例子,尽管某个点的lrd不大,处于非密集区,但假如它周围的点都是这个样子呢,那只能说这个点是处于一个稀疏的区域,但他并不是outlier

EM算法

原理还是统计学习方法里写的好

统计学习方法内容总结,不同书上的Q函数定义不太一样,所以就干脆丢了Q函数的意义,直接记住最大化的期望是什么就可以了,花里胡哨的。
但无论怎样,请记住EM算法最大化的是是:在Given 已知变量与参数的情况下,观测数据(也就是不完全数据)的对数似然: P ( X ∣ θ ) P(X|\theta) P(Xθ),或者写成样本的概率连乘积 ∏ p ( x i ∣ θ ) \prod p(x_i|\theta) p(xiθ)也行
x i x_i xi为第 i i i个样本的已知变量, z i z_i zi为其隐含变量,隐含变量的取值空间为 Z = { z 1 , . . . , z K } Z=\{z^1,...,z^K\} Z={z1,...,zK},此时的参数为 θ t \theta_t θt,对数似然似然函数为
∑ i = 1 m l o g P ( x i ∣ θ ) = ∑ i = 1 m l o g ∑ j = 1 , z i = z j K P ( x i , z i ∣ θ ) = ∑ i = 1 m l o g ∑ j = 1 , z i = z j K P ( z i ∣ x i , θ t ) P ( x i , z i ∣ θ ) P ( z i ∣ x i , θ t ) ( 1 ) \begin{aligned} \sum_{i=1}^m logP(x_i|\theta) &=\sum_{i=1}^m log\sum_{j=1,z_i=z^j} ^K P(x_i,z_i|\theta) \\ &=\sum_{i=1}^m log\sum_{j=1,z_i=z^j} ^K P(z_i|x_i,\theta_t) \frac{P(x_i,z_i|\theta)}{P(z_i|x_i,\theta_t)} &(1) \\ \end{aligned} i=1mlogP(xiθ)=i=1mlogj=1,zi=zjKP(xi,ziθ)=i=1mlogj=1,zi=zjKP(zixi,θt)P(zixi,θt)P(xi,ziθ)(1)
其实就是通过乘以除以 P ( z i ∣ x i , θ i ) P(z_i|x_i,\theta_i) P(zixi,θi)来构造Jensen不等式,就是构造一个期望,如下所示
由于Jensen不等式,即对于凹函数(就是上半圆)来说, f ( E ( X ) ) ≥ E ( f ( X ) ) f(E(X))\ge E(f(X)) f(E(X))E(f(X)),如果我们把 f = l o g , X = P ( x i , z i ∣ θ ) P ( z i ∣ x i , θ t ) f=log,X=\frac{P(x_i,z_i|\theta)}{P(z_i|x_i,\theta_t)} f=log,X=P(zixi,θt)P(xi,ziθ),于是就有
( 1 ) ≥ ∑ i = 1 m ∑ j = 1 , z i = z j K P ( z i ∣ x i , θ t ) l o g P ( x i , z i ∣ θ ) P ( z i ∣ x i , θ t ) \begin{aligned} (1) & \ge \sum_{i=1}^m \sum_{j=1,z_i=z^j}^K P(z_i|x_i,\theta_t) log \frac{P(x_i,z_i|\theta)} {P(z_i|x_i,\theta_t)} \\ \end{aligned} (1)i=1mj=1,zi=zjKP(zixi,θt)logP(zixi,θt)P(xi,ziθ)
那么极大似然估计的时候,与 θ \theta θ相关的只有 ∑ i = 1 m ∑ j = 1 , z i = z j K P ( z i ∣ x i , θ t ) l o g P ( x i , z i ∣ θ ) \sum_{i=1}^m \sum_{j=1,z_i=z^j}^K P(z_i|x_i,\theta_t) log P(x_i,z_i|\theta) i=1mj=1,zi=zjKP(zixi,θt)logP(xi,ziθ),因为上式中 l o g log log里的分母和优化目标无关
于是就有 Q ( θ , θ t ) = ∑ i = 1 m ∑ j = 1 , z i = z j K P ( z i ∣ x i , θ t ) l o g P ( x i , z i ∣ θ ) Q(\theta,\theta_t)=\sum_{i=1}^m \sum_{j=1,z_i=z^j}^K P(z_i|x_i,\theta_t) log P(x_i,z_i|\theta) Q(θ,θt)=i=1mj=1,zi=zjKP(zixi,θt)logP(xi,ziθ),然后最大化 θ \theta θ就行了
更一步,你看这个 Q ( θ , θ t ) Q(\theta,\theta_t) Q(θ,θt)等于什么,他等于一个期望 E ( l o g P ( X , Z ∣ θ ) ∣ X , θ t ) E(logP(X,Z|\theta)|X,\theta_t) E(logP(X,Zθ)X,θt),至于为啥,因为期望里未知的随机变量只有Z,所以 P [ l o g P ( X , Z ∣ θ ) = l o g P ( X , z i ∣ θ ) ∣ X , θ ] = P ( Z = z i ∣ X , θ ) P[logP(X,Z|\theta)=logP(X,z_i|\theta)|X,\theta]=P(Z=z_i|X,\theta) P[logP(X,Zθ)=logP(X,ziθ)X,θ]=P(Z=ziX,θ)
复习一下条件期望
KMEANS与EM的关系见百面机器学习

频繁模式

频繁模式挖掘 Apriori
数据挖掘十大算法之Apriori详解
FP Tree算法原理总结
序列模式挖掘—PrefixSpan
PrefixSpan算法原理总结

前缀后缀的概念pinard写的不太明白,简书那篇更明白一些,prefixspan算法实际是在找“一个串关于某个前缀的后缀”,例如,A=<a(abc)d(bc)e>关于B=<bd>的投影是C=<bd(bc)e>,因为C是A的所有以B为前缀子串中最长的那个,这也是投影的定义,然后A关于前缀B的后缀等于——从A关于前缀B的投影C删掉B剩余的那部分,也就是<(bc)e>
又如<(ad)c(bc)(ae)>关于<db>的投影是<d(bc)(ae)>,则<(ad)c(bc)(ae)>关于<db>的后缀就等于<(_c)(ae)>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值