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

在实际应用中,数据的类型多种多样,比如文本、音频、图像、视频等。不同类型的数据,其原始特征的空间也不相同。比如一张灰度图像(像素数量为 𝐷)的特征空间为 [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)。深度学习方法的难点是如何评价表示学习对最终系统输出结果的贡献或影响,即贡献度分配问题。目前比较有效的模型是神经网络,即将最后的输出层作为预测学习,其他层作为表示学习。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

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

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

二维差分详解

前言 上一期我们分享了一维差分的使用方法,这一期我们将接着上期的内容带大家了解二位差分的使用方法,话不多说,LET’S GO!(上一期链接) 二维差分 二维差分我们可以用于对矩阵区间进行多次操作的题。 二维差分我们还…

springAop有哪五种通知类型?可根据图标查看!

Spring AOP的通知类型有以下几种(后面是图标变化): 1.Before通知: 在目标方法执行前执行。 上白下红,方法前执行。 2.After通知: 在目标方法执行后(无论是否发生异常)执行。 图标…

文件操作(一、fgets和fputs、fscanf和fprintf、fread 和 fwrite、fopen和fclose、fgetc和fputc)

目录 一、文件的概念 1. 什么是文件?​ 2. 为什么使用文件?​ 3.分件的分类 3.1 程序文件​ 3.2 数据文件​ 3.3磁盘文件: 3.4设备文件: 4.文件名​ 二、二进制文件和文本文件?​ 文本文件与二进制文件区别 三、流和标准流 3.1流…

记录一下github深度学习的错误

1.[visdom]无法正常启动服务问题解决 在Anaconda命令窗口中: 使用python -m visdom.server启动visdom服务时,卡在: Checking for scripts. Downloading scripts, this may take a little while 无法下载和启动服务。 ERROR:由…

设计模式-策略(Strategy)模式

又被称为政策(方针)模式策略模式(Strategy Design Pattern):封装可以互换的行为,并使用委托来决定要使用哪一个策略模式是一种行为设计模式,它能让你定义一系列算法,并将每种算法分别放入独立的类中&#x…

[MySQL]数据库概述

目录 1.什么是数据库 2.数据库分类 2.1关系型数据库 2.2非关系型数据库 1.什么是数据库 我们知道,存储数据可以使用文件来存储。那么为什么我们还要大费周章的去设计和使用数据库呢? 因为文件保存数据有以下几个缺点: 1.文件的安全性不…

浅谈MapReduce

MapReduce是一个抽象的分布式计算模型,主要对键值对进行运算处理。用户需要提供两个自定义函数: map:用于接受输入,并生成中间键值对。reduce:接受map输出的中间键值对集合,进行sorting后进行合并和数据规…

clickhouse函数记录

日期函数 SELECT formatDateTime(create_time,%Y-%m-%d) AS time FROM xx.xx;

安路IP核应用举例(OSC、UART)

1.OSC(内部振荡器) 按照Project->New Project顺序新建工程后,后按照Tools->IP Generator顺序,创建IP核,如下图: 安路FPGA的内置OSC振荡模块频率可选30MHz、60MHz。 可选Verilog或VHDL语言。 如图,生成的.v文件只…

【Linux】内核结构

一、Linux内核结构介绍 Linux内核结构框图 二、图解Linux系统架构 三、驱动认知 1、为什么要学习写驱动2、文件名与设备号3、open函数打通上层到底层硬件的详细过程 四、Shell Shell脚本 一、Linux内核结构介绍 Linux 内核是操作系统的核心部分,它负责管理系…

“Java 已死、前端已凉”?技术变革与编程语言前景:Java和前端的探讨

前端已死话题概论 本文讨论了近期IT圈中流传的“Java 已死、前端已凉”言论。我们审视了这些言论的真实性,并深入探讨了技术行业的演变和新兴技术的出现对编程语言和前端开发的影响。通过分析历史发展、当前趋势和未来展望,我们提供了对这些话题更深层次…

HBuilderX 配置 夜神模拟器 详细图文教程

在电脑端查看App的效果,不用真机调试,下载一个模拟器就可以了 --- Nox Player,夜神模拟器,是一款 Android 模拟器。他的使用非常安全,最重要的是完全免费。 一. 安装模拟器 官网地址: (yeshen.com) 二.配…

探索性能测试的奥秘:流程与工具大揭秘!

一、性能测试 性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。 1.1 类别 性能测试包括负载测试、压力测试、基准测试等。 1.1.1 负载测试 通过测试系统在资源超负荷情况下的表现,以发现设计上的错误或验证…

【MYSQL】事务隔离级别、脏读、不可重复读、幻读

文章目录 介绍演示脏读不可重复读可重复读幻读 不可重复读和幻读的区别 参考 作者 Guide: 事务隔离级别 美团技术团队: Innodb中的事务隔离级别和锁的关系 介绍 SQL 标准定义了四个隔离级别: READ-UNCOMMITTED(读取未提交) :最低的隔离级别…

论文阅读——Semantic-SAM

Semantic-SAM可以做什么: 整合了七个数据集: 一般的分割数据集,目标级别分割数据集:MSCOCO, Objects365, ADE20k 部分分割数据集:PASCAL Part, PACO, PartImagenet, and SA-1B The datasets are SA-1B, COCO panopt…

java简易制作-王者荣耀游戏

一.准备工作 首先创建一个新的Java项目命名为“王者荣耀”,并在src下创建两个包分别命名为“com.sxt"、”com.stx.beast",在相应的包中创建所需的类。 创建一个名为“img”的文件夹来储存所需的图片素材。 二.代码呈现 package com.sxt; import javax…

【设计模式--行为型--观察者模式】

设计模式--行为型--观察者模式 观察者模式定义结构案例优缺点使用场景JDK中提供的实现例:警察抓小偷 观察者模式 定义 又被成为发布订阅模式,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生…

INFINI Labs 产品更新 | Easysearch 新增快照搜索功能,Console 支持 OpenSearch 存储

INFINI Labs 产品又更新啦~,包括 Easysearch v1.7.0、Console v1.13.0。本次各产品更新了 Easysearch 快照搜索功能;Console 支持 OpenSearch 集群存储系统数据、优化了初始化安装向导流程等。 以下是本次更新的详细说明。 INFINI Easysearch v1.7.0 …

遥感论文 | ISPRS | 图神经网络也能做城市街道功能感知?纯视觉方案,效果可观!

论文题目:Knowledge and topology: A two layer spatially dependent graph neural networks to identify urban functions with time-series street view image论文网址:https://www.sciencedirect.com/science/article/pii/S0924271623000680论文代码&…