稀疏表示和字典学习的简单理解

  • 特征分类
  • 稀疏表示
  • 字典学习

特征分类

  • 相关特征:对当前有用的属性
  • 冗余特征:所包含的信息有时能从其他特征中推演出来。如若某个冗余特征恰好对应了学习任务所需“中间概念”,有时可以降低学习任务的难度。

稀疏表示

  • 稀疏性:数据集D对应的矩阵中存在很多零元素,且并不是以整列、整行的形式存在。
  • 稀疏表示:用较少的基本信号的线性组合来表达大部分或者全部的原始信号。寻找一个系数矩阵A(KN)以及一个字典矩阵B(MK),使得B*A尽可能的还原X,且A尽可能的稀疏。A便是X的稀疏表示。
  • 优势
    (1)实质上是对于庞大数据集的一种降维表示。稀疏表示的本质:用尽可能少的资源表示尽可能多的知识
    (2)自然信号的regularizer(约束器),我们在解决inverse problem(逆问题)的时候,例如要想从一切损坏或者噪声中把他们提取出来,如果不加约束的话,会出现很多满足条件的解,并且你无法判断某一个解比其他解更加合适。稀疏表达被广泛地使用来作为自然信号的regularizer:认为这些信号都具有某个域(domian)或者某组基(bases, 或者dictionary)下的sparse representation。不具备如此特性的认为是noise, distortion, non-desirable solution…等这些可以被排除掉。
    摘自知乎:https://www.zhihu.com/question/26602796/answer/33431062

字典学习

为普通稠密表达的样本找到合适的字典,将样本转化为合适的稀疏表达形式,从而使学习任务得以简化,模型复杂度得以降低,通常称为‘字典学习’(dictionary learning),亦称‘稀疏编码’(sparse coding)。
字典学习的最简单形式为:

其中B(d*k)为字典矩阵,k称为字典的词汇量,通常由用户指定,αi是样本xi的稀疏表示。式中第一项是希望αi能很好地重构xi,第二项则是希望αi尽量稀疏。 其中样本为d维,稀疏表示为k维。之所以用L1范式是因为L1范式正则化更容易获得稀疏解。
—摘自南大周志华老师写的《机器学习》11.5节

  • K>d : over-complete(超完备字典)
  • k=d : complete,如傅里叶变换和DCT变换
  • k<d : under-complete

可参考:https://www.sogou.com/link?url=hedJjaC291P3yGwc7N55kLSc2ls_Ks2xgxKo8O_JmDTqQ1WpPEovxr_-KhphhHR0

稀疏表示和字典学习的简单理解相关推荐

  1. 稀疏表示、字典学习、压缩感知的简单理解

    注意:本文不涉及任何公式推导,仅对大致原理和作用进行介绍,不当之处欢迎指正. 为什么要稀疏? 1)特征选择 稀疏规则化能实现特征的自动选择,当Xi存在与输出Yi没有关系的特征(冗余特征)时,在最小化损 ...

  2. 【深度学习】简单理解Batch Normalization批标准化

    资源 相关的Paper请看这两篇 Batch Normalization Accelerating Deep Network Training by Reducing Internal Covaria ...

  3. JVM 学习(2)—简单理解Java 四大引用(强、软、弱、虚)

    一.Java 引用概述 Java 中出现四种引用是为了更加灵活地管理对象的生命周期,以便在不同场景下灵活地处理对象的回收问题.不同类型的引用在垃圾回收时的处理方式不同,可以用来实现不同的垃圾回收策略. ...

  4. Sparse编码和字典学习(1)基础知识和python简单实现

    Sparse编码和字典学习 1. 稀疏表示与字典学习简介 1.1 Motivation 1.2 字典学习的流程 1.3 字典学习的数学模型 2 python实现 2.1字典学习 2.1 稀疏性统计和误 ...

  5. 『ML笔记』深入浅出字典学习2(Dictionary Learning)

    深入浅出字典学习2(Dictionary Learning) 文章目录 一.理解K-SVD字典学习 二.K-SVD字典学习算法概述 2.1.随机初始化字典D 2.2.固定字典,求取每个样本的稀疏编码 ...

  6. 机器学习(十三)k-svd字典学习

    k-svd字典学习 原文地址:http://blog.csdn.net/hjimce/article/details/50810129 作者:hjimce 一.字典学习 字典学习也可简单称之为稀疏编码 ...

  7. 字典翻译EasyTrans简单使用分享

    前言 最近太忙了,一直按在项目上摩擦,都没有时间写分享了.今天终于市把所有负责的模块都写完了,本次迭代引入了字典翻译,借这个机会顺便分享下. 一.什么是字典翻译 所谓的字典翻译其实简单理解就是一些不常 ...

  8. [转]字典学习/稀疏编码

    本文转自https://zhuanlan.zhihu.com/p/26015351 机器学习--字典学习/稀疏编码学习笔记 Esquirrel 2 个月前 以下资料是小编学习字典学习/稀疏编码时,整理 ...

  9. 人工智能:深度学习算法及应用——简单理解CNN卷积神经网络并python实现(带源码)

    深度学习算法及应用 一. 实验目的 二. 实验要求 三. 实验的硬件.软件平台 四. 实验原理 1.1. 深度学习概述 1.2. 深度学习的常见结构 1.3. 卷积神经网络(CNN) **卷积** * ...

最新文章

  1. MySQL存储过程和触发器的实现--数据库学习笔记
  2. BCH应用发展报告——Member正在成为趋势
  3. 从30岁到35岁:为你的生命多积累一些厚度(转)
  4. Python-Django-Ajax进阶
  5. WinCE中命令行工具Viewbin简介
  6. android 进度条图标方形_Android - 条纹进度条实现,调整view宽度仿进度条
  7. jni开发-CmakeList详解
  8. 对话DDM:分布式数据库中间件全解析
  9. springboot简单的整合swagger
  10. 生产制造行业ERP系统十大品牌
  11. Python连接redis实现有序队列queue先进先出/后进先出
  12. 2.灰尘对计算机的影响,灰尘对电脑有影响不?
  13. 阿里云的ECS服务器1M宽带等于多少入网kbps和出网kbps
  14. 前端背景图放置_css如何设置背景图片?background属性添加背景图片
  15. Linux如何创建用户及设置权限
  16. Android Studio Module 中的So 文件和 App So文件合并问题
  17. 延云YDBYA100安装部署文档
  18. 计算机组成原理复习提纲六(CPU结构和功能)
  19. 【mcuclub】矩阵键盘
  20. 【逐函数讲解ORB_SLAM2源码】4.计算umax

热门文章

  1. jetson nano开电源_微雪电子NVIDIA Jetson Nano人工智能开发套件AI板介绍
  2. 国内大神开源 Kafka 监控系统Eagle 使用教程
  3. PlecsMMA学习1
  4. MathJax使用LaTeX语法编写数学公式
  5. C#与松下PLC串口通讯发送,接收数据
  6. c# 调用jtts_Intouch、Wonderware实现真人语音报警
  7. docker安装python依赖包
  8. B站视频下载软件分享
  9. 想知道什么换发型软件好用吗?
  10. H3C交换机镜像的几种方法