哈喽,大家好,今天分享的内容是我长期学习Machine Learning过程中的一些学习笔记和心得,今天拿出来与大家分享。
1. 名词解释
特征工程指的是通过数据处理方法,从源数据中抽取关键信息进行组合,挖掘出更加深入的信息的过程。从本质上来讲,特征工程是一个表示和展现数据的过程。
2. 归一化 / 标准化
2.1 定义
① 归一化一般是将数据映射到指定的范围,用于去除不同维度数据的量纲以及量纲单位。均值为0,标准差为1。
② 常见的映射范围有 [0, 1] 和 [-1, 1] ,最常见的归一化方法就是 Min-Max 归一化。
2.2 作用
① 数据归一化后加快了梯度下降求最优解的速度;
② 归一化有可能提高精度;
2.3 类别
① 最小最大值归一化 Min-Max Scaling
公式:X_norm = (X - X_min) / (X_max - X_min)
② 零均值归一化 Z-Score Normalization
公式:z = (x - μ) / δ ,μ是样本数据的均值(mean),δ是样本数据的标准差(std);
示例(一个散点序列的标准化过程:原图->减去均值->除以标准差),如图-01所示:
3. 正则化 Regularization
3.1 定义
正则化主要用于避免过拟合的产生和减少网络误差。正则化的作用是选择经验风险与模型复杂度同时较小的模型。
3.2 类别
常见的有正则项有 L1 正则 和 L2 正则 ,其中 L2 正则 的控制过拟合的效果比 L1 正则 的好。
3.3 LP范数
LP正则的 L 是指 Lp范数,其定义为:
4. Categorical Feature 分类特征
4.1 定义
分类特征原始输入通常是字符串形式,除了决策树等少数模型能直接处理字符串形式的输入,对于逻辑回归、支持向量机等模型来说,类别型特征必须经过处理转换成数值型特征才能正确工作。
4.2 类别
① 序号编码 ordinal encoding
序号编码通常用于处理类别间具有大小关系的数据,例如 Label Econding;
② 独热编码 one-hot encoding
(1)独热编码通常用于处理类别间不具有大小关系的特征;
(2)One-hot编码的好处是,编码后原来的一维特征变为多维特征,可以增加模型的非线性。
(3)缺点是,当原始特征取值种类很多时,One-hot编码后的维度会很高,并且在变量选择时需要将编码后的变量进行变量锁定
③ WOE编码
WOE表明自变量相对于因变量的预测能力;
(1)WOE计算步骤:
A. 针对连续类型变量,将数据分成10份(根据数据分布进行切分);
B. 计算每个组bin中events和non-events的数量;
C. 计算每个组中events和non-events的占比;
D. 通过获取non-events和evnets占比的自然对数来计算WOE;
(2)优点
A. 增加变量的可解释性,并且可解释的粒度细化到变量的每个可能取值。
B. 可以指示自变量(模型输入变量)对因变量(模型目标变量)的预测能力,样本的概率值与WOE值有密切的关系。
C. 可以处理缺失值,将缺失值作为一个特征进行WOE编码,免除缺失值插补带来的不确定性。
5. 递归特征消除Recursive feature elimination (RFE)
5.1 定义
递归特征消除的主要思想是反复的构建模型(如SVM或者回归模型)然后选出最好的(或者最差的)的特征(可以根据系数来选),把选出来的特征选择出来,然后在剩余的特征上重复这个过程,直到所有特征都遍历了。这个过程中特征被消除的次序就是特征的排序。因此,这是一种寻找最优特征子集的贪心算法。
5.2 算法流程
① 给每一个特征指定一个权重,接着采用预测模型在这些原始的特征上进行训练。
② 在获取到特征的权重值后,对这些权重值取绝对值,把最小绝对值剔除掉。
③ 按照这样做,不断循环递归,直至剩余的特征数量达到所需的特征数量。
6. 超参数调优
6.1 超参数搜索算法一般包括哪几个要素:
① 一是目标函数,即算法需要最大化/最小化的目标;
② 二是搜索范围,一般通过上限和下限来确定;
③ 三是算法的其他参数,如搜索步长。
6.2 方法
① 网格搜索
它通过查找搜索范围内的所有的点来确定最优值。
② 随机搜索
随机搜索的思想与网格搜索比较相似,只是不再测试上界和下界之间的所有值,而是在搜索范围中随机选取样本点。
③ 贝叶斯优化
贝叶斯优化算法通过对目标函数形状进行学习,找到使目标函数向全局最优值提升的参数。
7. 过拟合与欠拟合
7.1 定义
① 过拟合:指模型对于训练数据拟合过于完美的情况,反映到评估指标上,就是模型在训练集上的表现很好,但在测试集和新数据上的表现较差。
② 欠拟合:欠拟合指的是模型在训练和预测时表现都不好的情况。
7.2 降低过拟合的方法:
① 从数据入手,获得更多的训练数据;
② 降低模型复杂度;
③ 正则化,给模型的参数加上一定的正则约束,比如将权值的大小加入到损失函数中。
7.3 降低欠拟合的方法:
① 添加新特征;
② 增加模型复杂度;
③ 减小正则化系数;
8. 数据不平衡
8.1 定义
数据集中正负样本数据的比例极不均衡,例如:信用卡交易欺诈分类案例;
8.2 方法
① 调整分类阈值,使得更倾向于类别少的数据。
② 选择合适的评估标准,比如ROC或者F1,而不是准确度(accuracy);
③ 采样法(sampling)
(1) 欠采样(undersampling)
丢弃大量数据,和过采样一样会存在过拟合的问题。
(2) 过采样(oversampling)
重复正比例数据,实际上没有为模型引入更多数据,过分强调正比例数据,会放大正比例噪音对模型的影响。
④ 数据合成:SMOTE
合成少数类过采样技术,它是基于随机过采样算法的一种改进方案,SMOTE算法的基本思想是对少数类样本进行分析并根据少数类样本人工合成新样本添加到数据集中。
(1) 算法流程
1)从少数类样本中,随机选择一个样本A;
2)确定k值(通常是k=5),找到该样本A最近的k个样本;
3)从该k个近邻样本中随机选择一个样本B;
4)生成的新样本为:样本A与样本B中间的一个随机点。