layer_dimensions    =   [11 22 33 22 11]';
ld_size = size(layer_dimensions , 1);
% what is deal
[x rx dx rdx y ry dy rdy dphi] = deal( cell( ld_size , 1 ) );
[W rW dW rdW] = deal( cell( ld_size-1 , 1 ) ); numsamples = 100;
%initialize weight and x,y, always allocate memory first
for i = 1:ld_size
x{i} = zeros( layer_dimensions( i ) , numsamples );
y{i} = x{i};
if i<ld_size
W{i} = rand( layer_dimensions( i ) ,layer_dimensions( i+1 ) );
end
end
%initialize
inputs = 0*ones(layer_dimensions(1),numsamples);
y{1} = inputs;
dphi{1} = zeros(size(y{1}));
ry{1} = dphi{1}; numepoches = 100;
numbatches = 10;
for iii = 1:numepoches
for ii = 1:numbatches
% f0 pass
for i = 2:ld_size
x{i} = W{i-1}'*y{i-1};
y{i} = sigmoid(x{i});
dphi{i} = y{i}.*(1-y{i}); %for backpropagate
end
% r1 pass
dy{ld_size} = y{ld_size} - y{1};
error=sum(sum(abs(dy{ld_size})))
dx{ld_size} = dphi{ld_size} .* dy{ld_size};
dW{ld_size-1} = y{ld_size-1} * dx{ld_size}';
for i = ld_size-1:-1:2
dy{i} = W{i} * dx{i+1};
W{i} = W{i} - 0.3 * dW{i};
dx{i} = dphi{i} .* dy{i};
dW{i-1} = y{i-1} * dx{i}';
end
% f1 pass end
end %test
numtestsamples=3;
for i = 1:ld_size
x{i} = zeros( layer_dimensions( i ) , numtestsamples );
y{i} = x{i};
end
inputs = zeros(layer_dimensions(1),numtestsamples);
y{1} = inputs;
dphi{1} = zeros(size(y{1}));
ry{1} = dphi{1};
for i = 2:ld_size
x{i} = W{i-1}'*y{i-1};
y{i} = sigmoid(x{i});
dphi{i} = y{i}.*(1-y{i}); %for backpropagate
end
y{ld_size}

  

dl简单模板,无pretraining过程的更多相关文章

  1. day7学python 初识简单模板

    初识简单模板 模块与包 1.模块:用来从逻辑上组织python代码(变量,函数,类,逻辑:实现功能),本质是.py结尾的文件 但导入的模块名,无.py 2.包:从逻辑上组织模块,本质就是目录(含有_i ...

  2. 再起航,我的学习笔记之JavaScript设计模式30(简单模板模式)

    简单模板模式 概念介绍 简单模板模式(Simple template): 通过格式化字符串拼凑出视图避免创建视图时大量节点操作,优化内存开销. 创建模板 在实际的业务中如果我们需要进行前后台交互,或多 ...

  3. helm-chart-2-chart结构和简单模板

    1, chart 结构介绍 我们创建一个chart 并查看其结构 右侧注释为其文件的的解释 $ helm create mychart $ cd mychart/ $ tree ├── charts ...

  4. maven pom文件简单模板和配置详解

    https://blog.csdn.net/earbao/article/details/49924943 maven pom文件简单模板和配置详解

  5. day8学python 各种简单模板

    各种简单模板 内容: 1.shelve模板 存储数据 2.shutil 模板 用作拷贝/删除/压缩文件(使用便捷) 3.hashlib 模板 加密文件 4.re模板 ================= ...

  6. js 简单模板引擎

    代码 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" cont ...

  7. 69道Spring面试题和答案,简单明了无套路

    目录 Spring 概述 依赖注入 Spring beans Spring注解 Spring数据访问 Spring面向切面编程(AOP) Spring MVC Spring 概述 1. 什么是spri ...

  8. 第四篇:java读取Excel简单模板

    场景:对于经常需要导入Excel模板或数据来解析后加以应用的,使用频率非常之高,做了一个比较稳定的版本,体现在这些地方工具:org.apache.poi使用前必须了解这些:1.要解析,那肯定先判断是不 ...

  9. 简单的ATM取款过程

    一个简单的ATM的取款过程是这样的:首先提示用户输入密码(pwd),最多只能输3次,超过三次则提示用户“密码已输入三次错误,请取卡.“结束交易.如果用户密码正确,在提示用户输入金额(money),AT ...

随机推荐

  1. VS2010_慢

    ZC:IntelliSense 一旦关闭,代码提示 也就没有了... ZC:IntelliSense 和 IntelliTrace,不是一个东西... 1.http://blog.csdn.net/c ...

  2. 如何直接执行js代码

    安装node.js 进入cmd ,输入node js文件名

  3. hybrid cordova+vue开发APP(一) 环境搭建

    没有选择react-navite,而选择cordova+vue2.x,是因为react-navite有学习成本,并且cordova+vue2.x程序员 可以直接上手,性能上可以满足需求,成本低,开发速 ...

  4. 学习笔记43—Linux基础集

    1.通过窗口进入 /usr/local: 请点击computer; 通过窗口进入自己home目录:点击home即可.

  5. 学习笔记3—matlab中load特殊用法

    1.在matlab中 ,infro.mat中存有很多子矩阵(比如:mean_FA.mat, mean_e1.mat和 mean_e2.mat),调出某一个矩阵时,命令行为:load([path,'\' ...

  6. Qt Model/View学习(二)

    Model和View的搭配使用 DEMO pro文件 #------------------------------------------------- # # Project created by ...

  7. legend2---开发日志8(thinkphp和vue如何配合才能达到最优)

    legend2---开发日志8(thinkphp和vue如何配合才能达到最优) 一.总结 一句话总结:凡是php可以做的,都可以先在后端处理好数据,然后再丢给前端 凡php可以做的,都可以先在后端处理 ...

  8. 安装adt插件后工具栏不显示android相关图标

    一:问题 安装好ADT后,工具栏不显示android相关的图标: 二:解决办法 这是ec设置问题,解决办法: Eclipse ->window->Perpective->custom ...

  9. LeetCode--404--左叶子之和

    问题描述: 计算给定二叉树的所有左叶子之和. 示例: 3 / \ 9 20 / \ 15 7 在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24 方法:recursive class ...

  10. Spring Boot 针对 Java 开发人员的安装指南

    Spring Boot 可以使用经典的开发工具或者使用安装的命令行工具.不管使用何种方式,你都需要确定你的 Java 版本为 Java SDK v1.8 或者更高的版本.在你开始安装之前,你需要确定你 ...