机器学习基础知识

一、模型评估与模型参数选择

图-1 3种数据集之间的关系

图-2验证集使用

验证集评估出来的效果并非模型的最终效果,主要是用来调整超参数的,模型最终效果以测试集的评估结果为准。

1.1 验证集主要用于超参数调整和防止模型过拟合

在机器学习和深度学习中,数据集通常被分为训练集、验证集和测试集,它们各自承担着不同的角色:

  • 训练集:用于训练模型,即让模型通过学习训练集中的数据来调整其内部参数。
  • 验证集:在模型训练过程中使用,主要是为了调整模型的超参数(如学习率、神经网络层数等),以及监控模型是否存在过拟合现象。过拟合指的是模型在训练数据上表现良好,但在未见过的 data 上表现较差的情况。通过验证集的表现,可以对模型的泛化能力做一个预估。
  • 测试集:用于评估模型的最终性能,即在模型完成训练并调优后,用测试集来测试模型的泛化能力。

1.2测试集主要用于模型评估,确保模型的泛化能力。

在机器学习和深度学习中,数据集的划分是一个重要的步骤,它有助于评估模型的性能和泛化能力。以下是关于测试集的一些详细说明:

  • 定义与目的:测试集是用于评估机器学习模型在未见数据上的性能的数据集。它的主要目的是检验模型是否能够泛化到新的、未参与训练过程的数据上。
  • 使用时机:一旦模型在训练集上完成学习,并且在验证集上进行了必要的调优,就会在测试集上进行最终评估。这个步骤是在模型开发过程结束时进行的,以确保模型在实际应用中的有效性。
  • 防止过拟合:通过在测试集上评估模型,可以检测模型是否存在过拟合。如果模型在训练集和验证集上表现良好,但在测试集上表现不佳,这可能意味着模型过度拟合了训练数据。
  • 模型性能指标:在测试集上,可以计算各种性能指标,如准确率、召回率、F1分数等,以全面了解模型的表现。这些指标有助于比较不同模型或不同算法的性能。
  • 交叉验证:为了更可靠地评估模型性能,有时会采用交叉验证法。这种方法涉及将数据集分成多个更小的子集,并多次重复训练和测试过程,以减少对特定数据划分的依赖,提高评估的稳定性和可靠性。

1.3训练集用于模型的学习和参数估计

在机器学习和模式识别等领域中,训练集是数据集的一个关键组成部分,它的主要目的是用于估计模型参数。以下是关于训练集的一些详细说明:

  • 定义与用途:训练集,也称为train set,是从总的数据样本中随机抽取的一部分数据,用于训练模型。模型通过学习训练集中的数据来调整其内部参数,以便能够准确地对未见数据进行预测。
  • 划分比例:一个典型的数据集划分是将总样本的50%用作训练集,剩下的部分分别用于验证集和测试集。然而,这种划分并不是固定的,根据实际的样本总量和具体需求,划分比例可以有所调整。
  • 交叉验证:当样本总量较少时,可以采用K折交叉验证法来更有效地利用数据。这种方法将数据集分成K个子集,每次留出一个子集作为验证集,其余K-1个子集作为训练集,重复K次训练和验证过程,以提高模型的泛化效果。
  • 超参数选择:训练集不仅用于模型的基本学习,还用于超参数的选择。通过观察模型在训练集上的表现,可以选择适合的超参数,以优化模型的性能。
  • 模型评估:虽然训练集主要用于模型的学习,但在一些情况下,也可以结合测试集一起评估模型的泛化误差。

1.5过拟合:将训练样本自身的一些特点当作所有样本潜在的泛化特点。

采取应对方法:- 移除特征,降低模型的复杂度:减少神经元的个数,减少隐藏层的层数 - 训练集增加更多的数据 - 重新清洗数据 - 数据增强 - 正则化 早停

1.6欠拟合欠拟合:还没训练好。

1.6.1. 欠拟合的原因:    1. 数据未做归一化处理    2. 神经网络拟合能力不足    3. 数据的特征项不够

1.6.2. 解决方法:    1. 寻找最优的权重初始化方案    2. 增加网络层数、epoch    3. 使用适当的激活函数、优化器和学习率    4. 减少正则化参数    5. 增加特征

二、验证

1、交叉验证

1.1 留出法(Holdout cross validation) 按照固定比例将数据集静态的划分为训练集、验证集、测试集。

1.2 自组法(bootstrapping) 适合于样本数目较少,有放回的取法。

1.3 k 折交叉验证:k 一般取 10 将数据集分为训练集和测试集,将测试集放在一边 将训练集分为 k 份 每次使用 k 份中的 1 份作为验证集,其他全部作为训练集。 通过 k 次训练后,我们得到了 k 个不同的模型。 评估 k 个模型的效果,从中挑选效果最好的超参数 使用最优的超参数,然后将 k 份数据全部作为训练集重新训练模型,得到最终模型。

三、正则化

正则化是一种用于防止机器学习模型过拟合的技术,它通过在损失函数中添加一个惩罚项来限制模型的复杂度。

正则化的核心思想是在模型训练过程中,通过对模型参数施加一定的限制,以减少模型对训练数据的过度拟合,从而提高模型在未知数据上的泛化能力。正则化通常包括L1正则化和L2正则化,以及Dropout等方法。具体如下:

  • L1正则化:也称为Lasso回归,它通过向损失函数添加参数绝对值之和的惩罚项来鼓励参数稀疏,即许多参数变为零。这种方法适用于特征选择,可以产生一个只有少数特征具有非零权重的模型。
  • L2正则化:也称为岭回归,它通过向损失函数添加参数平方和的惩罚项来限制参数的大小,但不允许参数完全为零。这种方法有助于防止模型参数变得过大,从而减少过拟合的风险。
  • Dropout:这是一种在神经网络中使用的正则化技术,它在训练过程中随机丢弃网络中的一些神经元,迫使网络不过分依赖于任何一组特定的神经元,从而提高了网络的鲁棒性。

四、无监督学习

1.1 无监督学习是机器学习中的一种方法,它不依赖于标记过的训练数据

无监督学习与监督学习是机器学习两大主要范畴之一。监督学习依赖于标记过的数据来训练模型,使得模型能够预测或分类新的数据点。相比之下,无监督学习则没有标记过的数据可供训练,它的目标是发现数据中的隐藏结构。

 1.2 聚类分析的目的是将数据集中的样本划分为多个组或“簇”,使得同一个簇内的样本相似度高,而不同簇的样本相似度低。以下是聚类问题的一些关键点:

  1. 聚类过程:包括选择适当的特征、决定簇的数量、使用合适的相似性度量标准以及选择合适的聚类算法。

  2. 常用聚类算法

    • K-Means:通过迭代寻找簇的中心点,并将每个点分配到最近的中心点形成的簇中。
    • DBSCAN:基于密度的算法,能够识别任意形状的簇并排除噪声点。
    • 层次聚类:创建一个由层次嵌套的簇组成的树形结构。
    • GMM(高斯混合模型):基于概率模型的方法,假设所有数据点都是由具有各种高斯分布的混合体生成的。
  3. 聚类算法的选择:通常取决于数据的特性和分析目标。例如,K-Means适用于球形簇,而DBSCAN更适合不规则形状的簇。

  4. 聚类算法的应用:广泛,包括但不限于市场细分、社交网络分析、图像分割、基因表达分析等领域。

  5. 聚类算法的评价:由于聚类问题通常没有明确的标签,评估聚类结果的质量是一个挑战。常用的评价方法包括内部指标(如轮廓系数)和外部指标(如调整兰德指数)。

  6. 聚类与分类的区别:在于聚类不依赖于已知的类别标签,而是试图发现数据中未知的分组。

1.3 主成分分析(principal component analysis)问题(PCA):主成分分析PCA是一种常用的数据分析方法。PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的降维。

1.4因果关系(causality)和概率图模型(probabilistic graphical models)问题:如果想通过物体a去推断物体b,就是将物体a放在这里会增加物体b出现概率的多少,想要找到这样一个确定的促进关系即因果关系 往往会被confounder干扰到,而这个confounder就是物体a与b之间的共因。

1.5生成对抗性网络(generative adversarial networks):为我们提供一种合成数据的方法,甚至像图像和音频这样复杂的非结构化数据。潜在的统计机制是检查真实和虚假数据是否相同的测试,它是无监督学习的另一个重要而令人兴奋的领域。

  • 36
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值