eew_gleddk 发表于 2025-1-10 02:00

《深度学习的数学——使用Python语言》统计学

<div class='showpostmsg'> 本帖最后由 eew_gleddk 于 2025-1-10 02:08 编辑

#《深度学习的数学——使用Python语言》统计学
# 概述
本章有六个小节分别是:
- 数据类型
- 描述性统计量
- 分位数和箱型图
- 缺失数据
- 相关性
- 假设检验

本章内容对应在深度学习中是对数据集的一些描述和处理。首先告诉我们数据都有哪些类型,怎么划分这些数据类型,讲解了一些常见的描述性统计量,可以让我们更好的理解数据的整体情况。还介绍了分位数和箱型图实现数据的可视化。

对于缺失值的处理也是十分重要,缺失数据章节告诉我们要怎么处理缺失值,接着讨论样本的相关性,最后介绍了两种假设检验的方法,了解p值的含义。

总的来说,对数据集的理解和预处理对后续的训练有着很重要的作用,所以我们要提前用合适的方法把数据集处理好,然后再进行接下来的训练。
# 数据类型
数据有四种类型:定类数据,定序数据,定距数据,定比数据。
在深度学习中需要对定类数据进行处理,需要把他们转换为定距数据,称为**独热编码**。
本质上就是将定类数据赋予数学含义,便于深度学习提取特征。比如有三个类别,单个定类变量被编码为一个三维向量,其中每一维对应一种颜色。
红色 ->(1 0 0)
绿色 ->(0 1 0)
蓝色 ->( 0 0 1)

# 描述性统计量
对于数据我们首先要根据他的一些统计量去了解它,面对一个新数据集,如果没有先了解他就进行建模计算,就相当于买二手车不检查车况直接成交(书籍中的比喻)。
统计量有很多种,本书主要讲解了均值中位数还有一些衡量变化的统计量。
均值中常用的是算术平均,但是还有几何平均和调和平均,他们都有适合的场景。中位数可以把数据集分为两半,需要和均值互相配合使用。

最常见衡量变化的统计量就是方差,还有其他的描述变化的统计量,比如离差。离差是计算数据值与均值的平均数,离差是反应单个数据和均值的差异,
下面的公式为平均离差的计算公式

当用平方替代绝对值,就是方差的计算公式,如果将前面的n替换为(n-1)则称为无偏方差,在数据量较小时,有偏和无偏方差会有差异,当数据量逐渐增大,他们的差别会越来越小。下面时当数据量逐渐增大后,有偏和无偏方差之间的差异曲线。所以在大数据量的深度学习领域,采用有偏和无偏方差的区别微乎其微。

还有一个需要讨论的用于衡量变化的指标,标准误(Stand Error, SE).根据标准差计算标准误的公式很简单。

使用标准差是为了了解样本围绕均值的情况,而标准误是为了衡量样本均值对总体均值的估计精度。标准误和中心极限定理有关,也与大数定理有关。
在深度学习中,我们用标准差描述训练集的特征。在训练和测试模型时我们可以对模型输出的某些指标求平均(比如准确率),我们除了输出均值还可以输出标准误。
总的来说,标准误是为了衡量样本的均值和总体均值之间差异的统计量。
# 分位数和箱型图
分位数用于将数据划分到固定大小的分组中,箱型图的可以将数据集的多个特征展现。
我们通过一组数据理解分位数和箱型图。我们通过模拟得到一组考试数据,计算分位数并标注在直方图中。

然后用箱型图画出三次的考试数据。

# 缺失数据
缺失值有特殊的标记方法,少量的缺失值不影响,但太多缺失值就需要我们额外处理,可以通过替换描述性统计量解决。
在Numpy中我们可以通过np.isnan来判断是否有缺失值。
如果数据集是带标签的,就应该对每个类别单独计算均值和中位数。
# 相关性
相关性检验数据集是否有关联,本书学习两种相关系数,皮尔森相关性和斯皮尔曼相关性
皮尔森相关系数公式如下,它包含两个特征的均值及其乘积的均值。

我们生成三组数据
~~~
x = np.linspace(0,1,N) + (np.random.random(N)-0.5)
y = np.random.random(N)*x
z = -0.1*np.random.random(N)*x
~~~
第一幅图给出这三个特征的折线图,展示他们之间是如何互相跟踪的,,第二幅图展示了他们之间的两两配对的散点图。


计算他们之间的皮尔森系数

|1.                   |0.68285166   |-0.85047468|
| ------------| ------------| ------------|
| 0.68285166    |   1.                         | -0.56536104   |
| -0.85047468   |-0.56536104|1.                        |

斯皮尔曼相关系数是基于特征取值的次序进行计算的。得到各个元素的次序后,斯皮尔曼相关系数可以定义为

其中d表示两个数据集中对应元素的差值。

两个相关系数的区别:
~~~
a = np.linspace(-20,20,1000)
b = 1.0 / (1.0 + np.exp(-a))
print(pearson(a,b))
print(spearman(a,b))
~~~
结果是
> 0.9053277293366915
1.0

在这个函数中,斯皮尔曼相关性捕捉到了参数之间的非线性关系,而皮尔森只是暗示这种可能性。在传统的机器学习算法中进行特征工程,斯皮尔曼能更好的帮我们判断哪些特征应该丢弃。

# 假设检验
假设检验是用于判断两组数据是否来自相同的分布,在深度学习中常见的有T检验(参数检验)和U检验(非参数检验)。
两组学生通过不同的学习方法学习,现在我们想知道两组学生的考试分数是否有显著的差异,我们需要对某种假设进行检验。下图是数据的箱型图绘制。

我们会有两个假设,一个原假设(两组数据来自同一个分布),一个备择假设(两组数据来自同不同分布)
我们是对均值提出假设,所以原假设表达的是两组数据的总体分布的均值相同。由于不知道真正的总体均值所以用样本均值和标准差代替。
总之我们要记住,我们不是以原假设为真作为结论,而是我们是否有充足的理由拒绝或接受原假设作为结论。

t检验使用t统计量检验,t检验是一种参数检验,我们需要对数据及其分布做一定假设。就t检验来说,我们假设数据是独立同分布且服从正态分布。如果数据不服从正态分布我们就要进行非参检验,非参检验不用对数据内在分布进行假设。U检验是一种非参检验,U检验利用数据的排序信息,他的原假设是从第一组数据随机取样的结果大于第二组随机取样结果的概率等于0.5.

所有实验代码上传附件。</div><script>                                        var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;"   style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
                                       
                                        if(parseInt(discuz_uid)==0){
                                               
                                        }                </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script>

Jacktang 发表于 2025-1-11 09:42

<p>U检验是一种非参检验,怎么理解,与正态分布没有关系?</p>

eew_gleddk 发表于 2025-1-14 01:03

Jacktang 发表于 2025-1-11 09:42
U检验是一种非参检验,怎么理解,与正态分布没有关系?

<p>书中是这样讲述的:t检验是一种参数检验,这意味着我们需要对数据及其分布做一定的假设,假设数据是独立同分布且服从正态分布。</p>

<p>非参检验不用对数据的内在分布进行假设。U检验作为一种非参检验,用于判断两组数据是否来自相同的总体分布,U检验并不依赖于数据的取值,而是利用了数据的排序信息。</p>

<p>&nbsp;</p>

<p>我的理解是:这里的参数是指一些统计量比如均值,方差,而t检验会用到这些信息所以称为参数检验,正态分布的数据是对称的,统计量不会有太大的差异所以要假设是正态分布。</p>

<p>U检验是利用数据的排序信息去检验所以统计量的变化对其影响很小,所以不需要对分布进行假设,所以称为非参检验。无论是不是正态分布都可以用U检验。</p>

<p>(个人理解不一定准确)</p>

eew_gleddk 发表于 2025-1-14 01:04

本帖最后由 eew_gleddk 于 2025-1-14 01:06 编辑

<div class="quote">
<blockquote><font size="2"><a href="forum.php?mod=redirect&amp;goto=findpost&amp;pid=3387843&amp;ptid=1304166" target="_blank"><font color="#999999">eew_gleddk 发表于 2025-1-14 01:03</font></a></font> 书中是这样讲述的:t检验是一种参数检验,这意味着我们需要对数据及其分布做一定的假设,假设数据是独立 ...</blockquote>
</div>

<p>U检验(也叫<strong>曼-惠特尼 U 检验</strong>,Mann-Whitney U test)是一种非参数统计检验方法,用于比较两个独立样本的分布差异,特别是在数据不满足正态分布假设时,提供一种有效的替代方法。理解 U 检验作为&ldquo;非参检验&rdquo;,可以从以下几个方面入手:</p>

<p>1.&nbsp;<strong>什么是非参数检验?</strong></p>

<ul>
        <li><strong>非参数检验</strong>是指在进行统计检验时,不依赖于数据的分布假设(例如不要求数据服从正态分布)。与之对应的,是<strong>参数检验</strong>(如 t 检验),这些方法通常要求数据符合某些特定的分布假设(如正态分布)。</li>
        <li>非参数检验主要用于处理以下两种情况:
        <ol>
                <li>数据的分布不明确或不符合正态分布。</li>
                <li>数据类型是顺序等级数据(Ordinal Data)或者名义数据(Nominal Data),而非连续数据。</li>
        </ol>
        </li>
</ul>

<p>2.&nbsp;<strong>U 检验的工作原理:</strong></p>

<ul>
        <li><strong>Mann-Whitney U 检验</strong>通过比较两个独立样本的排名顺序,来检验它们是否来自相同的分布,而不关心具体的分布类型或参数。其核心是利用所有数据点的排名来计算一个 U 统计量,然后判断是否存在显著差异。</li>
        <li>U 检验的基本步骤如下:
        <ol>
                <li>将两个样本的数据合并并按升序排列。</li>
                <li>为每个数据点分配一个排名。</li>
                <li>计算两个样本的排名和,然后计算 U 统计量。</li>
                <li>根据 U 值来判断两个样本是否有显著差异。</li>
        </ol>
        </li>
</ul>

<p>3.&nbsp;<strong>为什么 U 检验是非参数检验?</strong></p>

<ul>
        <li><strong>不依赖分布假设</strong>:U 检验没有要求数据符合正态分布,因此不依赖于数据的特定分布形态。</li>
        <li><strong>基于秩次</strong>:U 检验基于数据的秩次(排名),而不是数据的具体数值。通过比较排名差异,避免了对数据分布的要求。</li>
        <li><strong>适用范围广</strong>:即使数据是非正态分布,或者是有序的类别数据,U 检验依然可以使用。</li>
</ul>

<p>4.&nbsp;<strong>U 检验与 t 检验的区别:</strong></p>

<ul>
        <li><strong>t 检验</strong>是参数检验,它假设数据遵循正态分布,通常用于比较两个独立样本的均值差异。</li>
        <li><strong>U 检验</strong>则是非参数检验,不需要假设数据的分布。它用于检验两个独立样本是否来自相同的分布。</li>
</ul>

<p>5.&nbsp;<strong>使用场景:</strong></p>

<ul>
        <li><strong>U 检验</strong>适用于:

        <ul>
                <li>比较两组独立样本的差异,但数据不符合正态分布。</li>
                <li>样本量较小,或者数据为有序类别(如调查问卷中的评级数据)。</li>
        </ul>
        </li>
        <li><strong>t 检验</strong>则适用于:
        <ul>
                <li>两组数据满足正态分布,可以进行均值比较。</li>
        </ul>
        </li>
</ul>

<p>6.&nbsp;<strong>U 检验的优缺点:</strong></p>

<ul>
        <li><strong>优点</strong>:

        <ul>
                <li>不要求数据符合正态分布,适用于各种分布的数据。</li>
                <li>可以处理顺序数据,适用范围广。</li>
        </ul>
        </li>
        <li><strong>缺点</strong>:
        <ul>
                <li>相较于 t 检验,U 检验的统计效能可能较低,特别是在样本量较大且数据满足正态分布时。</li>
        </ul>
        </li>
</ul>

<p>总结:</p>

<p>U 检验是一种非参数检验,因为它不依赖于数据的分布假设(如正态分布),而是通过比较数据的秩次来判断两个独立样本是否有显著差异。它适用于无法假设数据符合正态分布的情况,特别是在样本量较小或数据为有序数据时非常有用。<br />
(GPT生成)</p>

SeasonMay 发表于 2025-1-17 15:51

<p>兼顾趣味和知识深度的好书,学习了!</p>
页: [1]
查看完整版本: 《深度学习的数学——使用Python语言》统计学