机器学习丨八股学习分享 EP1

前言

体验了大约两周的春招(之所以说是体验,是因为 0 Offer😭),发现自己的基本功实在是有点拿不出手,遂决定好好练一练,开贴作为学习记录,既可以方便我自己的复习,也可以供大家一起参考,如果对你有帮助的话那就是最好的啦!

关于更新频率的话,其实是不定期更新,但我尽量做到每周都有产出!

再补充一句,题目来源于牛客的题库,因为自己是小白,所以一开始搞的题目都会比较简单,大佬勿喷~
🤗个人主页📦Github主页💠掘金主页📚知乎主页


Q1:评价分类模型好坏的指标?

牛客给出的答案是准确率与召回率,但我们不能局限于就题论题,我们不妨来扩展一下。

一些比较通用的评价指标:

  • 准确率 Accuracy:正确预测数 / 总预测数

    <math xmlns="http://www.w3.org/1998/Math/MathML"> A c c u r a c y = T P + T N T P + T N + F P + F N Accuracy=\frac{TP + TN}{TP + TN + FP + FN} </math>Accuracy=TP+TN+FP+FNTP+TN

    • <math xmlns="http://www.w3.org/1998/Math/MathML"> T P TP </math>TP:真正例(实际为正,预测为正,True Positive)

    • <math xmlns="http://www.w3.org/1998/Math/MathML"> T N TN </math>TN:真负例(实际为负,预测为负,True Negative)

    • <math xmlns="http://www.w3.org/1998/Math/MathML"> F P FP </math>FP:假正例(实际为负,预测为正,False Positive)

    • <math xmlns="http://www.w3.org/1998/Math/MathML"> F N FN </math>FN:假负例(实际为正,预测为负,False Negative)

  • 召回率 Recall:真好人里面没被误会的人(衡量模型对正例的捕捉能力,避免遗漏)

    <math xmlns="http://www.w3.org/1998/Math/MathML"> R e c a l l = T P T P + F N Recall=\frac{TP}{TP + FN} </math>Recall=TP+FNTP

  • 精确率 Precision:好人里面的真好人(衡量模型预测正例的准确性,避免误判)

    <math xmlns="http://www.w3.org/1998/Math/MathML"> P r e c i s i o n = T P T P + F P Precision=\frac{TP}{TP + FP} </math>Precision=TP+FPTP

  • F1 值:是精确率和召回率的调和平均数(积在和上飞,更全面地反映模型的性能,都高才高)

    <math xmlns="http://www.w3.org/1998/Math/MathML"> F 1 = 2 × P r e c i s i o n × R e c a l l P r e c i s i o n + R e c a l l F1 = 2\times\frac{Precision\times Recall}{Precision + Recall} </math>F1=2×Precision+RecallPrecision×Recall

  • ROC 曲线下面积 AUC

    ROC 曲线以假正率为横轴,真正率为纵轴,描绘了模型在不同阈值下的分类性能。

    AUC 则表示 ROC 曲线下方的面积,取值范围 [0.5, 1],AUC 越大,说明模型的分类性能越好。


更进一步地,除了分类模型,常见的模型还有回归模型、聚类模型、降维模型、时间序列模型、生成模型等。

常见的降维算法(降维模型可以理解为基于降维算法构建的结构):

  • 主成分分析(PCA):通过线性变换将原始数据转换为一组新的正交变量,即主成分,这些主成分能够保留原始数据的大部分方差信息,从而达到降维的目的。常用于数据可视化、去除数据噪声等。

  • 线性判别分析(LDA):是一种有监督的降维方法,它寻找一个投影方向,使得不同类别的数据在投影后能够尽可能地分开,同时同一类别的数据尽可能地聚集在一起。主要用于分类任务中的特征提取和降维。

  • 局部线性嵌入(LLE):是一种非线性降维算法,它假设数据点在局部是线性的,通过保持数据点之间的局部线性关系来进行降维,能够很好地处理具有流形结构的数据。

  • t - 分布随机邻域嵌入(t-SNE):将高维数据映射到低维空间,同时尽量保持数据点之间的相似性,特别是在局部结构上。它在可视化高维数据方面表现出色,能够将数据点在低维空间中清晰地聚类和分离。

  • 奇异值分解(SVD):是一种线性降维算法,可将矩阵分解为三个矩阵的乘积(如下),降维时保留 Σ 中较大的 k 个奇异值及对应 U、V 的部分列,以获得原矩阵的低秩近似。在处理高维数据时效率较高。

    <math xmlns="http://www.w3.org/1998/Math/MathML"> A = U Σ V T A = U\Sigma V^T </math>A=UΣVT

常见的生成模型:

  • 高斯混合模型(GMM):是一种基于概率统计的生成模型,假设数据是由多个高斯分布混合而成的。通过估计每个高斯分布的参数(均值、协方差和权重)来拟合数据,可用于数据聚类、密度估计等任务。
  • 隐马尔可夫模型(HMM):是一种用于描述具有隐藏状态的马尔可夫过程的统计模型。它由隐藏状态序列和观测序列组成,通过学习模型的参数(状态转移概率、观测概率等)来生成观测数据,常用于语音识别、自然语言处理等领域。
  • 变分自编码器(VAE):是一种基于深度学习的生成模型,它通过引入隐变量和变分推断来学习数据的分布。VAE 能够将数据编码到一个低维的隐空间中,并从隐空间中生成新的数据,具有较好的生成能力和泛化能力。
  • 生成对抗网络(GAN):由生成器和判别器组成,生成器试图生成与真实数据相似的样本,判别器则试图区分生成的样本和真实样本。通过对抗训练,生成器逐渐学会生成逼真的数据,在图像生成、视频生成等领域取得了显著的成果。
  • 朴素贝叶斯:是基于贝叶斯定理与特征条件独立假设的分类方法,也可看作一种简单的生成模型。它假设特征之间相互独立,通过计算给定类别下各个特征的条件概率,来计算样本属于每个类别的后验概率,进而将样本分类到后验概率最大的类别中。在文本分类、垃圾邮件过滤等领域应用广泛。虽然它主要用于分类任务,但从生成角度看,它可以根据训练数据学习到不同类别数据的生成概率分布,从而生成符合该分布的新数据样本,不过这种生成能力相对其他专门的生成模型较弱。

Q2:SVM 与过拟合?

  1. SVM 的核函数与过拟合

    核函数在 SVM 中,将数据映射到高维空间,使得在低维空间中线性不可分的数据在高维空间中变得线性可分,从而更容易找到分类超平面。

    如果选择的核函数过于复杂,可能导致模型过拟合,其他过拟合原因还有参数设置不当等。

    常见的核函数有线性核函数、多项式核函数、径向基函数(RBF)等。

  2. 线性不可分的数据

    在实际应用中,很多数据都是线性不可分的,比如图像、文本、音频等,SVM 通过核函数可以有效地解决这类问题。

  3. 支持向量 Support Vector

    SVM 的支持向量是少数的几个数据点向量,位于分类超平面的边界上,决定了超平面的位置和方向。

    又因为 SVM 的超平面只依赖于这些支持向量,而不是所有的训练数据。这使得 SVM 在处理大规模数据时,具有一定的优势(减少存储和计算的复杂度)。


Q3:数据挖掘的方法有哪些?

先说结论 :万物皆可挖,下面只是抛砖引玉

  • 聚类分析:将物理或抽象对象的集合分组为由类似对象组成的多个类。基于数据的相似性度量,把数据点划分到不同的簇中,使得同一簇内的数据点相似度较高,而不同簇间的数据点相似度较低。无需预先定义类别标签,是一种无监督学习方法。
  • 回归分析:确定两种或两种以上变量间相互依赖的定量关系。通过建立回归模型,尝试描述一个或多个自变量与一个因变量之间的关系,以便根据自变量的值来预测因变量的值。
  • 神经网络:模仿生物神经网络结构和功能。由大量的神经元相互连接组成,通过调整神经元之间的连接权重来学习数据中的模式和规律。神经网络能够自动提取数据的特征,具有很强的非线性映射能力,可用于分类、回归、图像识别、语音处理等多种任务。
  • 决策树算法:基于树结构进行决策。它通过对训练数据的学习,构建一棵决策树,树中的每个内部节点是一个属性上的测试,分支是测试输出,叶节点是类别。决策树算法根据输入样本在各个属性上的取值,从根节点开始逐步向下遍历,最终到达叶节点,从而确定样本的类别。
  • 关联规则挖掘:用于发现数据集中不同项之间的关联关系。通过设置支持度和置信度等阈值,找出频繁出现的项集以及项集之间的关联规则。例如,在超市购物篮分析中,可发现哪些商品经常被一起购买,从而为商品摆放、促销策略等提供依据。
  • 时间序列分析:专门用于处理按时间顺序排列的数据。通过建立时间序列模型,如自回归移动平均模型(ARMA)、自回归积分移动平均模型(ARIMA)等,对时间序列数据进行预测、趋势分析和异常检测。在金融领域的股票价格预测、经济领域的趋势分析以及工业领域的设备故障预测等方面具有重要应用。

Q4:先验概率未知?

在统计模式识分类问题中,当先验概率未知时,可以使用什么方法?

  • N - P 判决:该准则在当先验概率未知的情况下,首先给定一个虚警概率(第 I 类错误概率,弃真)的上限值,然后在满足这个约束条件的前提下,使检测概率(正确检测的概率)达到最大。它通过寻找似然比阈值来实现判决,不需要知道先验概率,适用于先验概率难以获取或不准确的情况。
  • 最小最大损失准则:此准则的基本思想是在最不利的先验概率分布下,使最大可能的损失最小化。也就是说,它不依赖于具体的先验概率值,而是考虑先验概率变化时可能出现的最坏情况,通过调整决策规则来最小化这种最坏情况下的损失,因此也适用于先验概率未知的情况。

另外,最小损失准则最小误判概率准则一般需要知道先验概率才能进行计算和优化,故不行。


Q5:激活函数?

在某神经网络的隐层输出中,包含 -1.5,那么该神经网络采用的激活函数不可能是什么?

我们直接用一张图来直观的解释:(显然以下四种都不行)

相关推荐
星哥说事8 分钟前
开源通义万相本地部署方案,文生视频、图生视频、视频生成大模型,支持消费级显卡!
人工智能·开源·音视频
来自于狂人10 分钟前
当大模型训练遇上“双向飙车”:DeepSeek开源周 DualPipe解析指南
人工智能·算法·系统架构·gpu算力
搏博13 分钟前
人工智能的数学基础之概率论与统计学(含示例)
图像处理·人工智能·机器学习·数据分析·概率论
栀子清茶22 分钟前
Towards Universal Soccer Video Understanding——论文学习(足球类)
论文阅读·人工智能·深度学习·学习·算法·计算机视觉·论文笔记
yuanpan34 分钟前
机器学习是怎么一步一步由神经网络发展到今天的Transformer架构的?
神经网络·机器学习·transformer
小诸葛IT课堂41 分钟前
PyTorch 生态概览:为什么选择动态计算图框架?
人工智能·pytorch·python
雅菲奥朗1 小时前
4大观点直面呈现|直播回顾-DeepSeek时代的AI算力管理
人工智能·ai算力·deepseek
程序员JerrySUN1 小时前
深入解析 TensorFlow 兼容性问题及构建输出文件结构*
人工智能·tensorflow·neo4j
ruokkk1 小时前
搭建一个声纹识别系统
人工智能
kula7751 小时前
Trae,国产首款AI编程IDE初体验
人工智能