百面机器学习:特征工程、模型评估

tech2025-07-13  5

1. 特征工程

定义:对原始数据进行一系列工程处理,将其提炼为特征,作为输入供算法和模型使用。

1.1 特征归一化

归一化就是把你需要处理的数据经过处理后(通过某种算法)限制在你需要的一定范围内。分为:

线性函数归一化:最大值最小值归一化

这种归一化适合数值比较集中情况,如果max和min不稳定,很容易使得归一化结果不稳定; 实际应用中可以用经验常量值来替代max和min。

标准差归一化(零均值归一化):标准正态分布

非线性归一化:log、指数、正切等变换

经常用在数据分化比较大的场景,通过数学函数进行映射。
(1)为什么一些机器学习模型要归一化处理?
加快了梯度下降求解最优解的速度。等高线显得圆滑,在梯度下降求解时能较快收敛。如果不做归一化,梯度下降很可能走“之”字,很难收敛甚至不能收敛。把有量纲表达式变为无量纲表达式,有可能提高精度。逻辑回归等模型先验假设数据服从正态分布。
(2)归一化为什么能提高梯度下降法求解最优解速度?

  归一化后使得等高线变得更加圆润,更容易使得梯度下降沿着梯度方向一直前进到最优解的点。不进行归一化,曲线的梯度方向不一定一直沿着向最优解的方向前进,很容易走“之”字。

(3)归一化有可能提高精度么?

一些分类器需要计算样本之间的距离(如欧氏距离),例如KNN。如果一个特征值域非常大,那么距离计算就主要取决于这个特征,从而与实际情况相悖(实际情况是值域范围小的特征更重要),对这类模型的特征进行归一化有可能提高精度。

(4) 哪些机器学习算法不需要归一化处理?哪些需要归一化处理?

概率模型不需要归一化,因为它们不关心变量的值,而是关心变量的分布和变量之间的条件概率。

决策树、RF

归一化是为了使计算更方便,避免造成数值问题,比如说求矩阵的逆可能很不精确或者梯度下降法收敛比较困难,需要计算欧氏距离的话量纲也需要调整。

线性回归、逻辑回归(LR)、支持向量机(SVM)、KNN、神经网络等模型。
(5)对于树形结构为什么不需要归一化

数值缩放不影响分裂点位置。因为第一步都是按照特征值进行排序的,排序的顺序不变,那么所属的分支以及分裂点就不会有不同。 对于树模型不能进行梯度下降,因为树模型是阶跃的,阶跃点处不可导的。所以树模型是通过寻找最优分裂点完成的。

1.2类别特征

类别特征的输入通常是字符串形式,除了决策树等少数模型能直接处理字符串的输入外,对于LR、SVM等模型来说,类别特征必须经过处理转换成数值特征才能正常工作。

序号编码、独热编码(one-hot)、二进制编码、Helmert Contrast、Sum Contrast、Polynomial Contrast、Backward Contrast等。

1.3组合特征

可以利用矩阵分解来减少两个高维特征组合后需要学习的参数。

特征选择目的:

减少也正的数量、降维,使模型繁华能力更强从而减少过拟合;增强特征对特征值之间的理解。
怎样有效的找到组合特征?
特征是否发散:如果一个特征不发散,如方差接近于0,也就是说样本在这个特征上基本没有差异,这个特征对样本的区分没有什么作用;特征与目标的相关性。
特征选择有哪些方法?
过滤式(filter) 先对数据集进行特征选择,然后在训练学习器。卡方检验、皮尔逊相关系数包裹式(wrapper) 需考虑后续学习器,根据目标函数(通常是预测效果评分),每次选择若干特征,或者排除若干特征。嵌入式(embedding) 是Filter与Wrapper方法的结合。先使用某些机器学习的算法和模型进行训练,得到各个特征的权值系数,根据系数从大到小选择特征。

1.4文本表示模型

词袋模型和N-gram模型、主题模型、词嵌入和深度学习模型

词嵌入:将每个词都映射成低维空间(通常K=50~300维)上的一个稠密向量。K维空间的每一维可以看作一个隐含的主题。传统的浅层机器学习模型中,一个好的特征工程往往可以带来算法效果的显著提升。而深度学习模型正好为我们提供了一种自动地选择特征工程的方式,模型中的每个隐层都可以认为对应着不同抽象层次的特征。与全连接网络结构相比:卷积神经网络和循环神经网络一方面很好抓住了文本的特性,另一方面又减少了网络中待学习的参数,提高了训练速度,并且降低了过拟合风险。 主题模型是基于概率图的生成式模型(LDA),其似然函数可以写成若干条件概率连乘的形式。词嵌入模型一般表达为神经网络,似然函数在网络输出上,需要学习网络的权重以得到单词的稠密向量表示。

1.5图像数据不足时的处理方法

基于模型的方法:主要是采用降低过拟合风险的措施,包括简化模型、添加约束项以缩小假设空间、集成学习、Dropout超参数等;基于数据的方法:根据一些先验方法进行数据扩充。 随即旋转、平移、裁剪、填充、左右翻转。添加噪声:椒盐噪声、高斯白噪声等。颜色变换。改变图像的亮度、清晰度、对比度、锐度等。先对图像特征进行提取,然后在图像特征空间进行变换:生成式对抗网络。

2.模型评估

2.1模型评估的局限性

准确率accuracy:分类正确的样本占总样本的比例。 精确率precision:分类正确的样本占分类器判定为正样本个数的比例。 召回率recall:分类正确的样本占真正的正样本个数的比例。 F1 score:精确率和召回率的调和平均值(2倍的和分之积)。 ROC曲线:横坐标为假阳性率(False Positive Rate, FPR),纵坐标为真阳性率(True Positive Rate, TPR). 平均绝对误差MAE(Mean Absolute Error) 平均绝对百分比误差MAPE 均方误差MSE(Mean Squared Error) 均方根误差RMSE(Root Mean Squared Error)

相比P-R曲线,ROC曲线有一个特点,当正负样本分布发生变化时,ROC的曲线形状基本保持不变,而P-R曲线的形状一般会发生比较剧烈变化。

三条距离公理:正定性、对称性、三角不等式 余弦满足正定和对称,不满足三角不等式

2.2A/B测试的陷阱

需要进行线上A/B测试原因:

离线无法完全消除过拟合的影响离线无法还原线上的工程环境线上系统的某些商业指标在离线评估中无法计算。

划分测试集要注意保留样本的独立性和采样方式的无偏性。

2.3模型评估的方法

Holdout检验交叉检验:k-fold交叉验证、留一验证自助法

自助法:当样本无限大时候,大约有1/e(36.8%)的样本从未被选择。

2.4超参数调优

网格搜索、随机搜索、贝叶斯优化 要素:1、目标函数,即算法需要最大化/最小化的目标;2、搜索范围,一般通过上限和下限来决定;3、算法的其他参数,如搜索步长。

2.5过拟合与欠拟合

降低过拟合风险的方法: 1、从数据入手,获得更多的数据 2、降低模型的复杂度

神经网络减少网络层数、神经元个数;决策树模型、降低深度和剪枝。 3、正则化方法 4、集成学习方法

bagging、stacking、boosting

降低欠拟合风险: 1、添加新特征:构造特征工程如:因子分解机、GBDT、Deep-crossing 2、增加模型复杂度 3、减小正则化系数

最新回复(0)