Fork me on GitHub

Articles by JSong

  1. QTT: 一种自带并行的数组结构

    2015-08-16 14:21:00   作者:JSong

    我们知道很多算法内部都是一些基本运算的组合,比如向量加减法,矩阵加减,矩阵-向量乘积,矩阵乘法,hadamard积,kronecker张量积,元素索引等。而QTT对于这些运算都可以很简单的实现并行。

    首先我们来看一下,什么是QTT表示。给定一个多维数组A,其可以是向量,矩阵,或者更高维的数组,这都不是问题。 设A的维数为\(l\),如果它有如下的表示,则我们称其为多维数组A的QTT分解。

    $$ A= U_1 \bowtie U_2 \bowtie \cdots \bowtie U_d $$

    那读者肯定得问这里的\(U_k\)\(\bowtie\)是什么鬼,先不急,假设你已经懂了,就把它看成是一种编码。按这个编码我们来看看常见的运算是怎么实现的。

    1.加法

    $$ A+B=\left[\begin{array}{cc} U_1 & V_1 \end{array} \right] \bowtie \left[ \begin{array}{cc} U_{2} & \\ & V_{2} \end{array} \right] \bowtie \cdots \bowtie \left[ \begin{array}{c} U_d \\ V_d \end{array}\right] $$ ...
    标签: QTT
  2. QTT-Toolbox QuickStart

    2015-08-15 19:22:00   作者:JSong

    QTT分解介绍

    QTT(Quantics Tensor Train)分解是一种适用于任意分层张量(包含多维数组)的张量分解方法, 通过对数组的反复折叠该分解可以达到降维和特征提取的作用。QTT已被证明是一种基于流形学习的降维工具和多尺度的特征提取工具。

    定义:给定一个分层张量(包含向量、矩阵等多维数组)A,如果其有如下表示,

    $$ A= U_1 \bowtie U_2 \bowtie \cdots \bowtie U_d $$

    其中后面d-1个QTT核满足右正交条件, 则称之为A的QTT分解。

    工具箱介绍

    这是一个用MATLAB语言写的QTT-Toolbox,免费提供大家使用,使用后请注明引用,谢谢。工具箱将分层张量新定义成了一个类,分层张量之间的大部分运算都已实现。通过这个模块化编程,我们能更加简单的扩展编程。如果读者发现函数有bug或者实现算法能加速,请邮件告之作者,谢谢。

    =============================================

    JSong,20-Jul-2015

    Last Revision: 11-Aug-2015.

    Github:http://github.com/gasongjian/QTT/

    citition ...

  3. 导读:PCANet,Simple Deep Learning Baseline for Image Classification?

    2015-06-06 19:22:00   作者:JSong

    之前看过一句话,未来领域类专家需求将越来越少,而相应的数据挖掘专家需求将不断增加,这时因为深度学习的核心在于其自适应的特征提取。PCANet是一个基于CNN的简化Deep Learning模型。之所以读它是因为它是基于PCA(SVD)的,其卷积核从图像信号的某种SVD分解得到的,而这也是张量列分解的核心之一。与CNN相比,该网络卷积核是直接通过PCA计算得到的,而不是像CNN一样通过反馈迭代得到的。

    经典卷积网络示意图

    PCANet示意图

    从上图可以看到,PCANet的训练分为三个步骤(stage),前两个stage很相似,都是去平均,然后PCA取主成分并卷积,最后一步是二值化和直方图量化。下面按步骤介绍PCANet的训练过程:

    一、特征提取

    1、First stage:

    First stage

    1)、选取一个\(k_1 \times k_2\)的窗口(通常为\(3 \times 3\)\(5\times 5\)\(7\times 7\))来滑动选取图片的局部特征。每张\(m\times n\)大小的图片\(I_i\) ...

    标签: CNN Dl ML
  4. MATLAB 实用函数

    2015-06-06 19:22:00   作者:JSong

    MATLAB个人工具箱(MATLAB)

    • mymail.m 可以利用MATLAB发送邮件(支持附件和群发),非常实用的函数,适用于:耗时很长的脚本完成后通知作者;外加定时器后用于信息推送;家庭监视器紧急通知等等
    • textwrite.m 可以将元胞数组写入文本文件当中,支持足够大的元胞.
    • qrcode.m 二维码生成器.
    • md5.m MD5校验、数字指纹。适用于程序的安全设计,如可以设计一个程序,使得其需要密码才能使用.
    • getmac.m 个人PC的MAC地址获取. 个人电脑网卡的地址是唯一不变的,亦可用于程序的安全设计,使得一个程序只能在指点电脑才能正确运行.
    • codekernal.m Unicode编码的转换.
    • addtoolbox.m 将函数添加至matlab工具箱

    下载地址:链接, 提取密码(pyfa)。

    NBA球员数据的爬取函数

    爬取数据有:

    -  个人ID
    -  基本信息
    -  头像
    -  生涯常规赛数据
    -  生涯季后赛数据
    

    下载地址为:链接 ...

消息

  • 1、更换为国内评论系统
  • 2、QTT工具箱已更新至1.0版本

访问量

Page 2 / 2