机器学习面试题(9月3日笔记)

1.介绍ROC曲线

横坐标为假阳性率(False Positive Rate,FPR);纵坐标为真阳性率(True Positive Rate,TPR)

FPR = FP / N

TPR = TP / P

其中P是真实的正样本的数量,N是真实的负样本的数量,TP是P个正样本中被分类器预测为正样本的个数,FP是N个负样本中被预测为正样本的个数。

绘制ROC曲线:通过不断移动分类器的"截断点"来生成曲线上的一组关键点。在二分类问题中,模型输出一般是预测样本为正例的概率,在输出最终的正例负例之前,我们需要制定一个阈值。大于该阈值的样本判定为正例,小于该阈值的样本判定为负例。通过动态调整截断点,绘制每个截断点对应位置,再连接所有点得到最终的ROC曲线。

2. 误差分析是什么?如何进行误差分析?

误差分析:通过训练误差和测试误差来分析模型是否存在高方差、高偏差。

如果训练误差较高:说明模型的偏差较大,模型出现了欠拟合。

如果训练误差较低,而测试误差较高:说明模型的方差较大,出现了过拟合。

如果训练误差较低,测试误差也较低:说明模型的方差和偏差都适中,是一个比较理想的模型。

如果训练误差较高,且测试误差更高:说明模型的方差和偏差都较大。

3. 简单讲解SVM模型原理?

支持向量机是一种二类分类模型,它的基本模型是是定义在特征空间的间隔最大的线性分类器,间隔最大,间隔最大使它有别于感知机;支持向量机还包括核技巧,这使它成为实质上的非线性分类器。支持向量机的学习策略是间隔最大化,可形式化为求解凸二次规划的问题,也等价于正则化的合页损失函数最小化问题。

线性可分支持向量机:当训练数据线性可分,通过硬间隔最大化,学习一个线性的分类器

线性支持向量机:当训练数据近似线性可分,通过软间隔最大化,学习一个线性的分类器

非线性支持向量机:当训练数据线性不可分,通过使用核技巧及软间隔最大化,学习非线性分类器

4. 决策树的建树过程

自上而下,对样本数据进行树形分类的过程。每个内部节点表示一个特征,叶节点表示一个类别。从顶部根节点开始,所有的样本聚在一起。经过根节点的划分,样本被分到不同的子节点,再根据子节点的特征进一步划分,直至所有样本被归到某一个类别(叶节点)中。

5.如何评判模型是过拟合还是欠拟合?遇到过拟合或欠拟合时,如何解决?

过拟合是指学习时选择的模型所包含的参数过多,以至出现这一模型对已知数据预测得很好,但对未知数据预测得很差的现象

当训练集效果差,欠拟合(如accurarcy<0.8);训练集效果好,测试集效果差,过拟合

欠拟合解决方法:

增加特征

提高模型复杂度:神经网络提高神经元数、增加层数;SVM使用核函数

减小正则项的系数

过拟合解决方法:

提高样本数量:神经网络------Data Augmentation(数据增强)

简化模型:神经网络使用Dropout、Early Stopping;决策树剪枝、限制树的深度

加入正则化项或提高惩罚系数

使用集成学习

标签平滑

6. 奥卡姆剃刀定律是什么?对机器学习模型优化有何启发?举例说明

奥卡姆剃刀定律:若有多个假设与观察一致,则选最简单的那个

奥卡姆剃刀原理应用于模型选择时变为以下想法:在所有可能选择的模型中,能够很好地解释已知数据并且十分简单才是最好的,也就是应该选择的模型。

从贝叶斯估计的角度来看,正则化项对应于模型的先验概率。可以假设复杂的模型有较小的先验概率,简单的模型有较大的先验概率。

7. GDBT是否对异常值敏感,为什么?

GDBT对异常值敏感。对于回归类问题,如果采用平方损失函数,当出现异常值时,后续模型会对异常值关注过多

8. 如何理解维度灾难?

特征数量超过一定值的时候,分类器的效果反而下降。原因:特征数过多,过拟合

9. 讲解一下droupt原理

在神经网络前向传播的时候,让某个神经元的激活值以一定的概率p停止工作,这样可以使模型泛化性更强,因为它不会太依赖某些局部的特征。

10. 训练模型的时候,是否可以把网络参数全部初始化为0?为什么?

不可以;参数全部为0时,网络不同神经元的输出必然相同,相同输出则导致梯度更新完全一样,会使得更新后的参数仍然保持完全相同。从而使得模型无法训练。

相关推荐
果冻人工智能34 分钟前
2025 年将颠覆商业的 8 大 AI 应用场景
人工智能·ai员工
代码不行的搬运工35 分钟前
神经网络12-Time-Series Transformer (TST)模型
人工智能·神经网络·transformer
石小石Orz37 分钟前
Three.js + AI:AI 算法生成 3D 萤火虫飞舞效果~
javascript·人工智能·算法
罗小罗同学43 分钟前
医工交叉入门书籍分享:Transformer模型在机器学习领域的应用|个人观点·24-11-22
深度学习·机器学习·transformer
孤独且没人爱的纸鹤1 小时前
【深度学习】:从人工神经网络的基础原理到循环神经网络的先进技术,跨越智能算法的关键发展阶段及其未来趋势,探索技术进步与应用挑战
人工智能·python·深度学习·机器学习·ai
阿_旭1 小时前
TensorFlow构建CNN卷积神经网络模型的基本步骤:数据处理、模型构建、模型训练
人工智能·深度学习·cnn·tensorflow
羊小猪~~1 小时前
tensorflow案例7--数据增强与测试集, 训练集, 验证集的构建
人工智能·python·深度学习·机器学习·cnn·tensorflow·neo4j
极客代码1 小时前
【Python TensorFlow】进阶指南(续篇三)
开发语言·人工智能·python·深度学习·tensorflow
zhangfeng11331 小时前
pytorch 的交叉熵函数,多分类,二分类
人工智能·pytorch·分类
Seeklike1 小时前
11.22 深度学习-pytorch自动微分
人工智能·pytorch·深度学习