dl简单模板,无pretraining过程
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过程的更多相关文章
- day7学python 初识简单模板
初识简单模板 模块与包 1.模块:用来从逻辑上组织python代码(变量,函数,类,逻辑:实现功能),本质是.py结尾的文件 但导入的模块名,无.py 2.包:从逻辑上组织模块,本质就是目录(含有_i ...
- 再起航,我的学习笔记之JavaScript设计模式30(简单模板模式)
简单模板模式 概念介绍 简单模板模式(Simple template): 通过格式化字符串拼凑出视图避免创建视图时大量节点操作,优化内存开销. 创建模板 在实际的业务中如果我们需要进行前后台交互,或多 ...
- helm-chart-2-chart结构和简单模板
1, chart 结构介绍 我们创建一个chart 并查看其结构 右侧注释为其文件的的解释 $ helm create mychart $ cd mychart/ $ tree ├── charts ...
- maven pom文件简单模板和配置详解
https://blog.csdn.net/earbao/article/details/49924943 maven pom文件简单模板和配置详解
- day8学python 各种简单模板
各种简单模板 内容: 1.shelve模板 存储数据 2.shutil 模板 用作拷贝/删除/压缩文件(使用便捷) 3.hashlib 模板 加密文件 4.re模板 ================= ...
- js 简单模板引擎
代码 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" cont ...
- 69道Spring面试题和答案,简单明了无套路
目录 Spring 概述 依赖注入 Spring beans Spring注解 Spring数据访问 Spring面向切面编程(AOP) Spring MVC Spring 概述 1. 什么是spri ...
- 第四篇:java读取Excel简单模板
场景:对于经常需要导入Excel模板或数据来解析后加以应用的,使用频率非常之高,做了一个比较稳定的版本,体现在这些地方工具:org.apache.poi使用前必须了解这些:1.要解析,那肯定先判断是不 ...
- 简单的ATM取款过程
一个简单的ATM的取款过程是这样的:首先提示用户输入密码(pwd),最多只能输3次,超过三次则提示用户“密码已输入三次错误,请取卡.“结束交易.如果用户密码正确,在提示用户输入金额(money),AT ...
随机推荐
- 日期时间函数 mysql 和sqlserver 中对于常用函数的日期和时间函数的区别
1. sqlserver中获取时间用getdate(),默认返回格式是2019-01-21 13:58:33.053,具体的年月日,时分秒毫米,年月日之间用短线连接,时分秒之间用冒号连接,秒和毫米之间 ...
- ROC与AUC原理
来自:https://blog.csdn.net/shenxiaoming77/article/details/72627882 来自:https://blog.csdn.net/u010705209 ...
- 深入JVM对象引用
在jdk 1.2以前,创建的对象只有处在可触及(reachaable)状态下,才能被程序所以使用,垃圾回收器一旦发现无用对象,便会对其进行回收.但是,在某些情况下,我们希望有些对象不需要立刻回收或者说 ...
- STL_map.VC6简单使用例子
1. #include <windows.h> //使用map时会出现如下警告:主要意思是 identifier was truncated to '255' characters in ...
- h5屏幕旋转的时间和样式的设置
好几天没更新博客了,今天写写小感悟和一个小东西吧! 随着前端的前端的越来越火,对前端的要求也越来越高,从之前的切图到开发网站再到现在移动端开发,微信开发,手机app混合开发,不得不说现在前端在开发行业 ...
- oracle.exe 内存占用过大
现象: 明明各个schema 占用的磁盘空间都不大. oracle.exe 却占用了差不多 3G 的内存. 解决: 查了google,各种英文关键字没有找到原因. 最后,中文检索到了. https:/ ...
- Abstract Class 一些要点
抽象类不能使用new operator创建实例. 抽象方法无需实现即可定义.其实现由子类完成. 包含抽象方法的类必须被定义成抽象的. 抽象类的构造函数可以定义成protected,因为它只会被子类使用 ...
- Linux(centos7)上安装最新版R3.4.1
说来惭愧,居然没有在Linux安装R的经验,因为一直很少用R,用也是在win平台. 下载路径:https://cran.rstudio.com/src/base/R-3/ 强烈建议不要安装最新的R,除 ...
- Lab 1-1
LABS The purpose of the labs is to give you an opportunity to practice the skills taught in the chap ...
- p1217 Prime Palindromes
1.回文质数的数量很少 2.除了11以外的回文质数都是偶数. 3.1-1亿内的回文数不到30000个. 4.1-10000的质数约1000个. 这样深搜找出所有的回文数,再判断是否质数. #inclu ...