机器学习面试题(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时,网络不同神经元的输出必然相同,相同输出则导致梯度更新完全一样,会使得更新后的参数仍然保持完全相同。从而使得模型无法训练。

相关推荐
靴子学长36 分钟前
基于字节大模型的论文翻译(含免费源码)
人工智能·深度学习·nlp
AI_NEW_COME2 小时前
知识库管理系统可扩展性深度测评
人工智能
海棠AI实验室2 小时前
AI的进阶之路:从机器学习到深度学习的演变(一)
人工智能·深度学习·机器学习
hunteritself2 小时前
AI Weekly『12月16-22日』:OpenAI公布o3,谷歌发布首个推理模型,GitHub Copilot免费版上线!
人工智能·gpt·chatgpt·github·openai·copilot
IT古董3 小时前
【机器学习】机器学习的基本分类-强化学习-策略梯度(Policy Gradient,PG)
人工智能·机器学习·分类
centurysee3 小时前
【最佳实践】Anthropic:Agentic系统实践案例
人工智能
mahuifa3 小时前
混合开发环境---使用编程AI辅助开发Qt
人工智能·vscode·qt·qtcreator·编程ai
四口鲸鱼爱吃盐3 小时前
Pytorch | 从零构建GoogleNet对CIFAR10进行分类
人工智能·pytorch·分类
冷眼看人间恩怨3 小时前
【Qt笔记】QDockWidget控件详解
c++·笔记·qt·qdockwidget
蓝天星空3 小时前
Python调用open ai接口
人工智能·python