机器学习面试必备:算法、评价指标与特征工程
版权申诉
3 浏览量
更新于2024-11-07
收藏 16.8MB ZIP 举报
资源摘要信息:"机器学习面试复习资源集合"
**一、特征工程**
特征工程是机器学习中极为关键的一步,涉及对原始数据进行预处理、转换,以适应算法模型的需求。以下是特征工程中的几个重要知识点:
- **特征预处理**:
- **标准化(Standardization)**:将特征按比例缩放,使之落入一个小的特定区间,常用方法有Z-score标准化,其公式为\( (X - \mu) / \sigma \),其中\( \mu \)是均值,\( \sigma \)是标准差。
- **归一化(Normalization)**:将特征缩放到0和1之间的值,常用方法包括最小-最大标准化,即\( (X - X_{min}) / (X_{max} - X_{min}) \)。
- **异常特征清洗**:检测并处理数据中的异常值,常见的方法有箱型图、Z分数等。
- **不平衡数据处理**:不平衡数据是指某些类别的样本数远多于其他类别,常用的处理方法包括过采样少数类别、欠采样多数类别或使用合成数据生成技术(如SMOTE)。
- **特征表达**:
- **缺失值处理**:对于缺失数据,常见的处理方法包括删除含有缺失值的记录、填充缺失值(如平均值、中位数、众数填充或使用模型预测)。
- **特殊特征处理**:比如时间特征可能需要转换为天数、星期几、工作日/节假日等。
- **离散特征与连续特征**:连续特征离散化有助于处理非线性关系,改善模型性能。
- **模型对缺失值的敏感性**:决策树和基于树的模型对缺失值不敏感,而基于距离的模型(如KNN)和基于梯度的模型(如线性回归)则较为敏感。
- **特征选择**:
- **过滤法**:通过统计测试选择特征。
- **包装法**:使用模型作为标准,根据模型性能选择特征子集。
- **嵌入法**:结合模型训练和特征选择的过程。
- **Kaggle代码实战**:Kaggle竞赛平台上的实战经验是面试时的亮点。
**二、算法基础**
- **评价指标**:
- **PR曲线和F1**:精确率和召回率的综合指标,适用于类别不平衡情况。
- **ROC曲线和AUC**:受试者工作特征曲线及其下面积,用于评估模型的分类性能。
- **AUC与GAUC**:GAUC是加权AUC,考虑到不同样本的重要性。
- **正则项**:
- **正则化与数据先验分布的关系**:正则化是一种防止模型过拟合的手段,常见的有L1、L2正则项。
- **L1在0点处不可导问题**:L1正则项导致的不可导问题可以通过坐标轴下降、最小角回归法等算法解决。
- **L1比L2解更稀疏的原因**:L1惩罚项倾向于生成稀疏权重矩阵,有助于特征选择。
- **损失函数**:
- **常见损失函数**:包括平方损失、绝对损失、对数损失等。
- **损失函数的选择**:不同模型和问题适合使用不同的损失函数。
- **模型训练**:
- **经验误差与泛化误差**:经验误差是模型在训练集上的误差,泛化误差是模型在未见过的数据上的误差。
- **偏差与方差**:偏差是指模型的预测平均值与真实值之间的差异,方差是指模型预测值的波动性。
- **欠拟合与过拟合**:欠拟合是模型对训练数据的拟合程度不够,过拟合则是模型对训练数据过度拟合而泛化能力差。
- **交叉验证**:一种评估模型泛化能力的方法,常见的有K折交叉验证。
- **参数初始化**:深度学习模型的参数初始化对模型训练至关重要,常见的初始化方法包括Lecun初始化、Xavier初始化、He初始化。
- **dropout**:随机丢弃一部分神经元,防止过拟合。
- **Batch Normalization**:批量归一化,用于稳定深层网络的训练。
- **Layer Normalization**:层归一化,适用于RNN等序列模型。
- **Transformer与LN**:Transformer模型通常使用Layer Normalization而非Batch Normalization,因为LN更适合处理序列数据。
- **优化算法**:
- **梯度下降法**:最基础的优化算法,通过计算损失函数的梯度来更新参数。
- **牛顿法和拟牛顿法**:是基于二阶导数的优化算法,比一阶导数的梯度下降法收敛速度更快。
- **深度学习优化算法**:针对深度学习提出的一系列优化算法,如Adam、RMSprop等,适应性强,收敛速度快。
以上知识点是机器学习面试中的高频内容,掌握它们对于准备面试至关重要。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2020-09-06 上传
2024-08-30 上传
2024-02-05 上传
2019-12-13 上传
2009-08-18 上传
2024-05-21 上传
进击的代码家
- 粉丝: 2753
- 资源: 204
最新资源
- JavaScript实现的高效pomodoro时钟教程
- CMake 3.25.3版本发布:程序员必备构建工具
- 直流无刷电机控制技术项目源码集合
- Ak Kamal电子安全客户端加载器-CRX插件介绍
- 揭露流氓软件:月息背后的秘密
- 京东自动抢购茅台脚本指南:如何设置eid与fp参数
- 动态格式化Matlab轴刻度标签 - ticklabelformat实用教程
- DSTUHack2021后端接口与Go语言实现解析
- CMake 3.25.2版本Linux软件包发布
- Node.js网络数据抓取技术深入解析
- QRSorteios-crx扩展:优化税务文件扫描流程
- 掌握JavaScript中的算法技巧
- Rails+React打造MF员工租房解决方案
- Utsanjan:自学成才的UI/UX设计师与技术博客作者
- CMake 3.25.2版本发布,支持Windows x86_64架构
- AR_RENTAL平台:HTML技术在增强现实领域的应用