机器学习中数据的特征表示

在实际应用中,数据的类型多种多样,比如文本、音频、图像、视频等。不同类型的数据,其原始特征的空间也不相同。比如一张灰度图像(像素数量为 𝐷)的特征空间为 [0, 255]𝐷,一个自然语言句子(长度为 𝐿)的特征空间为|𝒱|𝐿,其中𝒱 为词表集合。而很多机器学习算法要求输入的样本特征是数学上可计算的,因此在机器学习之前我们需要将这些不同类型的数据转换为向量表示。
图像特征 :在手写体数字识别任务中,样本 𝑥 为待识别的图像.为了识别 𝑥 是什么数字,我们可以从图像中抽取一些特征。如果图像是一张大小为𝑀 × 𝑁 的图像,其特征向量可以简单地表示为 𝑀 × 𝑁 维的向量,每一维的值为图像中对应像素的灰度值。为了提高模型准确率,也会经常加入一个额外的特征,比如直方图、宽高比、笔画数、纹理特征、边缘特征等.假设我们总共抽取了 𝐷 个特征,这些特征可以表示为一个向量𝒙 ∈ ℝ𝐷。
文本特征 在文本情感分类任务中,样本 𝑥 为自然语言文本,类别 𝑦 ∈ {+1, −1}分别表示正面或负面的评价。为了将样本𝑥 从文本形式转为向量形式,一种简单的方式是使用词袋(Bag-of-Words,BoW)模型。假设训练集合中的词都来自一个词表𝒱,大小为|𝒱|,则每个样本可以表示为一个|𝒱|维的向量𝒙 ∈ ℝ|𝒱|。向量𝒙中第𝑖 维的值表示词表中的第𝑖 个词是否在𝑥中出现。如果出现,值为1,否则为0。
比如两个文本“我 喜欢 读书”和“我 讨厌 读书”中共有“我”“喜欢”“讨厌”“读书”四个词,它们的BoW表示分别为:

词袋模型将文本看作词的集合,不考虑词序信息,不能精确地表示文本信息。一种改进方式是使用N元特征(N-Gram Feature),即每𝑁 个连续词构成一个基本单元,然后再用词袋模型进行表示。
以最简单的二元特征(即两个词的组合特征)为例,上面的两个文本中共有“$ 我”“我喜欢”“我讨厌”“喜欢读书”“讨厌读书”“读书#”六个特征单元,它们的二元特征BoW表示分别为:

随着 𝑁 的增长,N 元特征的数量会指数上升,上限为 |𝒱|𝑁.因此,在实际应用中,文本特征维数通常在十万或百万级别以上.
表示学习 如果直接用数据的原始特征来进行预测,对机器学习模型的能力要求比较高。这些原始特征可能存在以下几种不足:

1)特征比较单一,需要进行(非线性的)组合才能发挥其作用;

2)特征之间冗余度比较高;

3)并不是所有的特征都对预测有用;

4)很多特征通常是易变的;

5)特征中往往存在一些噪声。
为了提高机器学习算法的能力,我们需要抽取有效、稳定的特征。传统的特征提取是通过人工方式进行的,需要大量的人工和专家知识。一个成功的机器学习系统通常需要尝试大量的特征,称为特征工程。但即使这样,人工设计的特征在很多任务上也不能满足需要。因此,如何让机器自动地学习出有效的特征也成为机器学习中的一项重要研究内容,称为特征学习(Feature Learning),也叫表示学习。
特征学习在一定程度上也可以减少模型复杂性、缩短训练时间、提高模型泛化能力、避免过拟合等。

传统的特征学习

传统的特征学习一般是通过人为地设计一些准则,然后根据这些准则来选取有效的特征,具体又可以分为两种:特征选择和特征抽取。

特征选择

特征选择是选取原始特征集合的一个有效子集,使得基于这个特征子集训练出来的模型准确率最高。简单地说,特征选择就是保留有用特征,移除冗余或无关的特征。
子集搜索 一种直接的特征选择方法为子集搜索。假设原始特征数为 𝐷,则共有 2𝐷 个候选子集.特征选择的目标是选择一个最优的候选子集.最暴力的做法是测试每个特征子集,看机器学习模型哪个子集上的准确率最高。但是这种方式效率太低.常用的方法是采用贪心的策略:由空集合开始,每一轮添加该轮最优的特征,称为前向搜索;或者从原始特征集合开始,每次删除最无用的特征,称为反向搜索。
子集搜索方法可以分为过滤式方法和包裹式方法。
(1)过滤式方法(Filter Method)是不依赖具体机器学习模型的特征选择方法。每次增加最有信息量的特征,或删除最没有信息量的特征。特征的信息量可以通过信息增益来衡量,即引入特征后条件分布𝑝𝜃(𝑦|𝒙)的不确定性(熵)的减少程度。
(2)包裹式方法(Wrapper Method)是使用后续机器学习模型的准确率作为评价来选择一个特征子集的方法。每次增加对后续机器学习模型最有用的特征,或删除对后续机器学习任务最无用的特征。这种方法是将机器学习模型包裹到特征选择过程的内部。
ℓ1 正则化 此外,我们还可以通过 ℓ1 正则化来实现特征选择.由于 ℓ1 正则化会导致稀疏特征,因此间接实现了特征选择。

特征抽取

特征抽取是构造一个新的特征空间,并将原始特征投影在新的空间中得到新的表示。以线性投影为例,令𝒙 ∈ ℝ𝐷 为原始特征向量,𝒙′ ∈ ℝ𝐾 为经过线性投影后得到的在新空间中的特征向量,有

其中𝑾 ∈ ℝ𝐾×𝐷 为映射矩阵。
特征抽取又可以分为监督和无监督的方法。监督的特征学习的目标是抽取对一个特定的预测任务最有用的特征,比如线性判别分析。而无监督的特征学习和具体任务无关,其目标通常是减少冗余信息和噪声,比如主成分分析和自编码器。
表2.2列出了一些传统的特征选择和特征抽取方法:

特征选择和特征抽取的优点是可以用较少的特征来表示原始特征中的大部分相关信息,去掉噪声信息,并进而提高计算效率和减小维度灾难。对于很多没有正则化的模型,特征选择和特征抽取非常必要.经过特征选择或特征抽取后,特征的数量一般会减少,因此特征选择和特征抽取也经常称为维数约减或降维。

深度学习方法

传统的特征抽取一般是和预测模型的学习分离的。我们会先通过主成分分析或线性判别分析等方法抽取出有效的特征,然后再基于这些特征来训练一个具体的机器学习模型。
如果我们将特征的表示学习和机器学习的预测学习有机地统一到一个模型中,建立一个端到端的学习算法,就可以有效地避免它们之间准则的不一致性.这种表示学习方法称为深度学习(Deep Learning,DL)。深度学习方法的难点是如何评价表示学习对最终系统输出结果的贡献或影响,即贡献度分配问题。目前比较有效的模型是神经网络,即将最后的输出层作为预测学习,其他层作为表示学习。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/248712.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

统一观测丨使用 Prometheus 监控 Memcached 最佳实践

作者:啃唯 Memcached 简介 Memcached 是什么? Memcached 是一个免费开源、高性能、分布式内存对象缓存系统,支持将任意数据类型的 chunk 数据以键值对的方式存储。本质上 Memcached 是通用于所有的应用的,但最初用于存储被经常…

ArcGIS Pro SDK 右键获取选中的图层

需求&#xff1a; 获取右键选中的图层 解决方法&#xff1a; 地图页面获取选中的图形 // 获取所选要素 var firstFeatureLayer MapView.Active.Map.GetLayersAsFlattenedList().OfType<FeatureLayer>().FirstOrDefault(); 布局页面获取选中的地图框 Layout layout …

构建强大应用的引擎:深度解析Spring Boot Starter机制

目录 引言1. Spring Boot Starter机制1.1 什么是Spring Boot Starter1.2 为什么要使用Spring Boot Starter1.3.应用场景1.4.自动加载核心注解说明 2. 综合案例配置类制作控制功能实现 总结 引言 在当今互联网时代&#xff0c;构建高性能、可维护的应用已成为开发者的首要任务。…

在 Spring Boot 中发送邮件简单实现

Spring Boot 对于发送邮件这种常用功能也提供了开箱即用的 Starter&#xff1a;spring-boot-starter-mail。 通过这个 starter&#xff0c;只需要简单的几行配置就可以在 Spring Boot 中实现邮件发送&#xff0c;可用于发送验证码、账户激活等等业务场景。 本文将通过实际的案…

计算机网络快速刷题

自用//奈奎斯特定理和香农定理计算题 参考博客&#xff1a;UDP协议是什么&#xff1f;作用是什么&#xff1f; 肝了&#xff0c;整理了8张图详解ARP原理 【网络协议详解】——FTP系统协议&#xff08;学习笔记&#xff09; 在OSI参考模型中&am…

Nessus漏洞扫描报错:42873 - SSL Medium Strength Cipher Suites Supported (SWEET32)

个人搭建的windows server 2019服务器,被Nessus工具扫描出现三个漏洞,修复比较过程比较坎坷,特记录下 首先:报错信息: 42873 - SSL Medium Strength Cipher Suites Supported (SWEET32) 104743 - TLS Version 1.0 Protocol Detection 157288 - TLS Version 1.1 Protocol …

Linux的文件系统 内核结构

Linux的文件系统 Q1&#xff1a;什么是文件系统&#xff1f; A&#xff1a;在学术的角度下&#xff0c;文件系统指“操作系统用于明确存储设备组织文件的方法”&#xff0c;是“文件管理系统”的简称&#xff0c;本质也是代码&#xff0c;一段程序 Q2&#xff1a;文件系统&…

【FunASR】Paraformer语音识别-中文-通用-16k-离线-large-onnx

模型亮点 模型文件: damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-pytorchParaformer-large长音频模型集成VAD、ASR、标点与时间戳功能&#xff0c;可直接对时长为数小时音频进行识别&#xff0c;并输出带标点文字与时间戳&#xff1a; ASR模型…

如何用 Cargo 管理 Rust 工程系列 乙

以下内容为本人的学习笔记&#xff0c;如需要转载&#xff0c;请声明原文链接 微信公众号「ENG八戒」https://mp.weixin.qq.com/s/__nvVZYti-G05QJHIp_f8Q 编译程序 这次我们用 cargo 来启动编译&#xff0c;cargo 提供了 build 指令来调度工具构建并输出软件。cargo build 只…

【MySQL学习之基础篇】约束

文章目录 1. 概述2. 基础约束3. 外键约束3.1. 介绍3.2. 外键的添加3.3. 外键删除和更新行为 1. 概述 概念&#xff1a; 约束是作用于表中字段上的规则&#xff0c;用于限制存储在表中的数据。     目的&#xff1a; 保证数据库中数据的正确、有效性和完整性。 分类&#x…

对BIOS进行简单快速的设置更改,就能启用安全引导来安装Windows 11

本文介绍如何在UEFI/BIOS中启用安全引导&#xff0c;以便继续安装Windows 11。 如何启用安全引导 启用安全引导最简单的方法是通过UEFI/BIOS进行。它通常被列为BIOS中的众多选项之一&#xff0c;因此你只需打开它即可启用它。 1、启动&#xff0c;或重新启动你的电脑或笔记本…

Linux---链接命令

1. 链接命令的介绍 链接命令是创建链接文件&#xff0c;链接文件分为: 软链接硬链接 命令说明ln -s创建软链接ln创建硬链接 2. 软链接 类似于Windows下的快捷方式&#xff0c;当一个源文件的目录层级比较深&#xff0c;我们想要方便使用它可以给源文件创建一个软链接。 软…

深入理解 hash 和 history:网页导航的基础(上)

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

怎样下载微博视频而不至于发生“403 Forbidden“现象?

近段时间不知道从什么时候开始&#xff0c;微博视频都不让从网页下载了。以前是看到有想要下载的微博视频&#xff0c;就点进去微博详情页用谷歌浏览器F12进入调试的方式&#xff0c;选“Network”->“Media”->重新F5刷新页面等待调试框里出现链接->在链接上鼠标右键…

南京农业大学研发古籍版的ChatGPT,AI大语言模型荀子面世

随着科技的飞速发展&#xff0c;人工智能已深入到各个领域。为响应古籍活化利用号召&#xff0c;推动大语言模型与古籍处理深度融合&#xff0c;以古籍智能化的研究为目的&#xff0c;南京农业大学国家社科基金重大项目“中国古代典籍跨语言知识库构建及应用研究”课题组与中华…

如何拍摄超级大像素图片,超级大像素有哪些应用

引言&#xff1a; 在数字摄影领域&#xff0c;超级大像素照片是指通过高像素的相机或拼接多张照片合成的照片。这样的照片具有更高的分辨率&#xff0c;细节更加清晰&#xff0c;绘画质感更强。那么如何拍摄超级大像素照片&#xff0c;超级大像素可以用在哪些领域呢。 一&…

ISSUE的基本概念

ISSUE:将符合一定条件的指令从发射队列&#xff08;IssueQueue)中选出来&#xff0c;并送到FU中执行的过程; ISSUE QUEUE也称之为reservation station, 其按照一定的规则&#xff0c;选择那些源操作数都已经准备好的指令&#xff0c;将其送到FU中执行&#xff0c;这个过程称为…

最新50万字312道Java经典面试题52道场景题总结(附答案PDF)

最近有很多粉丝问我&#xff0c;有什么方法能够快速提升自己&#xff0c;通过阿里、腾讯、字节跳动、京东等互联网大厂的面试&#xff0c;我觉得短时间提升自己最快的手段就是背面试题&#xff1b;花了3个月的时间将市面上所有的面试题整理总结成了一份50万字的300道Java高频面…

TCP服务器的编写(上)

tcp服务器的初始化&#xff0c;第一件事情就是创建套接字 目前来说我们的tcp套接和udp套接是没有任何区别的&#xff01;&#xff01;&#xff01; 那么接下来&#xff0c;如果是udp创建好套接字在进行绑定&#xff0c;那么基本上就完成我们udp服务器的初始化 而我们tcp创建好…

题目:二进制中1的个数 (蓝桥OJ 1331)

题目描述: 解题思路: 使用位运算.右移并判断最低位是否为一.但需要注意一般的int类型不行,要使用unsigned int. 题解: #include <bits/stdc.h> using namespace std; int main() {unsigned int x;cin >> xint ans 0;while(x){if(x & 1)ans;x >> 1;}c…