admin管理员组

文章数量:1606665

机器学习必知的基础概念(Fundamental Theories of Machine Learning)

  • 前言
  • Supervised Learning
  • Error
  • Independent and Identically Distributed (IID)
    • 对这句话的解释:Also, we’re assuming IID across examples but not across features.
  • Fundamental Trade-Off
    • Definition
    • 偏差(Bias)与方差(Variance)
      • 为什么会有偏差和方差?
    • 偏差、方差、噪声是什么?
      • 简述偏差、方差、噪声
    • 偏差、方差窘境
    • 偏差、方差与过拟合、欠拟合的关系
    • 偏差、方差与模型复杂度的关系
    • 偏差、方差与bagging、boosting的关系
    • 偏差、方差和K折交叉验证的关系
    • 如何解决偏差、方差问题
    • Reference:
  • Validation Error
  • Hyperparameters
    • 超参数(Hyperparameters)和决策树(Decision Tree)预剪枝(Pre-Pruning)的关系
  • Optimization Bias
    • Loss Function
  • Cross-Validation
  • Classifier Evaluation Metrics
    • Confusion Matrix
    • Roc Curves
  • Comparing Classifiers
    • 假设检验
    • Estimating Confidence Intervals: Null Hypothesis
      • 零假设(Null hypothesis)
      • P-value
      • T-Test
      • Statistical Significance

前言

以决策树入门后,如果想要训练出更加优秀的模型或者进修其他算法,一些机器学习的基础概念还是需要理解的,本篇博文将以UoA的课件为提纲,介绍一些ML的基础概念。

涉及的英语比较基础,所以为节省时间(不是full-time,还有其他三门课程,所以时间还是比较紧的),只在我以为需要解释的地方进行解释。

此文不用于任何商业用途,仅仅是个人学习过程笔记以及心得体会,侵必删。

Supervised Learning



Supervised learning(监督学习)是机器学习的一种基本类型,它是指在有标记的数据集中,根据输入和输出之间的关系,训练一个模型,以便于对新的未标记数据进行预测。在监督学习中,输入数据通常称为特征(features),而输出数据则称为标签(labels)。

例如,考虑一个图像分类问题,我们的目标是训练一个模型来将输入的图像分为不同的类别(如猫、狗、鸟、汽车等)。在监督学习中,我们会使用一个带有标签的训练集来训练模型,其中每个图像都带有相应的标签。对于每个图像,我们会将其特征提取出来,如像素值、颜色、纹理等,然后将其作为输入。而标签则表示该图像属于哪个类别,如“猫”、“狗”、“鸟”等。在训练过程中,我们会尝试不同的模型和算法,并根据标签的正确性来评估其性能,直到找到最佳的模型和参数组合。最终,我们会使用这个模型来对新的未标记数据进行预测,从而实现图像分类的功能。

在实际应用中,监督学习被广泛应用于各种领域,如自然语言处理、计算机视觉、语音识别等。监督学习的关键在于有一个标记的训练集,这个训练集需要足够大且具有代表性,才能保证模型的泛化能力和性能。

Error





在机器学习中,error(错误)通常指模型的预测结果与实际结果之间的差异。具体来说,error可以分为两种类型:训练误差和测试误差。

训练误差是指模型在训练数据集上的表现,即模型对训练数据的预测结果与实际标签之间的差异。通常情况下,训练误差越小,说明模型在训练数据上的拟合程度越好。然而,如果模型过于拟合训练数据,可能会导致模型在未知数据上的泛化能力较差,这就是过拟合现象。

测试误差是指模型在测试数据集上的表现,即模型对测试数据的预测结果与实际标签之间的差异。测试误差通常用于评估模型的泛化能力,即模型对新数据的预测能力。通常情况下,我们会尝试降低测试误差来提高模型的泛化能力。

除了训练误差和测试误差,还有一些其他的error指标,例如验证误差、交叉验证误差等,它们用于评估模型的性能和选择合适的超参数等。在机器学习中,我们通常会尝试不断优化模型的error指标,以提高模型的性能和预测能力。

Independent and Identically Distributed (IID)

独立相似分布

  • Pick a card, put it back in the deck, repeat, which is not IID,
    because it is not independent.
  • Pick a card, don’t put it back, re-shuffle, repeat, which is not IID,
    because it is not identically distributed.

Do you remember the Food Allergy Data mentioned in the blog 以决策树(Decision Tree)作为入门?

对这句话的解释:Also, we’re assuming IID across examples but not across features.

Also, we’re assuming IID across examples but not across features

在机器学习中,我们通常将数据集中的每个样本视为独立同分布(IID)的。这意味着每个样本都来自于同一分布,并且与其他样本之间是独立的。

这个假设是很重要的,因为在使用许多机器学习算法时,我们需要假设数据中的样本之间是独立的,以便能够有效地利用这些样本来训练模型。如果数据集中的样本不是独立的,则可能会导致模型过拟合,而不能很好地泛化到新的数据。

通常,我们认为数据中的样本是跨例子(跨样本)独立的,而不是跨特征独立的。这是因为,在许多情况下,数据中的特征之间存在一些相关性。例如,在图像分类中,像素之间通常存在一些相关性,因为相邻像素的值通常具有相似的特征。因此,在这种情况下,我们不能假设数据中的特征是独立的。

然而,对于某些算法,例如朴素贝叶斯分类器,我们需要假设数据中的特征是独立的,以便能够有效地进行分类。这个假设通常被称为“朴素贝叶斯假设”,因为它假设数据中的每个特征都是相互独立的。

Fundamental Trade-Off

Definition

bias
模型预测的平均值和真实值之间的误差,高bias说明,模型没有很好的拟合训练集的数据,往往是由于参数太少,模型过去简单导致的。结果导致训练数据和测试数据的误差都会比较大。比如:用线性模型预测非线性数据。

variance
每次模型单独预测的值和模型多次预测的平均值之间的误差,高variance说明,模型对训练数据拟合的特别好,但是泛化能力很差,不能泛化到新的数据集上,模型在不同的数据集上的预测误差相差特别大,比如能很好的拟合训练集的数据,但是交叉验证和测试数据的拟合效果却很差。结果回导致模型在训练集上的误差很小,但是在测试数据上的误差很大。

high bias (under fit):
是指在训练集中,模型预测值和真实值之间的误差比较大,即模型测量真实值不准确;

high variance(over fit):
是指在交叉验证集或测试集中,模型预测的误差较大。有可能有两种情况,一种情况是训练集中模型预测的就不准确;另一种情况是在预测集中模型预测非常准确(100%能预测),但是在交叉验证或测试集中模型预测的误差很大,即多次测量的一致性较低。


noise
我们之前的研究都是假设在样本数据完美,没有噪声存在的前提下进行推导的。然后得出机器能够学到东西的结论,但是,现实中噪声的存在是不可避免的。所谓的噪声就是样本中有问题的点。




偏差(Bias)与方差(Variance)

为什么会有偏差和方差?

对学习算法除了通过实验估计其泛化性能之外,人们往往还希望了解它为什么具有这样的性能。**“偏差-方差分解”(bias-variance decomposition)**就是从偏差和方差的角度来解释学习算法泛化性能的一种重要工具

方差-偏差分解


在机器学习中,我们用训练数据集去训练一个模型,通常的做法是定义一个误差函数,通过将这个误差的最小化过程,来提高模型的性能。然而我们学习一个模型的目的是为了解决训练数据集这个领域中的一般化问题,单纯地将训练数据集的损失最小化,并不能保证在解决更一般的问题时模型仍然是最优,甚至不能保证模型是可用的。这个训练数据集的损失与一般化的数据集的损失之间的差异就叫做泛化误差(generalization error)

而泛化误差可以分解为偏差(Biase)方差(Variance)噪声(Noise)

偏差、方差、噪声是什么?

简述偏差、方差、噪声

如果我们能够获得所有可能的数据集合,并在这个数据集合上将损失最小化,那么学习得到的模型就可以称之为“真实模型”。当然,在现实生活中我们不可能获取并训练所有可能的数据,所以“真实模型”肯定存在,但是无法获得。我们的最终目的是学习一个模型使其更加接近这个真实模型。

Bias和Variance分别从两个方面来描述我们学习到的模型与真实模型之间的差距。

Bias是用所有可能的训练数据集训练出的所有模型的输出的平均值真实模型的输出值之间的差异。

Variance不同的训练数据集训练出的模型输出值之间的差异。

噪声的存在是学习算法所无法解决的问题,数据的质量决定了学习的上限。假设在数据已经给定的情况下,此时上限已定,我们要做的就是尽可能的接近这个上限。

注意:我们能够用来学习的训练数据集只是全部数据中的一个子集。想象一下,我们现在收集几组不同的数据,因为每一组数据的不同,我们学习到模型的最小损失值也会有所不同,它们与“真实模型”的最小损失也是不一样的。

偏差-方差分解”说明,泛化性能是由学习算法的能力、数据的充分性以及学习任务本身的难度所共同决定的。给定学习任务,为了取得好的泛化性能,则需使偏差较小,即能够充分拟合数据,并且使方差较小,即使得数据扰动产生的影响小。

思考:从上面的图中可以看出,模型不稳定时会出现偏差小、方差大的情况,那么偏差和方差作为两种度量方式有什么区别呢?

解答:Bias的对象是单个模型,是期望输出与真实标记的差别。它描述了模型对本训练集的拟合程度。

Variance的对象是多个模型,是相同分布的不同数据集训练出模型的输出值之间的差异。它刻画的是数据扰动对模型的影响

偏差、方差窘境

一般来说,偏差与方差是有冲突的,这称为偏差-方差窘境(bias-variance dilemma)。下图给出了一个示意图。给定学习任务,假定我们能控制学习算法的训练程度,则在训练不足时,学习器的拟合能力不够强,训练数据的扰动不足以使学习器产生显著变化,此时偏差主导了泛化错误率;随着训练程度的加深,学习器的拟合能力逐渐增强,训练数据发生的扰动渐渐能被学习器学到,方差逐渐主导了泛化错误率;在训练程度充足后,学习器的拟合能力已经非常强,训练数据发生的轻微扰动都会导致学习器发生显著变化,若训练数据自身的、非全局的特性被学习器学到了,则将发生过拟合。

偏差、方差与过拟合、欠拟合的关系

一般来说,简单的模型会有一个较大的偏差和较小的方差,复杂的模型偏差较小方差较大。

欠拟合:模型不能适配训练样本,有一个很大的偏差。

举个例子:我们可能有本质上是多项式的连续非线性数据,但模型只能表示线性关系。在此情况下,我们向模型提供多少数据不重要,因为模型根本无法表示数据的基本关系,模型不能适配训练样本,有一个很大的偏差,因此我们需要更复杂的模型。那么,是不是模型越复杂拟合程度越高越好呢?也不是,因为还有方差。

过拟合:模型很好的适配训练样本,但在测试集上表现很糟,有一个很大的方差。

方差就是指模型过于拟合训练数据,以至于没办法把模型的结果泛化。而泛化正是机器学习要解决的问题,如果一个模型只能对一组特定的数据有效,换了数据就无效,我们就说这个模型过拟合。这就是模型很好的适配训练样本,但在测试集上表现很糟,有一个很大的方差。

偏差、方差与模型复杂度的关系

由前面偏差和方差的介绍,我们来总结一下偏差和方差的来源:我们训练的机器学习模型,必不可少地对数据依赖。但是,如果你不清楚数据服从一个什么样的分布,或是没办法拿到所有可能的数据(肯定拿不到所有数据),那么我们训练出来的模型和真实模型之间存在不一致性。这种不一致性表现在两个方面:偏差和方差。

那么,既然偏差和方差是这么来的,而且还是无法避免的,那么我们有什么办法尽量减少它对模型的影响呢?

一个好的办法就是正确选择模型的复杂度。复杂度高的模型通常对训练数据有很好的拟合能力,但是对测试数据就不一定了。而复杂度太低的模型又不能很好的拟合训练数据,更不能很好的拟合测试数据。因此,模型复杂度和模型偏差和方差具有如下图所示关系

偏差、方差与bagging、boosting的关系

Bagging算法是对训练样本进行采样,产生出若干不同的子集,再从每个数据子集中训练出一个分类器,取这些分类器的平均,所以是降低模型的方差(variance)。Bagging算法和Random Forest这种并行算法都有这个效果。

Boosting则是迭代算法,每一次迭代都根据上一次迭代的预测结果对样本进行权重调整,所以随着迭代不断进行,误差会越来越小,所以模型的偏差(bias)会不断降低。

偏差、方差和K折交叉验证的关系

K-fold Cross Validation的思想:将原始数据分成K组(一般是均分),将每个子集数据分别做一次验证集,其余的K-1组子集数据作为训练集,这样会得到K个模型,用这K个模型最终的验证集的分类准确率的平均数作为此K-CV下分类器的性能指标。

对于一系列模型


我们使用Cross Validation的目的是获得预测误差的无偏估计量CV,从而可以用来选择一个最优的Theta*,使得CV最小。假设K-folds cross validation,CV统计量定义为每个子集中误差的平均值,而K的大小和CV平均值的bias和variance是有关的


其中,m = N/K 代表每个子集的大小, N是总的训练样本量,K是子集的数目。

当K较大时,m较小,模型建立在较大的N-m上,经过更多次数的平均可以学习得到更符合真实数据分布的模型,Bias就小了,但是这样一来模型就更加拟合训练数据集,再去测试集上预测的时候预测误差的期望值就变大了,从而Variance就大了;k较小的时候,模型不会过度拟合训练数据,从而Bias较大,但是正因为没有过度拟合训练数据,Variance也较小。

如何解决偏差、方差问题

整体思路:首先,要知道偏差和方差是无法完全避免的,只能尽量减少其影响。
(1)在避免偏差时,需尽量选择正确的模型,一个非线性问题而我们一直用线性模型去解决,那无论如何,高偏差是无法避免的。
(2)有了正确的模型,我们还要慎重选择数据集的大小,通常数据集越大越好,但大到数据集已经对整体所有数据有了一定的代表性后,再多的数据已经不能提升模型了,反而会带来计算量的增加。而训练数据太小一定是不好的,这会带来过拟合,模型复杂度太高,方差很大,不同数据集训练出来的模型变化非常大。
(3)最后,要选择合适的模型复杂度,复杂度高的模型通常对训练数据有很好的拟合能力。

针对偏差和方差的思路

偏差:实际上也可以称为避免欠拟合。

  1. 寻找更好的特征 – 具有代表性。
  2. 用更多的特征 – 增大输入向量的维度。(增加模型复杂度)

方差:避免过拟合

  1. 增大数据集合 – 使用更多的数据,减少数据扰动所造成的影响
  2. 减少数据特征 – 减少数据维度,减少模型复杂度
  3. 正则化方法
  4. 交叉验证法

Reference:

  1. 《机器学习》周志华著,P44-P46。
  2. 机器学习中的Bias(偏差),Error(误差),和Variance(方差)有什么区别和联系? - J JR的回答 - 知乎
  3. 机器学习中的Bias(偏差),Error(误差),和Variance(方差)有什么区别和联系? - 小匿的回答 - 知乎
  4. 偏差(Bias)与方差(Variance)
  5. Understanding the Bias-Variance Tradeoff
  6. 理解机器学习中的偏差与方差 - CSDN博客
  7. 机器学习中的Bias(偏差),Error(误差),和Variance(方差)有什么区别和联系? - 优达学城(Udacity)的回答 - 知乎
  8. 机器学习中的Bias(偏差),Error(误差),和Variance(方差)有什么区别和联系? - 知乎
  9. 为什么说bagging是减少variance,而boosting是减少bias? - 知乎

Validation Error

在机器学习中,Validation Error是指我们使用训练数据集来训练模型,并使用测试数据集来评估模型的性能,得到的错误率或其他性能指标。Validation Error是用来衡量模型泛化性能的一种方法,即模型在未见过的数据上的性能表现。

通常,我们将数据集分成两个部分:训练集和测试集。我们使用训练集来训练模型,并使用测试集来评估模型的性能。这样做的原因是,如果我们只使用训练集来评估模型的性能,那么模型可能会过拟合训练集,而不能很好地泛化到新的数据。

对于独立同分布数据,Validation Error数值上等同于Test Error。

Validation Error可以帮助我们选择最优的模型或调整模型的超参数,以提高模型的泛化能力。如果我们只使用训练集来训练模型,并使用训练集来评估模型的性能,那么我们可能会选择一个过于复杂的模型,导致过拟合,而无法在新数据上表现良好。因此,Validation Error是机器学习中非常重要的概念。

Validation Error通常用于选择最优模型或调整模型的超参数。我们可以使用交叉验证等技术来估计模型的验证错误。例如,在K折交叉验证中,我们将数据集分成K个部分,并使用K-1个部分来训练模型,并使用剩余的部分来测试模型。我们将这个过程重复K次,每次使用不同的测试集,最后计算K次测试的平均误差。

Hyperparameters

在机器学习中,超参数(Hyperparameters)是指在模型训练过程中需要手动设置的参数,这些参数不能通过训练过程自动学习得到,而是需要通过实验或者经验来确定。常见的超参数包括学习率、正则化系数、迭代次数、神经网络层数和神经元个数等。

超参数的选择对模型的性能和训练时间都有很大的影响,因此超参数的调整是机器学习中非常重要的一环。通常情况下,我们需要在训练之前手动设置超参数的值,然后根据模型在验证集上的表现来不断调整超参数的值,直到找到最优的超参数组合。


超参数(Hyperparameters)和决策树(Decision Tree)预剪枝(Pre-Pruning)的关系

设置超参数可以作为决策树静态预剪枝策略

在决策树的训练过程中,超参数可以控制决策树的深度、节点数、最小叶子节点大小等,从而避免决策树过拟合。一般来说,超参数的选择需要进行交叉验证,以得到最佳的超参数设置。在实际应用中,超参数设置通常是一个经验性的过程,需要根据具体的问题进行调整。

与动态预剪枝不同,静态预剪枝是在训练之前就确定决策树的结构,因此可能无法充分利用训练数据的信息。此外,由于不同的数据集和问题具有不同的特点,因此选择最佳的超参数设置也具有挑战性。因此,在实践中,动态预剪枝通常比静态预剪枝更加常用。

Optimization Bias

优化偏差(Optimization Bias)指的是在使用机器学习算法时,由于优化目标的选择或算法的实现,导致模型在训练集上过度拟合,而在测试集上的泛化能力较差的问题。

通常,我们使用某个损失函数作为优化目标来训练模型。这个损失函数通常是基于训练数据集的样本标签和模型预测之间的差异来定义的。因此,当模型在训练数据集上表现良好时,损失函数会得到最小化,但这并不意味着模型在测试数据集上表现也会很好。

优化偏差的一个例子是模型在训练集上过度拟合的问题。当模型过度拟合训练数据集时,它会在训练数据集上表现得非常好,但在测试数据集上表现较差。这是因为模型过于复杂,以至于可以对训练集的噪声进行建模,而无法泛化到新的数据。

另一个例子是算法的实现可能会导致优化偏差。例如,某些算法可能会过度依赖某些特定的特征或假设,这些特征或假设在训练集上存在,但在测试集上却不一定存在。这种情况下,模型在训练集上可能表现得很好,但在测试集上表现较差。

为了避免优化偏差,我们可以采用一些方法,例如正则化、交叉验证、模型选择和模型集成等。这些方法可以帮助我们减少模型的复杂度,提高模型的泛化能力,并帮助我们选择最优的模型。

Loss Function

在机器学习中,损失函数(Loss Function)是一种衡量模型预测值与真实值之间差异的函数。通常情况下,我们希望模型的预测结果与真实结果尽可能接近,损失函数的作用就是计算这种差异的程度。

具体来说,损失函数通常是一个标量函数,接受两个参数:模型的预测值和真实值,并返回一个标量值。这个标量值表示模型的预测值与真实值之间的差异程度。通常,损失函数的值越小,模型的预测结果与真实结果的差异就越小,模型的性能就越好。

不同的机器学习任务和模型类型通常需要不同的损失函数。例如,在分类任务中,常用的损失函数包括交叉熵损失函数、Hinge损失函数和0-1损失函数等。而在回归任务中,常用的损失函数包括均方误差(Mean Squared Error, MSE)损失函数和平均绝对误差(Mean Absolute Error, MAE)损失函数等。

在训练模型时,我们通常使用优化算法来最小化损失函数。通过最小化损失函数,我们可以使模型的预测结果更加接近真实结果,从而提高模型的性能。

Cross-Validation

交叉验证(Cross Validation)是一种用于评估模型泛化性能的方法,可以在数据集有限的情况下更准确地估计模型的性能。



在交叉验证中,我们将数据集分成k个不重叠的子集,称为“折”(Folds),然后进行k次模型训练和测试。在每一次训练和测试中,我们选择其中一个折作为验证集,其余折作为训练集。具体来说,我们先将k个折中的一个折作为验证集,其余的k-1个折作为训练集,然后训练模型并在验证集上评估性能。接下来,我们选择下一个折作为验证集,重新训练模型并在验证集上评估性能。最后,我们对k次测试结果求平均值,得到模型的交叉验证性能评估结果。

交叉验证的主要优点是可以在数据集有限的情况下更准确地估计模型的性能,特别是当数据集很小或者不平衡时。同时,交叉验证可以帮助我们检测模型是否过拟合或者欠拟合,以及帮助我们选择最佳的超参数或模型。

在实际应用中,我们通常将数据集分成5或者10个折。同时,为了避免数据分布不均匀的问题,我们通常采用随机分折的方式。在具体的实现中,我们可以使用各种机器学习框架和工具来实现交叉验证,例如Scikit-learn和Keras等。

Classifier Evaluation Metrics

Confusion Matrix

混淆矩阵(Confusion Matrix)是一种常用的评价分类模型性能的矩阵。它主要用于衡量分类模型在样本分类时预测正确或错误的情况,同时也能帮助我们分析分类器的分类效果。

混淆矩阵将样本按照实际类别和预测类别分成四类,分别是真正例(True Positive,TP)、假正例(False Positive,FP)、真反例(True Negative,TN)和假反例(False Negative,FN)。其中,真正例是指分类器将正类样本正确地预测为正类,假正例是指分类器将负类样本错误地预测为正类,真反例是指分类器将负类样本正确地预测为负类,假反例是指分类器将正类样本错误地预测为负类。


F测量(F-score)是一种用于衡量二元分类模型性能的综合指标。它是精度(precision)和召回率(recall)的调和平均值。F测量的值范围为0到1,值越高表示模型的性能越好。

精度是指分类器正确预测为正类别的样本数占预测为正类别的样本总数的比例。而召回率是指分类器正确预测为正类别的样本数占真实为正类别的样本总数的比例。精度和召回率之间存在一种权衡关系:在某些情况下,我们更关心精度,而在另一些情况下,我们更关心召回率。例如,在医疗诊断中,我们更希望将所有患病的人诊断出来(高召回率),而可以接受将健康的人错误地诊断为患病(低精度)。而在信用卡欺诈检测中,我们更关心将所有欺诈交易正确地识别出来(高精度),即使这意味着可能会错过一些真实的欺诈交易(低召回率)。

F测量的公式为:
F = 2 * (precision * recall) / (precision + recall)

其中,precision是精度,recall是召回率。F测量将精度和召回率的重要性权衡在一起,因此可以作为综合指标来评估分类器的性能。

F1得分(F1 score)是衡量分类模型性能的一种综合指标,它是精确率(Precision)和召回率(Recall)的调和平均数。F1得分的取值范围在0到1之间,越接近1表示分类模型的性能越好。

精确率和召回率是混淆矩阵中常用的指标,它们的计算公式如下:

精确率 = TP / (TP + FP)
召回率 = TP / (TP + FN)

其中,TP表示真正例的个数,FP表示假正例的个数,FN表示假反例的个数。

F1得分的计算公式如下:

F1得分 = 2 * 精确率 * 召回率 / (精确率 + 召回率)

F1得分综合了精确率和召回率的信息,因此在评估分类模型时,通常使用F1得分来综合地评价模型的性能。当精确率和召回率的值相等时,F1得分取得最大值,此时分类模型的性能达到最优。

但是F1得分在混淆矩阵评价中的占比没有具体的规定,这取决于具体的应用场景和评估目标。在某些情况下,F1得分可能比其他指标更为重要,因此在评估分类器性能时需要根据具体情况进行综合考虑。

在混淆矩阵评价中,F1得分通常与其他指标一起使用,如准确率、精确率和召回率等,以全面地评估分类器的性能。在一些特定的场景中,如在不平衡数据集上进行分类时,F1得分的重要性可能会更加突出,因为在这种情况下,准确率可能会给出误导性的结果,而F1得分能够更全面地评估分类器的性能。

一般来说,对于需要平衡查准率和查全率的二分类问题,F1得分是一个非常有用的指标,通常会作为评估分类器性能的重要依据之一。

Roc Curves

ROC曲线(Receiver Operating Characteristic curve)是一种常用的分类模型性能评估工具,它描述了分类器在不同分类阈值下的表现。ROC曲线的横坐标是“假正例率”(False Positive Rate,FPR),纵坐标是“真正例率”(True Positive Rate,TPR),ROC曲线可以直观地展示分类器在不同阈值下TPR和FPR之间的折衷关系。


具体来说,ROC曲线是以分类器预测结果的概率作为阈值,将样本分为正例和反例,然后计算出该阈值下的TPR和FPR,绘制出的曲线。通过比较不同阈值下的ROC曲线,我们可以评估分类器在不同阈值下的表现,从而选择最佳的阈值。

在ROC曲线上,距离左上角(0,1)越远的点,表示分类器在不同阈值下的性能越好。我们可以使用ROC曲线下的面积(Area Under the ROC Curve,AUC)来评估分类器的性能,AUC的值越大,说明分类器的性能越好,其值范围在0到1之间。

Comparing Classifiers

假设检验

假设检验是统计学中用来判断一个假设是否正确的方法。它的基本思想是:在给定的显著性水平(通常是0.05或0.01)下,根据样本数据推断总体的某些特征,然后根据推断结果对原假设进行判断,从而得出结论。

在假设检验中,我们通常会提出一个原假设(null hypothesis),并根据样本数据进行检验。如果检验结果不能拒绝原假设,则我们认为样本数据与原假设是一致的,否则我们就拒绝原假设,认为样本数据与原假设不一致。拒绝原假设的结果并不意味着我们完全否定原假设,而只是表明我们有足够的证据来认为原假设不成立。

假设检验通常包括以下步骤:

  1. 提出原假设和备择假设(alternative hypothesis);
  2. 选择适当的假设检验方法和显著性水平;
  3. 收集样本数据,并计算出相应的统计量;
  4. 计算p值,判断是否拒绝原假设;
  5. 根据检验结果得出结论。

需要注意的是,假设检验是一种推论性统计方法,其结果具有一定的不确定性。因此在进行假设检验时需要谨慎选择显著性水平和检验方法,并考虑到样本数据的可靠性和波动性。

Estimating Confidence Intervals: Null Hypothesis

零假设(Null hypothesis)

置信区间(Confidence interval)是指针对某一参数的估计值,通过对样本数据的分析,给出该参数真实值的一个区间估计,该区间表示了真实值落在该区间的置信程度。

零假设(Null hypothesis) 是指在假设检验中提出的无效假设,通常用于与备择假设(Alternative hypothesis)进行对比。在估计置信区间时,我们通常会首先对零假设进行检验,然后再对置信区间进行估计。

具体来说,在假设检验中,我们首先假设零假设成立,然后通过样本数据进行推断,从而得到一个p值(p-value)。p值表示在零假设成立的情况下,观察到样本数据或者更极端情况出现的概率,一般情况下,p值越小,说明我们拒绝零假设的证据越强。

当我们拒绝零假设时,我们可以根据样本数据计算出一个置信区间,该区间表示了真实值落在该区间的置信程度。如果置信区间不包含零假设的值,则说明我们可以拒绝零假设,并认为该参数具有显著性差异;反之,如果置信区间包含零假设的值,则我们无法拒绝零假设,并认为该参数不具有显著性差异。

P-value

零假设(Null hypothesis)的**p值(p-value)**是在零假设成立的情况下,观察到样本数据或者更极端情况出现的概率。p值通常用于判断统计显著性,如果p值小于某个显著性水平(通常是0.05),则拒绝零假设,否则接受零假设。

下面是一般情况下计算p值的步骤:

  1. 定义零假设和备择假设。
  2. 选择适当的统计检验方法,并计算检验统计量的值。
  3. 根据检验统计量的值,计算p值。

具体的计算方法取决于所使用的检验方法和参数类型。下面是一些常用的检验方法和对应的p值计算方法:

  • t检验:对于单样本t检验、双样本t检验和配对样本t检验,可以使用t分布表或者计算软件来计算p值。
  • 卡方检验:对于卡方独立性检验和拟合优度检验,可以使用卡方分布表或者计算软件来计算p值。
  • 方差分析:对于单因素方差分析、双因素方差分析等,可以使用F分布表或者计算软件来计算p值。
  • 相关分析:对于皮尔逊相关系数、斯皮尔曼等级相关系数等,可以使用相关系数分布表或者计算软件来计算p值。

需要注意的是,不同的检验方法和参数类型需要使用不同的计算方法,且计算p值的具体步骤可能会因为统计软件或计算工具而有所不同。

T-Test


t检验(t-test)是一种常用的统计检验方法,用于比较两组样本的均值是否存在显著差异。它的基本思想是利用t分布来推断样本均值与总体均值之间的差异是否显著。t检验有多种类型,包括单样本t检验、双样本t检验和配对样本t检验等。

下面分别介绍这三种类型的t检验:

  1. 单样本t检验:用于检验一个样本的均值是否与一个已知的总体均值相等。假设样本大小为n,样本均值为x̄,总体均值为μ,样本标准差为s,则t值的计算公式为:

    t = (x̄ - μ) / (s / sqrt(n))
    

    计算出t值后,可以使用t分布表或者计算软件来计算p值。

  2. 双样本t检验:用于比较两组独立样本的均值是否存在显著差异。假设两个样本分别为样本1和样本2,样本1的大小为n1,样本2的大小为n2,样本1的均值为x̄1,样本2的均值为x̄2,样本1的标准差为s1,样本2的标准差为s2,则t值的计算公式为:

        t = (x̄1 - x̄2) / sqrt(s1^2/n1 + s2^2/n2)
    

    计算出t值后,可以使用t分布表或者计算软件来计算p值。

  3. 配对样本t检验:用于比较两组相关的样本的均值是否存在显著差异。例如,可以使用配对样本t检验来比较同一组人在两个不同时间点的体重是否有显著差异。假设有n对相关样本,样本1的值为x1,样本2的值为x2,两个样本的差值为d=x1-x2,样本差值的均值为d̄,样本差值的标准差为s,则t值的计算公式为:

        t = (d̄ - μ) / (s / sqrt(n))
    

    计算出t值后,可以使用t分布表或者计算软件来计算p值。

需要注意的是,t检验需要满足一些假设前提,例如数据应当满足正态分布,且方差应当相等等。如果假设前提不满足,则t检验的结果可能不可靠。因此,在应用t检验时,需要对数据进行合理的前提检验,确保检验结果的可靠性。

Statistical Significance

本文标签: 概念机器基础fundamentalmachine