机器学习-面经(part2)

 3. 验证方式

3.1什么是过拟合?产生过拟合原因?

定义:指模型在训练集上的效果很好,在测试集上的预测效果很差

  1.         数据有噪声
  2.         训练数据不足,有限的训练数据
  3.         训练模型过度导致模型非常复杂

3.2 如何避免过拟合问题?

3.3  什么是机器学习的欠拟合?产生原因?解决办法?

        模型复杂度低或者数据集太小,对模型数据的拟合程度不高,因此模型在训练集上的效果就不好。

  1. 模型复杂度不足:模型的复杂度不足以拟合数据的真实分布。例如,线性模型无法捕捉到非线性关系。
  2. 特征选择不当:选择的特征无法很好地描述数据的特性。例如,某些重要特征被忽略或特征提取不充分。
  3. 训练数据量不足:训练数据量过小,无法涵盖数据的全貌,导致模型无法充分学习

3.4 如何避免欠拟合问题?

  • 增加样本的数量:增加训练数据的数量,使模型能够更充分地学习数据的规律。可以通过数据增强、采集更多的数据或合成数据等方法来增加训练数据。
  • 增加样本特征的个数:选择更多的特征,以更好地描述数据的特性。可以通过特征工程或特征选择方法来获取更多的特征。
  • 增加模型复杂度:增加模型的复杂度,使其能够更好地拟合数据的真实分布。例如,使用高阶多项式模型或非线性模型。
  •  可以进行特征维度扩展
  •  减少正则化参数
  •  使用集成学习方法,如Bagging

3.5 什么是交叉验证?交叉验证的作用是什么?

        将原始dataset划分为两个部分.一部分为训练集用来训练模型,另外一部分作为测试集测试模型效果.

        作用:  1)交叉验证是用来评估模型在新的数据集上的预测效果,也可以一定程度上减小模型的过拟合 2)还可以从有限的数据中获取尽能多的有效信息。

3.6 交叉验证主要有哪几种方法?

  • 留出法:简单地将原始数据集划分为训练集,验证集,测试集三个部分.
  • k折交叉验证:(一般取5折交叉验证或者10折交叉验证)
  • LOO留一法: (只留一个样本作为数据的测试集,其余作为训练集)---只适用于较少的数据集
  • Bootstrap方法:(会引入样本偏差)

3.7 什么是K折交叉验证?

        将原始数据集划分为k个子集,将其中一个子集作为验证集,其余k-1个子集作为训练集,如此训练和验证一轮称为一次交叉验证。

        交叉验证重复k次,每个子集都做一次验证集,得到k个模型,加权平均k个模型的结果作为评估整体模型的依据。

3.8 如何在K折交叉验证中选择K?

        k越大,不一定效果越好,而且越大的k会加大训练时间;

        在选择k时,需要考虑最小化数据集之间的方差,比如对于2分类任务,采用2折交叉验证,即将原始数据集对半分,若此时训练集中都是A类别,验证集中都是B类别,则交叉验证效果会非常差。

3.9 网格搜索(GridSearchCV)

定义:网格搜索是一种穷举搜索方法,它通过遍历超参数的所有可能组合来寻找最优超参数。网格搜索首先为每个超参数设定一组候选值,然后生成这些候选值的笛卡尔积,形成超参数的组合网格。接着,网格搜索会对每个超参数组合进行模型训练和评估,从而找到性能最佳的超参数组合。

缺点:网格搜索的缺点是计算量较大,当超参数的数量和候选值较多时,搜索空间会急剧增大,导致搜索效率低下。

3.10 随机搜素(RandomizedSearchCV)

定义:随机搜索是一种随机化的搜索方法,它通过随机采样超参数的组合来寻找最优超参数。与网格搜索相比,随机搜索不会遍历所有可能的超参数组合,而是在超参数空间中随机抽取一定数量的组合进行评估。

优点:随机搜索的优点是计算量较小,能够在有限的时间内快速找到较好的超参数组合。

3.11 贝叶斯优化

        贝叶斯优化是一种基于概率模型的全局优化方法,它通过构建目标函数的概率模型来寻找最优超参数。贝叶斯优化首先利用已有的观测数据训练一个高斯过程模型,然后利用该模型预测未观测点的目标函数值和不确定性。接着,贝叶斯优化使用一个采集函数(Acquisition Function)来确定下一个采样点,该采集函数平衡了探索(Exploration)和利用(Exploitation)的权衡。最后,贝叶斯优化根据采集函数的结果选择新的超参数组合进行评估,并更新高斯过程模型。这个过程会不断迭代,直到满足停止条件。

4. 分类

4.1 什么是准确率,精准率,召回率和F1分数?混淆矩阵

混淆矩阵真实值(True)真实值(False)
预测值(Positive)真正例(TP)假正例(FP)
预测值(Negative)假负例(FN)真负例(TN)

TP(True Positives):真正例,即正例预测为真(预测为正例而且实际上也是正例)

FP(False Positives):假正例,即负例预测为真(预测为正例然而实际上却是负例)

FN(false Negatives):假负例,即正例预测为假(预测为负例然而实际上却是正例)

TN(True Negatives):真负例,即负例预测为假(预测为负例而且实际上也是负例)。

准确率:所有预测正确的样本(包含正例或负例均预测正确,即正例预测为正TP或负例预测为负TN)占总样本的比例。

精确率(查准率,precision): 预测为真的正例样本(TP)与全部预测为真的样本 (对于预测而言,包括真正例TP,假正例FP)的比值。即正确预测为正的占全部预测为正的比例,(真正正确的占所有预测为正的比例)

召回率(查全率,recall): 预测为真的正例(TP)占全部实际为正例的样本(可能将实际正例预测为正例即真正例TP,也可能实际正例预测为负例即假负例FN)的比例(真正正确的占所有实际为正的比例)以实际样本为判断依据,实际为正例的样本中,被预测正确的正例占总实际正例样本的比例。

F1-Score: 精确率和召回率互相影响,理想状态下肯定追求两个都高,但是实际情况是两者相互“制约”:追求精确率高,则召回率就低;追求召回率高,则通常会影响精确率。我们当然希望预测的结果精确率越高越好,召回率越高越好, 但事实上这两者在某些情况下是矛盾的。这样就需要综合考虑它们,最常见的方法就是F-score。 也可以绘制出P-R曲线图,观察它们的分布情况。
F1值为算数平均数除以几何平均数,且越大越好,将Precision和Recall的上述公式带入会发现,当F1值小时,True Positive相对增加,而false相对减少,即Precision和Recall都相对增加,即F1对Precision和Recall都进行了加权。

4.2 模型常用的评估指标有哪些?

 Precision(查准率)、Recall(查全率)、召回率(Recall)、 F1-Score

P-R曲线

        横轴为召回率(查全率),纵轴为精准率(查准率);引入“平衡点”(BEP)来度量,表示“查准率=查全率”时的取值,值越大表明分类器性能越好。

4.2.1 ROC

什么是ROC曲线?如何判断 ROC 曲线的好坏?

ROC曲线:横轴为FPR,纵轴为TPR

灵敏度TPR = TP/(TP+FN)    特异度FPR = TN/(FP+TN)

用途:

  • ROC曲线能很容易的查出任意阈值对学习器的泛化性能影响。
  • 有助于选择最佳的阈值。ROC曲线越靠近左上角,模型的准确性就越高。最靠近左上角的ROC曲线上的点是分类错误最少的最好阈值,其假正例和假反例总数最少。
  • 可以对不同的学习器比较性能。将各个学习器的ROC曲线绘制到同一坐标中,直观地鉴别优劣,靠近左上角的ROC曲所代表的学习器准确性最高。

优点:

  • 该方法简单、直观、通过图示可观察分析学习器的准确性,并可用肉眼作出判断。ROC曲线将真正例率和假正例率以图示方法结合在一起,可准确反映某种学习器真正例率和假正例率的关系,是检测准确性的综合代表。
  • ROC曲线不固定阈值,允许中间状态的存在,利于使用者结合专业知识,权衡漏诊与误诊的影响,选择一个更加的阈值作为诊断参考值。

4.2.2 AUC

        如果两条ROC曲线没有相交,我们可以根据哪条曲线最靠近左上角哪条曲线代表的学习器性能就最好。但是,实际任务中,情况很复杂,如果两条ROC曲线发生了交叉,则很难一般性地断言谁优谁劣。在很多实际应用中,我们往往希望把学习器性能分出个高低来。在此引入AUC面积。

        在进行学习器的比较时,若一个学习器的ROC曲线被另一个学习器的曲线完全“包住”,则可断言后者的性能优于前者;若两个学习器的ROC曲线发生交叉,则难以一般性的断言两者孰优孰劣。此时如果一定要进行比较,则比较合理的判断依据是比较ROC曲线下的面积,即AUC(Area Under ROC Curve)。

        AUC就是ROC曲线下的面积,衡量学习器优劣的一种性能指标。从定义可知,AUC可通过对ROC曲线下各部分的面积求和而得。假定ROC曲线是由坐标为{(x1,y1),(x2,y2),...,(xn,yn)}的点按序连接而形成,则AUC可估算为:

AUC是衡量二分类模型优劣的一种评价指标,表示预测的正例排在负例前面的概率。

根据AUC定义和计算方法,怎么和预测的正例排在负例前面的概率扯上联系呢?如果从定义和计算方法来理解AUC的含义,比较困难,实际上AUC和Mann-WhitneyU test(曼-慧特尼U检验)有密切的联系。从Mann-Whitney U statistic的角度来解释,AUC就是从所有正样本中随机选择一个样本,从所有负样本中随机选择一个样本,然后根据你的学习器对两个随机样本进行预测,把正样本预测为正例的概率p1,把负样本预测为正例的概率p2,p1>p2的概率就等于AUC。所以AUC反映的是分类器对样本的排序能力。根据这个解释,如果我们完全随机的对样本分类,那么AUC应该接近0.5。

4.3 多标签分类怎么解决?

        问题转换

  •         二元关联(Binary Relevance)
  •         分类器链(Classifier Chains)
  •         标签Powerset(Label Powerset)       
  •         改编算法: kNN的多标签版本是由MLkNN表示
  •         集成方法: Scikit-Multilearn库提供不同的组合分类功能
  • 21
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值