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. mongodb,Mysql,redis基础教程

    数据库基础 1:mongodb基础教程 1:pymongo基础教程  2:Mysql基础教程 3:redis基础教程

  2. Pandas——ix 与 loc 与 iloc 与 icol 的区别

    来自:https://blog.csdn.net/xw_classmate/article/details/51333646 来自:https://blog.csdn.net/chenKFKevin/ ...

  3. [原][c++][数学]osg常用图形数学算法小结

    1.cos趋近 // a reasonable approximation of cosine interpolation double smoothStepInterp( double t ) { ...

  4. [JS]计算字符串中出现最多的字符和其出现次数

    这是一道面试题 此处是利用Obj来解决的,当然不只此一种方法. //思路:遍历数组,拿到一个字符,并将之以 "字符":出现次数 的key:value形式存到对象中. //如果此字符 ...

  5. 《剑指offer》第四十五题(把数组排成最小的数)

    // 面试题45:把数组排成最小的数 // 题目:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼 // 接出的所有数字中最小的一个.例如输入数组{3, 32, 321},则打印出这3 ...

  6. 在linux中,我为什么不能安装VMware Tools?

    在linux中,我为什么不能安装VMware Tools? 应该是操作不正确导致,以下为linux安装VMware Tools的方法. 1.在安装Linux的虚拟机中,单击“虚拟机”菜单下的“安装Vm ...

  7. idea maven环境下 java实现发送邮件验证

    1.开通smtp授权 QQ邮箱-设置-账户-开启 得到一个授权码 2.下载javax.email包 maven项目中 pom文件加入: <dependency> <groupId&g ...

  8. delphi7产生条码

    导读: 1 通过菜单”Component”下的”Import ActiveX”将“Microsoft Access Barcode Control 9.0”控件引入.这个控件(msbcode9.occ ...

  9. 安卓音、视频播放功能简单实现 --Android基础

    1.音乐播放功能 关键代码: MainActivity.java: package thonlon.example.cn.musicdemowithoutservice; import android ...

  10. hadoop挂载多硬盘,ZZ-- multiple disks per node

    hadoop挂载多硬盘 ...multiple disks per node  multiple disks per node Read more at: http://www.queryhome.c ...