快速稀疏编码算法

来源:互联网 发布:佛教网软件 编辑:程序博客网 时间:2024/05/19 17:57

self-taught learning】快速稀疏编码算法

 

Self-taught learningHonglak Lee等开发的一个matlab框架,能够实现他们在论文Self-taught Learning Transfer Learningfrom Unlabeled DataEfficient sparse coding algorithms中提出的快速实现图像稀疏编码的算法。

 

先看第一篇论文《Self-taught LearningTransfer Learning from Unlabeled Data

 

主要思想:

在监督分类算法的数据中,加入部分unlabel的数据,未标数据不一定和训练集数据从属同一类类别,在建模过程中,首先根据未标数据训练出一组基,然后对训练集的数据用该空间的基表示,最后使用SVM或其他分类算法进行分类。

 

PS.

这种方法不同于semi-supervised learning,后者需要加入的未标数据,必须跟训练集具有相同类型的类别,例如想要对大象和犀牛的图像集分类,就必须加入大象和犀牛的未标图像,而self-taught learning可以加入任意图像比如自然景色等。

加入未标数据是为了使图像的特征变得稀疏,能够加速训练的计算速度。

 

符号约定:


 

算法介绍

 

第一步:根据未标数据学习一组表示图像的基。

 

对于未标数据,提出如下的优化公式:

 

优化的目标是基向量组b和稀疏系数ak是输入数据的个数,s是新空间的维度,n是原始输入空间的维度。所以,bs*n的矩阵,ak*s的矩阵。上面的公式有两项需要优化,左边项的目的是用一组基来表示输入数据,并且使得误差最小,右边项引入了L1规则作为惩罚项,使得学习出来的系数a大部分是零。

保持a不变求b,或者保持b不变求a,都是凸优化问题,可以用梯度下降等方法求得。

这里补充一下L1/L2规则化。(在第二篇论文里提到过)

常用的规则化函数有下面三种:

 

第一种是L1规则化,即1范数。第二种是加上参数的L1规则化。第三种是log规则化。前两种作为稀疏函数求解都是凸优化的问题,所以比较常用,而且L1规则化通常用于产生稀疏,对不相关特征也有很好的鲁棒性。

 

第二步:根据上步的基,表示已标数据。

 

对每个已标数据,根据第一步中得到的一组基,通过优化下面的公式得到其稀疏系数a

 

这就变成了L1规则化最小二乘问题,可以优化出稀疏向量来表示输入。

 

第三步:将得到的数据特征输入分类器进行分类。

 

将上步得到的训练数据的特征输入分类器(例如SVM)中进行分类。

 

完整算法伪代码:

 

 

论文中还涉及到了与其他算法(PCA)的对比,以及实验,这里略过不提。

 

 

再看第二篇论文《Efficient sparse coding algorithms

 

有了上面的基础,如何快速稀疏编码就会更容易理解,大体思路是一样的,不同之处在于优化公式有所改变,如下:

 

生成模型的误差服从(mean=0, cov=σ2I)的高斯分布,上式用矩阵表示如下:

 

B固定求S,或者S固定求B的时候,都是凸优化问题。在这篇论文里,交替的求BS(保持另一个固定)。当学习B时,问题变成了最小二乘优化问题,解决方法有QCQP、梯度下降,问题是QCQP求解速度慢,梯度下降收敛慢,论文提出使用“Lagrange dual”求解。当学习S时,问题变成了规则化最小二乘问题,论文里使用“generic QP”方法解决。

 

这篇论文我还没有看完,现在存在这样的问题

1、我还不太明白最小二乘、规则化最小二乘是啥意思。

2、Lagrange dual方法还没看具体是怎样推导的。

3、generic QP也没看怎么推导的。

 

 

Matlab代码的使用方法

作者提供了self-taught learning框架的matlab代码,下载

 

使用方法:

 

1. download IMAGES.mat from http://redwood.berkeley.edu/bruno/sparsenet/

2. copy IMAGES.mat to ./data directory

3. move to ./code 

4. run matlab and execute:

        "demo_fast_sc(1)": epsilon-L1 sparsity penalty

        "demo_fast_sc(2)": L1 sparsity penalty

 

Note: You can apply sparse coding to any type of general data. See sparse_coding.m for details.

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 房子卖了天然气怎么办 社保这个月没扣怎么办 员工不交社保怎么办 公司没交社保怎么办 微信转账受限怎么办 支付宝违规限制怎么办 微信转账不还钱怎么办 碳放久了不爱起火怎么办 闻碳火时间久了怎么办 被代运营诈骗怎么办 被上海聚连骗了怎么办? 蓝领贷逾期半年怎么办 淘宝店倒闭售后怎么办 淘宝店铺宝贝被下架怎么办 医院被托管编制怎么办 领码分百万账号异常怎么办 拼多多帐号异常怎么办 qq钱包交易异常怎么办 托管公司跑了怎么办? 花呗退款没到账怎么办 车辆过户了车牌怎么办 货车资格证脱审怎么办 廉租房夫妻离婚怎么办 二手车行驶证怎么办的? 卖二手车后车牌怎么办 房子动迁没过户怎么办? 北京买车指标怎么办 签合同不交社保怎么办 养老保险交重了怎么办 公司克扣员工工资应该怎么办 天猫拒绝退款怎么办 一看书就犯困怎么办 擦了风油精过敏怎么办 擦了清凉油过敏怎么办 脸上擦风油精过敏怎么办 搽了风油精过敏怎么办 背带裤显屁股大怎么办 打底衫肥了怎么办 天猫卖家总是发信息怎么办 房子装修完有味怎么办 房子装修油漆味怎么办