分类目录归档:algorithm

流形学习降维 UMAP

UMAP 算法

  • 全称为均匀流形近似与投影,Uniform Manifold Approximation and Projection
  • UMAP 是一种基于黎曼几何和代数拓扑理论框架的数据降维与可视化算法
  • UMAP 能同时捕捉数据的局部和全局结构,可拓展性强,对嵌入维度没有限制
  • MAP 不具备PCA 或因子分析等线性技术可以提供的解释性(因子载荷)

UMAP 定义的概念解释与补充:

  1. Uniform 均匀假设:通过空间的扭曲,对样本稀疏/密集的位置进行收缩或拉伸
  2. Manifold 流形:一种拓扑空间,每个点的附近局部类似于欧几里得空间
  3. Approximation 近似:用一组有限的样本组

Read more

t-SNE 降维可视化

t-SNE 算法

  • 全称为 t 分布-随机邻近嵌入(t-distributed Stochastic Neighbor Embedding)
  • 该算法将高维空间中的数据映射到低维空间中,并保留数据集的局部特性
  • t-SNE 算法能够捕捉数据间的非线性关系,数据可视化效果好,常用于探索性数据分析
  • t-SNE 算法的缺点主要是占用内存较多、运行时间长,容易丢失大规模信息 (集群间关系)

算法过程概述:

  1. 计算原始高维空间中数据点之间的相似度:对于样本 $i$,算法会使用以 $i$ 为中心的高斯分布来计算其他数据点的条件概率 $P_{j|i}$,进而得到样本 $i$ 和样本 $j$ 在高维原

Read more

调查问卷分析

调查问卷分析的一般流程:

  1. 初步设计调查问卷并严格评估合理性,比如文献研究,对象访谈,Delphi 专家函询
  2. 针对少量人群(40~60 人)展开预调查,了解调查问卷设置条目的合理性,完整性和可理解性
  3. 确保预调查结果质量,包括调查内容审核录入与信效度分析(此步骤也适用于正式调研阶段)
  4. 估计样本量,确定调查人群,完成调查员培训,分配调查任务并展开具体的正式调查
  5. 对调查结果进行数据分析,包括分布描述,独立性检验,方差分析,相关性分析,多因素分析等
  6. 根据初步分析结果,进行整理和深入的分析,得到可验证的结果,最后撰写调查报告

De

Read more

LSH 局部敏感性哈希

LSH(locality sensitivity Hashing,局部敏感性哈希)算法

  • 一种从海量数据中进行相似性搜索的算法
  • 常用于文本查重、图像识别、推荐系统和搜索引擎

以相似文档检索为例,说明 LSH 的算法过程

  1. Shingling,文档进行向量化表示

    • 统计 k 个文档中连续出现的 token(字符或单词)
    • 按照 one_hot 的形式对文档进行向量化的矩阵表示
    • 每一列表示一个文档,每一行表示文档的信息矩阵
  2. Min-Hashing,对文档信息进行降维

    • 依次对文档矩阵的每一列进行重排序
    • 选择第一个非 0 行的行号作为的最小哈希值
    • 重复多次,得到若干个最小哈希组成的文档矩阵

Read more

BM25 搜索排序算法

BM25(Best Matching 25),一种经典的信息检索方法

  • BM25 综合考虑了 TF-IDF 和文档长度等信息,计算效率高,实用性强
  • BM25 在信息检索领域使用广泛,是 Elasticsearch 的默认检索方法
  • BM25 的语义理解能力不足,无法有效捕捉词序信息和上下文关系
  • BM25 可以通过调整参数来适用不同的应用场景,但个性化能力有限

TF-IDF

词频 TF(Term Frequency),词语 $t$ 在文档 $d$ 中出现的频率

$$ \text{TF}(t, d) = \frac{\text{词t在文档d中的

Read more

Mean Shift聚类

Mean Shift 算法,又称为均值漂移算法

核心思想:

  • 该算法假设真实的样本集合是服从不同概率密度分布的数据簇的并集
  • 任意选择一个样本通过密度增加最快的方向将收敛到样本密度高的区域
  • 样本密度高的区域对应一个分布的聚集区,即样本数据的局部最大值
  • 能够收敛到相同局部最大值的样本被认为是服从同一分布的数据簇

算法流程:

  1. 随机确定样本空间内一个样本 $x$ 作为球心,构建半径为 $h$ 的高维球

$$ S_h\left(x\right)=\left(y\mid\left(y-x\right)\left(y-x\right)^T\leqslant h^2\right) $$ 2. 计算该

Read more

常见哈希算法

MD5:32 位,单向哈希,不可逆,速度快,破解难度低

SHA256:256 位,单向哈希,不可逆,速度较快,破解难度中等

BCrypt:可变位数,单向哈希,不可逆,速度慢,破解难度高

PBKDF2:可变位数,单向哈希,不可逆,速度可调,破解难度可调

Scrypt:可变位数,单向哈希,不可逆,速度慢,破解难度高

加盐,在输入信息中随机添加字符串(salt)以提高哈希算法的安全性

MD5 算法

MD5 消息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以

Read more

PageRank 排序算法

PageRank 是早期 Google 搜索的核心算法,决定了搜索结果中的网页展示顺序

PageRank 核心思想:

  • 根据网站的外部链接和内部链接的数量和质量衡量网站的价值
  • 如果重要性为 $PR(i)$ 的页面 $i$ 有 $l_i$ 个外链(出度),则每个链接的价值为 $PR(i)/l_i$
  • 因此,页面 $j$ 的重要性(表示为 $PR(j)$ )是其链接上的价值总和

$$PR(j) = \sum_{i \rightarrow j} \frac{PR(i)}{l_i}$$

上式最大的问题在于忽略了"不存在外链的特殊页面"

因此 PageRank 算法引入了阻尼系

Read more

Apriori 关联规则算法

背景故事:啤酒与尿布

Aprior 算法的 3 个关键评价指标:

  1. 支持度(Support):商品 X 和商品 Y 同时在数据集中出现的概率

$$ Support(X,Y) = P(XY) = \frac{number(XY)}{num(All Samples)} $$ 2. 置信度(Confidence):商品 Y 出现后,商品 X 出现的概率 $$ Confidence(X \Leftarrow Y) = P(X|Y)=P(XY)/P(Y) $$ 3. 提升度(Lift):商品 X 出现的情况中,商品 Y 也出现的概率 $$ Lift(X \Leftarrow Y) = P(X|Y)

Read more

KNN 最近邻算法

K 近邻算法(k-nearest neighbors, KNN)是一种很基本的机器学习方法

算法步骤:给定样本,寻找最近的 K 个样本进行(分类/回归)预测

KNN的 3 个核心要素:

  • K 值的选择,较小时容易过拟合;较大时泛化性好,但训练误差大
  • 距离度量方式,比如欧氏距离、曼哈顿距离(常见距离测度
  • 决策规则,分类问题常用投票法,回归问题常用平均法

KNN 的主要优点:

  • 理论成熟,思想简单,既可以用来做(非线性)分类也可以用来做回归
  • 训练时间复杂度比支持向量机之类的算法低,仅为 O (n)
  • 和朴素贝叶斯之类的算法比,对数据没有假设,准确度高,对异常点不敏感
  • 对于类域的交叉或重叠较多

Read more