累计概率分布、概率分布函数(概率质量函数、概率密度函数)、度量空间、负采样(Negative Sampling)

本文主要是介绍累计概率分布、概率分布函数(概率质量函数、概率密度函数)、度量空间、负采样(Negative Sampling),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这里写自定义目录标题

  • 机器学习的基础知识
    • 累计概率分布
    • 概率分布函数
    • 度量空间
    • 负采样(Negative Sampling)
      • 基于分布的负采样(Distribution-based Negative Sampling):
      • 基于近邻的负采样(Neighbor-based Negative Sampling):

机器学习的基础知识

累计概率分布、概率分布函数(概率质量函数、概率密度函数)、度量空间、负采样(Negative Sampling)

累计概率分布

累计概率分布是指离散随机变量或连续随机变量的概率分布函数(Probability Distribution Function,简称PDF)在某个取值点之前的概率之和。

对于离散随机变量,累计概率分布函数(Cumulative Distribution Function,简称CDF)定义为在该点之前所有概率质量函数(Probability Mass Function,简称PMF)值的累加和。

对于连续随机变量,累计概率分布函数定义为在该点之前的概率密度函数(Probability Density Function,简称PDF)的积分。

以离散随机变量为例,设随机变量X具有概率质量函数P(X = x),则其累计概率分布函数F(x)定义为:

F(x) = P(X ≤ x) = ΣP(X = x’)

其中,x’为所有小于或等于x的可能取值。

以连续随机变量为例,设随机变量X具有概率密度函数f(x),则其累计概率分布函数F(x)定义为:

F(x) = P(X ≤ x) = ∫f(t)dt,积分从负无穷到x

累计概率分布函数提供了随机变量小于或等于某个特定值的概率。在统计学和概率论中,累计概率分布函数常用于计算随机变量的分位数、概率计算以及随机变量之间的比较等任务。

值得注意的是,累计概率分布函数的取值范围在[0, 1]之间,并且具有单调递增的性质。

概率分布函数

概率分布函数(Probability Distribution Function,简称PDF)是描述随机变量取值与其概率之间关系的函数。对于离散型随机变量,概率分布函数也被称为概率质量函数(Probability Mass Function,简称PMF)。对于连续型随机变量,概率分布函数也被称为概率密度函数(Probability Density Function,简称PDF)。

离散型随机变量的概率质量函数(PMF):
对于离散型随机变量X,其概率质量函数P(X = x)给出了X取特定值x的概率。概率质量函数满足以下性质:

非负性:P(X = x) ≥ 0
归一性:∑P(X = x) = 1,求和范围覆盖了所有可能的取值

连续型随机变量的概率密度函数(PDF):
对于连续型随机变量X,其概率密度函数f(x)描述了X落在某个区间内的概率密度。概率密度函数满足以下性质:

非负性:f(x) ≥ 0
归一性:∫f(x)dx = 1,积分范围覆盖了所有可能的取值

概率分布函数是概率质量函数(PMF)或概率密度函数(PDF)的累积函数。对于离散型随机变量,概率分布函数F(x)定义为X小于或等于x的概率之和。对于连续型随机变量,概率分布函数F(x)定义为X小于或等于x的概率密度之积分。

概率分布函数的性质:

非负性:概率分布函数的值始终非负,即F(x) ≥ 0。
单调性:概率分布函数是单调非减函数,即如果x1 ≤ x2,则F(x1) ≤ F(x2)。
归一性:概率分布函数在整个取值空间上的值范围是[0, 1],即F(-∞) = 0,F(+∞) = 1。

概率分布函数在统计学和概率论中起到重要的作用,可以用于计算随机变量的概率、期望、方差以及进行随机变量之间的比较等任务。常见的概率分布函数包括正态分布、均匀分布、二项分布、泊松分布等。

度量空间

度量空间(Metric Space)是数学中的一个概念,用于描述具有度量(Metric)的空间。度量是一种用于衡量空间中两个元素之间距离的函数。

在一个度量空间中,我们有一个集合X以及一个定义在X上的度量函数d,满足以下条件:

非负性:对于任意的x, y ∈ X,有d(x, y)0,并且当且仅当x = y时,d(x, y) = 0。
对称性:对于任意的x, y ∈ X,有d(x, y) = d(y, x)。
三角不等式:对于任意的x, y, z ∈ X,有d(x, z) ≤ d(x, y) + d(y, z)

度量空间中的度量函数可以理解为表示元素之间距离的度量方式。它可以是实数值的距离,也可以是其他形式的度量,如欧氏距离、曼哈顿距离等。度量函数的定义使我们能够在度量空间中进行距离的比较和分析。

度量空间的例子包括欧几里得空间(Euclidean Space)和离散度量空间。在欧几里得空间中,度量函数是欧氏距离,用于测量点之间的直线距离。在离散度量空间中,度量函数可以是汉明距离、编辑距离等,用于度量离散对象之间的差异。

度量空间的概念在数学、计算机科学和物理学等领域中有广泛的应用。它为我们提供了一种形式化的框架,用于研究和分析空间中的距离、连续性、收敛性等性质。

负采样(Negative Sampling)

负采样(Negative Sampling,负样本的采样方式)是一种用于优化训练过程的技术,常用于词嵌入模型(如Word2Vec)等自然语言处理任务中。负采样通过减少训练样本的数量和计算复杂度,提高了训练效率,同时仍能保持模型的性能。

在传统的词嵌入模型中,目标是学习每个单词的词向量表示,使得具有相似上下文的单词在向量空间中的距离更近。传统的训练过程中,需要对每个训练样本计算softmax概率分布,这对于大规模语料库来说计算量很大。

负采样通过将训练样本中的正例(目标单词及其上下文)与负例(目标单词与随机选择的其他单词)进行区分,从而减少了计算量。具体来说,对于每个训练样本,负采样会随机选择一些负例,数量通常远小于语料库中的所有单词,并将它们作为负样本,而不再考虑其他单词。

负采样的目标是调整模型参数,使得正例的得分高于负例的得分,从而更好地区分正例和负例。一种常见的负采样方法是使用二元逻辑回归模型,将目标单词与上下文的词向量作为输入,通过sigmoid函数将其转化为概率。正例的标签为1,负例的标签为0,模型的目标是最大化正例的概率、最小化负例的概率。

负采样的优点是能够降低计算复杂度,加快训练速度。此外,负采样还有助于将模型更专注于区分目标单词和上下文,提高了模型的性能。但是,负采样也引入了一定的偏差,因为负例是随机选择的,并不能保证完全涵盖语料库中的所有负例。

需要注意的是,负采样在不同任务和模型中的具体实现方式会有所不同。具体的选择和调整负采样的数量、采样策略等,需要根据实际情况和任务需求进行调整和优化。

除了二元逻辑回归模型,还有其他几种常用的负采样方式,下面列举其中两种。

基于分布的负采样(Distribution-based Negative Sampling):

这种负采样方式基于单词的频率分布来选择负例。具体步骤如下:

统计每个单词在语料库中的出现频次,并计算每个单词出现的概率。
根据单词的概率分布,随机选择负例。常用的选择方法是使用单词的概率分布的幂次进行采样,即根据频次的幂次对单词进行采样,出现频次较高的单词被选择为负例的概率较低,频次较低的单词被选择为负例的概率较高。

基于近邻的负采样(Neighbor-based Negative Sampling):

这种负采样方式基于单词的上下文关系来选择负例。具体步骤如下:

对于每个训练样本中的目标单词,选取其真实上下文单词。
对于每个上下文单词,从其上下文窗口中选择一部分单词作为负例。这些负例单词可以是随机选择的,也可以根据一定的概率分布进行选择。

这些负采样方式的选择取决于具体的任务和模型。不同的负采样方式可能适用于不同的应用场景,并且可能会对模型的性能产生不同的影响。因此,在实际应用中,可以尝试不同的负采样方式,并进行实验和比较,选择最适合的方式。

Alt

这篇关于累计概率分布、概率分布函数(概率质量函数、概率密度函数)、度量空间、负采样(Negative Sampling)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/361935

相关文章

C++ Sort函数使用场景分析

《C++Sort函数使用场景分析》sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变,如果某些场景需要保持相同元素间的相对顺序,可使... 目录C++ Sort函数详解一、sort函数调用的两种方式二、sort函数使用场景三、sort函数排序

C语言函数递归实际应用举例详解

《C语言函数递归实际应用举例详解》程序调用自身的编程技巧称为递归,递归做为一种算法在程序设计语言中广泛应用,:本文主要介绍C语言函数递归实际应用举例的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录前言一、递归的概念与思想二、递归的限制条件 三、递归的实际应用举例(一)求 n 的阶乘(二)顺序打印

C/C++错误信息处理的常见方法及函数

《C/C++错误信息处理的常见方法及函数》C/C++是两种广泛使用的编程语言,特别是在系统编程、嵌入式开发以及高性能计算领域,:本文主要介绍C/C++错误信息处理的常见方法及函数,文中通过代码介绍... 目录前言1. errno 和 perror()示例:2. strerror()示例:3. perror(

Kotlin 作用域函数apply、let、run、with、also使用指南

《Kotlin作用域函数apply、let、run、with、also使用指南》在Kotlin开发中,作用域函数(ScopeFunctions)是一组能让代码更简洁、更函数式的高阶函数,本文将... 目录一、引言:为什么需要作用域函数?二、作用域函China编程数详解1. apply:对象配置的 “流式构建器”最

Android Kotlin 高阶函数详解及其在协程中的应用小结

《AndroidKotlin高阶函数详解及其在协程中的应用小结》高阶函数是Kotlin中的一个重要特性,它能够将函数作为一等公民(First-ClassCitizen),使得代码更加简洁、灵活和可... 目录1. 引言2. 什么是高阶函数?3. 高阶函数的基础用法3.1 传递函数作为参数3.2 Lambda

C++中::SHCreateDirectoryEx函数使用方法

《C++中::SHCreateDirectoryEx函数使用方法》::SHCreateDirectoryEx用于创建多级目录,类似于mkdir-p命令,本文主要介绍了C++中::SHCreateDir... 目录1. 函数原型与依赖项2. 基本使用示例示例 1:创建单层目录示例 2:创建多级目录3. 关键注

C++中函数模板与类模板的简单使用及区别介绍

《C++中函数模板与类模板的简单使用及区别介绍》这篇文章介绍了C++中的模板机制,包括函数模板和类模板的概念、语法和实际应用,函数模板通过类型参数实现泛型操作,而类模板允许创建可处理多种数据类型的类,... 目录一、函数模板定义语法真实示例二、类模板三、关键区别四、注意事项 ‌在C++中,模板是实现泛型编程

kotlin的函数forEach示例详解

《kotlin的函数forEach示例详解》在Kotlin中,forEach是一个高阶函数,用于遍历集合中的每个元素并对其执行指定的操作,它的核心特点是简洁、函数式,适用于需要遍历集合且无需返回值的场... 目录一、基本用法1️⃣ 遍历集合2️⃣ 遍历数组3️⃣ 遍历 Map二、与 for 循环的区别三、高

查看Oracle数据库中UNDO表空间的使用情况(最新推荐)

《查看Oracle数据库中UNDO表空间的使用情况(最新推荐)》Oracle数据库中查看UNDO表空间使用情况的4种方法:DBA_TABLESPACES和DBA_DATA_FILES提供基本信息,V$... 目录1. 通过 DBjavascriptA_TABLESPACES 和 DBA_DATA_FILES

C语言字符函数和字符串函数示例详解

《C语言字符函数和字符串函数示例详解》本文详细介绍了C语言中字符分类函数、字符转换函数及字符串操作函数的使用方法,并通过示例代码展示了如何实现这些功能,通过这些内容,读者可以深入理解并掌握C语言中的字... 目录一、字符分类函数二、字符转换函数三、strlen的使用和模拟实现3.1strlen函数3.2st