简介:面向正在备战机器学习岗位面试的研发与数据科学人员,这份面试题汇总以单个docx文档集中梳理了高频考点:从监督/无监督学习、SVM、逻辑回归、决策树的原理推导与特性对比,到GBDT与随机森林差异、凸优化、类别不平衡、对偶问题、特征选择、过拟合、偏差/方差,再到EM、k-means、DBSCAN、距离度量、朴素贝叶斯、L1/L2正则化及TF-IDF/余弦距离等知识点,覆盖面广且层次分明。包体仅1个docx文件、约49KB,便于直接阅读、检索和打印复习。内容多按“概念—推导—对比—应用”展开,并点出常见易混点,适合按需选章研读。已有111人学习下载,尤适合需要系统查漏补缺、快速搭建机器学习知识框架的面试准备者。
1. 机器学习面试题:不是背答案,是重建你的算法地图
准备机器学习面试的时候,很多人会把 SVM、LR、决策树这些高频知识点当成一个个独立条目去背:定义一个公式,划两条特性,记一下优缺点。可面试官只要多追问一句“你讲讲 SVM 对偶问题为什么要引入核函数”,背好的词条就断链了。这份资源的价值在于它不是零散的题目堆叠,而是把监督与无监督的边界、三个常用分类器的横向对比、集成学习、聚类和正则化串成了一张可复用的知识网。它适合已经有机器学习基础、正在找工作或准备转岗的研发人员,也适合在项目中需要快速判断算法选型的人。读它的时候别追求一遍记住,而是把它当成自己的算法地图,缺哪块补哪块。
2. 监督与无监督的边界:两种学习范式的判断与面试表达
2.1 有监督与无监督的本质差别:标记、歧义性与目标
有监督学习和无监督学习的分界,在面试里看似简单,其实不少人在表达上吃过亏。最容易被忽略的一个词是“岐义性”——原文里反复提到这个概念。有监督学习的训练样本带有概念标记,所以样本的歧义性低,学习器只需要从带标签的数据里学出一个从输入到输出的映射,目标是对训练集之外的样本也能做出正确预测。无监督学习没有任何标记可用,学习器面对的是原始的、未标注的数据,需要自己去发现里面的结构性知识,所以歧义性高。聚类是无监督学习的典型代表,它不在“预测某个样本属于哪一类”这个层面工作,而是在“这些样本可以被分成哪些簇、每个簇内部有什么共性”这个层面工作。
我一般建议面试者把这句话当成第一层回答:有监督学的是“标签到决策边界”,无监督学的是“数据自身的结构”。只答到这里还不够,面试官紧接着往往会追问一个更实际的问题:“无监督学习没有标签,怎么评价聚类结果好不好?”这正是这份资源里整理过的内容——聚类性能度量分外部指标和内部指标,前者需要把聚类结果和某个参考模型比较,后者则直接考察聚类结果本身。内部指标里常考的是 DB 指数和 DI 指数:DB 指数对每个簇计算“类内平均距离与类间中心距离的比值”,然后求和,越小越好;DI 指数则越大越好。能把这个评价思路讲清楚,至少说明你不是只是背了一个“聚类是无监督”的结论。
2.2 聚类作为无监督的代表:k-means、DBSCAN 与密度可达
聚类算法是面试官考察无监督学习最顺手的切入点。最常见的追问顺序是:先问 k-means 的原理,再问它的局限,最后问有没有比它更鲁棒的聚类方式。这份资源把 k-means 和密度聚类的关联讲得很清楚,值得展开说。
k-means 在高斯混合聚类里有一个非常漂亮的解释角度:当混合成分方差相等、且每个样本只指派给一个混合成分时,高斯混合聚类退化成 k-means。从 EM 的角度看,k-means 中每个样本所属的类就是一个隐变量,E 步固定类中心、把每个样本指派到最近的类中心,M 步重新计算类内均值作为新中心。这个解释在面试里有两个实际价值:一是让你理解 k-means 为什么对初始中心敏感——EM 类算法本质上都有可能收敛到局部最优;二是让你记住一个血泪经验——k-means 在运行之前必须做归一化,否则某个量纲过大的维度会直接主导距离计算,聚类结果就像被那个特征绑架了一样。
k-means 的局限在于它只对“类内数据构成球形簇”的情况表现好,数据分布形状复杂时就不太行了。密度聚类则从样本密度的角度出发,通过样本之间的可连接性不断扩展聚类簇。DBSCAN 是这类的代表,它依赖一组邻域参数:邻域半径、核心对象(邻域内至少包含 MinPts 个对象)、密度直达、密度可达和密度相连。整个流程是先找出所有核心对象,从任一核心对象出发找出密度可达的样本生成聚类簇,直到所有核心对象都被访问过。面试里能讲出“k-means 是基于距离的中心指派,DBSCAN 是基于密度的连通性扩展”这一层对比,基本就能过关了。
| 维度 | k-means | DBSCAN |
|---|---|---|
| 核心思想 | 距离最小化、中心迭代 | 密度连通、邻域扩展 |
| 簇形状 | 适合球形簇 | 适合任意形状簇 |
| 需要指定 | 簇数 k | eps、MinPts |
| 噪声处理 | 对噪声敏感 | 能识别噪声点 |
| 距离要求 | 必须做特征归一化 | 同样依赖距离,但更关注分布密度 |
2.3 面试回答的结构化模板与常见追问
把上面这些内容整理成一段可以口头输出的话,我建议按四个层次来组织。先说标记差异:有监督训练样本带标记,无监督没有标记。再说目标差异:有监督是学映射做预测,无监督是发现数据结构。接着举代表性算法:有监督举分类和回归,无监督举聚类、降维。最后补一个评价方式:分类看准确率、F1 这类指标,聚类看 DB、DI 这类内部指标。
这套顺序的好处是让面试官看到你的思维是分层的,而不是想到哪说到哪。常见追问通常是三连发:第一问“半监督学习算哪种?”,第二问“无监督学习能不能用来做特征工程?”,第三问“聚类的距离度量有哪些?”这三个问题背后的逻辑其实都指向同一个点:你是否真的理解两种范式之间的边界是可迁移的。无监督聚类得到的簇标签可以当作新的离散特征喂给下游有监督模型,这也是一些工业项目里做特征增强的常见做法。距离度量则要区分情况:连续属性常用闵可夫斯基距离,p=1 是曼哈顿距离,p=2 是欧式距离,p 趋近无穷是切比雪夫距离;离散属性可以用 VDM 距离,属性重要性不同时可以用加权距离。
3. SVM、LR、决策树横向对比:从推导链到适用边界
3.1 SVM 的推导链条:从最大间隔到对偶问题再到核函数
SVM 几乎是机器学习面试里必考的算法,但考察方式已经从“背出优化公式”变成了“能不能讲完整条推导链条”。这份资源给出的推导顺序是线性的:从最大间隔分类器出发,先讲几何间隔和样本误分次数之间的关系,然后在线性可分情况下写出原始问题,再做特征转换得到对偶问题,接着引入核函数,最后做 soft margin。这个顺序本身就是面试官希望你复现的思维路径。
我常见的经验是,面试者最容易在“为什么要把原始问题转换成对偶问题”这一步卡住。答案有两个层次:第一,对偶问题一定是凸优化问题,求解性质比原始问题好;第二,对偶形式下样本以内积的形式出现,这为引入核函数做了铺垫。很多人在这一步会机械地说“为了引入核函数”,但如果你能补一句“原始问题中样本特征的内积被替换成核函数计算,就可以在不显式构造高维特征的情况下完成非线性映射”,面试官就能确认你是真的理解,而不是背稿。
核函数的选择本身也是一个高频追问点。线性核简单、速度快,但要求数据线性可分;多项式核能比线性核拟合更强的非线性关系,但高次项容易出现数值不稳定、参数也多;高斯核拟合能力最强,但只有一个参数需要调整的同时也最容易过拟合。资源里特意强调了一个细节:SVM 对数据测度敏感,特征需要先归一化,这一点在对比 LR 时很重要。另外,多分类处理也不能丢:一对一要两两配对产生 N(N-1)/2 个二分类器、最后投票;一对多每次取一个类为正例其余为反例、训练 N 个分类器、有多个正例预测时取置信度最大的;多对多则需要对正反类做特殊设计。
3.2 LR 的推导与特性:线性决策边界的优势与局限
LR 在面试中的地位不亚于 SVM,而且很多面试官喜欢把两者放在一起追问。LR 的优点非常直接:实现简单、计算量小、训练速度快、存储资源低,还能输出概率。但这些优点同时也带来它的短板——模型简单,面对复杂场景容易出现欠拟合;标准 LR 只能处理二分类,扩展到多分类要靠 one-vs-rest 或 softmax 回归。
对于 LR 的推导,面试官通常想听的不只是 sigmoid 函数,而是你如何看待它的优化目标和损失函数。资源里给了一个很有用的对比视角:带 L2 正则化的 LR 对应的是交叉熵损失,而 soft margin SVM 用的是 hinge loss,AdaBoost 用的是 exponential loss。这三个损失函数放在一起对比,能解释很多算法行为差异。比如 LR 对远点敏感,因为它把所有样本都计入损失;SVM 对 outlier 不敏感,因为它只关心支撑向量;AdaBoost 的 exponential loss 对错分样本的惩罚更强,这也是它迭代时会对错分样本分配更大权重的根源。
面试里还有一个容易被追问的点:LR 需要归一化吗?一般答案是不强制,但实际工程里还是建议做,因为归一化能加速梯度下降收敛,也能避免某些特征量纲过大导致优化路径震荡。资源里提到的“LR 可以预测概率、SVM 不能直接预测概率”是选型时的一个硬边界,很多业务场景需要概率做排序或阈值控制,这时候 LR 往往比 SVM 更顺手。
3.3 决策树的划分准则与剪枝:信息增益、增益率与基尼指数
决策树的考察重点集中在三件事:划分准则、剪枝策略、连续值与缺失值处理。这份资源把三者的关系讲得比较清楚:划分准则决定树的生长方向,剪枝决定树的最终形态,连续值和缺失值处理则决定算法在真实数据上的可用性。
划分准则有三种。信息增益是熵减去条件熵,表示一个属性让数据不确定性降低的程度,信息增益越大说明该属性对分类越重要——这是 ID3 的思路。但信息增益会对取值数目较多的属性产生偏好,一个属性如果取值特别多,条件熵天然会被压低,所以 C4.5 用信息增益率来修正,分母是属性自身的熵,取值可能性越多、属性自身熵越大、增益率被拉低的幅度也越大。CART 决策树则用基尼指数,它直观表达的是从数据集里随机抽两个样本、类别标记不一致的概率,基尼指数越小数据集纯度越高。
剪枝是决策树里最容易在实践里翻车的一环。预剪枝在树生长过程中提前停止,快但可能欠拟合;后剪枝等树完全长成后自底向上修剪,效果通常更好但计算量更大。一般行业内的共识是用交叉验证集来指导剪枝,而不是只看着训练集的精度。连续属性处理上有个细节容易被忽略:连续属性可以多次参与划分,和离散属性不同,它作为当前节点的划分属性后,在后续子孙节点里仍然可以被再次选中作为划分依据,因为它的取值区间被不断细分。
3.4 三者对比的四个维度与一个对比表
面试里把三个算法放在一起对比,通常不会让你背各家优缺点,而是会给出一个场景让你选型。这种问题要从四个维度组织回答:损失函数、异常点敏感性、概率输出能力、数据规模适配度。资源里已经给出了核心结论:从优化函数上看,soft margin SVM 用 hinge loss,带 L2 正则化的 LR 用 cross entropy loss,因此 LR 对远点敏感而 SVM 不太敏感;SVM 能通过核函数把特征映射到无穷维空间,LR 做不到;小数据、高维度场景下 SVM 往往更优,而大数据场景下 LR 使用更广泛;LR 能输出概率,SVM 不能;SVM 对数据测度敏感需要归一化,LR 一般不需要。
| 对比维度 | SVM | LR | 决策树 |
|---|---|---|---|
| 损失函数 | hinge loss | cross entropy loss | 划分准则(信息增益/基尼) |
| 异常点敏感度 | 低(只看支持向量) | 高(所有样本参与损失) | 中(切分点易受极端值影响) |
| 概率输出 | 不直接 | 直接输出 | 叶节点频率可作为概率 |
| 数据规模 | 小数据高维更优 | 大数据更常用 | 中等规模易过拟合 |
| 特征尺度 | 需要归一化 | 一般不需要 | 不需要归一化 |
| 可解释性 | 弱(核空间不可解释) | 中(权重可解释) | 强(规则可直接阅读) |
还有一个容易被漏掉的实际经验:决策树和随机森林在数据预处理上比 SVM、LR 宽松很多,不需要归一化,也能容忍一定程度的缺失值。所以在工业项目里做 baseline 时,决策树或随机森林往往是第一个跑通的模型,而 SVM 和 LR 更多用于对可解释性或概率输出有明确要求的场景。
4. 从 GBDT 到随机森林:串行与并行的集成思路
4.1 Bagging 与 Boosting:两种集成范式的本质差异
面试里问 GBDT 和随机森林的区别,表面上是问算法细节,本质上是在考察你对两种集成范式的理解是否到位。Bagging,也就是 bootstrap aggregation,通过在训练集中有放回地采样得到多个采样集,每个采样集训练一个基学习器,最后把基学习器结合。采样带来的好处是每个基学习器看到的训练数据不完全一样,它们之间的相关性降低,整体方差减小。Boosting 则是另一个思路,每一轮迭代都把注意力放在上一轮出错的地方,通过调整样本权重或拟合残差来串行地优化模型。一个是并行化方法,一个是序列化方法,这是区分两种思想的第一层。
对于“为什么随机森林能并行、GBDT 必须串行”,一个更本质的回答是:随机森林的每个基学习器是独立训练的,任务之间没有依赖关系;GBDT 的每一棵树都在拟合前一棵树留下的残差或梯度方向,后一棵树的生成依赖前面所有树的结果,所以只能串行。面试官经常会在这个点上追问一步:既然 GBDT 是串行的,为什么它在表格数据上效果常常比随机森林好?原因是 Boosting 在逐步降低偏差,而 Bagging 主要降低方差,在偏差已经比较大的场景里,降低方差的收益有限,降低偏差的收益更直接。
4.2 随机森林的随机性来源:样本扰动与属性扰动
随机森林不被大多数人完全理解的一点是,它的随机性来源于两个层面,不只是对样本做有放回采样。传统决策树在每个节点上从当前节点的全部属性里选最优划分属性,随机森林则先随机选择包含 k 个属性的子集,再在这个子集里选最优属性。这个 k 参数直接控制随机性的引入程度:k 越小,属性扰动越大,树的差异性越大,但单棵树的质量可能下降;k 越大,单棵树越接近传统决策树,多样性下降。工程里的常见做法是 k 取特征总数的平方根,但具体数值要结合数据维度做交叉验证调整。
样本扰动加属性扰动带来的实际收益是:基学习器之间相关性显著降低,集成的泛化能力更强,对噪声和过拟合的容忍度也更高。这也是为什么随机森林在实际项目中很少出现单棵决策树那种严重过拟合的问题。另外,随机森林训练时可以用袋外数据做 OOB 误差估计,不需要单独划分验证集,这是一个在工程里能省下不少工夫的特性。面试中如果被问到“随机森林如何评估特征重要性”,可以从属性扰动角度回答:某个特征在所有树中被选作划分属性的次数越多、带来的纯度提升越大,它就越重要。
4.3 GBDT 的串行优化:负梯度方向与权重更新
GBDT 的核心机制用一句话说清楚就是:每一轮新加的树,去拟合损失函数在当前模型上的负梯度方向。资源里提到“每一迭代中根据错误更新样本权重”,这是对所有 Boosting 算法的共性描述,但 GBDT 和 AdaBoost 的具体做法有明显差异:AdaBoost 更新的是样本权重,对应的是指数损失;GBDT 拟合的是负梯度,对应的是更一般的可导损失函数。
为什么 GBDT 的基学习器常用 CART 回归树而不是分类树?因为每一轮要拟合的目标是残差或负梯度,这是一个连续值,回归树天然适合做这个任务。即使原始任务是分类,GBDT 仍然使用回归树作为基学习器,只是把损失函数换成对数损失之类能处理分类目标的函数,这几乎是所有框架里的统一实现方式。
调参上几个容易踩坑的点需要提前知道。学习率不能太大,太大会让每一轮更新的步幅过大,模型在训练集上表现不错但泛化能力急剧下降,一般优先从 0.05 到 0.1 之间开始试。子采样比例一般取 0.7 到 0.9,既能引入随机性防止过拟合,又不会因为采样太少让每一轮的信息量不足。树的最大深度在 GBDT 里通常控制在 3 到 6 层,深度太大和随机森林里决策树过拟合的问题是类似的,但 GBDT 因为串行累积错误,过拟合的后果更加隐蔽也更难排查。
4.4 选型时的常见经验与实际项目考量
结合资源内容和实际项目经验,我对这两类模型的选择有一套自己的判断逻辑。数据维度高且稀疏时,优先考虑 LR 或线性 SVM,GBDT 对这种稀疏结构不敏感;特征之间存在明显交互作用、数据量在几千到几十万量级时,GBDT 类模型通常表现更好;数据噪声大、特征质量参差不齐时,随机森林比 GBDT 更稳,因为属性扰动给了它更强的容错空间;业务上需要输出概率做后续阈值控制时,GBDT 可以通过叶节点样本占比给出概率估计,随机森林则要看每棵树的输出如何聚合。
之前在某公司的用户画像项目里做过一次对比测试,同样的特征工程、同样的训练集,随机森林和 GBDT 在 AUC 上差距很小,但 GBDT 在训练时间和调参成本上明显更高,最后线上选择随机森林做主力模型。这个案例想说明的是,模型选型不是只看精度,还要考虑迭代效率和团队对模型的维护成本。资源里提到的“随机森林基于 bagging 因此可并行,GBDT 基于 boosting 因此串行”,在实际工程里直接决定了训练耗时和资源占用,这个点值得在面试时主动说出来。
5. 聚类与 EM 的五个常见翻车点:现象、原因、解法
5.1 k-means 结果不稳定:EM 收敛局部最优与初始化
现象:同一个数据集、同一份代码,只是改了随机种子,跑出来的聚类结果差异很大,甚至有一次跑出某个簇明显不合理。
原因:k-means 本质上是 EM 算法的特例,E 步固定类中心指派样本,M 步更新类中心,目标函数非凸,最终收敛结果高度依赖初始中心。如果初始中心选得不好,算法会收敛到一个较差的局部最优点。资源里也明确提到 k-means 属于 EM 求解的模型,这类模型一定会收敛,但可能收敛到局部最优。
解决:最直接的办法是多次随机初始化,选目标函数值最小的结果;更稳定的做法是用 k-means++ 做初始化,让初始中心彼此尽量分散。另外,跑 k-means 之前强制做特征归一化,避免某个维度因为量纲过大主导整个距离计算。从那以后我每次跑 k-means,都会把“初始化次数”和“归一化”当作默认配置,不再指望随机种子一次命中。
5.2 距离计算失真:维度量纲差异引起的失效
现象:聚类结果看起来只有某一个特征在起作用,其他特征对划分几乎没有贡献,比如用户行为数据里“登录次数”数值上千、“付费金额”数值只有几十,最后簇的边界基本只由登录次数决定。
原因:k-means 用的是欧式距离,数值范围更大的维度会在距离计算中占据绝对权重,相当于其他特征被静默忽略。这不是算法本身的错误,是数据预处理没做到位。原文里有一句警告说得非常明白:k-means 在运行之前需要进行归一化处理,不然可能会因为样本在某些维度上过大导致距离计算失效。
解决:先做标准化或归一化再进入聚类流程。如果特征之间的业务重要性本来就不一样,可以用加权距离调整不同维度的贡献。这个坑在实际项目里极其常见,因为它不会报错,只会给出一个看起来“能解释但明显偏颇”的结果,属于比较隐蔽的翻车方式。
5.3 DBSCAN 的邻域参数难调:核心对象与密度可达的判断
现象:调 DBSCAN 时,邻域半径稍微变大一点,原来几十个簇就合并成一个大簇,噪声点几乎全消失;半径稍微变小一点,大部分点都变成噪声点,聚类结果基本没有可用价值。
原因:DBSCAN 的聚类结果完全由邻域半径和 MinPts 两个参数决定。邻域半径太小,核心对象数量减少,很多点无法被密度可达覆盖;邻域半径太大,几乎所有点都借着密度直达链连成一片。参数和数据本身的密度分布不匹配,是 DBSCAN 在真实场景里最难用好的地方。
解决:一个成熟的调参思路是画 k 距离图,计算每个样本到其第 k 个最近邻的距离,排序后找到曲线明显变化的拐点,把邻域半径设在拐点附近;MinPts 一般取数据维度的两倍或根据经验预设。资源里描述 DBSCAN 时提到的“核心对象、密度直达、密度可达、密度相连”这四个概念,不仅是面试问答素材,在实际调参时也是判断参数是否合理的依据——如果核心对象数量过少,整个密度连通链本来就是脆弱的,聚类结果自然也稳不了。
5.4 GMM 的 EM 求解收敛慢:初始化与迭代方式
现象:用 EM 算法求解高斯混合模型时,迭代几十轮和迭代几百轮的结果差别不大,但换了一个初始化策略之后,收敛速度和最终对数似然值都明显改善了。
原因:EM 算法的收敛性有保证,但目标函数可能存在多个局部最优点,不同的初始参数会把迭代过程带到不同的山谷里。资源里提到“由于求和的项数将随着隐变量的数目指数上升,会给梯度计算带来麻烦”,这也解释了为什么 GMM 这类模型不直接用梯度下降法或牛顿法求解——隐变量导致的复杂求和让梯度计算变得很重,EM 通过 E 步和 M 步交替绕开了直接对隐变量求导的问题,但绕不开初始化敏感这个本质。
解决:工程里的常见做法是用 k-means 先得到聚类中心,再用这些中心初始化 GMM 的均值,协方差矩阵用样本总体方差或按簇估计的方式初始化。另一个做法是多次随机启动,选对数似然最大的结果保留。这两种方法不冲突,很多实际项目里是组合使用的。
5.5 距离公理与相似性度量:直递性并非必须
现象:在特征空间里出现类似“人、马、人马”的反直觉案例——人和人马的相似度都很高,但人和马之间的相似度很低,导致硬套距离公理时出现矛盾。
原因:相似性度量和严格的距离度量不是一回事。距离度量需要满足非负性、同一性、对称性和直递性,但用于相似性度量的函数不一定要满足全部性质。直递性要求“如果 x 和 y 接近、y 和 z 接近,那么 x 和 z 也应接近”,这在实际数据里常常不成立。
解决:面试和实践中都要区分清楚:需要用严格距离时,选闵可夫斯基距离这类满足公理体系的度量,p≥1 时满足距离性质;只需要衡量相似度时,可以用余弦相似度这类不满足直递性的度量。资源的原话是“用于相似性度量的距离未必一定要满足距离度量的所有性质”,这句话可以作为区分两种概念的一个简洁判断标准。
6. 把知识点变成面试现场的回答:白板推导与费曼复述
6.1 脱稿推导的三遍法
拿到这份资源之后,真正有效的用法不是一遍遍读,而是把每个核心知识点改写成一块“白板卡”。我的习惯是第一遍合上资源,拿出一张白纸,从记忆里默写算法的推导链和特性;第二遍对照资源找出遗漏或讲错的地方,用红笔补上;第三遍把整块内容像在面试现场一样口头讲出来,讲给同事听或者对着录音设备讲。
以 SVM 为例,默写链条应该是:最大间隔分类器 -> 几何间隔与误分次数关系 -> 线性可分原始问题 -> Lagrange 对偶 -> 内积形式出现 -> 引入核函数 -> soft margin 处理噪声 -> 多分类任务的三种扩展方式。资源里提到的每一个环节都要能简略说出“为什么存在”以及“和下一步的关系”,而不是只记住名词。LR 的记忆锚点是“对数几率 + 交叉熵 + 概率输出”,决策树的记忆锚点是“纯度 + 划分准则 + 剪枝”,k-means 的锚点是“EM 特例 + 归一化 + 初始化敏感”。
6.2 面试墙与项目对照
我还会把这份资源里整理的问题做成一面试墙,每道题一行,列三列:题目关键词、我的回答要点、容易卡壳的地方。这样做有两个作用:一是把知识点从“读过”变成“组织过”,面试现场的回答速度和流畅度会提升很多;二是能发现哪些知识点只停留在概念层面,比如只看懂了信息增益公式但没法解释为什么它对多取值属性有偏好,这通常意味着你还缺一个推导训练。
更关键的一步,是把资源里的理论点和你做过的项目绑在一起。面试官问“特征选择怎么做”时,资源里讲了过滤式、包裹式、嵌入式三种思路,但你要能接一句“我在做某信贷特征工程时用过 L1 正则做嵌入式选择,它更易于获得稀疏解,但泛化上比 L2 更容易受噪声干扰”,这才算把资源里的内容真正消化成了自己的经验。从那以后我每次复习机器学习,都强制自己走一遍“默写、对照、复述”三轮流程,不只是在面试前临时抱佛脚。这份资源给了我一张很完整的地图,希望帮到你。
本文还有配套的精品资源,点击获取