分类目录归档:algorithm

拉普拉斯特征映射 LE

拉普拉斯特征映射(Laplacian Eigenmaps,简称LE)是一种基于图的降维算法

前置知识:图论基础概念拉普拉斯矩阵谱聚类

LE算法核心思想:在低维空间内,尽可能保证局部样本间的结构不变

LE算法步骤:

  • 构建近邻图,方法可参考谱聚类一文中的数据转图
  • 根据已构建的图计算邻接矩阵$W$、度矩阵$D$和拉普拉斯矩阵$L$
  • 求解拉普拉斯矩阵,得到最小的$k$个特征值对应特征向量
  • 特征向量组成矩阵$H$,每一行都对应每个样本的降维后的稠密表示

LE算法分析:

  • 谱聚类相当于先经过LE(拉普拉斯特征映射)算法降维后的K-means聚类算法,因此谱聚类的核心推导过程就是LE算法。所以L

Read more

谱聚类

1 算法概况

谱聚类(spectral clustering):一种基于图的聚类算法

前置知识:图论基础概念拉普拉斯矩阵

核心思想:将数据转化为图的形式,距离近的数据间对应的边权重高,距离远的数据间对应的边权重低。之后通过切图的方式,使得不同子图间的边权值和尽可能低,子图内部的边权值和尽可能高,从而达到聚类的目的

2 算法细节

2.1 数据转图

核心思想:把每个样本看作一个节点,然后构建任意两点$(x_i,x_j)$间权重边$w_{ij}$

方法1:$\epsilon-

Read more

拟牛顿类算法

在最优化问题的求解过程中常利用到函数梯度及其高阶信息

  • 这类算法最常见的就是梯度下降法和牛顿迭代法
  • 梯度下降考虑了函数的一阶导数, 是一种一阶优化方法
  • 牛顿算法考虑了函数的二阶偏导, 是一种二阶优化方法

1 牛顿迭代法

牛顿法(Newton's method)又称为牛顿-拉弗森方法(Newton-Raphson method)

牛顿法借助泰勒级数的低阶展开,寻找方程$f(x)=0$的根(因此也被称为切线法)

牛顿法计算步骤:

  • 随机初始化$x=x

Read more

图像几何变换

1 图像几何变换

将一幅图像中的坐标位置映射到另一幅图像中的新坐标位置

2D几何变换分类:

  1. 刚体变换:主要操作包括平移+旋转,变换前后的欧式距离不变,自由度为3
  2. 相似变换:主要操作包括平移+旋转+缩放,具有保角性,不同点之间的距离比保持不变,自由度为

Read more

自编码器

自编码器,一种借助神经网络结构进行无监督学习的算法,常用于降维

自编码器主要有两个部分组成

  1. 编码器,用于将输入数据编码为低维稠密向量
  2. 解码器,根据低维稠密向量解码还原输入向量

最简单的自编码器形式是一个前馈无循环的神经网络,如下所示:

(图源:维基百科-自编码器)

自编码器VS主成分分析(PCA)

  • 自编码器是非线性降维,PCA是线性降维,前者效果一般更好
  • 前者通过梯度下降法训练,训练速度慢且不容易收敛
  • 后者通过特征分解直接计算,计算成本低效率高

#自编码器

Read more

主成分分析 PCA

主成分分析(Principal components analysis,PCA),一种常用的线性降维方法

算法步骤:

  1. 构建数据的协方差矩阵,并进行特征分解
  2. 特征向量描述的数据的主成分,特征值描述这一成分对应的权重
  3. 通过截断特征值较低的部分,保留数据集当中对方差贡献最大的特征
  4. 最终得到的降维特征无共线性(正交),但解释性差

图像理解:

(图源:维基百科-主成分分析)

  • 上图为二元高斯分布(正态分布),均值为$(1,3)$,方差为$(0.878,0.478)$
  • 黑色向量的方向描述的是协方差矩阵对应的特征向量
  • 黑色向量的长度描述的是特征向量对应的特征值

PCA 的优缺点分析:

  • 计算简单

Read more

SIFT算法

尺度不变特征变换匹配算法(Scale Invariant Feature Transform 简称SIFT)

SIFT算法常用来提取用于描述影像中的局部性特征,算法主要从空间尺度中寻找极值点,并提取出其位置、尺度、旋转不变量

算法过程:

  1. 对图像进行不同尺度的高斯模糊和降采样,构建高斯金字塔
  2. 借助高斯差分函数(DOG算子)代替微分检测离散空间的极值,作为兴趣点
  3. 通过拟合三维二次函数与插值,排除不显著与边缘的兴趣点,保留关键点
  4. 采集关键点在高斯金字塔邻域内像素的梯度与方向,分配主方向给关键点
  5. 保留峰值大于主方向峰值80%的方向作为该关键点的辅方向,增强匹配的鲁棒性
  6. 对关键点建立向量描述(位置

Read more

期望最大化EM算法

期望最大化(Expectation-Maximum,简称EM)算法是一种机器学习常见基础算法

EM算法常用于处理存在隐变量的最大似然估计模型,训练过程简单描述如下:

  1. E步,固定模型参数,优化潜在变量分布
  2. M步,固定潜在变量分布,优化模型参数
  3. 重复EM步骤,直至收敛或达到最大迭代次数

K-means聚类为例进行直观理解:

  1. 聚类簇的质心就是潜在变量
  2. E步,随机化/更新簇的质心
  3. M步,根据质心重新分配样本
  4. 重复EM步骤,直至簇的质心不再变化或达到最大迭代次数

EM算法作为一种基础算法,广泛应用于多种算法模型的学习过程,比如:[[1_study/algorithm/概率图类模型/隐马尔可

Read more

ChineseWhispers

1 算法概况

Chinese Whispers(简称CW)算法,是一种无监督的图聚类算法

CW算法运行效率高,但结果存在不确定性,常用于人脸聚类或文本聚类

2 算法步骤

以人脸聚类为例,先进行图的初始化(构建无向加权图):每个人脸图片为一个节点,不同节点通过计算相似度,然后连接相似度超出指定阈值的节点,并以相似度作为边的权重

算法步骤

  1. 对于N个人脸样本,每个样本节点先单独成簇(自成一类)
  2. 遍历所有节点,根据每个节点的邻节点所属类别,计算权重累加
  3. 修正节点类别,选择最终累加权重最高的类别
  4. 如果有多个权重最高的类别,

Read more

K-means聚类

1 K-means算法概况

K均值算法(即,k-means clustering),是一种无监督聚类算法

K-means算法属于NP-hard问题,不过存在高效的启发式算法,能快速收敛到一个局部最优解

2 K-means算法细节

算法步骤

  1. 对于N个样本,随机选择其中K个,作为最初的质心
  2. 遍历所有样本,选择最新的质心进行归类,形成K个簇
  3. 根据每个簇的样本重新计算质心(比如求均值)
  4. 重复步骤2-3,直到每个簇质心基本不再变化或达到最大迭代次数

算法的收敛过程如下所示:

(图源来自https

Read more