聚类算法之核函数

article/2025/8/18 3:45:27

一:监督学习与无监督学习
1,监督学习
监督学习就是人们常说的分类,通过训练已有样本得到一个最优模型,利用该模型将输入转化成输出,对输出进行判断,从而实现分类,也就是具有了对未知数据进行分类的能力。
2,无监督学习
他与监督学习最大的区别在于事先没有任何的训练样本,直接对数据进行建模,典型的例子就是聚类算法
3,如何选择监督学习还是无监督学习
首先看是否有训练数据,也就是是否有标签,如果有,就用监督学习(分类),否则就用无监督学习。
其次,看数据条件是否可改善。如果可以将数据进行改善,就用监督学习,否则无监督
最后,看样本是否独立分布。对于有训练样本的情况,有监督总比无监督好。
二:机器学习之核函数
1,核函数的定义
在机器学习中,线性可分的情况我们都可用svm/lr/感知机等进行清楚的分析,但是在实际生产中我们的数据基本是高维且不可分的,通常的办法是选用一个∮(x),将x映射到另一个高维空间中,使其线性可分。这里的核心就是如何选用∮(x),一般有三种方法
【1】:通过现有核函数,例如径向基函数(rbf)。如果∮(x)有足够高的维度,我们总有足够的能力来拟合训练集,但在测试集上的泛化能力往往不佳,因为常用的特征映射只是基于局部光滑原则,并没有将足够的先验信息进行编码来解决高级问题
【2】:通过手动设计∮(x)。在深度学习以前,各个行业对于不同的任务都只能自己设置∮(x),但消耗时间巨大,且不同的行业不同任务之间的∮(x)难以变迁。
【3】采用深度学习的方式直接学习∮(x)
同时学习函数参数+权重参数,唯一放弃凸性的方法,利大于弊,通用:只需要一个广泛的函数族,不用太精确,可控:专家知识辅助泛化,只需要找函数族∮(x)
2,核函数的原理
我们要进行高维空间线性可分,首先要将原始空间的点通过核函数∮(x)映射到高维空间中,然后进行学习,所谓的学习就是计算高维空间中点的距离和夹角。然后完成线性任务、。核函数的技巧就是不显示定义的映射函数,而直接在高维空间中使用核函数计算。所谓的计算,就是直接先进行内积,然后使用核函数。
3,核函数的要求
核函数的要求是其核矩阵必须是半正定的,所谓核矩阵就是每个点之间的高维映射之后的内积构成的矩阵。
4,常用的核函数

  1. 径向基函数核(RBF kernel)
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

三:高斯函数

1,定义:高斯核函数又称为径向基函数,是一种常用的核函数,他可以将由县委数据映射到高维空间。
数学定义:
在这里插入图片描述
上述公式涉及到两个向量欧氏距离的计算,而且,高斯核函数是两个向量欧氏距离的单值函数,σ 是带宽,是控制径向作用范围,换句话说,σ 控制的是高斯核函数的局部作用范围。当x和x’的欧氏距离处于某一个区间范围内的时候,假设x’固定,那么k(x,x’)随着x的变化 而变化,且效果相当明显。
一维情况
σ = 1
在这里插入图片描述
σ = 5
在这里插入图片描述

我们看到,随着x 与x′的距离的距离的增大,其高斯核函数值在单调递减。并且,σ越大,那么高斯核函数的局部影响范围就会越大。
二维情况
在这里插入图片描述
在这里插入图片描述
二维可以更加明显的看出高斯核函数局部作用的范围随带通的变化情况。带通越大,高斯核函数的局部影响的范围就越大。在超出这个范围之后,核函数的值几乎不变。
2,高斯核将数据映射到高维甚至无穷维的原理。
为了方便推导,我们令分母为1
在这里插入图片描述
可以看出公式中的的泰勒展开式其实是0-n维的多项式核函数的和。我们知道多项式核函数将低维数据映射到高维(维度是有限的),那么 对于无限个 不同维的多项式核函数之和 的高斯核,其中也包括 无穷维度 的 多项式核函数。而且我们也找得到 使该等式
在这里插入图片描述
3,高斯核函数的五个性质
【1】二维高斯核函数具有旋转对称性。即高斯平滑滤波器在各个方向上的平滑程度是相同的
【2】高斯核函数是单值函数,这表明高斯滤波器用像素领域的加权平均值来代替该点的像素值
【3】高斯核函数的傅里叶变换频谱是单瓣的,这一推论是由高斯核函数的傅里叶变换等于高斯核函数本身而来
【4】高斯滤波器的宽度(即)平化程度是由*决定的。*越大高斯滤波器的频带就越宽,平滑程度就越高。
【5】由于高斯核函数的可分离性,大高斯滤波器可以得以实现,二维高斯函数卷积可以分两步来实现。

四:GMM聚类

一、正态分布
在了解高斯混合模型之前,我们先来看看什么是高斯分布,高斯分布大家应该都比较熟悉了,就是我们平时所说的正态分布,也叫高斯分布。正态分布是一个在数学、物理及工程等领域都非常重要的概率分布,在统计学的许多方面有着重大的影响力。

正态分布的特点
集中性:正态曲线的高峰位于正中央,即均数所在的位置。
对称性:正态曲线以均数为中心,左右对称,曲线两端永远不与横轴相交。
均匀变动性:正态曲线由均数所在处开始,分别向左右两侧逐渐均匀下降。

若随机变量服从一个数学期望为μ、方差为σ^{2}的正态分布,记为在这里插入图片描述
。其中期望值μ决定了其位置,标准差σ决定了分布的幅度。当 当μ = 0,σ = 1时时,正态分布是标准正态分布。
在这里插入图片描述
正态分布有极其广泛的实际背景,生产与科学实验中很多随机变量的概率分布都可以近似地用正态分布来描述。例如,在生产条件不变的情况下,产品的强力、抗压强度、口径、长度等指标;同一种生物体的身长、体重等指标;同一种种子的重量;测量同一物体的误差;弹着点沿某一方向的偏差;某个地区的年降水量;以及理想气体分子的速度分量,等等。一般来说,如果一个量是由许多微小的独立随机因素影响的结果,那么就可以认为这个量具有正态分布(见中心极限定理)。从理论上看,正态分布具有很多良好的性质 ,许多概率分布可以用它来近似;还有一些常用的概率分布是由它直接导出的,例如对数正态分布、t分布、F分布等。

二、高斯模型
高斯模型有单高斯模型(SGM)和混合高斯模型(GMM)两种。

1、单高斯模型(SGM)
概率密度函数服从上面的正态分布的模型叫做单高斯模型,具体形式如下:

当样本数据 是一维数据(Univariate)时,高斯模型的概率密度函数为:
在这里插入图片描述
其中:μ为数据的均值,\sigma为数据的标准差。
当样本数据x 是多维数据(Univariate)时,高斯模型的概率密度函数为:
在这里插入图片描述
其中:μ为数据的均值,\Sigma为协方差,d为数据维度。
2、高斯混合模型(GMM)
高斯混合模型(GMM)是单高斯概率密度函数的延伸,就是用多个高斯概率密度函数(正态分布曲线)精确地量化变量分布,是将变量分布分解为若干基于高斯概率密度函数(正态分布曲线)分布的统计模型。

用通俗一点的语言解释就是,个单高斯模型混合在一起,生成的模型,就是高斯混合模型。这 个子模型是混合模型的隐变量(Hidden variable)。一般来说,一个混合模型可以使用任何概率分布,这里使用高斯混合模型是因为高斯分布具备很好的数学性质以及良好的计算性能。

GMM是工业界使用最多的一种聚类算法。它本身是一种概率式的聚类方法,假定所有的样本数据X由K个混合多元高斯分布组合成的混合分布生成。

高斯混合模型的概率密度函数可以表示为:
在这里插入图片描述
在这里插入图片描述
3,GMM聚类模型实现步骤
在这里插入图片描述

四:参数估计
GMM的实现过程使用了极大似然估计思想,极大似然估计的思想是:随机试验有多个可能的结果,但在一次试验中,有且只有一个结果会出现,如果在某次试验中,结果w出现了,则认为该结果发生的概率最大。
极大似然估计求解参数步骤:
在这里插入图片描述
1,单高斯模型的参数估计
对于单高斯模型,可以使用极大似然估计(MLE)来求解出参数的值。
在这里插入图片描述
3,高斯混合模型的参数估计
高斯混合模型的参数估计用到了em算法,因为极大似然估计的方法直接求导无法计算出参数,如下
在这里插入图片描述
图12和图13梳理了高斯分布和混合高斯分布参数估计的逻辑流程图
在这里插入图片描述
在这里插入图片描述
相比于高斯分布的参数估计,混合高斯分布的参数估计更加复杂。主要原因在于隐变量的存在,混合高斯分布的参数估计之所以要进行多次迭代循环,是因为em算法中对于y的估计利用的是初始化或者第i步的参数。这对于样本的分类划分是有误差的,所以只能通过多次迭代优化寻找更加的参数来抵消误差。


http://chatgpt.dhexx.cn/article/ZRy7ePax.shtml

相关文章

svm核函数的理解和选择

特征空间的隐式映射:核函数 咱们首先给出核函数的来头:在上文中,我们已经了解到了SVM处理线性可分的情况,而对于非线性的情况,SVM 的处理方法是选择一个核函数 κ(⋅,⋅) ,通过将数据映射到高维空间&#x…

matlab rbf核函数,四类核函数(Sigmoid+RBF)

Q:有个疑问就是,模型本身不是线性的,为什么一定要先用线性模型做? A:有核函数和泰勒展开等等,可以无限逼近转化成线性? 小知识: 1.Sigmoid函数,即f(x)=1/(1+e-x)。是神经元的非线性作用函数。广泛应用在神经网络中。又叫Logistic函数。 机器学习中一个重要的预测模型逻辑…

SVM的核函数详解

文章目录 1、核函数背景核函数正式定义 2、高斯核函数2.2 参数带宽 σ \sigma σ的影响2.3高斯核函数的实际意义 2、多项式核函数4、参考资料 1、核函数背景 本文为核函数进阶教程,希望看文章之前最好对核函数有一些最基本的了解,不然有些地方可能会看不…

常见核函数

这篇博文开始的例子就很好地揭示了核函数的简单原理,写得很好! 原地址:https://blog.csdn.net/zkq_1986/article/details/52448238 1 核函数K(kernel function)定义 核函数K(kernel function)就…

CUDA核函数

核函数是指在GPU端运行的代码,核函数内部主要干了什么?简而言之,就是规定GPU的各个线程访问哪个数据并执行什么计算。 文章目录 一、CUDA规范二、核函数内部线程的使用2.1 如何启动核函数 一、CUDA规范 编写核函数必须遵循CUDA规范&#xff…

SVM与核函数

文章目录 核技巧与SVM核函数本质线性可分的SVM与硬间隔最大化SVM对偶算法核技巧高斯核多种不同的核函数比较soft margin 问题核函数 核函数 核技巧与SVM SVM原本是用来解决二分类的分类模型 它和感知机不同的一点是它取到的分类器是在特征空间上的最大间隔的分类器 而为了解决…

核函数(核技巧)

核技巧Kernel trick 背景及含义: 对于 原始样本空间内或许不存在能正确划分两类样本的超平面 问题,考虑 将样本从原始空间映射到一个更高维的特征空间,使得样本在这个特征空间内线性可分。 令 ϕ ( x ) \phi(x) ϕ(x)表示将x映射后的特征向量…

了解核函数

1、核函数定义: 核函数包括线性核函数、多项式核函数、高斯核函数等,其中高斯核函数最常用,可以将数据映射到无穷维,也叫做径向基函数(Radial Basis Function 简称 RBF),是某种沿径向对称的标量…

核函数

对于优化问题: 的求解需要计算这个内积,而如果输入样本线性不可分的话,我们采取的方法是通过函数映射将输入样本映射到另外一个高维空间并使其线性可分。 以库克定律为例(http://zh.wikipedia.org/zh-cn/%E9%9D%99%E7%94%B5%E5%8A%9B)&#x…

什么是核函数?如何理解?

个人理解,核函数的功能就是从低维度的空间向高维度空间转换的函数, 因为在低维空间不可以线性分类的问题到高维度空间就可以线性分类的。 其求法为 低维空间的点映射到高维空间的点后,两个点的内积 就是核函数。 ~~~~~~~~~~~~~~~~~~~~~~~~…

你知道什么是核函数吗

目录 一、常用核函数:二、核函数特点:三、选择核函数的方法:四、核函数方法实施步骤:五、核函数在模式识别中的应用:六、核函数方法原理: 核函数K(kernel function)就是指K(x, y) &…

kernel核函数是什么、用来干什么 及其详细推导

在说核函数之前,我们先说说映射及其作用. 如果在当前空间对数据类别不好使用线性函数进行划分,则通过一个函数φ( x)将数据点从当前空间映射到另一空间去(映射后的空间叫特征空间,通常是更高维的空间,当然不是绝对)以方…

核函数(Kernel function)(举例说明,通俗易懂)

已知有一组向量,可用线性函数去探索其是否具有线性关系,若数据之间是非线性呢? 非线性数据是指只有利用非线性模型才能更好的预测。但非线性问题往往不好求解,所以希望用解线性分类问题的方法解决这个问题。所采取的方法是进行一…

Linux笔记(5):库文件

1、库文件 库是一组预先编译好的方法的集合。 Linux系统存储的库的位置一般在/lib和/usr/lib。库的头文件一般被存储在/usr/include下货其子目录下。 库有两种: (1)静态库,命令规则:libxxx.a (2&#…

vs2019添加库文件

vs2019添加库文件 环境:windows10,64位,vs2019 vs安装路径:D:\visual_studio 需要的材料:头文件,编译好的库文件 方法一 以GLFW为例,找到IDE或者编译器的**/lib和/include文件夹&#xff0…

【Linux基础】静态库和共享库(如何自定义库文件?)

文章目录 前言一、库文件的基本知识1.库文件分类2.库文件命名 二、如何自定义静态库?1.静态库简介2.具体流程(详细步骤)3.静态库缺点 三、如何自定义共享库?1.共享库简介2.具体流程(详细步骤)3.共享库优点 四、静态库与共享库区…

Linux 系统上的库文件生成与使用

1.库文件 库是一组预先编译好的方法的集合。Linux系统存储的库的位置一般在:/lib 和 /usr/lib。 在 64 位的系统上有些库也可能被存储在/usr/lib64 下。库的头文件一般会被存储在 /usr/include 下或其子目录下。 库有两种,一种是静态库,其…

库文件、静态库(lib)与动态库(dll)的生成与使用

静态库 程序编译一般需经预处理、编译、汇编和链接几个步骤。在应用中,有一些公共代码是需要反复使用,就把这些代码编译为“库”文件;在链接步骤中,连接器将从库文件取得所需的代码,复制到生成的可执行文件中。这种库…

库文件的生成和使用

一、库文件 库是一组预先编译好的函数方法的集合 Linux上库文件的存放位置: /lib和/usr/lib 库分为两种:静态库和共享库 Linux上静态库标识(libxxx.a),共享库(libxxx.so) Windows上静态库标识(.lib)&a…

3、库文件

1、什么式库文件: 库文件是预先编译好的方法的集合。(相当于一大堆的可执行文件) 存放头文件的标准目录:/usr/include 存放库文件的标准目录:/usr/lib 比如: printf函数的实现在库文件中 libcs.so 声明在/usr/inc…