特征选择

Feature Selection

特征选择:从特征集合中选择最具统计意义的特征子集

  • 特征分类

    • relevant feature:相关特征,对当前学习任务有用的属性、特征
      • 特征选择最重要的是确保不丢失重要特征
    • irrelevant feature:无关特征,对当前学习任务无用的属性、特征
    • redundant feature:冗余特征,包含的信息可以由其他特征中推演出来
      • 冗余特征通常不起作用,剔除可以减轻模型训练负担
      • 若冗余特征恰好对应完成学习任务所需要的中间概念,则是有益的,可以降低学习任务的难度
  • 特征选择会降低模型预测能力,因为被剔除特征中可能包含有效信息

    • 保留尽可能多特征,模型性能会提升,模型更复杂、计算复杂度同样提升
    • 剔除尽可能多特征,模型性能会下降,模型更简单、降低计算复杂度
  • 特征选择原因

    • 维数灾难问题:仅需要选择一部分特征构建模型,可以减轻 维数灾难问题,从此意义上特征选择和降维技术有相似动机
    • 剔除无关特征可以降低学习任务难度,简化模型、降低计算复杂度
  • 特征选择方法可以分解为

    • 特征子集搜索
    • 特征子集评价:能判断划分之间差异的机制都能作为特征子集的准则

特征选择过程

feature_selection_procedure

  • generation procedure:产生过程,搜索特征子集
  • evaluation function:评价函数,评价特征子集优劣
  • stopping criterion:停止准则,与评价函数相关的阈值,评价函数达到与阈值后可以停止搜索
  • validation procedure:验证过程,在验证数据集上验证选择特征子集的有效性

特征子集搜索

  • 遍历:从初始特征集合选择包含所有重要信息的特征子集

    • 适合没有先验(问题相关领域)知识的情况
    • 特征数量稍多会出现组合爆炸
  • 迭代:产生候选子集、评价优劣,基于评价结果产生下个候选子集

    • 不断迭代,直至无法找到更好的后续子集
    • 需要评价得子集数量较少
    • 可能无法找到最优子集

迭代搜索

  • 给定特征 $A={A_1, A_2, \cdots, A_d}$,将每个特征视为候选子集(每个子集只有一个元素),对 $d$ 个候选子集进行评价

  • 在上轮选定子集中加入特征,选择包含两个特征的最优候选子集

  • 假定在 $k+1$ 轮时,最优特征子集不如上轮最优的特征子集,则停止生成候选子集,将上轮选定特征子集作为特征选择结果

  • Forward Feature Elimination:前向特征选择,逐渐增加相关特征
  • Backward Feature Elimination:后向特征选择,从完整特征集合开始,每次尝试去掉无关特征,逐渐剔除特征
  • Bidirectional Feature Elimination:双向特征选择,结合前向、后向搜索
    • 每轮逐渐增加选定的相关特征,特征在后续迭代中确定不会被去除,同时减少无关特征

特征子集评价

特征子集评价:能判断划分之间差异的机制都能作为特征子集的选择准则

  • 方差

    • 方差越大,特征对预测值区分能力越强
  • 相关系数

    • Pearson 积矩相关系数
    • Kendell 秩相关系数
    • Spearman 秩相关系数
    • 卡方统计量
  • 距离指标

  • 划分增益

    • Gini 指数
    • IG 信息增益/互信息
    • 信息增益比
  • 排序指标

    • AUC

特征问题定位

  • 模型出现过拟合问题时,可能是特征工程步骤中出现信息泄露(数据穿越、标签入特征),一般通过单变量特征评价指标定位有问题的特征
  • 数据泄露涉及的特征的定位(经验)
    • 线性模型
      • 单变量 AUC 值:超过 0.8 则高度可疑
    • 非线性模型(树)
      • 基于信息增益的特征重要性

Filter

过滤式:对数据集进行的特征选择过程与后续学习器无关,即设计统计量过滤特征,不考虑后续学习器问题

  • 通过分析特征子集内部特点衡量特征优劣,描述自变量、目标变量的关联

  • 特点

    • 时间效率高
    • 对过拟合问题较稳健
    • 倾向于选择单个冗余特征,没有考虑特征之间相关性

单特征过滤

单特征过滤:直接选择合适特征子集评价标准处理各特征,选择满足要求特征

Relief: Relavant Features

Relief 方法:设置相关统计量度量特征重要性

  • 特征子集对应统计量中每个分量对应一个初始特征,特征子集重要性由子集中每个特征对应的相关统计量分量之和决定

  • 特征选择方法

    • 指定阈值 $k$:选择比 $k$ 大的相关统计量分量对应特征
    • 指定特征个数 $m$:选择相关统计量分量最大的 $m$ 个特征
  • 只适合二分类问题,扩展变体 Relief-F 可以处理多分类问题

Wrapper

包裹式:把最终要使用的学习器性能作为特征子集评价标准,为给定学习器选择最有利其性能、特化的特征子集

  • 优点
    • 直接针对特定学习器进行优化
    • 考虑了特征之间的关联性,通常训练效果较过滤式好
  • 缺点
    • 特征选择过程中需要多次训练学习器,计算效率较低
    • 观测数据较少时容易过拟合

Las Vegas Wrapper

LVW:在 Las Vegas Method 框架下使用随机策略进行子集搜索,以最终分类器误差作为特征子集评价标准

  • 包含停止条件控制参数T,避免每次子集评价训练特征子集开销过大
  • 若初始特征数量很多、T设置较大、每轮训练时间较长,算法执行很长时间都不会停止
    • LVM 可能无法得到解(拉斯维加斯算法本身性质)

递归特征消除法

递归特征消除法:使用基模型进行多轮训练,每轮训练消除若干权值系数的特征,再基于特征集进行下一轮训练

Stepwise变量选择

  • 前向变量选择
  • 后向变量选择
  • 前向-后向变量选择
  • 最优子集选择

Embedded

嵌入式:将特征选择、学习器训练过程融合,在同一优化过程中同时完成,即学习器训练过程中自动进行特征选择

  • 优点:兼具筛选器、封装器的优点
  • 缺点:需要明确好的选择

正则化约束

$L_1$、$L_2$ 范数:主要用于线性回归、逻辑回归、SVM 等算法

  • Ridge:$L_2$ 范数
  • Lasso:$L_1$ 范数
    • 除降低过拟合风险,还容易获得稀疏解
    • 参数 $\lambda$ 越大,稀疏性越大,被选择特征越少
  • SVM、逻辑回归
    • 超参参数范数权重越大,稀疏性越大,被选择特征越少

决策树

决策树思想:决策树自上而下选择分裂特征就是特征选择

  • 所有树结点划分属性根据先后顺序组成的集合就是选择出来的特征子集
  • 参见ml_models/unlinear_models/decision_tree

神经网络

神经网络:训练时同时处理贡献度问题,不重要特征权重被剔除

特征提取

Feature Extraction/Feature Construction

特征提取/构建:把原始数据中转换为具有物理、统计学意义特征,构建新的人工特征

  • 主观要求高

    • 对问题实际意义、相关领域有研究:思考问题形式、数据结构
    • 对数据敏感:需要观察原始数据
    • 分析能力强
  • 目的:自动构建新特征

    • 信号表示:抽取后特征尽可能丢失较少信息
    • 信号分类:抽取后特征尽可能提高分类准确率
  • 方法

    • 组合属性:混合属性创建新特征
    • 切分属性:分解、切分原有特征创建新特征,如将时间戳分割为日期、上下午
  • 特征工程和复杂模型在某些方便不冲突

    • 虽然很多复炸模型能够学习复杂规律,类似自行构造特征
    • 但是考虑到计算资源、特征数量、学习效率,人工经验构造衍生特征是必要且有益的
  • 特征选择:表示出每个特征对于模型构建的重要性
  • 特征提取:有时能发现更有意义的特征属性
  • 有时从额外划分特征构建,其相较于特征提取,需要人为的手工构建特征,偏经验、规则

通用特征提取

数值型

  • 幅度调整:提高 SGD 收敛速度
    • 归一化
    • 标准化
  • 数据变换
    • 数据标准化(参见 data_preprocessing
    • 二阶、三阶变换
  • 数据离散化:连续值分段
    • 等距切分:各类分布不均
    • 分位数切分:各类分布均匀,但异质性不均
  • 平方、开根:增加非线性化

分类型

  • one-hot 编码:赋予各特征等权
  • hash 技巧:针对文本类别数据,统计文本词表、倾向
  • 多分类转二分类:输入变量类别合并,超类
    • twoing 策略:使两个超类差异足够大的合并点(分割点)
    • ordering 策略:对有序类型,只有两个连续基类才能合并

统计型

  • 统计特征
    • 跨记录聚集:特征取值在样本全体中的情况
      • 分位线
      • 比例
      • 次序
      • count(出现次数)
      • 均值
      • 方查
    • 记录内聚合:属于同记录的同类特征统计指标
      • 均值
      • 方查
  • 时序特征
    • 视为连续型:持续时间、间隔时间
    • 视为离散值:一年中某些时间段

组合特征

  • 特征拼接:GBDT 生成特征组合路径
  • 特征冲突验证:匹配、等于、不等于
  • 关联特征:图传播
    • 依赖于内部、外部关联图数据,如:
      • 账户作为节点:已能确认正、负例样本
      • 交易、社会关系作为边
      • 交易频次、金额作为权重
    • 图传播可以考虑多次传播,即考虑前一次的传播结果中置信度较高者作为下次的起始节点
  • 特征交叉衍生:探索的范围较大,人工特征交叉衍生时建议最后考虑,根据经验:
    • 优先从单变量评价指标较好的特征开始
    • 连续特征内部可能会做交叉衍生
    • 但离散特征内部往往不做交叉衍生
      • one-hot 后特征对应维数较大
      • 单个维度信息量不多,交叉后维数爆炸,不适合某些模型,如:树模型
    • 从离散、连续特征中 分别选择 进行交叉
      • 交叉方式:连续特征为记录内聚合特征时,按离散特征分组聚合
      • 优先考虑此种交叉衍生

降维

Principal Component Analysis

PCA:主成分分析,找到数据中主成分,用主成分来表征原始数据,达到降维目的

  • 思想:通过坐标轴转换,寻找数据分布的最优子空间
    • 特征向量可以理解为坐标转换中新坐标轴方向
    • 特征值表示对应特征向量方向上方差
      • 特征值越大、方差越大、信息量越大
      • 抛弃较小方差特征
  • PCA缺陷:线性降维方法
    • KPCA:核主成分分析,核映射对PCA进行扩展
    • 流形映射降维方法:等距映射、局部线性嵌入、拉普拉斯 特征映射

步骤

  • 对样本数据进行中心化处理(和统计中处理不同)
  • 求样本协方差矩阵
  • 对协方差矩阵进行特征值分解,将特征值从大至小排列
  • 取前p个最大特征值对应特征向量作为新特征,实现降维

Linear Discriminant Analysis

LDA:线性判别分析,寻找投影方向,使得投影后样本尽可能按照 原始类别分开,即寻找可以最大化类间距离、最小化类内距离的方向

  • 相较于PCA,LDA考虑数据的类别信息,不仅仅是降维,还希望 实现“分类”

  • 优点:相较于PCA

    • LDA更适合处理带有类别信息的数据
    • 模型对噪声的稳健性更好
  • 缺点

    • 对数据分布有很强假设:各类服从正太分布、协方差相等, 实际数据可能不满足
    • 模型简单,表达能力有限,但可以通过核函数扩展LDA处理 分布比较复杂的数据
  • Fisher判别分析

Independent Component Analysis

ICA:独立成分分析,寻找线性变换$z=Wx$,使得$z$各特征分量 之间独立性最大

  • 思想
    • 假设随机信号$x$服从模型
      • $s$:未知源信号,分量相互独立
      • $A$:未知混合矩阵
    • ICA通过观察$x$估计混合矩阵$A$、源信号$s$,认为源信号 携带更多信息
  • 若原信号非高斯,则分解唯一,否则可能有无穷多分解
  • 因子分析,也称Blind Source Separation(盲源分离)

算法

  • 大多数ICA算法需要进行数据预处理:先用PCA得到主成分$Y$, 再把各个主成分各分量标准化得到$Z$满足

    • $Z$各分量不相关
    • $Z$各分量方差为1
  • FastICA算法:寻找方向$w$使得随机变量$w^T z$某种 “非高斯性”度量最大化

    • 四阶矩

图像特征提取

  • 提取边缘、尺度不变特征变换特征
  • 以下是传统的图像特征提取方法,现在应该都是CNN进行特征 提取、分类
  • 详情参见machine_learning/cv

LBP特征

  • Sobel Operator
  • Laplace Operator
  • Canny Edge Detector

基于角点

  • Moravec
  • Harris
  • GoodFeaturesToTrack
  • FAST

基于尺度空间

  • Scale-Invariant Feature Transform
  • Speeded Up Robust Feature
  • Brief
  • Oriented Brief

HOG特征

方向梯度直方图特征:通过计算、统计图像局部区域梯度方向直方图 实现特征描述

步骤

  • 归一化处理:图像转换为灰度图像,再利用伽马校正实现
    • 提高图像特征描述对光照、环境变量稳健性
    • 降低图像局部阴影、局部曝光、纹理失真
    • 尽可能抵制噪声干扰
  • 计算图像梯度
  • 统计梯度方向
  • 特征向量归一化(块内)
    • 克服光照不均匀变化及前景、背景对比差异
  • 生成特征向量

文本特征提取

  • 具体参见ml_specification/natural_language_processing/#todo

词袋模型

词袋模型:将文本以词为单位切分token化

  • 文章可以表示为稀疏长向量,向量每个维度代表一个单词

    • 针对有序语句,将单词两两相连
    • 维度权重反映单词在原文章中重要程度
      • 通常使用TF-IDF统计量表示词权重
  • TF-IDF

    • $TF(t, d)$:单词$t$在文档$d$中出现的频率
    • $IDF(t)$:逆文档频率,衡量单词对表达语义的重要性
      • 若单词在多篇文章中出现过,则可能是通用词汇,对区分 文章贡献较小,$IDF(t)$较小、权重较小

N-gram模型

N-gram模型:将连续出现的$n, n \leq N$个词组成的词组N-gram 作为单独特征放到向量中

  • 相较于词袋模型,考虑单词组合意义
  • word stemming:将不同词性单词统一为同一词干形式
    • 同一个词可能有多种词性变化,却拥有相同含义

Word-Embedding模型

词嵌入模型:将每个词都映射为低维空间上的稠密向量

  • Word2Vec:常用词嵌入模型,底层神经网络

    • Continuous Bag of Words:根据上下文词语预测当前词 生成概率
    • Skip-gram:根据当前词预测上下文中各个词的生成概率
  • 实际上直接使用矩阵作为源文本特征作为输入进行训练,难以 得到好结果,往往需要提取、构造更高层特征

抽样方法

数据抽样

  • 抽样作用

    • 提高速度、效率,将精力放在建立模型、选择模型上
    • 帮助分析特殊性问题:有些问题涉及到破坏性试验,抽取产品的一部分做耐用性实验经济有效
    • 降低成本:合理抽样可以保证在大部分信息不丢失情况下,降低数据采集、社会调查成本
  • 从效率、成本角度看,适当、合理抽样有必要

    • 数据越多信息越丰富、数据量尽量多为好
    • 抽样可以降低求解的时空代价,但是可能会丢失部分信息,可能会使分析结果产生偏差
    • 在分析阶段,若抽样误差能够接受,完全可以抽样
  • 样本应能充分代表总体

    • 一般样本容量越大,和总体的相似程度越高,样本质量越高
    • 但大样本不等于总体:理论上再大的局部抽样也不如随机抽样有代表性

样本评价

  • 样本容量、样本质量是衡量抽样样本的两个最重要因素
    • 样本容量:抽样过程中抽取的样本数
    • 样本质量:衡量抽样样本的代表性

样本质量

样本质量:抽样样本与整体的相似性

  • $D$:数据集,包含 $r$ 个属性
  • $S$:抽样样本集
  • $J_k=J(S, D)$:Kullblack-Laible 散度,数据集 $S$、$D$ 在属性 $k$ 上偏差程度,越小偏差越小
  • $Q(S) \in [0, 1]$:抽样集 $S$ 在数据集 $D$ 中的质量,越大样本集质量越高
  • 若整体 $D$ 分布稀疏,容易得到 $S$ 在某些数据点观测值数为 0,得到 $I(S, D) \rightarrow infty$

    • 可以把该点和附近的点频率进行合并,同时调整总体频率分布
    • 过度合并会导致无法有效衡量数据集局部差异性
  • 对于连续型变量

    • 可以把变量进行适当分组:粗糙,不利于刻画数据集直接的局部差异
    • 计算数据集各个取值点的非参估计,如核估计、最近邻估计等,再在公式中用各自的非参估计代替相应频率,计算样本质量
  • 数据包含多个指标时

    • 可以用多个指标的平均样本质量衡量整体样本质量
    • 也可以根据指标重要程度,设置不同的权重

样本容量

  • 样本容量是评价样本的另一个重要维度
    • 样本量大、质量好、准确性高,但计算效率低
    • 样本质量差、准确性低、计算效率高
    • 样本质量提高不是线性的,高位样本容量上,边际效用往往较低
    • 同一样本容量的不同样本的样本质量也会有差异,即样本质量不是样本容量的单调函数,包含随机扰动

Statistical Optimal Sample Size

SOSS:统计最优样本数

  • 输入:数据集 $D$,包含 $N$ 个实例
  • 根据某种抽样方法,随机产生 $R$ 个样本容量分别为 $n_i, n_i \in [1, N]$ 的样本 $S$

    • $n_i$ 取值较小处应密度比较大,因为随着 $n_i$ 增加,样本质量趋近 1,不需要太多样本
    • 可以考虑使用指数序列产生在较大值处稀疏的序列作为 $n_i$ 序列的取值
  • 计算每个样本 $S$ 在数据集 $D$ 中的样本质量 $Q$

    • 并计算各个样本容量对应的样本质量均值 $\bar {Q_{n}}$
    • 绘制曲线 $(n, \bar {Q_{n}})$
  • 根据给定的样本质量要求,在样本容量对应样本质量的曲线上确定近似的最优样本容量

测试集、训练集

  • 测试集、训练集划分逻辑前提

    • 在样本量足够的情况下,减少部分样本量不会影响模型精度
    • 模型评价需要使用未参与建模数据验证,否则可能夸大模型效果
  • 测试集、训练集划分作用

    • 测试集直接参与建模,其包含信息体现在模型中
    • 训练集仅仅用于评价模型效果,其包含信息未被利用
    • 因此,若无评价、对比模型需求,或有其他无需划分测试集即可评价模型,则划分测试集无意义

测试集、训练集划分

Hold Out

旁置法:将样本集随机划分为训练集、测试集,只利用训练集训练 模型

  • 适合样本量较大的场合
    • 减少部分训练数据对模型精度影响小
    • 否则大量样本未参与建模,影响模型精度
  • 常用划分比例
    • 8:2
    • 7:3
  • 旁置法建立模型可直接作为最终输出模型
    • 旁置法一般只建立一个模型
    • 且使用旁置法场合,模型应该和全量数据训练模型效果差别不大

N-fold Cross Validation

N 折交叉验证:将数据分成N份,每次将其中一份作为测试样本集, 其余N-1份作为训练样本集

  • N折交叉验证可以视为旁置法、留一法的折中

    • 克服了旁置法中测试样本选取随机性的问题:每个样本都 能作为测试样本
    • 解决了留一法计算成本高的问题:重复次数少
  • 典型的“袋外验证”

    • 袋内数据(训练样本)、袋外数据(测试样本)分开
  • N折交叉验证会训练、得到N个模型,不能直接输出

    • 最终应该输出全量数据训练的模型
    • N折建立N次模型仅是为了合理的评价模型效果,以 N 个模型的评价指标(均值)作为全量模型的评价

Leave-One-Out Cross Validation

留一法:每次选择一个样本作为测试样本集,剩余 n-1 个观测值作为训练样本集,重复 n 次计算模型误差

  • 可以看作是 N 折交叉验证的特例

数据泄露

  • 特征泄露:训练过程中使用有包含有上线之后无法获取的数据

    • 时序数据中数据穿越:使用未来数据训练模型,模型将学习不应获取的未来信息
  • 记录泄露/训练数据泄露:切分数据集时训练集包含了测试集中部分数据

    • 会导致评估指标失真

样本重抽样

Bootstrap

重抽样自举:有放回的重复抽样,以模拟多组独立样本

  • 对样本量为 $n$ 的样本集 $S$
  • 做$k$次有放回的重复抽样
    • 每轮次抽取 $n$ 个样本
    • 抽取得到样本仍然放回样本集中
  • 得到 $k$ 个样本容量仍然为 $n$ 的随机样本 $S_i,(i=1,2,…,k)$

过采样

  • over-sampling:过采样,小类数据样本增加样本数量
  • synthetic minority over-sampling technique:过采样算法,构造不同于已有样本小类样本
    • 基于距离度量选择小类别下相似样本
    • 选择其中一个样本、随机选择一定数据量邻居样本
    • 对选择样本某属性增加噪声,构造新数据

SMOTE

Borderline-SMOTE

欠采样

  • under-sampling:欠采样,大类数据样本减少样本数量

特征编码

数值化:分类->数值

Ordinal Encoding

序号编码:使用一位序号编码类别

  • 一般用于处理类别间具有大小关系的数据
    • 编码后依然保留了大小关系

One-hot Encoding

独热编码:采用N位状态位对N个可能取值进行编码

  • 一般用于处理类别间不具有大小关系的特征

  • 独热编码后特征表达能力变差,特征的预测能力被人为拆分为多份

    • 通常只有部分维度是对分类、预测有帮助,需要借助特征选择降低维度
  • 在经典统计中,为避免完全多重共线性,状态位/哑变量会比取值数量少 1

优点

  • 能处理非数值属性
  • 一定程度上扩充了特征
  • 编码后向量时稀疏向量:可以使用向量的稀疏存储节省空间
  • 能够处理缺失值:高维映射方法中增加维度表示缺失

缺点

  • k-NN 算法:高维空间两点间距离难以有效衡量

  • 逻辑回归模型:参数数量随维度增加而增大,增加模型复杂度,容易出现过拟合

  • 决策树模型

    • 产生样本切分不平衡问题,切分增益非常小
      • 每个特征只有少量样本是 1,大量样本是 0
      • 较小的拆分样本集占总体比例太小,增益乘以所占比例之后几乎可以忽略
      • 较大拆分样本集的几乎就是原始样本集,增益几乎为 0
    • 影响决策树的学习
      • 决策树依赖数据统计信息,独热编码将数据切分到零散小空间上,统计信息不准确、学习效果差
      • 独热编码后特征表达能力边人为拆分,与其他特征竞争最优划分点失败,最终特征重要性会比实际值低

Binary Encoding

二进制编码:先用序号编码给每个类别赋予类别 ID,然后将类别 ID 对应二进制编码作为结果

  • 本质上利用二进制类别 ID 进行哈希映射,得到 0/1 特征向量
  • 特征维度小于独热编码,更节省存储空间

Weight of Evidence Encoding

WOE 编码:以分类变量各取值的 WOE 值作为编码值

  • $\%B_i, \%G_i$:分类变量取第 $i$ 值时,预测变量为 B 类、G 类占所有 B 类、G 类比例
  • $#B_i, #B_T$:分类变量取第 $i$ 值时,预测变量为 B 类占所有 B 类样本比例
  • $#G_i, #G_T$:分类变量取第 $i$ 值时,预测变量为 G 类占所有 G 类样本比例
  • WOE 编码是有监督的编码方式,可以衡量分类变量各取值中

    • B 类占所有 B 类样本比例、G 类占所有 G 类样本比例的差异
    • B 类、G 类比例,与所有样本中 B 类、G 类比例的差异
  • WOE 编码值能体现分类变量取值的预测能力,变量各取值 WOE 值方差越大,变量预测能力越强

    • WOE 越大,表明该取值对应的取 B 类可能性越大
    • WOE 越小,表明该取值对应的取 G 类可能性越大
    • WOE 接近 0,表明该取值预测能力弱,对应取 B 类、G 类可能性相近

优势

  • 相较于 one-hot 编码

    • 特征数量不会增加,同时避免特征过于稀疏、维度灾难
    • 避免特征筛选过程中,一部分特征取值被筛选,一部分被遗弃,造成特征不完整
    • 将特征规范到同一尺度的数值变量,同时也便于分析特征间相关性
  • LR 模型中,WOE 编码线性化赋予模型良好的解释性

    • WOE 编码本身即可反应特征各取值贡献
    • 可以用于给评分卡模型中各分箱评分

分类化/离散化:数值->分类

  • 分类型变量本质上无法建模,因为取值从含义上无法进行数值计算
  • 将数值型映射为分类型,往往只是中间步骤,最终会将分类型取值映射回数值型
  • 若分箱数量为 2,也被成为是二元化/布尔化

离散化综述

  • 模型使用离散特征、连续特征,是“海量离散特征+简单模型”、“少量连续特征+复杂模型”的权衡

    • 海量离散特征+简单模型:难点在于特征工程,成功经验可以推广,可以多人并行研究
    • 少量连续特征+复杂模型:难点在于模型调优,不需要复杂的特征工程
  • 一般的,连续特征对预测结果影响不会突变,合理的离散化不应造成大量信息丢失

    • 且若特征存在突变,模型将难以拟合(线性模型尤其)
    • 反而更应该离散化为多个分类特征,方便引入非线性
  • 事实上,根据Cover定理,离散化增加特征维度类似于投影至高维,更可能得到较优模型(也更容易过拟合)

    • 极限角度,对所有特征、取值均离散化,则可以得到完全可分模型(除特征完全一样分类不同)

描述角度

discretization_arch

  • supervised vs. unsupervised:是否使用分类信息指导离散化过程

    • 无监督
      • 如:等距、等频划分
      • 无法较好的处理异常值、不均匀分布
    • 有监督
      • 利用分类信息寻找合适切分点、间隔
      • 根据使用分类信息的方式有许多种
  • dynamic vs. static:离散化、分类是否同时进行

  • global vs. local:在特征空间的局部还是全局进行离散化

  • spliting vs. merging/top-down vs. bottom-up:自顶向下划分还是自底向上合并

  • direct vs. incremental:直接根据超参数确定分箱数量还是逐步改善直到中止准则

discretization_arch

典型过程

  • sort:排序
  • evaluate:评估分割点
  • split or merge:划分、合并
  • stop:停止离散化

discretization_steps

评价

  • Simplicity:可用切分点数量衡量简单性
  • Consistency:可以通过最小不一致数量衡量一致性
    • 不一致:样本具有相同的特征取值,但分类不同
    • 分箱最小不一致数量则为,箱内样本数量减最大类别数量
  • Accuracy:可通过分类器进行交叉验证的准确率衡量

优势

  • 方便工业应用、实现

    • 离散特征的增加、减少容易,方便模型迭代
    • 特征离散化处理缺失值、异常值更方便,可直接将其映射为某取值
    • 数值化后可指定取值类型,如:one-hot编码为为稀疏向量
      • 內积速度快
      • 存储方便
      • 容易扩展
  • 方便引入历史经验

    • 可以自由调整离散化结果,结合机器学习和历史经验得到最终的离散化结果
  • 模型更稳健

    • 模型不再拟合特征具体值,而是拟合某个概念,能够对抗数据扰动,更稳健
    • 对异常数据鲁棒性更好,降低模型过拟合风险
    • 某些场合需要拟合参数值更少,降低模型复杂度
  • (引入)非线性提升模型表达能力

    • 利用经验、其他信息将数值特征分段,相当于引入非线性,提升线性模型表达能力
    • 方便引入交叉特征,提升模型表达能力

适合场景

  • 离散化特征更适合 LR 等线性模型

    • 如下离散化优势:方便引入非线性等
    • 模型中所有特征都会被考虑,考虑细节、个体(包括 $L_1$ 范数也是被考虑后剔除)
  • GBDT 等树、抽样模型则不适合

    • 特征离散化后,由于抽样误差的存在,可能存在某些离散特征对样本预测能力非常强,非线性模型容易给这些特征更大权重,造成过拟合
      • 如:刚好抽取的 1000 个样本中某离散特征取值为 1 者全为正样本
    • 树模型每次使用一个特征划分节点,特征数量较多不利于模型训练
      • 若单个离散化特征预测能力不强,由于树深度限制,只有少量特征被作为划分依据,模型可能不收敛、表达能力更差
      • 若单个离散化特征预测能力强,连续特征也应该也有较好效果

无监督

  • 无监督分箱仅仅考虑特征自身数据结构,没有考虑特征与目标之间的关系

等频/等距/经验分箱

  • 分箱逻辑

    • 等频分箱:排序后按数量等分
      • 避免离散化后特征仍然为长尾分布、大量特征集中在少量组内
      • 对数据区分能力弱
    • 等距分箱:取值范围等分
    • 经验分箱
  • 分箱数量、边界超参需要人工指定

    • 根据业务领域经验指定
    • 根据模型指定:根据具体任务训练分箱之后的数据集,通过超参数搜索确定最优分桶数量、边界
  • 分箱经验、准则

    • 若组距过大,组内属性取值差距过大
      • 逻辑上分类不能够代表组内全部样本,组内取值影响可能完全不同
    • 若组距过小,组内样本过少
      • 随机性太强,不具备统计意义上说服力
      • 特征影响跳变过多

聚类分箱

  • K-Means 聚类
  • 层次聚类
  • 聚类过程中需要保证分箱有序

有监督

Binning:1R 分箱

  • 分箱逻辑、步骤
    • 将样本排序,从当前位置开始
      • 初始化:以允许的最少样本作为一箱,将箱内最多类别作为箱标签
      • 扩展:若下个样本类别与箱标签相同,则划至箱内
    • 重复以上,得到多个分箱
    • 将相邻具有相同标签的箱合并,得到最终分箱结果

Splitting

discretization_split

  • 基于信息熵的 split,具体划分依据如下
    • ID3:信息增益
    • C4.5:信息增益比
    • D2
    • Minimum Description Length Principle:描述长度

Merge分箱

discretization_merge

  • 基于依赖相关的 merge,具体划分依据如下
    • Chimerge:使用卡方值衡量两个相邻区间是否具有类似分布,若具有类似分布则将其合并
具体算法
  • 输入:目标分箱数量 $N$
  • 初始化
    • 将变量升序排列
    • 为减少计算量,若初始分箱数量大于阈值 $N_{max}$,则利用等频分箱进行粗分箱
    • 缺失值单独作为一个分箱
  • 合并区间
    • 计算每对相邻区间的卡方值
    • 将卡方值最小区间合并
    • 重复以上直至分箱数量不大于 $N$
  • 分箱后处理
    • 合并纯度为 1(只含有某类样本)的分箱
    • 删除某类样本占比超过 95% 的分箱
    • 若缺失值分箱各类样本占比同非缺失值分箱,则合并

数据预处理

数据说明

数据模式

  • 结构化数据:行数据,可用二维表逻辑表达数据逻辑、存储在数据库中

    • 可以看作是关系型数据库中一张表
    • 行:记录、元组,表示一个样本信息
    • 列:字段、属性,有清晰定义
  • 非结构化数据:相对于结构化数据而言,不方便用二维逻辑表达的数据

    • 包含信息无法用简单数值表示
      • 没有清晰列表定义
      • 每个数据大小不相同
    • 研究方向
      • 社交网络数据
      • 文本数据
      • 图像、音视频
      • 数据流
    • 针对不同类型数据、具体研究方面有不同的具体分析方法,不存在普适、可以解决所有具体数据的方法
  • 半结构化数据:介于完全结构化数据、完全无结构数据之间的数据

    • 一般是自描述的,数据结构和内容混合、没有明显区分
    • 树、图(XMLHTML 文档也可以归为半结构化数据)
  • 结构化数据:先有结构、再有数据
  • 半结构化数据:先有数据、再有结构

数据拼接

  • 利用外键拼接不同来源的数据时,注意不同数据间粒度差异
    • 外键低于问题标签粒度时,考虑对数据作聚合操作再拼接
      • 保证拼接后用于训练的记录粒度和问题一致
      • 避免维度爆炸
      • 各数据来源数据厚薄不同,会改变数据分布
    • 外键高于、等于目标粒度时,可考虑直接直接连接

数据问题

稀疏特征

  • 产生原因
    • 数据缺失
    • 统计数据频繁 0 值
    • 特征工程技术,如:独热编码

缺失值

产生原因

  • 信息暂时无法获取、成本高
  • 信息被遗漏
  • 属性不存在

缺失值影响

  • 建模将丢失大量有用信息
  • 模型不确定性更加显著、蕴含规则更难把握
  • 包含空值可能使得建模陷入混乱,导致不可靠输出

缺失利用

  • 直接使用含有缺失值特征:有些方法可以完全处理、不在意缺失值

    • 分类型变量可以将缺失值、异常值单独作为特征的一种取值
    • 数值型变量也可以离散化,类似分类变量将缺失值单独分箱
  • 删除含有缺失值特征

    • 一般仅在特征缺失率比较高时才考虑采用,如缺失率达到 90%、95%

插值补全

  • 非模型补全缺失值

    • 均值、中位数、众数
    • 同类/前后均值、中位数、众数
    • 固定值
    • 矩阵补全
    • 最近邻补全:寻找与样本最接近样本相应特征补全
  • 手动补全:根据对所在领域理解,手动对缺失值进行插补

    • 需要对问题领域有很高认识理解
    • 缺失较多时费时、费力
  • 建模预测:回归、决策树模型预测

    • 若其他特征和缺失特征无关,预测结果无意义
    • 若预测结果相当准确,缺失属性也没有必要纳入数据集
  • 多重插补:认为待插补值是随机的

    • 通常估计处待插补值
    • 再加上不同噪声形成多组可选插补值
    • 依据某准则,选取最合适的插补值
  • 高维映射:one-hot 编码增加维度表示某特征缺失

    • 保留所有信息、未人为增加额外信息
    • 可能会增加数据维度、增加计算量
    • 需要样本量较大时效果才较好
  • 压缩感知:利用信号本身具有的稀疏性,从部分观测样本中恢复原信号

    • 感知测量阶段:对原始信号进行处理以获得稀疏样本表示
      • 傅里叶变换
      • 小波变换
      • 字典学习
      • 稀疏编码
    • 重构恢复阶段:基于稀疏性从少量观测中恢复信号

异常值

  • 异常值/离群点:样本中数值明显偏离其余观测值的个别值

异常值分析:检验数据是否有录入错误、含有不合常理的数据

非模型异常值检测

  • 简单统计

    • 观察数据统计型描述、散点图
    • 箱线图:利用箱线图四分位距对异常值进行检测
  • $3\sigma$ 原则:取值超过均值 3 倍标准差,可以视为异常值

    • 依据小概率事件发生可能性“不存在”
    • 数据最好近似正态分布

模型异常值检测

  • 基于模型预测:构建概率分布模型,计算对象符合模型的概率,将低概率对象视为异常点

    • 分类模型:异常点为不属于任何类的对象
    • 回归模型:异常点为原理预测值对象
    • 特点
      • 基于统计学理论基础,有充分数据和所用的检验类型知识时,检验可能非常有效
      • 对多元数据,可用选择少,维度较高时,检测效果不好
  • 基于近邻度的离群点检测:对象离群点得分由其距离 k-NN 的距离确定

    • k 取值会影响离群点得分,取 k-NN 平均距离更稳健
    • 特点
      • 简单,但时间复杂度高 $\in O(m^2)$,不适合大数据集
      • 方法对参数 k 取值敏感
      • 使用全局阈值,无法处理具有不同密度区域的数据集
  • 基于密度的离群点检测

    • 定义密度方法
      • k-NN 分类:k 个最近邻的平均距离的倒数
      • DSSCAN 聚类中密度:对象指定距离 d 内对象个数
    • 特点
      • 给出定量度量,即使数据具有不同区域也能很好处理
      • 时间复杂度 $\in O^(m^2)$,对低维数据使用特点数据结构可以达到 $\in O(mlogm)$
      • 参数难以确定,需要确定阈值
  • 基于聚类的离群点检测:不属于任何类别簇的对象为离群点

    • 特点
      • (接近)线性的聚类技术检测离群点高度有效
      • 簇、离群点互为补集,可以同时探测
      • 聚类算法本身对离群点敏感,类结构不一定有效,可以考虑:对象聚类、删除离群点再聚类
      • 检测出的离群点依赖类别数量、产生簇的质量
  • One-class SVM

  • Isolation Forest

异常值处理

  • 删除样本

    • 简单易行
    • 观测值很少时,可能导致样本量不足、改变分布
  • 视为缺失值处理

    • 作为缺失值不做处理
    • 利用现有变量信息,对异常值进行填补
    • 全体/同类/前后均值、中位数、众数修正
    • 将缺失值、异常值单独作为特征的一种取值
  • 很多情况下,要先分析异常值出现的可能原因,判断异常值是否为真异常值

类别不平衡问题

创造新样本

  • 对数据集重采样

    • 尝试随机采样、非随机采样
    • 对各类别尝试不同采样比例,不必保持 1:1 违反现实情况
    • 同时使用过采样、欠采样
  • 属性值随机采样

    • 从类中样本每个特征随机取值组成新样本
    • 基于经验对属性值随机采样
    • 类似朴素贝叶斯方法:假设各属性之间相互独立进行采样,但是无法保证属性之前的线性关系
  • 对模型进行惩罚

    • 类似 AdaBoosting:对分类器小类样本数据增加权值
    • 类似 Bayesian分类:增加小类样本错分代价,如:penalized-SVMpenalized-LDA
    • 需要根据具体任务尝试不同惩罚矩阵

新角度理解问题

  • 将小类样本视为异常点:问题变为异常点检测、变化趋势检测

    • 尝试不同分类算法
    • 使用 one-class 分类器
  • 对问题进行分析,将问题划分为多个小问题

    • 大类压缩为小类
    • 使用集成模型训练多个分类器、组合
  • 需要具体问题具体分析

模型评价

  • 尝试其他评价指标:准确度在不平衡数据中不能反映实际情况
    • 混淆矩阵
    • 精确度
    • 召回率
    • F1 得分
    • ROC 曲线
    • Kappa

数据量缺少

图片数据扩充

Data Agumentation:根据先验知识,在保留特点信息的前提下,对原始数据进行适当变换以达到扩充数据集的效果

  • 对原始图片做变换处理

    • 一定程度内随机旋转、平移、缩放、裁剪、填充、左右翻转,这些变换对应目标在不同角度观察效果
    • 对图像中元素添加噪声扰动:椒盐噪声、高斯白噪声
    • 颜色变换
    • 改变图像亮度、清晰度、对比度、锐度
  • 先对图像进行特征提取,在特征空间进行变换,利用通用数据 扩充、上采样方法

    • SMOTE
  • Fine-Tuning 微调:直接接用在大数据集上预训练好的模型,在小数据集上进行微调

    • 简单的迁移学习
    • 可以快速寻外效果不错针对目标类别的新模型

特征缩放

  • 正则化:针对单个样本,将每个样本缩放到单位范数
  • 归一化:针对单个属性,需要用到所有样本在该属性上值

Normalizaion

归一化/标准化:将特征/数据缩放到指定大致相同的数值区间

  • 某些算法要求数据、特征数值具有零均值、单位方差
  • 消除样本数据、特征之间的量纲/数量级影响
    • 量级较大属性占主导地位
    • 降低迭代收敛速度:梯度下降时,梯度方向会偏离最小值,学习率必须非常下,否则容易引起宽幅震荡
    • 依赖样本距离的算法对数据量机敏感
  • 决策树模型不需要归一化,归一化不会改变信息增益(比),Gini 指数变化

Min-Max Scaling

线性函数归一化:对原始数据进行线性变换,映射到 $[0, 1]$ 范围

  • 训练集、验证集、测试集都使用训练集归一化参数

Z-Score Scaling

零均值归一化:将原始数据映射到均值为 0,标准差为 1 的分布上

其他一些变换方式

  • 对数变换:$X^{‘} = lg(X)$
  • 反余切函数变换:$X^{‘} = \frac {2 arctan(x)} {\pi}$
  • Sigmoid 变换:$X^{‘} = \frac 1 {1 + e^{-x}}$
  • 模糊向量变:$X^{‘} = \frac 1 2 + \frac 1 2 sin \frac {X - \frac{max(X) - min(X)} 2} {max(X) - min(X)} * \pi$

Regularization

正则化:将样本/特征某个范数缩放到单位 1

  • $L_p$:样本的 $L_p$ 范数
  • 使用内积、二次型、核方法计算样本之间相似性时,正则化很有用

特征工程

综述

  • 特征工程:对原始数据进行工程处理,将其提炼为特征,作为输入供算法、 模型使用

    • 本质上:表示、展示数据的过程
    • 目的:去除原始数据中的杂质、冗余,设计更高效的特征以刻画求解的 问题、预测模型之间的关系
      • 把原始数据转换为可以很好描述数据特征
      • 建立在其上的模型性能接近最优
    • 方式:利用数据领域相关知识人为设计输入变量
  • 数据、特征决定了机器学习的上限,模型、算法只是逼近上限,特征越好

    • 模型选择灵活性越高:较好特征在简单模型上也能有较好 效果,允许选择简单模型
    • 模型构建越简单:较好特征即使在超参不是最优时效果也 不错,不需要花时间寻找最优参数
    • 模型性能越好
      • 排除噪声特征
      • 避免过拟合
      • 模型训练、预测更快
  • 特征工程要:小步快跑、多次迭代

    • 便于及时发现问题、定位问题,如:数据穿越

文本预处理

文本预处理

  • 去除噪声文档、文档中垃圾数据
  • 停用词去除
  • 词根还原(英文)
  • 分词(中文)
  • 词性标注
  • 短语识别
  • 词频统计

汉语分词

分词:添加合适的显性词语边界标志,使所形成的词串反映句子本意

  • 分词是正确处理中文信息的基础

    • 文本基于单字
    • 书面表达方式以汉字作为最小单位
    • 词之间没有显性界限标志
  • 用单个汉字作特征,不考虑词语含义,直接利用汉字在文本中 出现的统计特性对文本进行划分

    • 直观明了
    • 操作简单
    • 对西语文本划分非常容易(使用空格划分)
  • 使用词作为特征

    • 词是中文语义的最小信息单位,可以更好的反映句子中信息
    • 分析难度更高,中文文本中词之间没有分隔标记,正确分词 是关键

分词方法

  • 基于词典

    • FMM:正向最大匹配分词
    • BMM:逆向最大匹配分词
    • BM法:双向扫描法
    • 逐词遍历
  • 基于统计模型

    • N-最短路径
    • HMM
    • N元语法
    • 由字构词的汉语分词方法

分词难点

歧义切分

  • 分词规范

    • 分词单位
      • 二字、三字以及结合紧密、使用稳定的
      • 四字成语
      • 四字词或结合紧密、使用稳定的四字词组
    • 五字、五字以上谚语、格言等,分开后如不违背原有组合 意义,应切分
  • 歧义切分

    • 交集型切分歧义
    • 组合型切分歧义

未登录词识别

  • 词表词:记录在词表中的词
  • 未登录词:词表中没有的词、或已有训练语料中未曾出现词 (此时也称为out of vocabulary
  • 真实文本切分中,未登录词总数大约9成是专有名词,其余为 新词

  • 未登录词对分词精度影响是歧义词的10倍

  • 命名实体识别:实体名词、专业名词

    • 界定规则不存在太大分歧、构成形式有一定规律
    • 在文本中只占8.7%,引起分词错误率59.2%

词性标注

词性标注:在给定句子中判定每个词的语法范畴,确定词性并加以 标注的过程

  • POS作为特征可以更好的识别词语之间关系

    • 词性标注计数为phrase chunking词组组块的界定、 entities and relationship实体与关系的识别打下良好 基础,有利于深入探索文本语义信息

    • 词组的形式提高了特征向量的语义含量,使得向量更稀疏

  • 难点

    • 汉语缺乏词形态变化
    • 常用词兼类现象严重:占11%
    • 研究者主观原因:不同语料库有不同规定、划分方法
  • part of speechPOS,词性

Forward Maximum Matching Method

FMM:正向最大匹配分词

  • 步骤

    • 记词典中最长此表包含汉字数量为M
    • 从材料中选取前$m = M$个汉字去作为匹配字段,查找分词 词典
      • 若存在匹配词,则将其切分出
      • 否则$m = m - 1$,重复
    • 重复直至材料分词完毕
  • 特点

    • 对交叉歧义、组合歧义没有解决办法
    • 错误切分率为$\frac 1 {169}$

Backward Maximum Matching Method

BMM:逆向最大匹配分词

  • 步骤:类似FMM,仅从材料/句子末尾开始处理

  • 特点

    • 错误切分率$\frac 1 {245}$,较FMM更有效

Bi-direction Matching Method

BM法:双向扫描法

  • 步骤:比较FMM、BMM法切分结果,决定正确切分

  • 特点

    • 可以识别分词中交叉语义

N-最短路径

  • 思想

    • 考虑待切分字串$S=c_1 c_2 \cdots c_n$,其中$c_i$为 单个字、$n$为串长

    • 建立节点数为$n+1$的切分有向无环图,各节点编号为 $V_0, V_1, \cdots, V_n$

      • 相邻节点间存在边
      • 若$w=ci c{i+1} \cdots cj$是一个词,则节点 $v{i-1}, v_j$直接存在边
      • 所有边距离均为1
    • 求有图无环图中最短路径

特点

  • 算法时间复杂度为$O(nNK)$

    • $n$:字串长度
    • $N$:最短路径数目
    • $k$:某个字作为词末端字的平均次数

改进—考虑噪声

基于统计信息的粗分模型

  • 考虑词串$W$经过信道传输,由于噪声干扰丢失词界切分标志, 到输出端为字串$C$

  • N-最短路径词语粗分模型可以改进为:求N个候选切分$W$,使得 概率$P(W|C)$为前N个最大值

    • $P(C)$:字串概率,常数
    • $P(C|W)$:仅有
  • 采用一元统计模型,设$W=w_1w_2\cdots W_m$是字串 $S=c_1c_2\cdots c_n$的切分结果,则其切分概率为

    • $P(w_i)$:词$w_i$出现概率,在大规模预料训练的基础上 通过极大似然方法得到
  • 则$-lnP(w_i)$可看作是词$w_i$在切分有向无环图中对应距离, 改进N-最短路径方法

由字构词

假设、背景

  • 思想:将分词过程看作字分类问题,认为每个字在构造特定词语 时,占据确定的位置
  • 中文词一般不超过4个字,字位数量很小
    • 首部B
    • 词中M
    • 词尾E
    • 单独成词S
  • 部分汉字按一定方式分布,有规律
  • 利用相对固定的字推断相对不定的字的位置问题
  • 虽然无法将所有词列入词典,但字基本稳定

步骤

  • 对所有字根据预定义的特征进行词位特征学习,获得概率 模型
  • 在带待分字串上根据字与字之间的结合紧密程度得到词位的分类 结果
  • 根据词位定义直接获得最终分词结果

Productivity

能产度:词$c_i$在词位$t_j$的能产度定义为

  • $T = {B, B_2, B_3, M, E, S}$
  • 主词位:给定字在其上能产度高于0.5的词位

    |标记|B|B2|B3|M|E|S|总字量| |——-|——-|——-|——-|——-|——-|——-|——-| |字量|1634|156|27|33|1438|632|3920| |百分比|31.74|3.03|0.52|0.64|27.94|12.28|76.16|

    • MSRA2005语料库中有主词位的字量分布
  • 自由字:没有主词位的字

    • 自由字是基于词位分类的分词操作得以有效进行的的基础 之一
  • 字:不仅限于汉字,包括标点、外文字母、注音符号、数字等 任何可能文字符号

优势

  • 能平衡词表词、未登录词
  • 简化分词系统设计
    • 无需强调词表词信息
    • 无需设置特定未登录词识别模块

分词评价指标

  • 正确率
  • 召回率
  • F-测度值

Vector Space Model

向量空间模型:自然语言处理常用模型

  • document:文档,句子、段落、整篇文章
  • term/feature:词根、词、短语、其他
  • weight:项的权重,每个特征项在文档中重要程度

相似度比较

  • 内积

  • Cosine相似度

权重

  • 布尔权重:$bw_{t,d} = {0, 1}$
  • TF:绝对词频,$TF{t,d} = \frac {n{t,d}} {n_d}$
  • IDF:倒排文档频度,$IDF_{t,d} = log \frac M {m_t}$
  • TF-IDF:$TF-IDF{t,d} = TF{t,d} * IDF_{t,d}$
  • TF-IWF:$TFIWF{t,d}= TF{t,d} log \frac {\sum{t=1}^T \sum{d=1}^N n{t,d}} {\sum{t=1} n{t,d}}$
  • $t_{t,d}$:文档$d$中出现特征$t$的次数
  • $t_d$:文档$d$中出现总词数
  • $m_t$:训练集中出现特征$t$文档数
  • $M$:训练集中文档总数
  • $K$:特征总数量

特征加权

  • 特征加权主要包括三个部分(层次)

    • 局部加权:使用词语在文档中的统计量
    • 全局加权:词语在整个数据集中的统计量
    • 标准化
  • 一般化特征加权表达式

    • $L_d(w)$:词$w$在文档$d$中的局部权重
    • $G(w)$:词$w$在文档集合中的全局权重
    • $N_d$:文档d的标准化因子

Document Frequency

DF:文档频率,文本数据中包含某词条的文档数目

  • 通过文档频率进行特征选择:按文档频率大小对词条进行排序

    • 将DF小于某阈值的词删除

      • 稀有词项全局影响力不大
      • 文档若有稀有词向,通常也会有常见词项
      • 和通常信息获取观念抵触:稀有更有代表性
    • 将DF大于某阈值的词删除

      • 太频繁词词项没有区分度
  • 容易实现、可扩展性好

其他指标

  • 信息增益/互信息

  • 卡方统计量

Latent Semantic Analysis

LSA:潜在语义分析

  • 文本分析中常用的降维技术

    • 特征重构方法
    • 很好解决了同义词、一词多义等现象给文本分析造成的困难
  • 理论依据、假设

    • 认为有潜在语义结构隐含在文档中词语的上下文使用模式中
    • 而文档词频共现矩阵在一定程度可以反映词和不同主题之间 关系
  • 以文档词频矩阵为基础进行分析

    • 得到向量空间模型中文档、词的高维表示
    • 并通过投影形成文档、词在潜在语义空间中的相对稠密的 低维表示,缩小问题规模
    • 通过这种低维表示解释出“文档-语义-词语”之间的联系
  • 数学描述

    • LSA将每个文本视为以词语/特征为维度的空间的点,包含 语义的文本出现在空间中分布服从某种语义结构
    • LSA将每个词视为以文档为维度的空间中点
    • 文档由词语构成,词语需要放在文档中理解,体现词语和 文档之间的双重概率关系

应用SVD分解

  • 词频共现矩阵$X=(x_{d,t})$:文档、词语的共现频率矩阵

    • 其中每行代表文档向量
    • 每列代表词语向量
    • 元素$x_{d,t}$表示文档$d$中词$t$出现的频率
  • 对词频共现矩阵$X$进行SVD分解得到$X=U \Sigma V^T$

  • 仅保留$\Sigma$中满足阈值要求的较大的前$r$特征值, 其余置为0,得到 $\tilde X = \tilde U \tilde \Sigma \tilde V^T$,达到信息 过滤、去除噪声的目的

    • $A = \tilde X$:矩阵特征分解后的文档词频矩阵近似
    • $T = \tilde U$:文档和潜在语义的关系矩阵近似
    • $S = \tilde V$:词语和潜在语义的关系矩阵近似
    • $D = \tilde \Sigma$:各潜在语义的重要程度

说明

  • 从数据压缩角度:近似矩阵是秩为$K$的前提下,矩阵$X$的最小 二乘意义下最佳近似

  • r值过大会增加运算量,一般选择K使得贡献率满足

    • $\theta$:阈值
    • $K$:原始词频共现矩阵秩
  • LSA缺点

    • SVD的向量元素有正、有负,性质难以解释
    • SVD的实际意义不够明确,难以控制词义据类的效果
    • 涉及高维矩阵运算

相似关系计算

  • 潜在语义空间中存在:词-词、文本-文本、词-文本3种关系, 可以通过近似矩阵$T, S, D$计算

  • 比较词汇两两相似度:“正向乘法”

  • 比较文本两两相似度:“逆向乘法”

  • 词汇、文本两两相似度:就是原始矩阵$X$的近似矩阵本身$A$