用学习曲线 learning curve 来判别过拟合问题

学习曲线通过绘制不同训练集大小下模型的训练和验证准确率,揭示模型的方差和偏差。高偏差(左上)可能表示欠拟合,需要增强模型复杂度;高方差(右上)则表明过拟合,可通过增大训练集或降低模型复杂度解决。理想的曲线应是两者误差小并收敛。文章以naive Bayes和SVM为例,展示了如何绘制和解读学习曲线。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文结构:

  • 学习曲线是什么?
  • 怎么解读?
  • 怎么画?

学习曲线是什么?

学习曲线就是通过画出不同训练集大小时训练集和交叉验证的准确率,可以看到模型在新数据上的表现,进而来判断模型是否方差偏高或偏差过高,以及增大训练集是否可以减小过拟合。


怎么解读?

当训练集和测试集的误差收敛但却很高时,为高偏差。
左上角的偏差很高,训练集和验证集的准确率都很低,很可能是欠拟合。
我们可以增加模型参数,比如,构建更多的特征,减小正则项。
此时通过增加数据量是不起作用的。

当训练集和测试集的误差之间有大的差距时,为高方差。
当训练集的准确率比其他独立数据集上的测试结果的准确率要高时,一般都是过拟合。
右上角方差很高,训练集和验证集的准确率相差太多,应该是过拟合。
我们可以增大训练集,降低模型复杂度,增大正则项,或者通过特征选择减少特征数。

理想情况是是找到偏差和方差都很小的情况,即收敛且误差较小。


### 机器学习领域常见面试问题与知识点 #### 特征工程 特征工程是机器学习中的重要环节之一,其目的是通过合理的方式提取和转化原始数据来提升模型性能。 - **为什么需要对数值类型的特征做归一化?** 归一化的目的是为了使不同尺度的数据具有可比性,从而加速优化过程并提高模型收敛速度。如果某些特征的取值范围过大,则可能导致梯度下降过程中权重更新不均衡,进而影响训练效果[^3]。 - **文本表示模型** 常见的文本表示方法包括词袋模型(Bag of Words),TF-IDF(term frequency-inverse document frequency),以及基于深度学习的方法如Word Embedding(word2vec, GloVe)[^1]。 - **图像数据不足的处理方法** 当面对少量样本时可以采用数据增强技术(Data Augmentation)增加多样性,比如旋转、缩放和平移等几何变换;还可以利用迁移学习(Transfer Learning),借助预训练网络的知识迁移到目标任务上来缓解过拟合风险。 #### 模型评估 模型的好坏通常由一系列量化指标衡量,在实际应用中需综合考虑业务需求选取合适的评价标准。 - **常见的评估指标** 对于分类任务而言,准确率(Accuracy)是最直观但也可能存在误导性的测度方式;除此之外还有精确率(Precision)、召回率(Recall)、F1-Score(F-Measure)等多种维度可供参考。而在回归场景下则更多关注均方误差(MSE)或平均绝对误差(MAE)。 - **ROC曲线** 接收者操作特性曲线(Receiver Operating Characteristic Curve)描绘了真正例率(True Positive Rate,TPr)随假正例率(False Positive Rate,FPR)变化的趋势图象,AUC(area under curve)越大说明该分类器越优秀。 - **为什么在一些场景中要使用余弦相似度而不是欧氏距离?** 如果仅仅关心方向而非具体位置的话,那么计算两个向量之间的夹角余弦往往更加合适,特别是在高维稀疏空间里,因为此时单纯依靠两点间直线长度并不能很好地反映它们之间的真实差异程度。 #### 经典算法 掌握基础理论知识对于解决复杂问题是很有帮助的,这里列举几个经典的机器学习算法供复习之用: - **支持向量机(Support Vector Machine,SVM)** SVM试图找到一个最佳超平面使得两类样本能够被尽可能大地分开,并且这个间隔最大化原则有助于获得更好的泛化能力。 - **逻辑回归(Logistic Regression)** 尽管名字叫“回归”,但实际上它是一种广义线性模型用于概率估计的任务当中,特别适合用来完成二元分类工作。 - **决策树(Decision Tree)** 决策树是一种简单易懂却非常强大的工具,它可以自动地从数据中学到复杂的模式结构并通过条件分支实现预测功能。 #### 降维 当遇到超高维度输入的时候,我们可以通过降维手段降低计算成本的同时保留主要的信息成分。 - **主成分分析(Principal Component Analysis,PCA)** PCA通过对协方差矩阵进行特征分解找出最重要的那些轴作为新的坐标系投影上去达到减少冗余的目的。 - **线性判别分析(Linear Discriminant Analysis,LDA)** LDA不同于无监督性质的PCA之处在于它是带有标签指导意义下的降维策略,旨在寻找能最好地区分各个类别群体的方向矢量集合。 ```python from sklearn.decomposition import PCA pca = PCA(n_components=2) X_pca = pca.fit_transform(X) from sklearn.discriminant_analysis import LinearDiscriminantAnalysis as LDA lda = LDA(n_components=2) X_lda = lda.fit_transform(X,y) ```
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值