大家好,这里是好评笔记,公主号:Goodnote,专栏文章私信限时Free。本笔记介绍机器学习中常见的特征工程方法、正则化方法和简要介绍强化学习。
机器学习笔记合集
深度学习笔记合集
文章目录
- 热门专栏
- 机器学习
- 深度学习
- 特征工程(Fzeature Engineering)
- 1. 特征提取(Feature Extraction)
- 手工特征提取(Manual Feature Extraction):
- 自动特征提取(Automated Feature Extraction):
- 2. 特征选择(Feature Selection)
- 1. 过滤法(Filter Methods)
- 2. 包裹法(Wrapper Methods)
- 3. 嵌入法(Embedded Methods)
- 4. 其他方法
- 5. 选择方法的应用场景
- 总结
- 3. 特征构造(Feature Construction)
- 4. 特征缩放
- 4.1 归一化(Normalization)
- 4.2 标准化(Standardization)
- BN、LN、IN、GN
特征提取:从原始数据中提取能够有效表征数据特征的过程。它将原始数据转换为适合模型输入的特征表示。
特征选择(Feature Selection)是指从原始特征集中挑选出与目标任务最相关的特征,以提高模型的性能、减少训练时间以及降低过拟合的风险。特征选择方法主要分为三类:过滤法(Filter Methods)、包裹法(Wrapper Methods) 和 嵌入法(Embedded Methods)。
下面是特征选择方法的总结表格,保留了原有的描述信息:
方法类别 | 原理 | 常见方法 | 优点 | 缺点 | 适用场景 |
---|---|---|---|---|---|
过滤法(Filter Methods) | 独立于模型,基于统计指标对特征评分,并选择得分较高的特征。 | - 方差选择法:剔除方差较小的特征 - 皮尔森相关系数:选择线性相关性高的特征 - 互信息:选择信息增益大的特征 |
计算效率高,易于实现 | 未考虑特征间相互作用,可能遗漏重要的组合特征 | 快速预筛选大量特征的情况,适合初步筛选特征 |
包裹法(Wrapper Methods) | 通过训练模型评估特征子集表现,使用搜索策略找到最优特征组合。 | - 递归特征消除(RFE):删除不重要的特征 - 前向选择:逐步添加性能提升最大的特征 - 后向消除:逐步移除对模型性能影响小的特征 |
能考虑特征间的相互作用,适合复杂任务 | 计算开销大,训练多个模型耗时长 | 特征数较少(几十到上百个),适合需要精确特征选择的任务 |
嵌入法(Embedded Methods) | 结合过滤法和包裹法的优点,在模型训练过程中选择特征。 | - L1正则化(Lasso回归):通过L1正则化项使部分特征系数为零 - 决策树及其变体(随机森林、XGBoost):根据特征重要性评分选择特征 - Elastic Net:结合L1和L2正则化 |
特征选择与模型训练同时进行,考虑特征间相互作用,效率高 | 需要根据特定算法选择,不具有模型无关性 | 适合使用线性模型(如Lasso)或树模型的场景,大多数现代复杂模型都适用 |
其他方法 | PCA、LDA等方法虽然是降维方法,但可间接用于特征选择。 | - PCA:通过线性变换将多个特征组合成少数几个主成分 - LDA:常用于分类问题的降维方法 - 稳定性选择(Stability Selection):通过在子样本集上选择表现稳定的特征 |
能够进行有效降维,有时可以间接用于特征选择 | 降维后特征解释性较弱 | 数据维度较高的情况下,可以用作降维手段,间接提高特征选择效果 |
选择合适的特征选择方法能够有效提升模型性能,降低训练时间,避免过拟合。
特征构造是通过对已有特征进行组合、变换或生成新特征来增强模型表达能力的过程。它可以将隐含的关系显式化,提高模型的拟合能力。
类别 | 主要方法 | 适用场景 |
---|---|---|
数值特征构造 | 变换、分箱 | 处理数值特征、非线性关系 |
类别特征构造 | 编码、组合 | 处理类别特征、捕捉特征间关系 |
时间特征构造 | 时间提取、周期特征、时间差 | 时间序列数据、周期性特征 |
文本特征构造 | 词袋、TF-IDF、词向量、N-grams | 文本数据、自然语言处理 |
特征交互与组合 | 特征交互、多项式特征 | 捕捉特征间的复杂关系,适合增强线性模型的非线性拟合能力 |
聚合与统计特征 | 聚合、统计、窗口聚合 | 大规模表格数据、时间序列数据 |
生成模型特征 | 降维、聚类、自编码器生成特征 | 复杂高维数据、需要特征压缩的场景 |
特征选择与构造结合 | 筛选后构造、嵌入法生成特征 | 大规模数据集、特征选择与构造结合的场景 |
特征构造是一项创造性和技术性并重的任务,需要结合领域知识、数据分析技巧以及机器学习经验来挖掘出更有利于模型训练的特征,从而提升模型的表现。
归一化将特征值缩放到 [0, 1] 之间,常用于以下算法中:
Min - Max归一化:将特征缩放到指定范围(通常为[0, 1]),公式为:
x ′ = x − x min x max − x min x' = \frac{x - x_{\min}}{x_{\max} - x_{\min}} x′=xmax−xminx−xmin
标准化将特征值转化为均值为 0、方差为 1 的标准正态分布,常用于以下算法中:
Z - score标准化: 将数据转换为均值为0,方差为1的标准正态分布,公式为:
x ′ = x − μ σ x' = \frac{x - \mu}{\sigma} x′=σx−μ
以下是归一化方法对比总结,其中加入了每种归一化方法的原理:
归一化方法 | 原理 | 适用场景 | 优点 | 缺点 |
---|---|---|---|---|
批归一化(BN) | 对一个批量中的所有样本的同一通道进行归一化,基于批次的均值和方差调整 | 卷积网络、全连接网络 | 加快收敛,正则化,适应大批量训练 | 对小批次敏感,序列任务效果差 |
层归一化(LN) | 对单个样本的所有通道进行归一化,不依赖批量,计算层内均值和方差 | RNN、Transformer、序列任务 | 适应小批次训练,不依赖批次大小 | 计算量较大,收敛可能稍慢 |
实例归一化(IN) | 对单张图像的每个通道分别独立进行归一化,计算每个样本的通道内均值和方差 | 图像生成、风格迁移 | 对风格敏感,适用于生成任务 | 不适合分类任务,无法捕捉全局信息 |
组归一化(GN) | 将单个样本的特征通道分组,对每一组进行归一化,计算组内均值和方差 | 小批次训练,卷积网络 | 适合小批次,不依赖批次大小 | 对卷积核大小和通道数较敏感 |
权重归一化(WN) | 对神经元的权重向量进行归一化,将方向和长度分开重新参数化 | 卷积网络、全连接网络、生成模型 | 加速收敛,提高稳定性 | 效果不一定显著,某些任务中不如BN |
注意,虽然他们是叫做归一化(批归一化、层归一化、实例归一化),是将多个输入特征归一化为均值为 0、方差为 1 的分布,使得网络的各层输入保持在较为稳定的范围内。本质上是进行标准化。再进行引入两个可学习参数 γ 和 ,分别表示缩放和平移操作。
BN、LN、IN、GN 等归一化方法都包含了标准化的步骤,即它们都会将激活值调整为均值为 0、方差为 1 的分布,关键区别在于这些方法在不同的范围内计算均值和方差,以适应不同的训练场景和模型结构:
注意: 虽然它们方法名字中带“归一化”(批归一化、层归一化、实例归一化、组归一化),但它们的核心操作本质上是标准化,将多个输入特征归一化为均值为 0、方差为 1 的分布,使得网络的各层输入保持在较为稳定的范围内。本质上是进行标准化。再进行引入两个可学习参数 γ 和 ,分别表示缩放和平移操作。