特征提取方法

article/2025/8/30 6:00:54

潜在语义索引

潜在语义索引(Latent Semantic Indexing,以下简称LSI),也叫Latent Semantic Analysis ,简称LSA。本文中称为LSI。LSI是一种主题模型,他是利用SVD奇异值分解方法来获得文本的主题的。奇异值分解详见点击打开链接。

LSI方法可以用作特征降维、文本相似度计算等。

优缺点:

(1)SVD是非常耗时的,主题模型非负矩阵分解(NMF)可以很好的解决该问题;

(2)主题值的选取对结果有较大的影响,很难选择适合的k值。层次狄利克雷过程(HDP)可以自动选择主题个数;

(3)LSI得到的不是一个概率模型,缺乏统计基础,结果难以解释。PLSA和LDA是基于概率分布的主题模型来代替基于矩阵分解的主题模型。

主成分分析

主成分分析(Principal Component Analysis,PCA), 是一种统计方法。通过正交变换将一组可能存在相关性的变量转换为一组线性不相关的变量,转换后的这组变量叫主成分。

在用统计分析方法研究多变量的课题时,变量个数太多就会增加课题的复杂性。人们自然希望变量个数较少而得到的信息较多。在很多情形,变量之间是有一定的相关关系的,当两个变量之间有一定相关关系时,可以解释为这两个变量反映此课题的信息有一定的重叠。主成分分析是对于原先提出的所有变量,将重复的变量(关系紧密的变量)删去多余,建立尽可能少的新变量,使得这些新变量是两两不相关的,而且这些新变量在反映课题的信息方面尽可能保持原有的信息。

设法将原来变量重新组合成一组新的互相无关的几个综合变量,同时根据实际需要从中可以取出几个较少的综合变量尽可能多地反映原来变量的信息的统计方法叫做主成分分析或称主分量分析,也是数学上用来降维的一种方法。

计算流程如下:

(1)对样本生成特征向量矩阵

(2)先计算每一列特征的平均值,然后每一维度都需要减去该列的特征平均值

(3)计算特征的协方差矩阵(为什么是协方差矩阵呢?)

(4)针对协方差矩阵进行特征值和特征向量的计算

(5)对计算得到的特征值进行从大到小的排序

(6)取出前K个特征向量和特征值,并进行回退,即得到了降维后的特征矩阵

例子

设数据集为,表中x、y、z表示有3个特征词,一共10个样本。


(1)求出每个特征词的平均值。


(2)减去平均值后的特征值


(3)计算协方差矩阵(协方差矩阵分为2种,一个是样本间的,一个是特征间的)


(4)计算特征值和特征向量



(5)将特征值按从大到小的顺序进行排序,选择其中最大的k个,然后将其对应的k个特征向量分别作为列向量组成特征向量矩阵。

这里的特征向量有3个,我们选择其中2个,第一个和第三个特征值。

最后得到降维后的矩阵为

*=

这样就得到了原始样本的2维特征向量空间。

Python代码:

from numpy import * 
from numpy.linalg import *

x = []
for i in range(0,10):
temp = []
for j in range(0,3):
w = random.randint(1,20)
temp.append(w)
x.append(temp)
print(x)
w1 = 0.0
w2 = 0.0
w3 = 0.0
for i in range(0,3):
for j in range(0,10):
if (i==0):
w1 += x[j][0]
if (i==1):
w2 += x[j][1]
if (i==2):
w3 += x[j][2]
w1 = w1/10.0
w2 = w2/10.0
w3 = w3/10.0
for i in range(0,3):
for j in range(0,10):
if (i==0):
x[j][0] -= w1
if (i==1):
x[j][1] -= w2
if (i==2):
x[j][2] -= w3
x = array(x)
c = print(cov(x.T))
x = array([
[20.6222,14.4222,10.8667],
[14.4222,25.2111,14.3778],
[10.8667,14.3778,27.1556]
])
print(eig(x))

线性判别分析

       在自然语言处理领域, LDA是隐含狄利克雷分布(Latent Dirichlet Allocation,简称LDA),他是一种处理文档的主题模型。我们本文只讨论线性判别分析,因此后面所有的LDA均指线性判别分析。

LDA是一种监督学习的降维技术,而PCA是无监督的降维技术,LDA是在降维的基础上考虑了类别的因素,希望得到的投影类内方差最小,类与类之间的方差最大。

该方法的详细介绍以及LDA和PCA的区别详见最后一个参考文献,这里就不在重复了


附:

python 中log2计算方法

def log2(num):

return log(num)/log(2);


参考文献

基于主成分分析的人脸特征提取

核函数主成分分析在粮虫特征提取中的应用

https://blog.csdn.net/u014755493/article/details/69950744

https://baike.baidu.com/item/%E4%B8%BB%E6%88%90%E5%88%86%E5%88%86%E6%9E%90/829840?fr=aladdin

深度学习

https://blog.csdn.net/ych1035235541/article/details/50974983

https://blog.csdn.net/sunhuaqiang1/article/details/69396401

https://www.cnblogs.com/pinard/p/6805861.html

https://www.cnblogs.com/pinard/p/6244265.html


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

相关文章

特征提取方法简介

one-hot 表示一个词 bag-of-words 表示一段文本 tf-idf 用频率的手段来表征词语的重要性 text-rank 借鉴page-rank来表征词语的权重 从基于SVD纯数学分解词文档矩阵的LSA,到pLSA中用概率手段来表征文档形成过程并将词文档矩阵的求解结果赋予概率含义,再到…

特征选择和特征提取(一、概述)

特征选择和特征提取属于图像处理领域最基本的操作。 再这之前,我们先来了解一下卷积和滤波,像平时我们听到的CNN,就是使用卷积操进行图像的滤波操作,简单来说,滤波是图像处理的操作,而卷积是实现滤波的方法…

图像特征及提取

本文主要用于记录图像特征及其提取方法 文章目录 1.颜色特征1.1量化颜色直方图1.2聚类颜色直方图 2.几何特征2.1边缘特征2.2基于特征点的特征描述子2.2.1寻找特征点:Harris角点检测2.2.2另一种特征点:斑点2.2.3SFIT:斑点的特征描述子 1.颜色特…

机器学习中的特征提取

特征提取是将任意数据(如文本或图像)转换为可用于机器学习的数字特征,特征提取是为了计算机更好的去理解数据。 特征提取大体上可以分为三大类: 字典特征提取(特征离散化)文本特征提取图像特征提取(深度学习&#xf…

图像特征提取

从本节开始, 我们将逐步从数字图像处理向图像识别过渡。 严格地说, 图像特征提取属于图像分析的范畴, 是数字图像处理的高级阶段, 同时也是图像识别的开始。 本文主要包括以下内容 常用的基本统计特征, 如周长、面积…

机器视觉中的特征提取【0】:什么是特征提取,特征提取有什么作用?

1.什么是特征提取? 特征提取的英文叫做feature extractor,它是将一些原始的输入的数据维度减少或者将原始的特征进行重新组合以便于后续的使用。简单来说有两个作用:减少数据维度,整理已有的数据特征。 这里我给一个例子来解释特…

c语言结构体学习整理(结构体初始化,结构体指针)

渣渣c的c语言学习之路 1.关于c语言的结构体: 首先我们为什么要用到结构体,我们都已经学了很多int char …等类型还学到了同类型元素构成的数组,以及取上述类型的指针,在一些小应用可以灵活使用,然而,在我们实际应用中…

C语言----初始结构体详解

此文是作者初次学习C语言的时候,写的笔记博文,如有错误请及时指正,谢谢!!! 目录 1,什么是结构体 2. 结构体的声明 2,1结构体声明 2,2结构体成员的类型 2,…

openVAS 介绍

含义及作用: OpenVAS是开放式漏洞评估系统,也可以说它是一个包含着相关工具的网络扫描器。其核心部件是一个服务器,包括一套网络漏洞测试程序,可以检测远程系统和应用程序中的安全问题。 OpenVAS 的功能包括非认证测试、认证测…

040 OpenVAS的下载与安装

文章目录 一:OpenVAS的下载二:OpenVAS的安装2.1:中文版本步骤2.2:英文版本步骤 一:OpenVAS的下载 OpenVAS是开源的网络漏洞扫描器,自从Nessus收费了之后,分支出来的免费的 官网:htt…

Linux 漏洞扫描 openvas

什么是OpenVAS OpenVAS是一款开源的漏洞扫描攻击,主要用来检测网络或主机的安全性。其强大的扫描能力来自于集成数万个漏洞测试程序,这些测试程序以插件的形式提供,可以从官方网站免费更新. 一套完整的OpenVAS系统如下图显示 ① 客户层组件 …

关于openvas

目录 一:什么是openvas 二:作者 三:系统简介 四:建立架构 五:openvas功能 六:OpenVAS的核心组件 七:OpenVAS部署 八:openvas的组件构成 一:什么是openvas OpenV…

openvas

目录 一、openvas的简介 1、简介 2、建立的构架 二、openvas的环境 三、openvas的组件构成 四、openvas安装及使用 一、openvas的简介 1、简介 OpenVAS是开放式漏洞评估系统,也可以说它是⼀个包含着相关⼯具的⽹络扫描器。其核⼼部件是⼀个服务器,包括…

风险评估系统OpenVAS配置使用教程说明

penVAS是一款免费的开放式风险评估工具,可以检测远程系统和应用程序中的安全问题。最初作为Nessus一个子工具,被称为 GNessUs。其特点就是允许继续免费开发。最早是由Portcullis Computer security公司的渗透测试人员发布的,之后由Slashdot网…

OpenVas 漏洞扫描器使用教程

Openvas简介 Openvas是开源的,是Nessus项目分支,用于管理目标系统的漏洞,检测目标网络或主机的安全性。它的评估能力来源于数万个漏洞测试程序,openvas 早起版本还有一个客户端,现在的版本已经不提供客户端程序&#…

OpenVAS介绍

一、背景: OpenVAS(Open Vulnerability Assessment System)是开放式漏洞评估系统,其核心部分是一个服务器。该服务器包括一套网络漏洞测试程序,可以检测远程系统和应用程序中的安全问题。OpenVAS不同与传统的漏洞扫描…

openVAS简介

文章目录 openVAS一、openVAS开发团队二、openVAS背景三、openVAS作用四、openVAS部署kali部署部署openVAS镜像简单使用新建目标(target)新建任务(tasks)开始扫描扫描详情下载报告 openVAS O p e n V A S 是 开 放 式 漏 洞 评 估…

OpenVAS 安装及基本配置

OpenVAS 安装及基本配置 1 .概要 系统简介 OpenVAS是开放式漏洞评估系统,也可以说它是一个包含着相关工具的网络扫描器。其核心部件是一个服务器,包括一套网络漏洞测试程序,可以检测远程系统和应用程序中的安全问题。建立架构 OpenVAS是…

5.数据验证

数据验证 1、数据绑定失败:比如需要数字却输入了字母; 2、数据不合法:可以认为是业务错误,通过自定义验证器验证,如用户名长度必须在5-20之间,我们却输入了100个字符等; 3、错误对象&#xff1a…

认证篇——消息认证码

目录 一、消息认证码介绍 1)消息认证码的使用步骤: 2)消息认证码的密钥配送问题: 3)消息认证码的实例: 4)消息认证码的实现: 二…